/* ===== C&G LOOKUP — Utilities v3.0 ===== */
/* Layout: index.html inline <style id="sb-layout"> */
/* Tokens: themes.css | Components: components.css | Themes: sidebar.css */

/* === Hidden elements === */
.panel[hidden], .modal[hidden] { display: none !important; }

/* === Messages === */
.msg { padding: 12px 16px; border-radius: var(--radius-md); font-size: 0.85rem; }
.msg-error { background: rgba(239,68,68,0.06); color: #f87171; border: 1px solid rgba(239,68,68,0.12); }

/* === Geo/Map (Leaflet overrides need !important) === */
.osm-map-container { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border-color); }
.osm-map-container .leaflet-control-zoom a { background: var(--bg-secondary) !important; color: var(--text-primary) !important; border-color: var(--border-color) !important; }
.osm-map-container .leaflet-control-zoom a:hover { background: var(--bg-elevated) !important; }
.osm-map-container .leaflet-control-attribution { background: rgba(0,0,0,0.5) !important; color: var(--text-muted) !important; font-size: 0.6rem !important; }
.osm-map-container .leaflet-popup-content-wrapper { background: var(--bg-secondary) !important; color: var(--text-primary) !important; border: 1px solid var(--border-color) !important; border-radius: var(--radius-md) !important; box-shadow: var(--shadow-lg) !important; }
.osm-map-container .leaflet-popup-tip { background: var(--bg-secondary) !important; }
.osm-custom-marker { background: none !important; border: none !important; }

/* === Contact === */
.contact-intro { line-height: 1.7; max-width: 580px; }
.contact-cards { gap: 16px; }
.contact-card { position: relative; overflow: hidden; }
.contact-card::before { display: none; }
.contact-note { transition: border-color var(--transition-fast); }
.contact-note:hover { border-color: var(--border-hover); }

/* === Toast === */
.toast { font-weight: 500; letter-spacing: 0.01em; }
