:root{--bg:#2A2F35;--panel:#323840;--panel2:#39414A;--text:#fff;--muted:#BFC6CF;--line:rgba(255,255,255,.10);--primary:#FC4E2D;--primary-hover:#E84526;--brand:#FC4E2D;--cyan:#FF8B1F;--purple:#F6285A;--danger:#ff4d6d}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top right,rgba(252,78,45,.12),transparent 38%),linear-gradient(180deg,#30373d,#242a30);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);min-height:100vh}.app-shell{max-width:1180px;margin:0 auto;padding:16px 16px 92px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.brand{display:flex;gap:10px;align-items:center;font-weight:800;letter-spacing:-.04em}.brand-ball{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff}.glass{background:rgba(17,24,39,.74);border:1px solid var(--line);box-shadow:0 18px 60px rgba(0,0,0,.35);backdrop-filter:blur(14px)}.hero{border-radius:32px;padding:26px;min-height:380px;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(8,12,22,.98),rgba(12,18,32,.76)),url('https://images.unsplash.com/photo-1622279457486-62dcc4a431d6?auto=format&fit=crop&w=1200&q=80') center/cover}.hero:after{content:"";position:absolute;right:-80px;bottom:-100px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,var(--primary),transparent 65%);opacity:.35}.hero h1{font-size:clamp(2.2rem,9vw,4.7rem);line-height:.95;font-weight:900;letter-spacing:-.08em}.accent{color:var(--primary)}.btn-neon{background:var(--primary);color:#fff;border:0;border-radius:16px;font-weight:800;padding:14px 18px}.btn-dark-soft{background:#39414A;color:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 16px}.search-box{display:flex;gap:10px;align-items:center;background:#323840;border:1px solid var(--line);border-radius:22px;padding:12px 14px;color:var(--muted)}.search-box input,.form-control,.form-select{background:#262c32!important;border:1px solid var(--line)!important;color:#fff!important;border-radius:16px!important;padding:13px 14px}.form-control::placeholder{color:#778094}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:#121a2a;border:1px solid var(--line);color:#dbe2ef;font-size:.82rem}.chip.active{background:var(--primary);color:#fff;font-weight:800}.cardx{border-radius:24px;background:linear-gradient(180deg,#323840,#262c32);border:1px solid var(--line);overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.28)}.class-img{height:145px;background-size:cover;background-position:center}.cardx .body{padding:14px}.tag{font-size:.72rem;border-radius:999px;padding:6px 9px;background:rgba(252,78,45,.12);color:var(--primary);border:1px solid rgba(252,78,45,.30)}.muted{color:var(--muted)}.price{font-size:1.25rem;font-weight:900}.bottom-nav{position:fixed;left:0;right:0;bottom:0;background:rgba(7,11,20,.92);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding:8px 6px 10px;backdrop-filter:blur(14px);z-index:50}.nav-item{text-decoration:none;color:#8993a7;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.72rem}.nav-item i{font-size:1.15rem}.nav-item.nav-ai i,.nav-item:hover{color:var(--primary)}.screen-title{font-weight:900;letter-spacing:-.045em}.avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}.progress{height:8px;background:#242d40;border-radius:999px}.progress-bar{background:var(--primary)}.ai-bubble{border-radius:20px;padding:14px 16px;margin:10px 0;max-width:86%}.ai-user{background:#40238f;margin-left:auto}.ai-assistant{background:#323840;border:1px solid var(--line)}.dashboard-menu a{display:flex;justify-content:space-between;align-items:center;color:#fff;text-decoration:none;padding:14px;border-radius:16px;background:#323840;border:1px solid var(--line);margin-bottom:10px}.table-darkish{--bs-table-bg:#323840;--bs-table-color:#fff;--bs-table-border-color:rgba(255,255,255,.08)}@media(min-width:768px){.app-shell{padding-bottom:32px}.class-img{height:190px}.desktop-nav{display:flex!important}.hero{min-height:460px;padding:46px}.mobile-only{display:none!important}}@media(max-width:767px){.desktop-nav{display:none!important}.hero{min-height:470px;display:flex;flex-direction:column;justify-content:flex-end}.app-shell{padding-left:12px;padding-right:12px}.cardx{border-radius:22px}}

/* Premium selectable questionnaire cards */
.option-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 18px;margin-bottom:14px;border-radius:22px;background:linear-gradient(180deg,#323840,#0c1321);border:1px solid rgba(255,255,255,.11);cursor:pointer;transition:.22s ease;position:relative;overflow:hidden}.option-card:hover{transform:translateY(-1px);border-color:rgba(252,78,45,.35)}.option-card input{position:absolute;opacity:0;pointer-events:none}.option-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#202a3f;color:var(--primary);font-size:1.35rem}.option-title{font-weight:800}.option-desc{font-size:.86rem;color:var(--muted);margin-top:2px}.option-check{width:34px;height:34px;border-radius:50%;border:2px solid rgba(255,255,255,.32);display:grid;place-items:center;color:transparent;flex:0 0 auto}.option-card:has(input:checked){background:linear-gradient(90deg,rgba(252,78,45,.26),rgba(252,78,45,.07) 68%,rgba(255,139,31,.08));border-color:var(--primary);box-shadow:0 0 0 1px rgba(252,78,45,.30),0 18px 65px rgba(252,78,45,.10)}.option-card:has(input:checked) .option-icon{background:var(--primary);color:#fff;box-shadow:0 0 28px rgba(252,78,45,.35)}.option-card:has(input:checked) .option-check{background:var(--primary);border-color:var(--primary);color:#fff}
/* Admin / Club backoffice */
.admin-shell{max-width:1440px;padding:0 18px 32px}.admin-layout{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:start}.admin-sidebar{position:sticky;top:18px;min-height:calc(100vh - 36px);padding:18px;border-radius:28px;background:rgba(9,14,26,.9);border:1px solid var(--line);box-shadow:0 18px 60px rgba(0,0,0,.35)}.admin-logo{display:flex;gap:12px;align-items:center;margin-bottom:20px}.admin-nav a{display:flex;align-items:center;gap:12px;padding:13px 14px;margin-bottom:8px;border-radius:16px;color:#dbe2ef;text-decoration:none;border:1px solid transparent}.admin-nav a:hover,.admin-nav a.active{background:#151f33;border-color:rgba(252,78,45,.26);color:#fff}.admin-nav i{color:var(--primary);font-size:1.1rem}.admin-main{min-width:0}.admin-pagebar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 20px}.stat-card{padding:20px;border-radius:24px;background:linear-gradient(180deg,#121a2c,#0d1423);border:1px solid var(--line)}.stat-card .num{font-size:2rem;font-weight:900;color:var(--primary);letter-spacing:-.06em}.admin-card{border-radius:26px;background:rgba(17,24,39,.78);border:1px solid var(--line);box-shadow:0 18px 60px rgba(0,0,0,.28);overflow:hidden}.admin-card.pad{padding:20px}.admin-table{width:100%;border-collapse:separate;border-spacing:0 10px}.admin-table th{color:var(--muted);font-size:.78rem;text-transform:uppercase;font-weight:800;padding:0 12px}.admin-table td{background:#101827;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 12px;vertical-align:middle}.admin-table td:first-child{border-left:1px solid var(--line);border-radius:16px 0 0 16px}.admin-table td:last-child{border-right:1px solid var(--line);border-radius:0 16px 16px 0}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:800}.status-published,.status-new,.status-accepted{background:rgba(252,78,45,.15);color:var(--primary);border:1px solid rgba(252,78,45,.28)}.status-hidden,.status-rejected{background:rgba(255,77,109,.12);color:#ff8aa0;border:1px solid rgba(255,77,109,.25)}.status-draft,.status-contacted{background:rgba(59,130,246,.13);color:#8eb8ff;border:1px solid rgba(59,130,246,.25)}.mini-map{height:420px;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(rgba(6,10,18,.58),rgba(6,10,18,.58)),url('https://tile.openstreetmap.org/6/31/24.png') center/cover}.map-demo{position:relative;background:radial-gradient(circle at 50% 48%,rgba(0,102,255,.17),transparent 12%),linear-gradient(135deg,#0a1720,#0b1020)}.map-pin{position:absolute;width:28px;height:28px;border-radius:50% 50% 50% 0;background:var(--primary);transform:rotate(-45deg);box-shadow:0 0 24px rgba(252,78,45,.45)}.map-pin:after{content:'';position:absolute;inset:8px;border-radius:50%;background:#0b1020}.map-pin span{position:absolute;left:22px;top:-3px;transform:rotate(45deg);white-space:nowrap;background:#0b1020;border:1px solid var(--line);border-radius:10px;padding:4px 8px;font-size:.72rem;color:#fff}.map-pin.blue{background:#0d6efd}.map-pin.blue:after{background:#fff}.side-mobile-btn{display:none}@media(max-width:991px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:relative;min-height:auto}.admin-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-nav a{margin-bottom:0}.admin-pagebar{align-items:flex-start;flex-direction:column}.admin-table{font-size:.86rem}.mini-map{height:340px}}@media(max-width:575px){.admin-nav{grid-template-columns:1fr}.admin-shell{padding-left:12px;padding-right:12px}.admin-table{display:block;overflow:auto;white-space:nowrap}.stat-card .num{font-size:1.55rem}}

/* Landing map v5 */
.landing-topbar{position:relative;z-index:10;margin-bottom:0;padding:10px 0 14px}.landing-hero{position:relative;min-height:440px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:58px max(18px,calc((100vw - 1180px)/2 + 16px));display:flex;align-items:center;overflow:hidden;background:linear-gradient(90deg,rgba(5,9,17,.92) 0%,rgba(5,9,17,.72) 42%,rgba(5,9,17,.18) 100%),url('https://images.unsplash.com/photo-1626224583764-f87db24ac4ea?auto=format&fit=crop&w=1900&q=82') center/cover}.landing-hero:after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(180deg,transparent,#2A2F35)}.landing-hero-content{position:relative;z-index:2;max-width:680px}.landing-hero h1{font-size:clamp(2.65rem,6vw,5.2rem);line-height:.95;font-weight:950;letter-spacing:-.085em}.landing-map-shell{position:relative;margin-top:-34px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:#2A2F35;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 -20px 70px rgba(0,0,0,.25);z-index:5}.landing-searchbar{max-width:1180px;margin:0 auto;transform:translateY(-26px);display:grid;grid-template-columns:1.1fr 1.35fr auto auto;gap:12px;padding:16px;background:rgba(10,16,29,.92);border:1px solid var(--line);border-radius:24px;backdrop-filter:blur(16px);box-shadow:0 18px 60px rgba(0,0,0,.34)}.landing-input{display:flex;align-items:center;gap:11px;background:#262c32;border:1px solid var(--line);border-radius:14px;padding:0 14px;min-height:50px;color:#aab2c3}.landing-input input{width:100%;border:0;outline:0;background:transparent;color:#fff}.landing-input input::placeholder{color:#8993a7}.landing-map{height:640px;width:100%;margin-top:-16px;background:#2A2F35;filter:saturate(.95) contrast(1.04)}.landing-map-tabs{position:absolute;top:78px;left:max(18px,calc((100vw - 1180px)/2 + 16px));z-index:700;display:flex;background:#262c32;border:1px solid var(--line);border-radius:14px;overflow:hidden}.landing-map-tabs a{padding:13px 18px;color:#cbd5e1;text-decoration:none;font-weight:800}.landing-map-tabs a.active{color:var(--primary);background:#323840;border-bottom:2px solid var(--primary)}.landing-map-legend{position:absolute;right:max(18px,calc((100vw - 1180px)/2 + 16px));bottom:22px;z-index:700;display:flex;gap:18px;align-items:center;background:rgba(7,11,20,.92);border:1px solid var(--line);border-radius:14px;padding:12px 14px;color:#fff;font-size:.82rem}.text-lime{color:var(--primary)!important}.filter-pills{display:flex;gap:10px;overflow:auto;padding-bottom:4px}.filter-pills .chip{text-decoration:none;white-space:nowrap}.landing-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.landing-benefits div{display:grid;grid-template-columns:42px 1fr;gap:6px 12px;align-items:center}.landing-benefits i{grid-row:span 2;color:var(--primary);font-size:2rem}.landing-benefits strong{font-weight:900}.landing-benefits span{color:var(--muted);font-size:.86rem}
@media(max-width:991px){.landing-searchbar{grid-template-columns:1fr 1fr;margin-left:14px;margin-right:14px}.landing-map{height:560px}.landing-benefits{grid-template-columns:1fr 1fr}.landing-hero{min-height:420px}}
@media(max-width:767px){.landing-hero{min-height:520px;align-items:flex-end;padding-top:80px}.landing-searchbar{grid-template-columns:1fr;transform:translateY(-18px)}.landing-map{height:520px}.landing-map-tabs{top:204px}.landing-map-legend{left:14px;right:14px;bottom:14px;justify-content:center;flex-wrap:wrap}.landing-benefits{grid-template-columns:1fr}.landing-hero h1{font-size:3.1rem}}
/* v14 reviews and student location */
.rating-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:6px}.rating-input input{position:absolute;opacity:0}.rating-input label{font-size:2rem;color:#4b5563;cursor:pointer;line-height:1}.rating-input label:hover,.rating-input label:hover~label,.rating-input input:checked~label{color:var(--primary)}.review-list{display:grid;gap:10px}.review-item{background:#262c32;border:1px solid var(--line);border-radius:18px;padding:12px 14px}.location-mini .btn{white-space:nowrap}

/* V15 review selector */
.review-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-type-card{background:#262c32;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:16px;cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:.18s ease}.review-type-card input{display:none}.review-type-card i{font-size:1.5rem;color:var(--primary)}.review-type-card span{font-weight:900}.review-type-card small{color:var(--muted)}.review-type-card.active{border-color:rgba(252,78,45,.75);background:linear-gradient(135deg,rgba(252,78,45,.16),rgba(255,139,31,.06));box-shadow:0 0 0 4px rgba(252,78,45,.08)}.star-picker{display:flex;gap:6px;align-items:center}.star-btn{appearance:none;border:0;background:transparent;color:#4b5563;font-size:2.25rem;line-height:1;cursor:pointer;padding:0 2px;transition:.15s ease;text-shadow:none}.star-btn.active,.star-btn:hover{color:#FC4E2D;text-shadow:0 0 18px rgba(252,78,45,.32)}.star-picker:hover .star-btn{color:#FC4E2D}.star-picker .star-btn:hover~.star-btn{color:#4b5563;text-shadow:none}@media(max-width:575px){.review-type-grid{grid-template-columns:1fr}.star-btn{font-size:2rem}}

/* =========================================================
   V17 landing redesign: gris topo + hero carousel + cookies
========================================================= */
:root{
  --bg:#272e32;
  --panel:#30383e;
  --panel2:#252c31;
  --line:rgba(255,255,255,.13);
}
body{
  background:radial-gradient(circle at top right,rgba(252,78,45,.06),transparent 30%),linear-gradient(180deg,#2b3236,#22282c 58%,#1d2327);
}
.topbar.landing-topbar{border-bottom:1px solid rgba(255,255,255,.08);padding-top:18px;padding-bottom:18px}
.landing-hero-carousel{
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  min-height:520px;
  padding:0 max(18px,calc((100vw - 1180px)/2 + 16px));
  display:flex;
  align-items:center;
  background:#20272b;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.10);
  overflow:hidden;
}
.landing-hero-carousel:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(22,27,30,.92) 0%,rgba(22,27,30,.72) 36%,rgba(22,27,30,.18) 72%,rgba(22,27,30,.45) 100%);
  z-index:1;
}
.landing-hero-carousel:after{background:linear-gradient(180deg,transparent,#272e32);z-index:1;height:24%}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.015);transition:opacity .8s ease,transform 7s ease;z-index:0}
.hero-slide.active{opacity:1;transform:scale(1)}
.landing-hero-content{z-index:2;max-width:540px}.landing-hero-content .chip{background:rgba(252,78,45,.08);color:var(--primary);border-color:rgba(252,78,45,.55);font-weight:900;letter-spacing:.03em;text-transform:uppercase}.landing-hero h1{font-size:clamp(3rem,5.8vw,5.4rem);text-shadow:0 7px 34px rgba(0,0,0,.55)}
.landing-hero p{color:#d9e0e7!important;text-shadow:0 4px 18px rgba(0,0,0,.55)}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(37,44,49,.72);color:#fff;display:grid;place-items:center;font-size:1.3rem;backdrop-filter:blur(10px)}.hero-arrow:hover{background:rgba(252,78,45,.9);color:#111}.hero-prev{left:28px}.hero-next{right:28px}.hero-dots{display:flex;gap:10px}.hero-dots button{width:10px;height:10px;border-radius:999px;border:0;background:rgba(255,255,255,.55);padding:0}.hero-dots button.active{background:var(--primary);width:28px}
.landing-map-shell{
  max-width:1180px;
  margin:22px auto 30px;
  background:rgba(48,56,62,.78);
  border:1px solid rgba(255,255,255,.12);
  border-radius:26px;
  box-shadow:0 24px 70px rgba(0,0,0,.26);
  overflow:hidden;
}
.landing-searchbar{
  max-width:none;
  margin:0;
  transform:none;
  border-radius:0;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.1);
  background:rgba(37,44,49,.92);
  box-shadow:none;
}
.landing-input{background:#222a2f;border-color:rgba(255,255,255,.14)}
.landing-map{
  width:100%;
  height:620px;
  margin:0;
  border-radius:0;
  background:#20272b;
}
.landing-map-tabs{position:absolute;top:92px;right:20px;left:auto;background:#222a2f}.landing-map-legend{right:20px;bottom:18px;background:rgba(34,42,47,.94)}
.cardx,.admin-card,.glass{background:rgba(48,56,62,.74);border-color:rgba(255,255,255,.13)}.btn-dark-soft{background:#303944;border-color:rgba(255,255,255,.16)}
.landing-benefits{background:rgba(48,56,62,.72)!important;max-width:1180px;margin-left:auto;margin-right:auto}.site-footer{max-width:1180px;margin:28px auto 96px;padding:18px 0;border-top:1px solid rgba(255,255,255,.12);display:flex;gap:18px;flex-wrap:wrap;color:#cbd5e1;font-size:.9rem}.site-footer a{color:#cbd5e1;text-decoration:none}.site-footer a:hover{color:var(--primary)}
.cookie-banner{position:fixed;left:24px;bottom:24px;z-index:9999;width:min(520px,calc(100vw - 32px));background:rgba(250,250,250,.96);color:#1f2937;border:1px solid rgba(0,0,0,.08);border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.28);padding:20px;display:grid;grid-template-columns:44px 1fr;gap:14px;backdrop-filter:blur(14px)}.cookie-banner[hidden],.cookie-settings[hidden]{display:none!important}.cookie-icon{width:44px;height:44px;border-radius:50%;background:#f3f4f6;display:grid;place-items:center;font-size:1.45rem;color:#323840}.cookie-content h3{font-size:1.1rem;font-weight:900;margin:0 0 8px}.cookie-content p{font-size:.9rem;line-height:1.45;margin-bottom:8px}.cookie-actions{grid-column:1/-1;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.cookie-actions .btn-dark-soft{background:#fff;color:#111;border:1px solid #cfd4da}.cookie-actions .btn-neon{border-radius:10px}.cookie-settings{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;display:grid;place-items:center;padding:18px}.cookie-settings-card{width:min(460px,100%);border-radius:22px;padding:22px}.cookie-toggle{display:flex;align-items:center;gap:10px;margin:12px 0;color:#fff}.legal-page{max-width:900px;margin-left:auto;margin-right:auto}.legal-copy p{font-size:1.02rem;color:#d6dee8;line-height:1.75}
@media(max-width:991px){.landing-hero-carousel{min-height:560px}.landing-map{height:560px}.landing-searchbar{grid-template-columns:1fr 1fr}.landing-map-tabs{top:124px}.hero-prev{left:14px}.hero-next{right:14px}}
@media(max-width:767px){.landing-hero-carousel{min-height:560px;align-items:flex-end;padding-bottom:76px}.landing-searchbar{grid-template-columns:1fr}.landing-map{height:520px}.landing-map-tabs{top:236px;left:18px;right:auto}.cookie-banner{left:16px;bottom:84px;grid-template-columns:1fr}.cookie-icon{display:none}.site-footer{padding-left:16px;padding-right:16px}.hero-arrow{display:none}}

/* ClasesYa branding */
.brand-logo-img{height:42px;width:auto;display:block;object-fit:contain}
.brand-icon-img{width:46px;height:46px;object-fit:contain;display:block}
.brand-logo-text{font-weight:950;letter-spacing:-.05em;font-size:1.35rem}
.brand-logo-text .ya{color:var(--primary)}
.btn-neon:hover{background:var(--primary-hover);color:#fff}
.accent,.text-lime{color:var(--primary)!important}
.tag{background:rgba(252,78,45,.12)!important;color:var(--primary)!important;border-color:rgba(252,78,45,.30)!important}
.hero-dots button.active{background:var(--primary)!important}
.cookie-link{color:var(--primary)}
@media(max-width:767px){.brand-logo-img{height:34px}.brand-icon-img{width:38px;height:38px}}
