/* ==========================================================================
   India's Top Institutes Explorer — page styles on top of base.css.
   Ported 1:1 from 99 Archive/05 Other colleges/map.html. Rules are scoped to .institute-explorer (on <main>), the page's
   dark-mode overrides became [data-theme="dark"] and keyframes are prefixed.
   !important is kept: in these pages it decides same-specificity conflicts
   (the .mobile-only / .desktop-only helpers), so dropping it breaks layout.
   ========================================================================== */

.institute-explorer-page { overflow-x: hidden; background: #FFFBF5; }
/* The page's own background (the source's body rule) is painted here: fixed,
   behind everything, and inside <main> so it can read the page's tokens. */
.institute-explorer::before { content: ""; position: fixed; inset: 0; z-index: -2; pointer-events: none; }
[data-theme="dark"] .institute-explorer-page { background: #0E0E0E; }
.institute-explorer { padding: 0px; }   /* the Elementor container's padding on live (0 or 10, per page) */
/* Blocksy wrapped every page's content in a container with overflow: clip, so
   anything wider than the page was trimmed rather than scrollable — Connect's
   directory grid is wider than its box, and its tools dropdown bleeds 100vw.
   clip (not hidden) doesn't make <main> a scroll container. */
.institute-explorer { overflow-x: clip; }

/* The element baseline every page sat on in WordPress — measured on live by
   _migration/compare-baseline.py, not guessed. Anything the page doesn't
   style itself falls back to these, exactly as it did on live; the page's own
   rules below override them (same specificity, later in the file). */
/* Blocksy's element layer (its bundle/main.min.css), in its own order and at
   its own selector strength plus the scope — so a page's rules win or lose
   against it exactly as they did on live. Variables resolved to live values;
   sizes measured with _migration/compare-baseline.py. */
.institute-explorer :is(p, h1, h2, h3, h4, h5, h6, em, ol, ul, li, tr, th, td, dl, ins, sub, sup, big, cite, form, small, label, table, figure, button, legend, strike, address, caption, fieldset, blockquote) { margin: 0; padding: 0; border: none; font: inherit; }
.institute-explorer :is(b, strong) { font-weight: bold; }
.institute-explorer small { font-size: 80%; }
.institute-explorer hr { height: 1px; border: none; background-color: #E1E8ED; }
.institute-explorer img { height: auto; max-width: 100%; vertical-align: middle; }
.institute-explorer :is(figure, textarea) { display: block; }
.institute-explorer hr { margin: 0; }
.institute-explorer table { max-width: 100%; }
.institute-explorer :is(code, kbd, samp) { padding: 3px 6px; background: #F2F5F7; border-radius: 3px; }
.institute-explorer :is(table, th, td) { border: 1px solid #E1E8ED; }
.institute-explorer :is(th, td) { padding: 0.7em 1em; }
.institute-explorer th { font-weight: 600; }
.institute-explorer h1 { color: #FF6B4A; font-family: "Bricolage Grotesque", sans-serif; font-size: 40px; }
.institute-explorer h2 { color: #1A1A1A; font-family: "Bricolage Grotesque", sans-serif; font-size: 35px; }
.institute-explorer h3 { color: #1A1A1A; font-family: "Plus Jakarta Sans", sans-serif; font-size: 30px; }
.institute-explorer h4 { color: #FFFBF5; font-size: 25px; }
.institute-explorer h5 { color: #FFFBF5; font-size: 20px; }
.institute-explorer h6 { color: #FFFBF5; font-size: 16px; }
.institute-explorer :is(h1, h2, h3, h4, h5, h6) { font-weight: 700; line-height: 1.5; }
.institute-explorer p { margin-block-end: 1.5em; }
.institute-explorer :is(ul, ol) { padding-inline-start: 2.5em; margin-block-end: 1.5em; }
.institute-explorer :is(h1, h2, h3, h4, h5, h6) { margin-block-end: calc(.3em + 10px); }
.institute-explorer :is(h1, h2, h3, h4, h5, h6):where(:last-child) { margin-block-end: 0; }
.institute-explorer ul:last-child, .institute-explorer ol:last-child, .institute-explorer ul li:last-child, .institute-explorer ol li:last-child, .institute-explorer label:last-child { margin-bottom: 0; }
.institute-explorer a { color: #FF6B4A; }
.institute-explorer select, .institute-explorer textarea, .institute-explorer input:is([type="url"], [type="tel"], [type="text"], [type="time"], [type="date"], [type="datetime"], [type="datetime-local"], [type="email"], [type="number"], [type="search"], [type="password"]) {
  appearance: none; width: 100%; height: 40px; padding: 0 15px; color: #1A1A1A;
  background-color: transparent; border: 1px solid #E1E8ED; border-radius: 3px;
  font-family: inherit; font-size: 16px; font-weight: 400; line-height: inherit;
  transition: color .12s, outline .12s, border-color .12s, background .12s; }
.institute-explorer select { padding-inline-end: 25px; }
.institute-explorer textarea { line-height: 1.5; resize: vertical; padding: 12px 15px; }
.institute-explorer label { font-size: 15px; line-height: inherit; cursor: pointer; margin: 0 0 0.5em; }
.institute-explorer blockquote:where(:not(.is-style-plain):not(.has-text-align-center):not(.has-text-align-right)) { padding-inline-start: 1.5em; border-inline-start: 4px solid #FF6B4A; }
.institute-explorer [type="submit"] { appearance: none; height: 40px; padding: 5px 20px; border: 0; border-radius: 3px; color: #fff; background-color: #FF6B4A; font-size: 15px; font-weight: 500; }

.institute-explorer { line-height: 1.65; color: #1A1A1A; color-scheme: normal; }
/* Inside Elementor's content area on live: <hr> without the theme's grey fill. */
.institute-explorer hr { background-color: transparent; }

.institute-explorer #campus-map-wrapper {
            /* Reset common WP theme bleeds */
            line-height: 1.5;
            -webkit-text-size-adjust: 100%;
            font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
        }
.institute-explorer .dark-tooltip {
            background-color: #1a1c23 !important;
            border: 1px solid #374151 !important;
            color: #e5e7eb !important;
            border-radius: 0.5rem !important;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5) !important;
            font-family: inherit !important;
            padding: 8px 12px !important;
            z-index: 1000 !important;
            white-space: nowrap;
        }
.institute-explorer .leaflet-tooltip-top.dark-tooltip::before { border-top-color: #374151 !important; }
.institute-explorer .leaflet-tooltip-bottom.dark-tooltip::before { border-bottom-color: #374151 !important; }
.institute-explorer .leaflet-tooltip-left.dark-tooltip::before { border-left-color: #374151 !important; }
.institute-explorer .leaflet-tooltip-right.dark-tooltip::before { border-right-color: #374151 !important; }
.institute-explorer .leaflet-container { background: #0a0a0f !important; outline: none; z-index: 1; }
/* Hide scrollbar for regions panel */
.institute-explorer .custom-scrollbar::-webkit-scrollbar { width: 4px; }
.institute-explorer .custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
.institute-explorer .custom-scrollbar::-webkit-scrollbar-thumb { background: #374151; border-radius: 4px; }
