/* ===== INSTITUTION UI — shared styles for all 5 institution type pages ===== */

/* ---------- STICKY SECTION NAV ---------- */
.inst-nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e8ecf2;transition:box-shadow .2s}
.inst-nav.scrolled{box-shadow:0 4px 16px rgba(16,24,40,.06)}
body.dark .inst-nav{background:#12141c;border-color:#2a2d3a}
.inst-nav-inner{display:flex;align-items:center;gap:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:0 20px;max-width:1240px;margin:0 auto}
.inst-nav-inner::-webkit-scrollbar{display:none}
.inst-nav-link{padding:14px 18px;font-size:.88rem;font-weight:600;color:#667085;white-space:nowrap;position:relative;transition:color .2s}
.inst-nav-link:hover{color:#1E66F5}
.inst-nav-link.active{color:#1E66F5}
.inst-nav-link.active::after{content:'';position:absolute;left:18px;right:18px;bottom:0;height:2.5px;border-radius:2px;background:#1E66F5}
body.dark .inst-nav-link{color:#9096a8}
body.dark .inst-nav-link.active{color:#5b9aff}
body.dark .inst-nav-link.active::after{background:#5b9aff}

/* ---------- HERO HEADER ---------- */
.inst-page-hero{padding:32px 0 0}
.inst-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:16px}
.inst-hero-top h1{font-size:1.8rem;font-weight:800;line-height:1.2;flex:1;min-width:240px}
.inst-hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.inst-hero-facts{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:20px}
.inst-fact{display:flex;align-items:center;gap:8px;font-size:.88rem;color:#475467;font-weight:500}
.inst-fact svg{width:18px;height:18px;color:#667085;flex-shrink:0}
body.dark .inst-fact{color:#a0a4b4}

/* ---------- HERO GRID: gallery + sidebar ---------- */
.inst-hero-grid{display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:start}
@media(max-width:960px){.inst-hero-grid{grid-template-columns:1fr}}

/* ---------- SWIPER GALLERY ---------- */
.inst-swiper-wrap{border-radius:18px;overflow:hidden;background:#fff;border:1px solid #e8ecf2;padding:8px}
body.dark .inst-swiper-wrap{background:#1a1d27;border-color:#2a2d3a}
.inst-swiper-wrap{position:relative}
.inst-fav-floating{position:absolute;right:14px;top:14px;z-index:6;width:38px;height:38px;border:none;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);box-shadow:0 8px 18px rgba(16,24,40,.18)}
.inst-swiper-main.swiper{width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;position:relative;margin-bottom:10px;background:#eef3fb}
.inst-swiper-main .swiper-slide{height:auto}
.inst-swiper-main .slide-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;font-weight:800}
.inst-swiper-main .swiper-button-prev,
.inst-swiper-main .swiper-button-next{width:42px;height:42px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(219,227,239,.95);box-shadow:0 4px 14px rgba(16,24,40,.14);color:#243041;transition:.2s}
.inst-swiper-main .swiper-button-prev{left:12px}
.inst-swiper-main .swiper-button-next{right:12px}
.inst-swiper-main .swiper-button-prev:hover,
.inst-swiper-main .swiper-button-next:hover{background:#fff;color:#1E66F5}
.inst-swiper-main .swiper-button-prev::after,
.inst-swiper-main .swiper-button-next::after{display:none}
.inst-swiper-main .swiper-button-prev svg,
.inst-swiper-main .swiper-button-next svg{width:18px;height:18px}
.inst-swiper-main .swiper-button-disabled{opacity:.4}
.inst-swiper-thumbs.swiper{padding:2px 2px 4px}
.inst-swiper-thumbs .swiper-slide{aspect-ratio:16/10;border-radius:10px;overflow:hidden;cursor:pointer;opacity:.78;transition:.2s}
.inst-swiper-thumbs .swiper-slide .thumb-bg{width:100%;height:100%}
.inst-swiper-thumbs .swiper-slide-thumb-active{opacity:1}
.inst-swiper-thumbs .swiper-slide-thumb-active .thumb-bg{box-shadow:inset 0 0 0 2px #1E66F5}

/* ---------- SIDEBAR CTA CARD ---------- */
.inst-sidebar{background:#fff;border:1px solid #e8ecf2;border-radius:18px;padding:24px;position:sticky;top:140px;box-shadow:0 8px 24px rgba(16,24,40,.05)}
body.dark .inst-sidebar{background:#1a1d27;border-color:#2a2d3a}
.inst-sidebar-price{font-size:1.6rem;font-weight:800;color:#111827;margin-bottom:4px}
body.dark .inst-sidebar-price{color:#e2e4e9}
.inst-sidebar-price small{font-size:.82rem;font-weight:500;color:#667085}
.inst-sidebar-rating{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.inst-sidebar-rating .rating-num{background:#1E66F5;color:#fff;padding:4px 10px;border-radius:8px;font-weight:800;font-size:.88rem}
.inst-sidebar-rating .rating-text{font-size:.85rem;color:#667085}
.inst-sidebar-btns{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.btn-whatsapp{background:#dcfce7 !important;color:#166534 !important;border:1px solid #86efac !important}
.btn-whatsapp:hover{background:#bbf7d0 !important;border-color:#4ade80 !important;color:#14532d !important}
.inst-sidebar-info{display:flex;flex-direction:column;gap:10px}
.inst-sidebar-info .info-row{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:#475467}
.inst-sidebar-info .info-row svg{width:18px;height:18px;flex-shrink:0;color:#667085}
body.dark .inst-sidebar-info .info-row{color:#a0a4b4}
.inst-sidebar-socials{display:flex;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid #eef2f7}
body.dark .inst-sidebar-socials{border-color:#2a2d3a}
.social-icon-btn{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;border:1px solid #e4eaf4;background:#fff;color:#475467;transition:all .2s}
.social-icon-btn:hover{border-color:#1E66F5;color:#1E66F5;background:#eef4ff}
body.dark .social-icon-btn{background:#232636;border-color:#3a3d4a;color:#c0c4d0}

/* ---------- SECTION BLOCKS ---------- */
.inst-section-block{padding:40px 0;border-bottom:1px solid #eef2f7}
.inst-section-block:last-child{border-bottom:none}
body.dark .inst-section-block{border-color:#2a2d3a}
.inst-section-title{font-size:1.35rem;font-weight:800;color:#111827;margin-bottom:20px;display:flex;align-items:center;gap:10px}
.inst-section-title svg{width:24px;height:24px;color:#1E66F5;flex-shrink:0}
body.dark .inst-section-title{color:#e2e4e9}
.inst-contacts-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:14px}

/* ---------- DESCRIPTION + READ MORE ---------- */
.inst-desc-text{font-size:.95rem;line-height:1.65;color:#475467;max-width:860px}
body.dark .inst-desc-text{color:#a0a4b4}
.inst-desc-text.collapsed{max-height:180px;overflow:hidden;position:relative}
.inst-desc-text.collapsed::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(transparent,#F6F8FB)}
body.dark .inst-desc-text.collapsed::after{background:linear-gradient(transparent,#0f1117)}
.inst-readmore-btn{display:none;margin-top:10px;font-size:.88rem;font-weight:700;color:#1E66F5;cursor:pointer;background:none;border:none;padding:6px 0}

/* ---------- INFO CARDS GRID ---------- */
.inst-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.inst-info-card{background:#fff;border:1px solid #e8ecf2;border-radius:16px;padding:18px;box-shadow:0 4px 12px rgba(16,24,40,.03)}
body.dark .inst-info-card{background:#1a1d27;border-color:#2a2d3a}
.inst-info-card-title{font-size:.82rem;font-weight:700;color:#667085;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}
.inst-info-card-value{font-size:.95rem;font-weight:600;color:#111827}
body.dark .inst-info-card-value{color:#e2e4e9}

/* ---------- FEATURE GRID (icons/badges) ---------- */
.inst-feature-grid{display:grid;grid-template-columns: repeat(5,minmax(0,1fr));gap:12px}
.inst-feature-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid #e8ecf2;background:#fff;transition:all .2s}
.inst-feature-item:hover{border-color:#d0dff5;background:#f8fbff}
body.dark .inst-feature-item{background:#1a1d27;border-color:#2a2d3a}
.inst-feature-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem}
.inst-feature-icon.green{background:#effcf6;color:#15803d}
.inst-feature-icon.blue{background:#eef4ff;color:#1E66F5}
.inst-feature-icon.orange{background:#fff7ed;color:#c2410c}
.inst-feature-icon.purple{background:#f6f0ff;color:#7c3aed}
.inst-feature-icon.red{background:#fef2f2;color:#b91c1c}
.inst-feature-icon.teal{background:#f0fdfa;color:#0d9488}
.inst-feature-name{font-size:.88rem;font-weight:600;color:#243041}
body.dark .inst-feature-name{color:#e2e4e9}

/* ---------- BADGE CHIPS ---------- */
.inst-badge-list{display:flex;flex-wrap:wrap;gap:8px}
.inst-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;font-size:.84rem;font-weight:700;border:1px solid}
.inst-badge.b-blue{background:#eef4ff;border-color:#d0dff5;color:#1E66F5}
.inst-badge.b-green{background:#effcf6;border-color:#d1f5e4;color:#15803d}
.inst-badge.b-orange{background:#fff7ed;border-color:#fed7aa;color:#c2410c}
.inst-badge.b-purple{background:#f6f0ff;border-color:#e0d4ff;color:#7c3aed}
.inst-badge.b-red{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.inst-badge.b-teal{background:#f0fdfa;border-color:#ccfbf1;color:#0d9488}
.inst-badge.b-gray{background:#f6f7fa;border-color:#e4e8ee;color:#475467}
.inst-badge-icon{width:16px;height:16px;object-fit:contain;flex-shrink:0}

/* ---------- ACCORDION ---------- */
.inst-accordion{border:1px solid #e8ecf2;border-radius:16px;overflow:hidden;background:#fff;margin-bottom:10px}
body.dark .inst-accordion{background:#1a1d27;border-color:#2a2d3a}
.inst-accordion-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer;font-weight:700;font-size:.95rem;color:#243041;transition:background .2s}
.inst-accordion-head:hover{background:#f8fbff}
body.dark .inst-accordion-head{color:#e2e4e9}
body.dark .inst-accordion-head:hover{background:#232636}
.inst-accordion-head svg{width:20px;height:20px;transition:transform .3s;flex-shrink:0;color:#667085}
.inst-accordion.open .inst-accordion-head svg{transform:rotate(180deg)}
.inst-accordion-body{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s}
.inst-accordion.open .inst-accordion-body{max-height:2000px;padding:0 18px 18px}
.inst-accordion-count{font-size:.78rem;font-weight:600;color:#667085;margin-left:auto;margin-right:12px}

/* ---------- EDUCATION STRUCTURE (University) ---------- */
.edu-level-card{border:1px solid #e8ecf2;border-radius:18px;background:#fff;overflow:hidden;margin-bottom:14px}
body.dark .edu-level-card{background:#1a1d27;border-color:#2a2d3a}
.edu-level-header{display:flex;align-items:center;gap:14px;padding:16px 18px;border-bottom:1px solid #eef2f7;background:linear-gradient(180deg,#fbfdff,#fff)}
body.dark .edu-level-header{background:linear-gradient(180deg,#1e2130,#1a1d27);border-color:#2a2d3a}
.edu-level-num{width:36px;height:36px;border-radius:50%;background:#1E66F5;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1rem;flex-shrink:0}
.edu-level-title{font-weight:800;font-size:1.05rem;color:#111827}
body.dark .edu-level-title{color:#e2e4e9}
.edu-level-sub{font-size:.84rem;color:#667085;margin-top:2px}
.edu-level-body{padding:14px 18px;display:grid;gap:12px}
.edu-dir-card{border:1px solid #edf1f7;border-radius:14px;overflow:hidden;background:#fcfdff}
body.dark .edu-dir-card{background:#232636;border-color:#2a2d3a}
.edu-dir-head{padding:12px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-weight:700;color:#243041}
body.dark .edu-dir-head{color:#e2e4e9}
.edu-dir-head svg{width:18px;height:18px;transition:transform .3s;color:#667085}
.edu-dir-card.open .edu-dir-head svg{transform:rotate(180deg)}
.edu-dir-desc{padding:0 14px 8px;font-size:.86rem;color:#667085;line-height:1.5;display:none}
.edu-dir-card.open .edu-dir-desc{display:block}
.edu-dir-specs{display:none;padding:0 14px 14px}
.edu-dir-card.open .edu-dir-specs{display:block}
.edu-spec-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px dashed #eef2f7}
body.dark .edu-spec-row{border-color:#2a2d3a}
.edu-spec-row:first-child{border-top:none;padding-top:0}
.edu-spec-name{font-weight:700;color:#243041;font-size:.92rem}
body.dark .edu-spec-name{color:#e2e4e9}
.edu-spec-meta{font-size:.82rem;color:#667085;margin-top:2px;display:flex;gap:12px;flex-wrap:wrap}
.edu-spec-meta span{display:inline-flex;align-items:center;gap:4px}
.edu-spec-price{font-weight:800;color:#1E66F5;white-space:nowrap;font-size:.92rem}
.edu-budget-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:.72rem;font-weight:700}
.edu-budget-badge.yes{background:#effcf6;color:#15803d}
.edu-budget-badge.no{background:#fef2f2;color:#b91c1c}

/* ---------- REQUIREMENTS CHECKLIST ---------- */
.inst-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.inst-check-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;border:1px solid #eef2f7;background:#fcfdff;font-size:.88rem;font-weight:600;color:#243041}
body.dark .inst-check-item{background:#232636;border-color:#2a2d3a;color:#e2e4e9}
.inst-check-icon{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:#effcf6;color:#15803d;flex-shrink:0}
.inst-check-icon svg{width:14px;height:14px}

/* ---------- DOCUMENTS ---------- */
.inst-doc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.inst-doc-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;border:1px solid #e8ecf2;background:#fff;transition:all .2s;text-decoration:none;color:#243041}
.inst-doc-item:hover{border-color:#d0dff5;background:#f8fbff}
body.dark .inst-doc-item{background:#1a1d27;border-color:#2a2d3a;color:#e2e4e9}
.inst-doc-icon{width:40px;height:40px;border-radius:10px;background:#eef4ff;color:#1E66F5;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.inst-doc-icon svg{width:20px;height:20px}
.inst-doc-name{font-weight:600;font-size:.88rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inst-doc-action{font-size:.78rem;font-weight:700;color:#1E66F5;white-space:nowrap}

/* ---------- MAP BLOCK ---------- */
.inst-map-block{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
@media(max-width:768px){.inst-map-block{grid-template-columns:1fr}}
.inst-map-placeholder{width:100%;aspect-ratio:16/9;background:#eef3fb;border-radius:16px;overflow:hidden;position:relative}
body.dark .inst-map-placeholder{background:#232636}
.inst-map-placeholder svg{width:100%;height:100%}
.inst-map-info{display:flex;flex-direction:column;gap:12px}

/* ---------- REVIEW MODAL ---------- */
.inst-review-modal .modal-content{max-width:520px;padding:28px}
.inst-star-select{display:inline-flex;gap:4px;cursor:pointer}
.inst-star-select svg{width:28px;height:28px;cursor:pointer;transition:transform .15s}
.inst-star-select svg:hover{transform:scale(1.2)}

/* ---------- SCHEDULE TABLE ---------- */
.inst-schedule{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #e8ecf2;border-radius:14px;overflow:hidden}
body.dark .inst-schedule{border-color:#2a2d3a}
.inst-schedule th,.inst-schedule td{padding:12px 16px;text-align:left;font-size:.88rem}
.inst-schedule th{background:#f8fbff;font-weight:700;color:#667085;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
body.dark .inst-schedule th{background:#232636;color:#9096a8}
.inst-schedule td{border-top:1px solid #eef2f7;color:#243041}
body.dark .inst-schedule td{border-color:#2a2d3a;color:#e2e4e9}
.inst-schedule .day-name{font-weight:700;min-width:90px}
.inst-schedule .day-off{color:#b91c1c;font-style:italic}

/* ---------- KINDERGARTEN SPECIFIC ---------- */
.kg-hours-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.kg-hour-card{padding:14px;border-radius:14px;border:1px solid #e8ecf2;background:#fff;text-align:center}
body.dark .kg-hour-card{background:#1a1d27;border-color:#2a2d3a}
.kg-hour-label{font-size:.78rem;font-weight:700;color:#667085;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}
.kg-hour-value{font-size:1.1rem;font-weight:800;color:#111827}
body.dark .kg-hour-value{color:#e2e4e9}

/* ---------- CATEGORY GROUP (accordion with colored badges) ---------- */
.inst-cat-group{margin-bottom:12px}
.inst-cat-group-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:14px;border:1px solid #e8ecf2;background:#fff;cursor:pointer;font-weight:700;color:#243041;transition:all .2s}
body.dark .inst-cat-group-head{background:#1a1d27;border-color:#2a2d3a;color:#e2e4e9}
.inst-cat-group-head:hover{border-color:#d0dff5;background:#f8fbff}
.inst-cat-group-head svg{width:18px;height:18px;transition:transform .3s;color:#667085}
.inst-cat-group.open .inst-cat-group-head svg{transform:rotate(180deg)}
.inst-cat-group-body{max-height:0;overflow:hidden;transition:max-height .35s ease}
.inst-cat-group.open .inst-cat-group-body{max-height:800px}
.inst-cat-group-items{display:flex;flex-wrap:wrap;gap:8px;padding:12px 4px}

/* ---------- PRICING HIGHLIGHT ---------- */
.inst-price-highlight{display:flex;align-items:center;gap:16px;padding:20px 24px;border-radius:16px;background:linear-gradient(135deg,#eef4ff,#f8fbff);border:1px solid #d0dff5}
body.dark .inst-price-highlight{background:linear-gradient(135deg,#1a2236,#1a1d27);border-color:#2a3d5a}
.inst-price-highlight .price-big{font-size:2rem;font-weight:900;color:#111827}
body.dark .inst-price-highlight .price-big{color:#e2e4e9}
.inst-price-highlight .price-unit{font-size:.88rem;color:#667085;font-weight:600}
.inst-price-highlight .price-note{font-size:.84rem;color:#667085;line-height:1.5;max-width:400px}

/* ---------- STAT CARDS ROW ---------- */
.inst-stats-row{display:flex;gap:12px;flex-wrap:wrap}
.inst-stat-card{flex:1;min-width:120px;padding:16px;border-radius:14px;border:1px solid #e8ecf2;background:#fff;text-align:center}
body.dark .inst-stat-card{background:#1a1d27;border-color:#2a2d3a}
.inst-stat-num{font-size:1.4rem;font-weight:900;color:#1E66F5}
.inst-stat-label{font-size:.78rem;font-weight:600;color:#667085;margin-top:4px}

/* ---------- RESPONSIVE ---------- */
@media(max-width:640px){
  .inst-hero-top h1{font-size:1.35rem}
  .inst-hero-grid{grid-template-columns:1fr}
  .inst-sidebar{position:static}
  .inst-info-grid{grid-template-columns:1fr}
  .inst-contacts-grid{grid-template-columns:1fr}
  .inst-feature-grid{grid-template-columns:1fr 1fr}
  .inst-checklist{grid-template-columns:1fr}
  .inst-doc-list{grid-template-columns:1fr}
  .inst-desc-text.collapsed{max-height:140px}
  .inst-readmore-btn{display:inline-block}
  .inst-nav-link{padding:12px 14px;font-size:.84rem}
  .edu-spec-row{flex-direction:column;gap:4px}
  .edu-spec-price{align-self:flex-start}
  .inst-stats-row{flex-direction:column}
  .inst-price-highlight{flex-direction:column;align-items:flex-start;gap:8px}
}
@media(min-width:641px) and (max-width:960px){
  .inst-readmore-btn{display:none}
}
