/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:"Roboto", sans-serif;
  background:#F6F8FB;color:#1a1a2e;line-height:1.55;min-height:100vh;
  transition:background .3s,color .3s}
img{width:auto;}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button,input,select,textarea{font:inherit;border:none;outline:none;background:none}
button{cursor:pointer}
.header .lang-switch.header-mobile-lang{display:none}
:focus-visible{outline:2px solid #1E66F5;outline-offset:2px;border-radius:4px}

/* ===== DARK MODE ===== */
body.dark{background:#0f1117;color:#e2e4e9}
body.dark .card,body.dark .filter-sidebar,body.dark .auth-card,
body.dark .account-sidebar,body.dark .modal-content,
body.dark .text-page-toc,body.dark .inst-action-card,
body.dark .faq-item,body.dark .review-card,body.dark .tariff-card,
body.dark .program-card,body.dark .step-card,body.dark .cat-card,
body.dark .cta-section,body.dark .hero,body.dark .footer,
body.dark .stat-card,body.dark .toolbar,body.dark .drawer-content{
  background:#1a1d27;color:#e2e4e9;border-color:#2a2d3a}
body.dark .header{background:#12141c;border-color:#2a2d3a}
body.dark input,body.dark select,body.dark textarea{
  background:#232636;color:#e2e4e9;border-color:#3a3d4a}
body.dark .chip{background:#232636;color:#c0c4d0}
body.dark .breadcrumbs a,body.dark .breadcrumbs span{color:#9096a8}
body.dark .card:hover{border-color:#3a4d6a}
body.dark .skeleton{background:#232636}
body.dark .skeleton::after{background:linear-gradient(90deg,transparent,#2a2d3a,transparent)}
body.dark .mock-map{background:#1a1d27}
body.dark .map-grid line{stroke:#2a2d3a}
body.dark .tab-nav .tab-link{color:#9096a8}
body.dark .tab-nav .tab-link.active{color:#5b9aff;border-color:#5b9aff}
body.dark .toast{background:#1a1d27;color:#e2e4e9;border-color:#2a2d3a}

/* ===== UTILITIES ===== */
.container{max-width:1240px;margin:0 auto;padding:0 20px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.text-center{text-align:center}
.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}
.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}
.mt-40{margin-top:40px}.mt-48{margin-top:48px}
.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}
.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}
.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}

/* ===== TYPOGRAPHY ===== */
h1{font-size:2rem;font-weight:700;line-height:1.2;letter-spacing:-0.02em}
h2{font-size:1.5rem;font-weight:700;line-height:1.25;letter-spacing:-0.01em}
h3{font-size:1.15rem;font-weight:600;line-height:1.35}
p{line-height:1.6;color:#4a4a5a}
body.dark p{color:#a0a4b4}
small{font-size:.85rem;color:#7a7a8a}
body.dark small{color:#8a8e9e}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 22px;border-radius:12px;font-weight:600;font-size:.9rem;
  transition:all .2s;white-space:nowrap}
.btn-primary{background:#1E66F5;color:#fff}
.btn-primary:hover{background:#1550d0;transform:translateY(-1px);box-shadow:0 4px 12px rgba(30,102,245,.3)}
.btn-primary:active{transform:translateY(0)}
.btn-secondary{background:#e8eef6;color:#1E66F5}
body.dark .btn-secondary{background:#232636;color:#5b9aff}
.btn-secondary:hover{background:#d6e0f0}
.btn-whatsapp{background:#dcfce7;color:#166534;border:1px solid #86efac}
.btn-whatsapp:hover{background:#bbf7d0;border-color:#4ade80;color:#14532d}
.btn-outline{border:1.5px solid #d0d5e0;color:#3a3a4a;background:#fff}
body.dark .btn-outline{background:#1a1d27;color:#c0c4d0;border-color:#3a3d4a}
.btn-outline:hover{border-color:#1E66F5;color:#1E66F5}
.btn-ghost{color:#5a5a6a;padding:8px 12px}
.btn-ghost:hover{background:#eef1f6;color:#1E66F5}
.btn-danger{background:#f44;color:#fff}
.btn-danger:hover{background:#d32f2f}
.btn-sm{padding:6px 14px;font-size:.82rem;border-radius:8px}
.btn-lg{padding:14px 32px;font-size:1rem;border-radius:14px}
.btn-block{width:100%}
.btn:disabled,.btn.loading{opacity:.6;pointer-events:none;position:relative}
.btn.loading::after{content:'';width:16px;height:16px;border:2px solid transparent;
  border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== FORM ELEMENTS ===== */
.input-group{display:flex;flex-direction:column;gap:6px}
.input-group label{font-size:.85rem;font-weight:600;color:#3a3a4a}
body.dark .input-group label{color:#c0c4d0}
input[type="text"],input[type="email"],input[type="password"],
input[type="number"],input[type="search"],input[type="tel"],input[type="url"],input[type="time"],
select,textarea{
  width:100%;padding:10px 14px;border:1.5px solid #d0d5e0;border-radius:10px;
  font-size:.9rem;background:#fff;color:#1a1a2e;transition:border .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{border-color:#1E66F5;box-shadow:0 0 0 3px rgba(30,102,245,.12)}
textarea{resize:vertical;min-height:100px}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%235a5a6a' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L2 5h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}
.checkbox-group{display:flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer}
.checkbox-group input[type="checkbox"]{width:18px;height:18px;accent-color:#1E66F5;cursor:pointer}
.checkbox-group input[type="radio"]{width:18px;height:18px;accent-color:#1E66F5;cursor:pointer}
.password-wrapper{position:relative}
.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);
  background:none;border:none;color:#7a7a8a;cursor:pointer;padding:4px}

/* ===== CARD ===== */
.card{background:#fff;border:1px solid #e8ecf2;border-radius:14px;
  overflow:hidden;transition:all .25s}
.card:hover{border-color:#c0cee0;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.card-body{padding:16px 18px}
.card-thumb{width:100%;aspect-ratio:16/10;position:relative;overflow:hidden}
.card-thumb-bg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-size:.85rem;color:#fff;font-weight:600}
.card-list{display:flex;flex-direction:row}
.card-list .card-thumb{width:260px;min-width:260px;aspect-ratio:auto;height:200px}
.card-list .card-body{flex:1;display:flex;flex-direction:column;justify-content:space-between}
.card-title{font-size:1rem;font-weight:600;color:#1a1a2e;margin-bottom:4px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.dark .card-title{color:#e2e4e9}
.card-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.card-rating{display:inline-flex;align-items:center;gap:4px;background:#1E66F5;
  color:#fff;padding:3px 8px;border-radius:6px;font-size:.78rem;font-weight:700}
.card-reviews{font-size:.8rem;color:#7a7a8a}
.card-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.tag{display:inline-block;padding:3px 10px;border-radius:6px;font-size:.75rem;font-weight:600}
.tag-top{background:#fff3e0;color:#e65100}
.tag-verified{background:#e0f2e9;color:#1b7a3d}
.tag-online{background:#e3f0ff;color:#1E66F5}
.tag-discount{background:#fce4ec;color:#c62828}
.card-price{font-size:1.1rem;font-weight:700;color:#1a1a2e}
body.dark .card-price{color:#e2e4e9}
.card-price small{font-size:.78rem;font-weight:400;color:#7a7a8a}
.card-address{font-size:.82rem;color:#7a7a8a;margin-top:4px;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.fav-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;border:1.5px solid #e0e4ea;background:#fff;transition:all .2s;flex-shrink:0}
body.dark .fav-btn{background:#232636;border-color:#3a3d4a}
.fav-btn:hover,.fav-btn.active{border-color:#f44;background:#fff5f5}
.fav-btn.active svg{fill:#f44;stroke:#f44}
.fav-btn svg{width:18px;height:18px;stroke:#7a7a8a;fill:none;stroke-width:2}

/* ===== HEADER ===== */
.header{position:sticky;top:0;z-index:100;background:#fff;
  border-bottom:1px solid #e8ecf2;padding:12px 0;transition:background .3s}
.header-inner{display:flex;align-items:center;gap:16px}
.logo a{display: flex;flex-wrap: wrap;align-items: center; font-size:1.3rem;font-weight:800;color:#1E66F5;white-space:nowrap;letter-spacing:-.02em;}
.logo img{max-width:50px;margin-right:10px}
.logo span{font-size:1.3rem;font-weight:800;color:#1E66F5;white-space:nowrap;letter-spacing:-.02em;color:#1a1a2e}
body.dark .logo span{color:#e2e4e9}
.header-search{display:flex;align-items:center;gap:8px;flex:1;max-width:680px;
  background:#f0f3f8;border-radius:12px;padding:4px 4px 4px 14px}
body.dark .header-search{background:#232636}
.header-search input{background:transparent;border:none;flex:1;min-width:80px;padding:8px 4px}
.header-search select{background:transparent;border:none;border-left:1px solid #d0d5e0;
  padding:8px 30px 8px 12px;font-size:.85rem;min-width:100px}
body.dark .header-search select{border-color:#3a3d4a}
.header-search .btn{border-radius:10px;padding:8px 18px}
.header-nav{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}
.header-map-link{font-size:.85rem;color:#1E66F5;font-weight:600;display:flex;align-items:center;gap:4px}
.burger{display:none;width:36px;height:36px;align-items:center;justify-content:center;
  border-radius:8px;border:1.5px solid #d0d5e0}
body.dark .burger{border-color:#3a3d4a}
.burger svg{width:20px;height:20px;stroke:#3a3a4a}
body.dark .burger svg{stroke:#c0c4d0}

@media(max-width:900px){
  .header-search select,.header-map-link{display:none}
  .header-search{max-width:100%}
}
@media(max-width:640px){
  .header-search{display:none}
  .burger{display:flex}
  .header-nav .btn-outline,.header-nav .btn-primary{display:none}
  .header-nav .mob-visible{display:flex!important}
  .header-inner{gap:10px}
}

/* ===== MOBILE MENU ===== */
.mobile-menu{display:none;position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.4)}
.mobile-menu.open{display:block}
.mobile-menu-panel{position:absolute;top:0;right:0;width:min(320px,85vw);height:100%;
  background:#fff;padding:20px;overflow-y:auto;animation:slideIn .25s ease}
body.dark .mobile-menu-panel{background:#1a1d27}
@keyframes slideIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
.mobile-menu-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  margin-left:auto;margin-bottom:16px;border-radius:8px;border:1.5px solid #e0e4ea}
.mobile-menu-panel .input-group{margin-bottom:12px}
.mobile-menu-panel .btn{width:100%;margin-bottom:8px}

/* ===== FOOTER ===== */
.footer{background:#fff;border-top:1px solid #e8ecf2;padding:40px 0 24px;margin-top:60px}
.footer-inner{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}
.footer-col h4{font-size:.9rem;font-weight:700;margin-bottom:12px;color:#1a1a2e}
body.dark .footer-col h4{color:#e2e4e9}
.footer-col a{display:block;font-size:.85rem;color:#5a5a6a;padding:4px 0;transition:color .2s}
.footer-col a:hover{color:#1E66F5}
.footer-bottom{text-align:center;margin-top:28px;padding-top:20px;border-top:1px solid #e8ecf2;
  font-size:.82rem;color:#7a7a8a;display:flex;justify-content: space-between;}

/* ===== BREADCRUMBS ===== */
.breadcrumbs{display:flex;align-items:center;gap:6px;font-size:.82rem;color:#7a7a8a;
  padding:16px 0;flex-wrap:wrap}
.breadcrumbs a{color:#5a5a6a;transition:color .2s}
.breadcrumbs a:hover{color:#1E66F5}
.breadcrumbs .sep{color:#c0c4d0}

/* ===== CHIPS ===== */
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;
  border-radius:20px;font-size:.82rem;background:#e8eef6;color:#1E66F5;
  font-weight:500;transition:all .2s}
.chip-remove{width:16px;height:16px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:rgba(30,102,245,.15);cursor:pointer;transition:background .2s}
.chip-remove:hover{background:rgba(30,102,245,.3)}
.chip-remove svg{width:10px;height:10px;stroke:#1E66F5;stroke-width:2.5}

/* ===== TOOLBAR ===== */
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 18px;background:#fff;border:1px solid #e8ecf2;border-radius:12px;flex-wrap:wrap}
.toolbar-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.toolbar-count{font-size:.9rem;font-weight:600;color:#3a3a4a;white-space:nowrap}
body.dark .toolbar-count{color:#c0c4d0}
.toolbar-right{display:flex;align-items:center;gap:10px}
.sort-select{padding:7px 34px 7px 12px;border:1.5px solid #d0d5e0;border-radius:8px;
  font-size:.82rem;background:#fff}
body.dark .sort-select{background:#232636;border-color:#3a3d4a;color:#c0c4d0}
.view-switcher{display:flex;border:1.5px solid #d0d5e0;border-radius:8px;overflow:hidden}
body.dark .view-switcher{border-color:#3a3d4a}
.view-btn{padding:7px 0;background:#fff;border:none;cursor:pointer;display:flex;
  align-items:center;transition:all .2s}
body.dark .view-btn{background:#232636;color:#c0c4d0}
.view-btn+.view-btn{border-left:1.5px solid #d0d5e0}
body.dark .view-btn+.view-btn{border-color:#3a3d4a}
.view-btn.active{background:#1E66F5;color:#fff}
.view-btn svg{width:18px;height:18px}

/* ===== FILTER SIDEBAR ===== */
.filter-sidebar{background:#fff;border:1px solid #e8ecf2;border-radius:14px;
  padding:20px;position:sticky;top:0px}
.filter-sidebar h3{font-size:1rem;font-weight:700;margin-bottom:16px}
.filter-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #eef1f6}
body.dark .filter-section{border-color:#2a2d3a}
.filter-section:last-of-type{border-bottom:none}
.filter-section label{font-size:.85rem;font-weight:600;margin-bottom:0px;display:flex;color:#3a3a4a;}
.filter-section label span{position: relative;top:1px}
body.dark .filter-section label{color:#c0c4d0}
.filter-section .checkbox-group{margin-top:8px}
.catalog-rating-filter{display:grid;gap:8px;margin-top:8px}
.catalog-rating-option{display:flex;align-items:center;gap:8px;font-size:.85rem}
.catalog-rating-option .stars{letter-spacing:1px;color:#f5b301;font-weight:900}
.price-range{display:flex;gap:8px;align-items:center}
.price-range input{width:50%}
.filter-actions{display:flex;gap:8px;margin-top:16px}
.filter-actions .btn{flex:1}

/* ===== SKELETON ===== */
.skeleton{position:relative;background:#e8ecf2;border-radius:10px;overflow:hidden}
.skeleton::after{content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
  animation:shimmer 1.2s infinite}
@keyframes shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.skeleton-card{border-radius:14px;overflow:hidden}
.skeleton-thumb{width:100%;aspect-ratio:16/10}
.skeleton-line{height:14px;margin:10px 16px;border-radius:6px}
.skeleton-line.w60{width:60%}.skeleton-line.w40{width:40%}.skeleton-line.w80{width:80%}
.skeleton-avatar{width:48px;height:48px;border-radius:50%}

/* ===== EMPTY STATE ===== */
.empty-state{text-align:center;padding:60px 20px}
.empty-state svg{width:80px;height:80px;margin:0 auto 16px;stroke:#c0c4d0;stroke-width:1.2}
.empty-state h3{font-size:1.2rem;margin-bottom:8px}
.empty-state p{font-size:.9rem;color:#7a7a8a;margin-bottom:20px}

/* ===== TOAST ===== */
.toast-container{position:fixed;top:20px;right:20px;z-index:500;display:flex;flex-direction:column;gap:10px}
.toast{padding:14px 20px;border-radius:12px;background:#fff;border:1px solid #e8ecf2;
  box-shadow:0 8px 24px rgba(0,0,0,.1);display:flex;align-items:center;gap:10px;
  font-size:.9rem;min-width:280px;animation:toastIn .3s ease}
@keyframes toastIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
.toast-success{border-left:4px solid #2e7d32}
.toast-error{border-left:4px solid #d32f2f}
.toast-icon{width:22px;height:22px;flex-shrink:0}
.toast-success .toast-icon{color:#2e7d32}
.toast-error .toast-icon{color:#d32f2f}
.toast-close{margin-left:auto;cursor:pointer;color:#7a7a8a;padding:4px}

/* ===== MODAL ===== */
.modal-overlay{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.45);
  display:none;align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex}
.modal-content{background:#fff;border-radius:16px;padding:28px;width:min(500px,100%);
  max-height:85vh;overflow-y:auto;animation:modalIn .25s ease}
@keyframes modalIn{from{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}
.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.modal-header h3{font-size:1.1rem}
.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;
  border-radius:8px;border:1.5px solid #e0e4ea;cursor:pointer}
body.dark .modal-close{border-color:#3a3d4a}

/* ===== DRAWER (mobile filters) ===== */
.drawer-overlay{position:fixed;inset:0;z-index:250;background:rgba(0,0,0,.4);display:none}
.drawer-overlay.open{display:block}
.drawer-content{position:fixed;bottom:0;left:0;right:0;z-index:251;background:#fff;
  border-radius:20px 20px 0 0;padding:24px;max-height:80vh;overflow-y:auto;
  animation:drawerUp .3s ease}
@keyframes drawerUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.drawer-handle{width:40px;height:4px;background:#d0d5e0;border-radius:4px;
  margin:0 auto 16px}

/* ===== TABS ===== */
.tab-nav{display:flex;gap:0;border-bottom:2px solid #e8ecf2;overflow-x:auto;
  scrollbar-width:none;-ms-overflow-style:none}
.tab-nav::-webkit-scrollbar{display:none}
.tab-link{padding:12px 20px;font-size:.9rem;font-weight:600;color:#7a7a8a;
  border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;white-space:nowrap}
.tab-link:hover{color:#1E66F5}
.tab-link.active{color:#1E66F5;border-color:#1E66F5}

/* ===== SEGMENTED CONTROL ===== */
.segmented{display:inline-flex;background:#eef1f6;border-radius:10px;padding:3px}
body.dark .segmented{background:#232636}
.seg-btn{padding:8px 18px;border-radius:8px;font-size:.82rem;font-weight:600;color:#5a5a6a;
  transition:all .2s}
.seg-btn.active{background:#fff;color:#1E66F5;box-shadow:0 2px 8px rgba(0,0,0,.08)}
body.dark .seg-btn.active{background:#2a2d3a;color:#5b9aff}

/* ===== ACCORDION / FAQ ===== */
.faq-item{background:#fff;border:1px solid #e8ecf2;border-radius:12px;margin-bottom:10px;overflow:hidden}
.faq-question{display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;cursor:pointer;font-weight:600;font-size:.95rem;transition:background .2s}
.faq-question:hover{background:#f6f8fb}
body.dark .faq-question:hover{background:#232636}
.faq-question svg{width:20px;height:20px;transition:transform .3s;flex-shrink:0;stroke:#7a7a8a}
.faq-item.open .faq-question svg{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s}
.faq-item.open .faq-answer{max-height:600px;padding:0 20px 16px}
.faq-answer p{font-size:.9rem;color:#5a5a6a;line-height:1.6}

/* ===== STAR RATING ===== */
.stars{display:inline-flex;gap:2px}
.stars svg{width:18px;height:18px}
.star-filled{fill:#f5a623;stroke:#f5a623}
.star-empty{fill:none;stroke:#d0d5e0;stroke-width:1.5}
.star-input{display:inline-flex;gap:4px;cursor:pointer}
.star-input svg{width:24px;height:24px;cursor:pointer;transition:all .15s}
.star-input svg:hover{transform:scale(1.2)}

/* ===== PAGINATION ===== */
.pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:28px}
.page-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  border-radius:10px;font-size:.9rem;font-weight:600;border:1.5px solid #e0e4ea;
  background:#fff;transition:all .2s}
body.dark .page-btn{background:#1a1d27;border-color:#3a3d4a;color:#c0c4d0}
.page-btn:hover{border-color:#1E66F5;color:#1E66F5}
.page-btn.active{background:#1E66F5;color:#fff;border-color:#1E66F5}
.show-more-btn{width:100%;margin-top:16px}

/* ===== AUTH CARD ===== */
.auth-wrapper{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;padding:40px 20px}
.auth-card{background:#fff;border:1px solid #e8ecf2;border-radius:18px;padding:36px;
  width:min(480px,100%);box-shadow:0 8px 32px rgba(0,0,0,.06)}
.auth-card h1{font-size:1.5rem;text-align:center;margin-bottom:4px}
.auth-card .subtitle{text-align:center;color:#7a7a8a;margin-bottom:28px;font-size:.9rem}
.auth-card .input-group{margin-bottom:16px}
.epu-auth-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:6px 0 2px}
.epu-auth-link{font-size:.85rem;color:#1E66F5;font-weight:500}
.auth-divider{display:flex;align-items:center;gap:12px;margin:24px 0;font-size:.82rem;color:#7a7a8a}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:#e0e4ea}
body.dark .auth-divider::before,body.dark .auth-divider::after{background:#3a3d4a}
.social-btns{display:flex;gap:12px}
.social-btns .btn{flex:1}
.social-btns .btn svg{width:20px;height:20px}
.auth-footer{text-align:center;margin-top:24px;font-size:.85rem;color:#7a7a8a}
.auth-footer a{color:#1E66F5;font-weight:600}
.password-strength{height:4px;border-radius:4px;background:#e8ecf2;margin-top:8px;overflow:hidden}
.password-strength-bar{height:100%;border-radius:4px;transition:width .3s,background .3s}
.strength-weak{width:33%;background:#f44}
.strength-medium{width:66%;background:#f5a623}
.strength-strong{width:100%;background:#2e7d32}

/* ===== ACCOUNT LAYOUT ===== */
.account-layout{display:flex;gap:24px;padding:32px 0}
.account-sidebar{width:260px;flex-shrink:0;background:#fff;border:1px solid #e8ecf2;
  border-radius:14px;padding:20px;position:sticky;top:80px;height:fit-content}
.account-user{text-align:center;padding-bottom:20px;border-bottom:1px solid #eef1f6;margin-bottom:16px}
body.dark .account-user{border-color:#2a2d3a}
.account-avatar{width:64px;height:64px;border-radius:50%;background:#1E66F5;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;
  margin:0 auto 10px}
.account-name{font-weight:600;font-size:1rem}
.account-email{font-size:.82rem;color:#7a7a8a}
.account-menu a{display:flex;align-items:center;gap:10px;padding:10px 14px;
  border-radius:10px;font-size:.9rem;font-weight:500;color:#3a3a4a;transition:all .2s;margin-bottom:4px}
body.dark .account-menu a{color:#c0c4d0}
.account-menu a:hover,.account-menu a.active{background:#eef3ff;color:#1E66F5}
body.dark .account-menu a:hover,body.dark .account-menu a.active{background:#232636;color:#5b9aff}
.account-menu a svg{width:18px;height:18px}
.account-content{flex:1;min-width:0}
@media(max-width:768px){
  .account-layout{flex-direction:column}
  .account-sidebar{width:100%;position:static}
}

/* ===== INSTITUTION PAGE ===== */
.inst-hero{display:grid;grid-template-columns:1fr 340px;gap:24px;margin-bottom:32px}
@media(max-width:900px){.inst-hero{grid-template-columns:1fr}}
.inst-gallery{border-radius:16px;overflow:hidden}
.inst-gallery-main{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:14px;margin-bottom:10px}
.inst-gallery-main .card-thumb-bg{width:100%;height:100%}
.inst-gallery-thumbs{display:flex;gap:10px}
.inst-gallery-thumbs .thumb-item{flex:1;aspect-ratio:16/10;border-radius:10px;overflow:hidden;
  cursor:pointer;border:2px solid transparent;transition:border .2s}
.inst-gallery-thumbs .thumb-item.active{border-color:#1E66F5}
.inst-gallery-thumbs .thumb-item .card-thumb-bg{width:100%;height:100%}
.inst-legacy-swiper-main{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:14px;margin-bottom:10px;position:relative}
.inst-legacy-swiper-main .card-thumb-bg{width:100%;height:100%}
.inst-legacy-swiper-main .swiper-button-prev,
.inst-legacy-swiper-main .swiper-button-next{width:40px;height:40px;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}
.inst-legacy-swiper-main .swiper-button-prev{left:12px}
.inst-legacy-swiper-main .swiper-button-next{right:12px}
.inst-legacy-swiper-main .swiper-button-prev::after,
.inst-legacy-swiper-main .swiper-button-next::after{display:none}
.inst-legacy-swiper-main .swiper-button-prev svg,
.inst-legacy-swiper-main .swiper-button-next svg{width:18px;height:18px}
.inst-legacy-swiper-thumbs .swiper-slide{aspect-ratio:16/10;border-radius:10px;overflow:hidden;opacity:.8;cursor:pointer}
.inst-legacy-swiper-thumbs .card-thumb-bg{width:100%;height:100%}
.inst-legacy-swiper-thumbs .swiper-slide-thumb-active{opacity:1;box-shadow:inset 0 0 0 2px #1E66F5}
.inst-action-card{background:#fff;border:1px solid #e8ecf2;border-radius:16px;
  padding:24px;position:sticky;top:80px}
.inst-action-card .card-rating{font-size:.9rem;padding:5px 12px}
.inst-price{font-size:1.5rem;font-weight:700;margin:16px 0}
.inst-price small{font-size:.85rem;font-weight:400;color:#7a7a8a}
.inst-action-btns{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.inst-info-line{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:#5a5a6a;margin-bottom:10px}
body.dark .inst-info-line{color:#a0a4b4}
.inst-info-line svg{width:18px;height:18px;flex-shrink:0;stroke:#7a7a8a}
.inst-contacts-lines{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}

.inst-tabs{position:sticky;top:64px;z-index:50;background:#F6F8FB;padding:8px 0}
body.dark .inst-tabs{background:#0f1117}

.inst-section{padding:32px 0}
.inst-section h2{margin-bottom:20px}

/* Programs grid */
.programs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.program-card{background:#fff;border:1px solid #e8ecf2;border-radius:14px;padding:20px}
.program-card h4{font-size:.95rem;font-weight:600;margin-bottom:6px}
.program-card p{font-size:.85rem}

/* Tariff cards */
.tariffs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.tariff-card{background:#fff;border:1px solid #e8ecf2;border-radius:14px;padding:24px;text-align:center;transition:all .2s}
.tariff-card.featured{border-color:#1E66F5;box-shadow:0 4px 20px rgba(30,102,245,.15)}
.tariff-name{font-size:.9rem;font-weight:600;color:#7a7a8a;margin-bottom:8px}
.tariff-price{font-size:1.8rem;font-weight:700;color:#1a1a2e;margin-bottom:4px}
body.dark .tariff-price{color:#e2e4e9}
.tariff-price small{font-size:.85rem;font-weight:400;color:#7a7a8a}
.tariff-features{margin:16px 0;text-align:left}
.tariff-features li{padding:6px 0;font-size:.88rem;color:#5a5a6a;display:flex;align-items:center;gap:8px}
body.dark .tariff-features li{color:#a0a4b4}
.tariff-features li svg{width:16px;height:16px;stroke:#2e7d32;flex-shrink:0}

/* Reviews summary */
.review-summary{display:flex;gap:32px;align-items:center;padding:24px;
  background:#fff;border:1px solid #e8ecf2;border-radius:14px;margin-bottom:24px}
body.dark .review-summary{background:#1a1d27;border-color:#2a2d3a}
.review-avg{text-align:center;min-width:100px}
.review-avg .big-num{font-size:2.5rem;font-weight:700;color:#1E66F5}
.review-bars{flex:1}
.review-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:.82rem}
.review-bar-row span:first-child{width:20px;text-align:right;color:#5a5a6a}
.review-bar-track{flex:1;height:8px;background:#e8ecf2;border-radius:4px;overflow:hidden}
body.dark .review-bar-track{background:#232636}
.review-bar-fill{height:100%;background:#f5a623;border-radius:4px;transition:width .3s}
.review-bar-row span:last-child{width:28px;color:#7a7a8a;font-size:.78rem}

.review-card{background:#fff;border:1px solid #e8ecf2;border-radius:14px;padding:20px;margin-bottom:14px}
.review-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.review-avatar{width:40px;height:40px;border-radius:50%;background:#e8eef6;color:#1E66F5;
  display:flex;justify-content:center;font-weight:700;font-size:.85rem}
.review-avatar img{border-radius:50%;}
.dashboard-avatar img{border-radius:50%;}
.review-meta{flex:1}
.review-name{font-weight:600;font-size:.9rem}
.review-date{font-size:.78rem;color:#7a7a8a}
.review-text{font-size:.9rem;color:#4a4a5a;line-height:1.6}
body.dark .review-text{color:#a0a4b4}
.review-actions{display:flex;gap:8px;margin-top:10px}

/* ===== MOCK MAP ===== */
.map-split{display:flex;height:calc(100vh - 130px)}
.map-container{flex:0 0 60%;position:relative;overflow:hidden}
.map-list{flex:1;overflow-y:auto;padding:16px;border-left:1px solid #e8ecf2}
body.dark .map-list{border-color:#2a2d3a}
.mock-map{width:100%;height:100%;background:#e8ecf2;position:relative}
.mock-map svg{width:100%;height:100%}
.map-grid line{stroke:#d0d8e4;stroke-width:.5}
.map-road{stroke:#c8d0dc;stroke-width:2;fill:none}
body.dark .map-road{stroke:#3a3d4a}
.map-pin{position:absolute;transform:translate(-50%,-100%);cursor:pointer;z-index:10;transition:all .2s}
.map-pin-dot{width:36px;height:36px;background:#1E66F5;border:3px solid #fff;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.2);transition:all .2s}
body.dark .map-pin-dot{border-color:#1a1d27}
.map-pin:hover .map-pin-dot,.map-pin.active .map-pin-dot{background:#0d4ed3;transform:scale(1.15)}
.map-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);
  background:#fff;border-radius:10px;padding:10px 14px;font-size:.82rem;
  box-shadow:0 4px 16px rgba(0,0,0,.15);white-space:nowrap;pointer-events:none;
  opacity:0;transition:opacity .2s}
body.dark .map-tooltip{background:#1a1d27;color:#e2e4e9}
.map-pin:hover .map-tooltip,.map-pin.active .map-tooltip{opacity:1}
.map-tooltip strong{display:block;margin-bottom:2px}
.map-controls{position:absolute;top:16px;left:16px;right:16px;display:flex;gap:8px;z-index:20;flex-wrap:wrap}
.map-search-btn{position:absolute;top:80px;left:50%;transform:translateX(-50%);z-index:20;
  display:none;box-shadow:0 4px 16px rgba(0,0,0,.15)}
.map-search-btn.visible{display:flex}
@media(max-width:768px){
  .map-split{flex-direction:column;height:auto}
  .map-container{height:400px;flex:none}
  .map-list{border-left:none;border-top:1px solid #e8ecf2;max-height:50vh}
  .map-tabs{display:flex!important}
}
.map-tabs{display:none;border-bottom:2px solid #e8ecf2}
.map-tab-btn{flex:1;padding:12px;text-align:center;font-weight:600;font-size:.9rem;
  border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}
.map-tab-btn.active{color:#1E66F5;border-color:#1E66F5}

/* ===== HERO ===== */
.hero{background:#fff;border-bottom:1px solid #e8ecf2;padding:48px 0 40px}
.hero h1{max-width:640px;margin-bottom:12px}
.hero .subtitle{max-width:500px;font-size:1.05rem;color:#5a5a6a;margin-bottom:28px}
body.dark .hero .subtitle{color:#a0a4b4}
.hero-search{display:flex;gap:10px;flex-wrap:wrap;max-width:800px}
.hero-search .input-group{flex:1;min-width:140px}
.hero-search .btn{align-self:flex-end}
.hero-advantages{display:flex;gap:32px;margin-top:32px;flex-wrap:wrap}
.advantage{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:500}
.advantage svg{width:28px;height:28px;stroke:#1E66F5;flex-shrink:0}

/* ===== CATEGORY CARDS ===== */
.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.cat-card{background:#fff;border:1px solid #e8ecf2;border-radius:14px;padding:20px;
  text-align:center;cursor:pointer;transition:all .2s}
.cat-card-icon{max-width: 100px;margin:0 auto;margin-bottom:10px}
.cat-card:hover,.cat-card.active{border-color:#1E66F5;box-shadow:0 4px 16px rgba(30,102,245,.1)}
.cat-card svg{width:36px;height:36px;margin:0 auto 10px;stroke:#1E66F5}
.cat-card h4{font-size:.9rem;font-weight:600;margin-bottom:4px}
.cat-card .count{font-size:.82rem;color:#7a7a8a}

/* ===== STEPS ===== */
.steps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.step-card{background:#fff;border:1px solid #e8ecf2;border-radius:14px;padding:24px;text-align:center}
.step-num{width:44px;height:44px;background:#eef3ff;color:#1E66F5;border-radius:12px;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;
  margin:0 auto 14px}
body.dark .step-num{background:#232636}
.step-card h4{font-size:.95rem;font-weight:600;margin-bottom:6px}
.step-card p{font-size:.85rem;color:#5a5a6a}
body.dark .step-card p{color:#a0a4b4}

/* ===== CTA ===== */
.cta-section{background:linear-gradient(135deg,#1E66F5,#0d4ed3);border-radius:20px;
  padding:48px;color:#fff;display:flex;align-items:center;justify-content:space-between;
  gap:32px;flex-wrap:wrap}
.cta-section h2{font-size:1.5rem;color:#fff}
.cta-section p{font-size:1rem;opacity:.85;max-width:500px;color:#fff}
.cta-btns{display:flex;gap:12px;flex-wrap:wrap}
.cta-btns .btn{background:#fff;color:#1E66F5;font-weight:700}
.cta-btns .btn:hover{background:#f0f3f8}
.cta-btns .btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.cta-btns .btn-outline:hover{background:rgba(255,255,255,.1);border-color:#fff}

/* ===== TEXT PAGE ===== */
.text-page-layout{display:grid;grid-template-columns:1fr 260px;gap:32px;padding:32px 0}
@media(max-width:768px){.text-page-layout{grid-template-columns:1fr}}
.text-page-content{min-width:0}
.text-page-content h2{margin-top:32px;margin-bottom:12px;padding-top:16px}
.text-page-content h3{margin-top:20px;margin-bottom:8px}
.text-page-content p{margin-bottom:14px}
.text-page-content ul,.text-page-content ol{margin:12px 0 14px 20px}
.text-page-content ul li,.text-page-content ol li{padding:4px 0;font-size:.9rem;color:#4a4a5a}
body.dark .text-page-content ul li,body.dark .text-page-content ol li{color:#a0a4b4}
.text-page-content ul li{list-style:disc}
.text-page-content ol li{list-style:decimal}
.text-page-content table{width:100%;border-collapse:collapse;margin:16px 0;border-radius:10px;overflow:hidden}
.text-page-content th,.text-page-content td{padding:12px 16px;text-align:left;font-size:.88rem;
  border-bottom:1px solid #e8ecf2}
body.dark .text-page-content th,body.dark .text-page-content td{border-color:#2a2d3a}
.text-page-content th{background:#f0f3f8;font-weight:600}
body.dark .text-page-content th{background:#232636}
.text-page-content .info-block{background:#eef3ff;border-left:4px solid #1E66F5;
  border-radius:0 10px 10px 0;padding:16px 20px;margin:16px 0;font-size:.9rem}
body.dark .text-page-content .info-block{background:#1a2236}

.text-page-toc{position:sticky;top:80px;background:#fff;border:1px solid #e8ecf2;
  border-radius:14px;padding:20px;height:fit-content}
.text-page-toc h4{font-size:.9rem;font-weight:700;margin-bottom:12px}
.toc-link{display:block;padding:6px 12px;font-size:.85rem;color:#5a5a6a;
  border-left:2px solid transparent;transition:all .2s;margin-bottom:2px}
.toc-link:hover{color:#1E66F5}
.toc-link.active{color:#1E66F5;border-color:#1E66F5;background:#eef3ff;border-radius:0 8px 8px 0}
body.dark .toc-link.active{background:#1a2236}

/* ===== STAT CARD (for text page) ===== */
.stat-card{background:#fff;border:1px solid #e8ecf2;border-radius:14px;padding:20px;text-align:center}
.stat-card .stat-num{font-size:1.8rem;font-weight:700;color:#1E66F5}
.stat-card .stat-label{font-size:.85rem;color:#7a7a8a}

/* ===== RESULTS GRID ===== */
.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.results-grid.list-view{grid-template-columns:1fr}
@media(max-width:1024px){.results-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.results-grid{grid-template-columns:1fr}}

/* ===== CATALOG LAYOUT ===== */
.catalog-layout{display:flex;gap:24px;padding:24px 0}
.catalog-sidebar{width:280px;flex-shrink:0}
.catalog-content{flex:1;min-width:0}
@media(max-width:900px){
  .catalog-sidebar{display:none}
  .mob-filter-btn{display:flex!important}
}
.mob-filter-btn{display:none!important;position:fixed;bottom:20px;left:50%;transform:translateX(-50%);
  z-index:100;box-shadow:0 4px 20px rgba(0,0,0,.15)}

/* ===== MINI MAP ===== */
.mini-map{width:100%;aspect-ratio:16/9;background:#e8ecf2;border-radius:14px;overflow:hidden;position:relative}
body.dark .mini-map{background:#232636}
.mini-map svg{width:100%;height:100%}

/* ===== SETTINGS ===== */
.setting-row{display:flex;align-items:center;justify-content:space-between;
  padding:16px 0;border-bottom:1px solid #eef1f6}
body.dark .setting-row{border-color:#2a2d3a}
.setting-label{font-size:.9rem;font-weight:500}
.setting-desc{font-size:.82rem;color:#7a7a8a}
.toggle{width:48px;height:26px;background:#d0d5e0;border-radius:13px;
  position:relative;cursor:pointer;transition:background .2s;flex-shrink:0}
.toggle.active{background:#1E66F5}
.toggle::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;
  background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.toggle.active::after{transform:translateX(22px)}

/* ===== RESPONSIVE ===== */
@media(max-width:640px){
  h1{font-size:1.5rem}
  h2{font-size:1.2rem}
  .container{padding:0 14px}
  .hero{padding:32px 0 28px}
  .hero-search{flex-direction:column}
  .hero-advantages{flex-direction:column;gap:16px}
  .categories-grid{grid-template-columns:repeat(2,1fr)}
  .steps-grid{grid-template-columns:1fr 1fr}
  .cta-section{padding:32px 20px;flex-direction:column;}
  .review-summary{flex-direction:column;text-align:center}
  .inst-hero{grid-template-columns:1fr}
  .inst-action-card{position:static}
  .programs-grid,.tariffs-grid{grid-template-columns:1fr}
  .inst-contacts-lines{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;gap:24px}
  .text-page-toc{display:none}
}

/* ===== CONSOLIDATED INTERFACE OVERRIDES (2026-02) ===== */
.header{position:relative !important;top:auto !important}
.header .header-inner{position:relative;display:flex;align-items:center;gap:12px}
.header .logo{display:flex;align-items:center;flex-shrink:0}
.header-menu-static,.header .header-menu{display:flex;align-items:center;gap:3px;flex:1 1 auto;min-width:0;overflow:auto;scrollbar-width:none}
.header-menu-static::-webkit-scrollbar,.header .header-menu::-webkit-scrollbar{display:none}
.header-menu-static a,.header .header-menu-link{display:inline-flex;align-items:center;height:36px;padding:0 11px;border-radius:10px;white-space:nowrap;font-weight:600;font-size:.88rem;color:#344054;transition:background .2s,color .2s}
.header-menu-static a:hover,.header .header-menu-link:hover{background:#f1f5fb;color:#1E66F5}
.header .header-menu-link.is-active{background:#eef4ff;color:#1E66F5}
.header .header-inner > .header-search{display:none !important}

.header .header-tools{position:relative;display:flex;align-items:center;gap:8px;flex:0 0 auto}
.header .header-search-toggle{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 12px;border:none;border-radius:12px;background:transparent;color:#344054;font-weight:700;transition:background .2s,color .2s}
.header .header-search-toggle .icon{display:inline-flex}
.header .header-search-toggle .icon svg{width:17px;height:17px}
.header .header-search-toggle:hover{background:#f3f6fb;color:#1f2a44}
.header .header-search-toggle-text{display:inline}

.header .header-search-popover{display:none;position:absolute;right:0;top:calc(100% + 10px);z-index:210;width:min(720px,calc(100vw - 36px));min-width:620px;background:#fff;border:1px solid #dbe3ef;border-radius:16px;padding:12px;box-shadow:0 18px 42px rgba(16,24,40,.16)}
.header .header-tools.search-open .header-search-popover{display:block}
.header .header-search-popover-title{font-weight:800;color:#25314a;margin-bottom:10px}
.header .header-search-tabs{display:flex;gap:6px;background:#f4f7fc;padding:4px;border-radius:12px;margin-bottom:12px}
.header .header-search-tab{flex:1;height:42px;border-radius:10px;font-weight:700;color:#566078;transition:background .2s,color .2s}
.header .header-search-tab.active{background:#fff;color:#1E66F5;box-shadow:0 1px 2px rgba(16,24,40,.08)}
.header .header-search-panel{display:none}
.header .header-search-panel.active{display:block}
.header .header-search-field{display:flex;align-items:center;min-height:44px;border:1px solid #dbe2ee;border-radius:12px;background:#fff}
.header .header-search-field .field-icon{width:18px;height:18px;margin-left:14px;color:#667085;display:inline-flex}
.header .header-search-field input,.header .header-search-field select{width:100%;height:44px;border:0;background:transparent;padding:0 14px;color:#243041}
.header .header-search-field .field-icon + input{padding-left:10px}
.header .header-search-field .field-icon + input:active, .header .header-search-field .field-icon + input:focus{outline: 0;box-shadow: 0}
.header .header-search-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}
.header .header-search-actions{margin-top:10px;display:flex;justify-content:flex-end}
.header .header-search-btn{height:44px;border-radius:12px;min-width:112px}

.header .lang-dropdown{position:relative}
.header .lang-trigger{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 10px;border:none;border-radius:12px;background:transparent;color:#344054;font-weight:700;transition:background .2s,color .2s}
.header .lang-trigger:hover{background:#f3f6fb;color:#1f2a44}
.header .lang-trigger .icon,.header .lang-trigger .chev{display:inline-flex}
.header .lang-trigger .icon svg{width:16px;height:16px}
.header .lang-trigger .chev svg{width:14px;height:14px}
.header .lang-menu{position:absolute;right:0;top:calc(100% + 8px);display:none;min-width:88px;padding:6px;background:#fff;border:1px solid #d9e2f0;border-radius:10px;box-shadow:0 12px 28px rgba(16,24,40,.14);z-index:220}
.header .lang-dropdown.open .lang-menu{display:block}
.header .lang-option{width:100%;display:flex;align-items:center;justify-content:flex-start;padding:8px 10px;border-radius:8px;font-weight:700;color:#344054}
.header .lang-option:hover{background:#f3f7ff;color:#1E66F5}

.header .header-auth{display:flex;align-items:center;gap:8px}
.header .header-auth .btn{height:38px;border-radius:10px}

/* Hide static desktop language switch, only mobile compact switch remains. */
.header .header-inner > .lang-switch:not(.header-mobile-lang){display:none !important}
.header .lang-switch{display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid #d7deea;border-radius:10px;background:#fff}
.header .lang-switch button{min-width:34px;height:30px;border-radius:8px;font-size:.76rem;font-weight:700;color:#64748b}
.header .lang-switch button.active{background:#eef4ff;color:#1E66F5}

.mobile-menu-panel-simple{display:flex !important;flex-direction:column;gap:10px}
.mobile-menu-links{display:grid;gap:10px}
.mobile-menu-links a{
  position:relative;
  padding:14px 16px 14px 44px;
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff,#f7faff);
  border:1px solid #e2eaf7;
  box-shadow:0 8px 18px rgba(16,24,40,.06);
  font-weight:700;
  font-size:1rem;
  letter-spacing:.01em;
  color:#2f3b52;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,color .2s ease,background .2s ease
}
.mobile-menu-links a::before{
  content:'';
  position:absolute;
  left:16px;
  top:50%;
  width:14px;
  height:14px;
  border-radius:50%;
  transform:translateY(-50%);
  background:radial-gradient(circle at 32% 32%,#5ea8ff,#1E66F5)
}
.mobile-menu-links a:hover{
  transform:translateY(-1px);
  border-color:#cbdaf4;
  box-shadow:0 12px 24px rgba(30,102,245,.14);
  color:#1E66F5;
  background:linear-gradient(180deg,#ffffff,#f2f7ff)
}
.mobile-menu-links a:active{transform:none}
.mobile-menu-close{
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid #d8e1ef;
  background:linear-gradient(180deg,#fff,#f4f8ff);
  box-shadow:0 6px 14px rgba(16,24,40,.08)
}

/* Footer redesign */
.footer{
  position:relative;
  background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%);
  border-top:1px solid #dde7f6;
  padding:52px 0 28px;
  margin-top:72px
}
.footer::before{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,#c9d8f4 30%,#c9d8f4 70%,transparent)
}
.footer-inner{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:30px
}
.footer-col h4{
  font-size:1rem;
  font-weight:800;
  margin-bottom:14px;
  letter-spacing:.01em;
  color:#1d2740
}
.footer-col a{
  display:block;
  font-size:.92rem;
  color:#4e5c78;
  padding:6px 0;
  transition:color .2s ease,transform .2s ease
}
.footer-col a:hover{color:#1E66F5;transform:translateX(2px)}
.footer-bottom{
  margin-top:30px;
  padding-top:18px;
  border-top:1px solid #dfe7f4;
  font-size:.85rem;
  color:#6a7894;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap
}
body.dark .footer{
  background:#1a1d27;
  border-top-color:#2a2d3a
}
body.dark .footer::before{opacity:.35}
body.dark .footer-col h4{color:#e2e4e9}
body.dark .footer-col a{color:#9ea7bb}
body.dark .footer-col a:hover{color:#5b9aff}
body.dark .footer-bottom{border-top-color:#2f3444;color:#8f99af}

.listing-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.listing-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.listing-group-head h3{margin:0}
.listing-group-link{font-size:.85rem;font-weight:700;color:#1E66F5}
.listing-group-link:hover{text-decoration:underline}
.show-more-static{min-width:220px}

.hero{position:relative;overflow:hidden;background:radial-gradient(700px 300px at 85% 20%, rgba(30,102,245,.14), transparent 60%),radial-gradient(500px 260px at 15% 10%, rgba(67,233,123,.08), transparent 60%),linear-gradient(180deg,#f9fbff 0%,#f6f8fb 100%);border-bottom:1px solid #e8ecf2}
.hero::before,.hero::after{content:'';position:absolute;border-radius:999px;pointer-events:none}
.hero::before{width:280px;height:280px;right:5%;top:40px;background:radial-gradient(circle at 35% 35%, rgba(30,102,245,.18), rgba(30,102,245,0))}
.hero::after{width:180px;height:180px;right:18%;top:130px;background:radial-gradient(circle at 40% 40%, rgba(79,172,254,.14), rgba(79,172,254,0))}
.hero .container{position:relative;z-index:1}
.hero h1,.hero .subtitle{max-width:760px}
.hero-search{width:100%;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;align-items:end;gap:12px;padding:14px;border:1px solid #e5ebf6;border-radius:18px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);box-shadow:0 12px 28px rgba(16,24,40,.06)}
.hero-search > *{min-width:0}
.hero-search .input-group{width:100%;min-width:0}
.hero-search .input-group label{font-size:.75rem;color:#64748b}
.hero-search .input-group select{height:46px;border-radius:12px}
.hero-search .btn{height:46px;padding-inline:18px;width:100%;justify-content:center}
.hero-search .btn-secondary{white-space:nowrap}

.categories-grid,.steps-grid{width:100%}
.categories-grid{grid-template-columns:repeat(5,minmax(0,1fr)) !important}
.steps-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important}

.results-grid.results-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{display:flex;flex-direction:column;overflow:hidden}
.card-thumb{position:relative;overflow:hidden;border-radius:12px 12px 0 0;aspect-ratio:16/10}
.card-thumb-bg{position:absolute;inset:0}
.card-thumb-overlay{position:absolute;inset:0;display:flex;justify-content:flex-start;align-items:flex-start;padding:10px;background:linear-gradient(180deg,rgba(0,0,0,.28),transparent 55%)}
.card-thumb-top{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;width:100%}
.thumb-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:800}
.thumb-chip-top{background:#ffedd5;color:#9a3412}
.thumb-chip-check{background:#ecfdf3;color:#166534}
.thumb-chip-rating{display:none !important}
.card-thumb-bottom{display:none !important}

.card-body{display:flex;flex-direction:column;gap:8px;padding:14px 16px 16px;min-height:152px}
.card-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.34;min-height:0 !important;font-size:1rem}
.card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:20px}
.card-meta:empty,.card-address:empty,.card-actions:empty,.card-price:empty{display:none}
.card-address{font-size:.84rem;color:#667085;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.3em}
.card-actions{margin-top:auto;justify-content:flex-start}
.card-actions .btn{display:none !important}
.card-price.is-empty{font-size:.94rem;font-weight:600;color:#98a2b3}
.card-actions-right{display:flex;align-items:center;gap:8px}
.card-list .card-actions-right{display:flex;align-items:center;gap:8px}
.card:not(.card-list) .card-actions-right .fav-btn{display:none}
.card-fav-floating{margin-left:auto;display:inline-flex}
.card-fav-floating .fav-btn{width:34px;height:34px;border:none;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);box-shadow:0 6px 18px rgba(16,24,40,.16)}
.card-fav-floating .fav-btn:hover,.card-fav-floating .fav-btn.active{background:#fff}

.toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.view-switcher{display:flex;gap:6px;background:#f5f7fb;border-radius:12px;padding:4px !important;border:none !important}
.view-btn{width:36px;height:36px;border:none;background:transparent;border-radius:10px;color:#667085;display:inline-flex;align-items:center;justify-content:center}
.view-btn:hover{background:#fff;color:#344054}
.view-btn.active{background:#fff;color:#1E66F5;box-shadow:0 1px 2px rgba(16,24,40,.08)}
.view-btn svg{width:18px;height:18px}

.results-grid.list-view{grid-template-columns:1fr}
.results-grid.list-view .card{flex-direction:row;align-items:stretch}
.results-grid.list-view .card-thumb{width:250px;min-width:250px;border-radius:12px 0 0 12px;aspect-ratio:auto;height:auto}
.results-grid.list-view .card-body{padding:14px 16px}
.results-grid.list-view .card-title{min-height:0;-webkit-line-clamp:2}
.results-grid.list-view .card-address{min-height:0}

.home-reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.review-school{font-size:.8rem;color:#475467;line-height:1.35;word-break:break-word}
.home-reviews-grid .review-card{border:1px solid #dfe8f6;border-radius:16px;padding:18px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 8px 20px rgba(16,24,40,.06)}
.home-reviews-grid .review-stars{display:inline-flex;align-items:center;gap:2px;color:#f4b400;font-size:1rem;line-height:1}
.home-reviews-grid .review-meta{display:grid;gap:3px}

.map-page .map-filters-bar{position:sticky;top:72px;z-index:35;background:#fff;border-bottom:1px solid #e8edf5}
.map-page .map-filters-bar>.container{padding-top:0;padding-bottom:0}
.map-page .map-filters-inner{display:flex;flex-wrap:wrap;gap:10px;align-items:center;width:100%;max-width:none;margin:0;padding:12px 0}
.map-page .map-filter-wrap{display:none;position:relative;flex:0 1 220px;min-width:170px;max-width:240px}
.map-page .map-filter-wrap.is-visible{display:block;animation:mapFilterIn .22s ease}
.map-page .map-filter-wrap::after{content:'';position:absolute;right:12px;top:50%;width:10px;height:10px;transform:translateY(-50%);background:currentColor;opacity:.42;pointer-events:none;clip-path:polygon(0 0,100% 0,50% 100%)}
.map-page .map-filter-select{height:44px;appearance:none;background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #dbe2ee;border-radius:12px;padding:0 32px 0 12px;font-weight:600;color:#243041}
.map-page .map-filters-meta{display:flex;align-items:center;gap:10px;color:#667085;font-weight:700;margin-left:auto;justify-content:flex-end}
.map-page .map-filters-meta .dot{width:8px;height:8px;border-radius:50%;background:#1E66F5;display:inline-block}

.map-page .cian-map-stage{position:relative;height:calc(100vh - 72px - 68px);background:#eef3f8}
.map-page .cian-map-layout{position:relative;height:100%}
.map-page .cian-map-shell{position:relative;height:100%;overflow:hidden}
.map-page .cian-map-mapbox{position:absolute;inset:0;z-index:1}
.map-page .cian-map-bg{position:absolute;inset:0;background:radial-gradient(circle at 16% 20%, rgba(30,102,245,.08), transparent 42%),radial-gradient(circle at 80% 25%, rgba(26,188,156,.09), transparent 40%),linear-gradient(#edf2f7,#edf2f7)}
.map-page .cian-map-grid{position:absolute;inset:0;opacity:.65;background-image:linear-gradient(to right, rgba(160,174,192,.2) 1px, transparent 1px),linear-gradient(to bottom, rgba(160,174,192,.2) 1px, transparent 1px);background-size:56px 56px}
.map-page .cian-map-roads{position:absolute;inset:0;pointer-events:none}
.map-page .cian-map-roads::before,.map-page .cian-map-roads::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 8%,#cfd8e6 9%,#cfd8e6 10%,transparent 11%,transparent 41%,#cfd8e6 42%,#cfd8e6 43%,transparent 44%,transparent 74%,#cfd8e6 75%,#cfd8e6 76%,transparent 77%),linear-gradient(0deg,transparent 14%,#d8e0ec 15%,#d8e0ec 16%,transparent 17%,transparent 52%,#d8e0ec 53%,#d8e0ec 54%,transparent 55%,transparent 82%,#d8e0ec 83%,#d8e0ec 84%,transparent 85%)}
.map-page .cian-map-roads::after{transform:rotate(-8deg) scale(1.1);opacity:.45}
.map-page .map-pins-layer{position:absolute;inset:0;transform-origin:50% 50%;transition:transform .2s ease}
.map-page .mapbox-ready .cian-map-bg,
.map-page .mapbox-ready .cian-map-grid,
.map-page .mapbox-ready .cian-map-roads,
.map-page .mapbox-ready .map-pins-layer,
.map-page .mapbox-ready .map-zoom-controls{display:none}
.map-page .map-pin{position:absolute;transform:translate(-50%,-50%);border:none;background:transparent;padding:0;cursor:pointer;z-index:8}
.map-page .map-pin-chip__price{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:30px;padding:0 10px;border-radius:999px;background:#fff;border:2px solid rgba(255,255,255,.85);box-shadow:0 10px 20px rgba(16,24,40,.16);font-weight:800;color:#243041;font-size:.82rem}
.map-page .map-pin.active .map-pin-chip__price,.map-page .map-pin:hover .map-pin-chip__price{background:#1E66F5;color:#fff;border-color:#1E66F5}
.map-page .map-cluster-chip__n{display:inline-flex;align-items:center;justify-content:center;min-width:76px;height:56px;padding:0 14px;border-radius:999px;background:#fff;border:3px solid #f3f4f6;box-shadow:0 14px 30px rgba(17,24,39,.16);font-weight:900;font-size:1rem;color:#25324b}

.map-page .map-zoom-controls{position:absolute;left:14px;top:14px;display:flex;flex-direction:column;gap:8px;z-index:20}
.map-page .map-zoom-controls button{width:38px;height:38px;border-radius:11px;border:1px solid #d9e1ee;background:#fff;box-shadow:0 6px 18px rgba(16,24,40,.1);font-weight:900;font-size:1.1rem;cursor:pointer;color:#243041}
.map-page .map-side-toggle-btn{position:absolute;left:14px;bottom:14px;z-index:21;display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:12px;border:1px solid #dbe3ef;background:#fff;color:#243041;font-weight:800;box-shadow:0 8px 20px rgba(16,24,40,.1);cursor:pointer}
   
.map-page .map-side-panel{position:absolute;left:0;top:0;bottom:0;width:430px;max-width:calc(100vw - 28px);background:#fff;border:0;border-radius:0;box-shadow:0 20px 40px rgba(16,24,40,.18);transform:translateX(-112%);opacity:0;transition:.24s ease;display:flex;flex-direction:column;overflow:hidden;z-index:30}
.map-page .cian-map-layout.side-open .map-side-panel,.map-page .map-side-panel.open{transform:translateX(0);opacity:1}
.map-page .map-side-head{position:relative;display:flex;align-items:flex-start;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #eef2f7;gap:12px}
.map-page .map-side-grabber{display:none;position:absolute;left:50%;top:6px;transform:translateX(-50%);width:42px;height:5px;border-radius:999px;background:#d5deec}
.map-page .map-side-title{font-size:1rem;font-weight:800;color:#1f2937}
.map-page .map-side-sub{font-size:.85rem;color:#667085;margin-top:2px}
.map-page .map-side-switch{height:34px;padding:0 12px;border:1px solid #dbe3ef;border-radius:10px;background:#f8fbff;color:#1E66F5;font-weight:700}
.map-page .map-side-close-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;padding:0}
.map-page .map-side-close-btn svg{width:16px;height:16px}
.map-page .map-side-results{padding:12px;overflow:auto;display:grid;gap:10px}
.map-page .map-side-empty{padding:18px 14px;text-align:center;color:#667085}
.map-page .map-side-empty__ico{width:42px;height:42px;margin:6px auto 8px;color:#98a2b3}
.map-page .map-side-empty__ico svg{width:42px;height:42px}
.map-page .map-side-empty__t{font-weight:800;color:#344054;margin-bottom:4px}
.map-page .map-side-empty__d{font-size:.86rem;line-height:1.35}

.map-page .map-cian-card{display:block;background:#fff;border:1px solid #e9eef6;border-radius:16px;padding:10px;box-shadow:0 4px 14px rgba(16,24,40,.04)}
.map-page .map-cian-card.active{border-color:#1E66F5;box-shadow:0 0 0 1px rgba(30,102,245,.28)}
.map-page .map-cian-card__thumb{position:relative;display:block;height:156px;border-radius:12px;overflow:hidden}
.map-page .map-cian-card__thumb .card-thumb-bg{position:absolute;inset:0}
.map-page .map-cian-card__body{padding-top:10px}
.map-page .map-cian-card__title{display:block;color:#1f2937;font-weight:800;line-height:1.28;font-size:.95rem;margin-bottom:6px}
.map-page .map-cian-card__meta{font-size:.81rem;color:#667085;margin-bottom:4px}
.map-page .map-cian-card__details{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.map-page .map-cian-card__address{font-size:.83rem;color:#475467;line-height:1.3;margin-bottom:9px}
.map-page .map-cian-card__footer{display:flex;align-items:center;justify-content:space-between;gap:8px}
.map-page .map-cian-card__price{font-weight:900;color:#111827;font-size:.93rem}
.map-page .map-cian-card__price.is-empty{color:#98a2b3;font-weight:700}

.inst-swiper-main{position:relative;overflow:hidden;border-radius:14px;min-height:280px}
.inst-swiper-main .slide-img{display:none;position:absolute;inset:0;align-items:center;justify-content:center;font-weight:900;color:#fff;font-size:1.25rem}
.inst-swiper-main .slide-img.active{display:flex}
.inst-swiper-main .swiper-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:rgba(17,24,39,.42);color:#fff;display:flex;align-items:center;justify-content:center;z-index:3}
.inst-swiper-main .swiper-arrow.prev{left:10px}
.inst-swiper-main .swiper-arrow.next{right:10px}
.inst-swiper-thumbs{display:flex;gap:8px;overflow-x:auto;padding:10px 2px 4px;scroll-snap-type:x proximity}
.inst-swiper-thumbs .swiper-thumb{flex:0 0 calc(25% - 6px);min-width:88px;height:66px;border-radius:10px;overflow:hidden;border:2px solid transparent;cursor:pointer;scroll-snap-align:start}
.inst-swiper-thumbs .swiper-thumb.active{border-color:#1E66F5}
.inst-swiper-thumbs .thumb-bg{width:100%;height:100%}
.inst-swiper-has-many-thumbs .inst-swiper-thumbs .swiper-thumb{flex:0 0 96px}
.inst-thumbs-controls{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
.inst-thumbs-arrow{width:32px;height:32px;border-radius:8px;border:1px solid #d8dfec;background:#fff;color:#344054;font-weight:900}

.mobile-bottom-bar{display:none}
@keyframes mapFilterIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:1200px){
  .results-grid.results-grid-4{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1100px){
  .categories-grid{grid-template-columns:repeat(3,1fr) !important}
  .steps-grid{grid-template-columns:repeat(2,1fr) !important}
  .header-menu-static a:nth-child(n+5),.header .header-menu-link:nth-child(n+5){display:none}
  .header .header-search-popover{min-width:560px}
}
@media(max-width:900px){
  .hero-search{grid-template-columns:1fr 1fr !important}
  .hero-search .btn{width:100%}
  .results-grid.results-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .results-grid.list-view .card-thumb{width:170px;min-width:170px}
  .header-menu-static,.header .header-menu{display:none !important}
  .header .header-search-popover{display:none !important}
  .header .header-auth{display:none !important}
  .header .header-search-toggle{display:none !important}
  .header .lang-dropdown{display:none !important}
  .header .header-mobile-lang{display:inline-flex !important}
  .header .burger{display:flex !important}
  .header .header-inner{justify-content:space-between}
  .map-page .map-filters-inner{padding:10px 0}
}
@media(max-width:768px){
  body{padding-bottom:78px}
  .mobile-bottom-bar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0px;right:0px;bottom:0px;z-index:220;background:#fff;border:1px solid #dbe3ef;border-radius:0;padding:6px;box-shadow:0 12px 28px rgba(16,24,40,.16)}
  .mobile-bottom-link{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border-radius:10px;color:#667085;font-size:.66rem;font-weight:700}
  .mobile-bottom-link svg{width:19px;height:19px}
  .mobile-bottom-link.is-active{background:#eef4ff;color:#1E66F5}
  .map-page .map-filters-bar{position:static !important;top:auto !important}
  .map-page .map-filters-inner{display:grid;grid-template-columns:1fr;padding:10px 0}
  .map-page .map-filter-wrap{max-width:none;min-width:0}
  .map-page .map-filters-meta{margin-left:0;justify-content:flex-start}
  .map-page .cian-map-stage{height:calc(100vh - 64px - 110px)}
  .map-page .map-side-panel{left:8px;right:8px;top:auto;bottom:8px;width:auto;height:62vh;max-width:none;border-radius:16px 16px 0 0;transform:translateY(104%)}
  .map-page .cian-map-layout.side-open .map-side-panel,.map-page .map-side-panel.open{transform:translateY(0)}
  .map-page .map-side-head{padding-top:16px;touch-action:none;cursor:grab}
  .map-page .map-side-head:active{cursor:grabbing}
  .map-page .map-side-grabber{display:block}
  .map-page .map-side-toggle-btn{bottom:84px}
  .inst-swiper-main{min-height:210px}
  .footer-inner{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px 18px
  }
  .footer-col h4{margin-bottom:10px}
  .footer-col a{font-size:.88rem;padding:5px 0}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}
}
@media(max-width:640px){
  .hero-search{grid-template-columns:1fr !important;padding:10px;border-radius:14px}
  .categories-grid{grid-template-columns:repeat(2,1fr) !important}
  .steps-grid{grid-template-columns:1fr !important}
  .results-grid.results-grid-4{grid-template-columns:1fr}
  .results-grid.list-view .card{display:grid;grid-template-columns:120px 1fr;border:1px solid #dbe3ef;border-radius:12px}
  .results-grid.list-view .card-thumb{width:auto;min-width:0;height:100%;border-radius:12px 0 0 12px}
  .results-grid.list-view .card-body{padding:10px 12px}
  .results-grid.list-view .card-title{font-size:.92rem;min-height:0}
  .results-grid.list-view .card-address{font-size:.8rem}
}
