/* VEGA Members Club · páginas interiores (Casa Lista, Apply, legales, gracias, Members Portal, Agenda, errores).
 * La home tiene su propia hoja (home.css) y la cabecera y el menú, comunes, van en header.css.
 * Base: CSS del prototipo aprobado (VEGA-WEB-PROTOTIPO.html v11). El 21-10-2026 se quitaron las reglas de las
 * páginas que pasaron a ser secciones de la home (The Club, Memberships, Manifesto, Contact) y de la cabecera antigua.
 */
:root{
  --marino:#161E36; --ocean:#133D64; --panel:#1B2340; --panel2:#232C4C;
  --champ:#EEBA96; --crema:#EBDBCA; --cobre:#E79673; --acero:#94A9BF;
  --linea:#2E3856; --apagado:#8D9BB3; --tinta:#F7F4F3;
  --sans:Optima,"Optima Nova",Candara,Segoe,"Segoe UI",Jost,sans-serif;
  --serif:"Cormorant Garamond",Palatino,"Palatino Linotype","Book Antiqua",Georgia,serif;
  --ease-in:cubic-bezier(.05,.7,.1,1); --ease-out:cubic-bezier(.3,0,.8,.15);
  --wrap:1200px; --gut:clamp(20px,4vw,56px);
}
html{color-scheme:dark;scroll-behavior:smooth;background:var(--marino)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{animation:none!important;transition:none!important}}
*{box-sizing:border-box}
body{margin:0;background:var(--marino);color:var(--crema);font-family:var(--sans);font-size:16px;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:2px solid var(--crema);outline-offset:3px;border-radius:3px}

/* ---------- tipografía ---------- */
.eyebrow{font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--champ);margin:0 0 18px}
h1,h2,h3{font-weight:400;margin:0;text-wrap:balance}
h1{font-size:clamp(38px,5.2vw,64px);line-height:1.04;letter-spacing:-.01em;color:var(--champ)}
h2{font-size:clamp(30px,3.6vw,44px);line-height:1.1;color:var(--champ)}
h3{font-size:20px;line-height:1.3;color:var(--champ)}
.lead{font-size:clamp(17px,1.4vw,19px);font-weight:300;color:var(--crema);max-width:58ch;margin:0}
p{margin:0}
.note{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--acero)}
.claim{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--acero);letter-spacing:.01em}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;cursor:pointer;font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:2.2px;text-transform:uppercase;border:1px solid transparent;transition:background .2s var(--ease-in),color .2s,border-color .2s,transform .2s var(--ease-in);white-space:nowrap}
.btn svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.8;fill:none}
.btn.primary{background:var(--champ);color:var(--marino);border-color:var(--champ);padding:16px 30px}
.btn.primary:hover{background:#F2CBAE;border-color:#F2CBAE;transform:translateY(-1px)}
.btn.outline{background:transparent;color:var(--crema);border-color:var(--crema);padding:14px 26px;font-weight:500}
.btn.outline:hover{background:rgba(235,219,202,.08);color:var(--champ);border-color:var(--champ)}

.btn.ghost{padding:12px 0;color:var(--crema);letter-spacing:2px;font-weight:500}
.btn.ghost:hover{color:var(--champ)}
.btn.sm{padding:10px 18px;font-size:11px;letter-spacing:1.8px}
.link{color:var(--champ);border-bottom:1px solid rgba(238,186,150,.45);padding-bottom:1px;transition:border-color .2s}
.link:hover{border-color:var(--champ)}

/* ---------- header ---------- */

.brand img{height:40px;width:auto}

/* ---------- secciones ---------- */
section{padding-block:clamp(72px,9vw,128px)}

.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(32px,6vw,96px);align-items:center}

@media (max-width:900px){.grid2{grid-template-columns:1fr}}

/* imagen con grano y proporción */
.ph{position:relative;overflow:hidden;border-radius:14px;background:var(--panel)}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-in)}
.ph::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.14;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ph:hover img{transform:scale(1.03)}
.ph .cap{position:absolute;left:18px;bottom:16px;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--tinta);background:rgba(22,30,54,.72);padding:7px 12px;border-radius:999px;backdrop-filter:blur(6px)}
.r45{aspect-ratio:4/5}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding-block:clamp(48px,7vw,96px) 0}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,80px);align-items:center}
.hero h1{margin:0 0 26px}
.hero .lead{margin-bottom:40px}

.hero .sub{font-size:12.5px;color:var(--apagado);letter-spacing:.6px;margin-top:14px}

@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}}

/* contact */

.form{background:var(--panel);border:1px solid rgba(238,186,150,.12);border-radius:26px;padding:clamp(24px,4vw,44px)}
.fgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px 22px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.s1{grid-column:span 1}.s2{grid-column:span 2}.s5{grid-column:span 5}.s3{grid-column:span 3}.s4{grid-column:span 4}.s6{grid-column:span 6}
.field label{font-size:11.5px;letter-spacing:2px;text-transform:uppercase;color:var(--crema);font-weight:500}
.field label i{font-style:normal;color:var(--apagado);letter-spacing:.5px;text-transform:none;font-size:11.5px;margin-left:6px}
.in{background:transparent;border:0;border-bottom:1px solid var(--linea);color:var(--tinta);font:inherit;font-size:16px;padding:10px 0;width:100%;border-radius:0;transition:border-color .2s;appearance:none;-webkit-appearance:none}
.in:focus{outline:0;border-bottom-color:var(--champ)}
.in::placeholder{color:var(--apagado);opacity:.8}
textarea.in{min-height:96px;resize:vertical}
select.in{cursor:pointer;padding-right:20px}
.ctrl{position:relative}
.ctrl.sel::after{content:"";position:absolute;right:6px;top:50%;width:7px;height:7px;border-right:1px solid var(--champ);border-bottom:1px solid var(--champ);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.check{display:flex;align-items:flex-start;gap:12px;font-size:14px;font-weight:300;cursor:pointer;color:var(--crema)}
.check input{position:absolute;opacity:0;width:0;height:0}
.check .box{flex:none;width:17px;height:17px;border:1px solid var(--champ);border-radius:4px;margin-top:3px;display:grid;place-items:center}
.check .box svg{width:10px;height:10px;stroke:var(--marino);stroke-width:2.6;fill:none;opacity:0}
.check input:checked+.box{background:var(--champ)}.check input:checked+.box svg{opacity:1}
.check input:focus-visible+.box{outline:2px solid var(--crema);outline-offset:2px}

@media (max-width:900px){.s1,.s2,.s3,.s4{grid-column:span 6}}
@media (min-width:601px) and (max-width:900px){.s3{grid-column:span 3}}

/* closing CTA con el degradado de marca */
.cta{position:relative;overflow:hidden;text-align:center;padding-block:clamp(96px,12vw,160px)}
.cta::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--marino) 0%,#1F3A5E 42%,#A67F7E 76%,var(--cobre) 100%)}
.cta .wrap{position:relative}
.cta h2{color:var(--tinta);font-size:clamp(34px,4.6vw,58px)}
.cta .claim{font-size:clamp(22px,2.6vw,30px);color:var(--tinta);opacity:.9;margin:18px 0 40px}
.cta .btn.primary{background:var(--marino);color:var(--champ);border-color:var(--marino)}
.cta .btn.primary:hover{background:#0F1526;border-color:#0F1526}
.cta .btn.outline{color:var(--marino);border-color:var(--marino)}
.cta .btn.outline:hover{background:rgba(22,30,54,.1);color:var(--marino);border-color:var(--marino)}

/* footer */
footer{background:#10162A;border-top:1px solid var(--linea);padding:64px 0 32px}
.f-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;margin-bottom:48px}
.f-top .mono{width:64px;justify-self:center;opacity:.9}
.f-links{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:12px;letter-spacing:1.8px;text-transform:uppercase;color:var(--acero)}
.f-links a:hover{color:var(--champ)}
.f-links.right{justify-content:flex-end}
.f-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px 32px;align-items:center;border-top:1px solid var(--linea);padding-top:28px;font-size:12.5px;color:var(--apagado)}
.partners{display:flex;flex-wrap:wrap;gap:8px 30px;align-items:center}
.partners a{font-family:var(--serif);font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--acero);opacity:.85}
.partners a:hover{color:var(--champ);opacity:1}
@media (max-width:900px){.f-top{grid-template-columns:1fr;text-align:center}.f-links{justify-content:center}.f-links.right{justify-content:center}.f-bot{justify-content:center;text-align:center}.partners{justify-content:center}}

/* ---------- vistas ---------- */
.view{display:none}.view.on{display:block}
.pagehead{padding-block:clamp(56px,7vw,96px) clamp(40px,5vw,64px)}
.pagehead .lead{margin-top:22px}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(18px);transition:opacity .55s var(--ease-in),transform .55s var(--ease-in)}
.rv.in{opacity:1;transform:none}

/* private events */

details.rates{margin-top:40px;border:1px solid var(--linea);border-radius:18px;padding:0 26px}
details.rates summary{cursor:pointer;padding:20px 0;font-size:12px;letter-spacing:2.4px;text-transform:uppercase;color:var(--champ);font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center}
details.rates summary::-webkit-details-marker{display:none}
details.rates summary::after{content:"+";font-size:20px;font-weight:300}
details[open].rates summary::after{content:"–"}

/* agenda pública */
.agenda-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.chip{background:none;border:1px solid var(--linea);color:var(--crema);border-radius:999px;padding:9px 16px;font:500 11.5px/1 var(--sans);letter-spacing:1.8px;text-transform:uppercase;cursor:pointer;transition:all .2s}
.chip:hover{border-color:var(--champ);color:var(--champ)}
.chip[aria-pressed=true]{background:var(--champ);border-color:var(--champ);color:var(--marino)}
.events{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:40px}
.ev{background:var(--panel);border:1px solid rgba(238,186,150,.12);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s,transform .25s var(--ease-in)}
.ev:hover{border-color:rgba(238,186,150,.4);transform:translateY(-2px)}
.ev .ph{border-radius:0;aspect-ratio:1200/544}
.ev .date{position:absolute;top:16px;left:16px;background:rgba(22,30,54,.85);backdrop-filter:blur(6px);border-radius:12px;padding:8px 12px;text-align:center;line-height:1.1}
.ev .date b{display:block;font-size:20px;color:var(--tinta);font-weight:300}
.ev .date small{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--champ);font-weight:600}
.ev .body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.ev .fam{font-size:10.5px;letter-spacing:2.4px;text-transform:uppercase;color:var(--champ);font-weight:600}
.ev h3{font-size:22px;line-height:1.2}
.ev .who{font-family:var(--serif);font-style:italic;color:var(--acero);font-size:16px}
.ev p{font-size:14px;font-weight:300;color:var(--crema)}
.ev .meta{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--apagado);margin-top:4px}
.ev .prices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;border-top:1px solid var(--linea);padding-top:14px}
.ev .prices div{font-size:12px;color:var(--apagado);letter-spacing:.3px}
.ev .prices b{display:block;font-size:16px;color:var(--tinta);font-weight:400;margin-top:2px}
.ev .prices .nm b{color:var(--champ)}
.ev .foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:16px}
.ev .foot .tag{font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;color:var(--acero)}
.ev[data-hide]{display:none}
@media (max-width:900px){.events{grid-template-columns:1fr}}
.week{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:40px}
.week div{border-top:1px solid var(--linea);padding-top:14px}
.week b{display:block;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--champ);font-weight:600;margin-bottom:6px}
.week span{font-size:14px;color:var(--crema);font-weight:300}
@media (max-width:900px){.week{grid-template-columns:1fr 1fr}}

/* portal */
.gate{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.login{background:var(--panel);border:1px solid rgba(238,186,150,.15);border-radius:26px;padding:clamp(24px,4vw,44px)}
.login h2{font-size:26px;margin-bottom:6px}
.login .hint{font-size:14px;color:var(--apagado);margin-bottom:26px;font-weight:300}
.login .fgrid{grid-template-columns:1fr}
.login .row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;flex-wrap:wrap}
.login .demo{margin-top:24px;padding-top:18px;border-top:1px dashed var(--linea);font-size:12.5px;color:var(--apagado)}
.login .demo button{background:none;border:0;color:var(--champ);font:inherit;cursor:pointer;text-decoration:underline;padding:0}
.cards2{display:grid;gap:18px;margin-top:8px}
.card2{border:1px solid var(--linea);border-radius:18px;padding:22px 24px}
.card2 .k{font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--champ);font-weight:600;margin-bottom:8px}
.card2 p{font-size:14.5px;font-weight:300;margin-bottom:14px}
.stores{display:flex;gap:10px;flex-wrap:wrap}
.store{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--crema);border-radius:12px;padding:9px 14px;font-size:12px;letter-spacing:.6px;color:var(--crema)}
.store b{display:block;font-size:13px;font-weight:500;letter-spacing:0;color:var(--tinta)}
.store small{font-size:9.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--apagado)}
.store svg{width:20px;height:20px;fill:currentColor}
@media (max-width:900px){.gate{grid-template-columns:1fr}}

.intranet{display:none;grid-template-columns:230px minmax(0,1fr);gap:40px;align-items:start}
.intranet.on{display:grid}
.pside{position:sticky;top:98px;border:1px solid var(--linea);border-radius:20px;padding:22px 18px}
.pside .me{display:flex;gap:12px;align-items:center;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--linea)}
.pside .av{width:42px;height:42px;border-radius:50%;background:var(--acero);color:var(--marino);display:grid;place-items:center;font-size:14px;font-weight:600}
.pside .me b{display:block;font-size:14px;color:var(--tinta);font-weight:400}
.pside .me small{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--champ)}
.pside nav{display:flex;flex-direction:column;gap:2px}
.pside nav a{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--crema);padding:11px 12px;border-radius:10px;font-weight:500}
.pside nav a:hover{background:rgba(238,186,150,.08);color:var(--champ)}
.pside nav a[aria-current=page]{background:var(--champ);color:var(--marino)}
.pside .out{margin-top:16px;font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--apagado);background:none;border:0;cursor:pointer;padding:8px 12px}
.pmain>section{padding:0 0 56px}
.pmain .ptop{position:relative;border-radius:20px;overflow:hidden;min-height:220px;display:flex;align-items:flex-end;padding:28px 30px}
.pmain .ptop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pmain .ptop::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,30,54,.1),rgba(22,30,54,.9))}
.pmain .ptop div{position:relative;z-index:1}
.pmain .ptop .w{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;color:var(--champ);font-weight:600}
.pmain .ptop h2{font-size:30px;color:var(--tinta)}
.pmain .ptop p{color:var(--crema);font-weight:300;margin-top:4px}
.phead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:34px 0 16px}
.phead h3{font-size:13px;letter-spacing:2.4px;text-transform:uppercase}
.phead a{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--acero)}
.hscroll{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;padding-bottom:6px}
.hscroll::-webkit-scrollbar{display:none}
.res{flex:0 0 250px;background:var(--panel);border:1px solid rgba(238,186,150,.12);border-radius:16px;padding:16px 18px}
.res .k{font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--champ);font-weight:600}
.res b{display:block;font-size:16px;color:var(--tinta);font-weight:400;margin:6px 0 2px}
.res span{font-size:13px;color:var(--apagado)}
.res .st{display:inline-block;margin-top:10px;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;padding:5px 9px;border-radius:999px;border:1px solid var(--linea);color:var(--acero)}
.res .st.ok{border-color:rgba(140,197,162,.5);color:#8CC5A2}
.feed{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fc{background:var(--panel);border:1px solid rgba(238,186,150,.12);border-radius:18px;overflow:hidden}
.fc .ph{border-radius:0;aspect-ratio:16/9}
.fc .body{padding:18px 20px 20px}
.fc .fam{font-size:10.5px;letter-spacing:2.2px;text-transform:uppercase;color:var(--champ);font-weight:600}
.fc h4{font-size:18px;margin:6px 0 4px;font-weight:400;color:var(--tinta)}
.fc p{font-size:13.5px;font-weight:300;color:var(--crema)}
.fc .meta{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--apagado);margin-top:8px}
.fc .foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px}
.fc.news{grid-column:span 2;display:grid;grid-template-columns:1fr 1.4fr}
.fc.news .ph{aspect-ratio:auto;min-height:180px}
.fc.community{border-style:dashed;align-self:start}
@media (max-width:900px){.intranet.on{grid-template-columns:1fr}.pside{position:static}.feed{grid-template-columns:1fr}.fc.news{grid-column:auto;grid-template-columns:1fr}}
.bens{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ben2{border:1px solid var(--linea);border-radius:14px;padding:16px 18px}
.ben2 .k{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--acero)}
.ben2 b{display:block;font-size:15px;color:var(--tinta);font-weight:400;margin-top:6px}
.ben2 span{font-size:12.5px;color:var(--apagado)}
@media (max-width:700px){.bens{grid-template-columns:1fr}}
.contacts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.contacts a{border:1px solid var(--linea);border-radius:14px;padding:18px;display:block}
.contacts a:hover{border-color:var(--champ)}
.contacts .k{font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--champ);font-weight:600}
.contacts b{display:block;font-size:15px;color:var(--tinta);font-weight:400;margin-top:6px}
.contacts span{font-size:12.5px;color:var(--apagado)}
@media (max-width:700px){.contacts{grid-template-columns:1fr}}
.appbanner{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;border:1px solid rgba(238,186,150,.3);border-radius:18px;padding:22px 26px;background:linear-gradient(90deg,var(--panel),#232C4C)}
.appbanner b{display:block;font-size:17px;color:var(--champ);font-weight:400}
.appbanner p{font-size:13.5px;color:var(--crema);font-weight:300;margin-top:4px}
@media (max-width:700px){.appbanner{grid-template-columns:1fr}}

/* casa lista landing */
.casa-hero{position:relative;min-height:420px;display:grid;align-items:end;overflow:hidden;border-radius:0 0 28px 28px}
.casa-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.casa-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,30,54,.35) 0%,rgba(22,30,54,.55) 45%,rgba(22,30,54,.97) 100%)}
.casa-hero h1,.casa-hero .lead{text-shadow:0 2px 18px rgba(0,0,0,.45)}
.casa-hero .in{position:relative;padding:48px var(--gut)}
.booking{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:18px;align-items:end;background:var(--panel);border:1px solid rgba(238,186,150,.15);border-radius:20px;padding:24px 26px;margin-top:-40px;position:relative}
@media (max-width:900px){.booking{grid-template-columns:1fr 1fr}.booking .btn{grid-column:span 2}}
.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.rules div{border-top:1px solid var(--linea);padding-top:16px;font-size:14px;font-weight:300;color:var(--crema)}
.rules b{display:block;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--champ);font-weight:600;margin-bottom:8px}
@media (max-width:700px){.rules{grid-template-columns:1fr}}

/* ---------- v4 ---------- */
.btn.coral{background:var(--cobre);color:var(--marino);border-color:var(--cobre)}
.btn.coral:hover{background:#F0A98A;border-color:#F0A98A;transform:translateY(-1px)}

/* apply */
.apply-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:start}
.apply-head ul{margin:12px 0 0;padding-left:18px;font-size:15px;font-weight:300;display:grid;gap:8px}
.apply-head li::marker{color:var(--cobre)}
.rates{border:1px solid rgba(238,186,150,.25);border-radius:18px;padding:22px 24px;background:var(--panel)}
.rates .k{font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--champ);font-weight:600;margin-bottom:8px}
.rates .big{font-size:26px;color:var(--tinta);font-weight:300;line-height:1.1}
.rates .big small{font-size:14px;color:var(--crema)}
.rates p{font-size:14px;color:var(--crema);font-weight:300;margin-top:8px}
.radio{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:14.5px;font-weight:300;padding:12px 0;border-top:1px solid var(--linea)}
.radio:first-of-type{border-top:0}
.radio input{position:absolute;opacity:0;width:0;height:0}
.radio .dot{flex:none;width:17px;height:17px;border:1px solid var(--champ);border-radius:50%;margin-top:3px;display:grid;place-items:center}
.radio .dot::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--champ);opacity:0}
.radio input:checked+.dot::after{opacity:1}
.radio input:focus-visible+.dot{outline:2px solid var(--crema);outline-offset:2px}
.radio b{font-weight:500;color:var(--tinta)}
.radio small{display:block;color:var(--apagado);font-size:13px;margin-top:2px}
.fsect{margin-top:36px;padding-top:26px;border-top:1px solid var(--linea)}
.fsect .eyebrow{margin-bottom:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{cursor:pointer}
.chips input{position:absolute;opacity:0;width:0;height:0}
.chips span{display:inline-block;border:1px solid var(--linea);border-radius:999px;padding:8px 13px;font-size:12px;letter-spacing:.6px;color:var(--crema);transition:all .15s}
.chips input:checked+span{background:var(--champ);color:var(--marino);border-color:var(--champ)}
.chips input:focus-visible+span{outline:2px solid var(--crema);outline-offset:2px}
.file{display:flex;align-items:center;gap:12px;border:1px dashed var(--linea);border-radius:12px;padding:12px 14px;font-size:13.5px;color:var(--apagado)}
.file b{font-weight:500;color:var(--champ)}
.file input{position:absolute;opacity:0;width:0;height:0}
.assist{display:none;grid-column:span 6}
.assist.on{display:block}
.assist .fgrid{margin-top:16px}
.back{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;letter-spacing:2px;text-transform:uppercase;color:var(--acero);margin-bottom:24px}
.back:hover{color:var(--champ)}
.apply-type{display:none}.apply-type.on{display:block}
.rgroup{display:flex;flex-wrap:wrap;gap:8px 18px}
.rgroup .radio{border:0;padding:6px 0}

/* the club: ventanas del dossier */

.cta.small h2{font-size:clamp(26px,3.2vw,40px)}

/* ---------- v6 ---------- */

.f-top{grid-template-columns:auto 1fr;}
.f-top .mono{justify-self:start}
.f-links.right{justify-content:flex-end}
@media (max-width:900px){.f-top{grid-template-columns:1fr}.f-top .mono{justify-self:center}}

.field label i{display:none}
.field label.req::after,.rates .k.req::after,.chips-title.req::after{content:" *";color:var(--cobre)}
.other-ind{display:none}.other-ind.on{display:flex}
.instal{margin-top:40px;border:1px solid rgba(238,186,150,.25);border-radius:18px;padding:22px 26px;background:var(--panel)}
.instal .k{font-size:12px;letter-spacing:2.2px;text-transform:uppercase;color:var(--champ);font-weight:600;margin-bottom:6px}
.instal .radio{padding:12px 0}
.instal .radio em{font-style:normal;font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;color:var(--acero);margin-left:10px}
.rates .std{font-size:14px;color:var(--acero);margin-top:6px}
.rates .std s{text-decoration-color:var(--cobre)}

/* ---------- v8 ---------- */
.btn{text-transform:none;letter-spacing:.8px;font-weight:400;font-size:14px}
.btn.sm{font-size:13px;letter-spacing:.6px}
.btn.primary{font-weight:400}

.cta h2,.cta.small h2{font-size:clamp(26px,3.2vw,40px)}
.cta .claim{font-size:clamp(17px,1.8vw,21px);max-width:62ch;margin-left:auto;margin-right:auto}
.cta{padding-block:clamp(72px,9vw,120px)}

/* ---------- v9 ---------- */

.rates .std s{text-decoration-thickness:1px;font-size:15px}

/* ---------- v10: ventanas con hover + reserva de mesa en el portal ---------- */

.resv{background:var(--panel);border:1px solid rgba(238,186,150,.2);border-radius:20px;padding:26px 28px;margin-top:8px}
.resv .fgrid{gap:18px 18px}
.resv .foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}
.resv .foot .note{font-size:13.5px}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;width:0;height:0}
.seg span{display:inline-block;border:1px solid var(--linea);border-radius:999px;padding:9px 14px;font-size:12px;letter-spacing:1.2px;color:var(--crema);transition:all .15s}
.seg input:checked+span{background:var(--champ);color:var(--marino);border-color:var(--champ)}
.seg input:focus-visible+span{outline:2px solid var(--crema);outline-offset:2px}
.res.new{border-color:rgba(231,150,115,.6)}

/* 1. Escalonado con decaimiento en rejillas (60 ms × i^0.85, tope 600 ms) */
.rv.stagger>*{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease-in),transform .5s var(--ease-in);transition-delay:var(--d,0ms)}
.rv.stagger.in>*{opacity:1;transform:none}
.rv.stagger{opacity:1;transform:none}
/* 2. Anticipación al pulsar */
.btn:active{transform:scale(.97)!important;transition-duration:.1s}
.btn{will-change:transform}
/* 4. Foco de luz que sigue al cursor en tarjetas (borde) */
.ev,.card2,.login,.resv{position:relative}
.ev::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(238,186,150,.55),transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s;pointer-events:none;z-index:1}
.ev:hover::before{opacity:1}
/* 8. Línea de progreso de lectura bajo la cabecera */
.progress{position:fixed;left:0;top:84px;height:2px;width:100%;transform-origin:left;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--champ),var(--cobre));z-index:49;pointer-events:none;opacity:0;transition:opacity .3s}
body.long .progress{opacity:1}

/* 9. Filtros de agenda: entrada suave al cambiar */
.ev{animation:evin .45s var(--ease-in) both}
@keyframes evin{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
/* 10. Formulario largo: guía de secciones pegajosa + validación en línea */
.fnav{position:sticky;top:78px;z-index:20;display:flex;gap:6px;flex-wrap:wrap;background:rgba(22,30,54,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:12px 0;margin:0 0 8px;border-bottom:1px solid var(--linea)}
.fnav a{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--apagado);padding:7px 12px;border-radius:999px;border:1px solid transparent;transition:all .2s}
.fnav a:hover{color:var(--crema)}
.fnav a.on{color:var(--champ);border-color:rgba(238,186,150,.4)}
.fnav .pct{margin-left:auto;font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--acero);align-self:center}
.field .in:user-invalid{border-bottom-color:var(--error)}
.field .in:user-valid{border-bottom-color:rgba(140,197,162,.6)}
.field .in:focus{box-shadow:0 1px 0 0 var(--champ)}
.field label{transition:color .2s}
.field:focus-within label{color:var(--champ)}
/* 11. Transición entre páginas (View Transitions) */
::view-transition-old(root){animation:vt-out .22s cubic-bezier(.3,0,.8,.15) both}
::view-transition-new(root){animation:vt-in .34s cubic-bezier(.05,.7,.1,1) both}
@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(10px)}}

::view-transition-group(hdr){animation:none}
@media (prefers-reduced-motion:reduce){
  .rv.stagger>*{transition-duration:.15s;transform:none}
  .ev{animation:none}
  
  ::view-transition-old(root),::view-transition-new(root){animation:none}
  
}

/* Transición entre páginas: las del prototipo (View Transitions), ahora entre documentos */
@view-transition{navigation:auto}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}

/* Antispam: campo trampa fuera de la vista */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* Marca de entorno (solo Sandbox) */
.env-badge{position:fixed;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:100;font:600 10px/1 system-ui,sans-serif;letter-spacing:.14em;color:#fff;background:#B3412A;border-radius:999px;padding:6px 10px;opacity:.85;pointer-events:none}

/* Errores de validación (los de vega-welcome, versión navy) */
.field .err,.fsect > .err,.rates .err{font-size:12.5px;letter-spacing:.03em;color:var(--cobre);text-transform:none}
.fsect > .err,.rates .err{display:flex;margin-top:10px}
.in[aria-invalid="true"]{border-bottom-color:var(--cobre)}
.alert{margin-top:26px;border:1px solid rgba(231,150,115,.55);background:rgba(231,150,115,.08);border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.6;color:var(--crema)}
.alert b{color:var(--tinta)}
.debug-msg{margin-top:10px;white-space:pre-wrap;font:12px/1.5 ui-monospace,Menlo,Consolas,monospace;color:inherit;opacity:.8}
.field.has-err,.fsect.has-err,.rates.has-err{position:relative;border-radius:8px}
.field.has-err{background:rgba(231,150,115,.09);box-shadow:inset 3px 0 0 var(--cobre);padding:10px 12px;margin:-10px -12px}
.fsect.has-err{background:rgba(231,150,115,.07);box-shadow:inset 3px 0 0 var(--cobre);padding:22px 16px 16px;margin-left:-16px;margin-right:-16px}
.field.has-err > label:not(.check){color:var(--cobre)}
.field.has-err .in{border-bottom:2px solid var(--cobre)}
.has-err .file{border:1px solid var(--cobre)}
.has-err .check .box{border-color:var(--cobre);box-shadow:0 0 0 3px rgba(231,150,115,.3)}
.has-err .chips span{border-color:rgba(231,150,115,.6)}
.err{display:flex;align-items:center;gap:7px;font-weight:600}
.err::before{content:"!";flex:none;display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--cobre);color:var(--marino);font:700 11px/1 system-ui,sans-serif}
.err-summary b{font-weight:600}
.err-links{display:flex;flex-wrap:wrap;gap:6px 8px;margin-top:10px}
.err-links a{font-size:12.5px;padding:4px 11px;border-radius:999px;border:1px solid rgba(231,150,115,.55);color:var(--cobre);text-decoration:none}
.err-links a:hover{background:rgba(231,150,115,.12)}
.btn[aria-busy="true"]{opacity:.6;pointer-events:none}

/* Capa de espera al enviar (la de vega-welcome) */
#loading{position:fixed;inset:0;z-index:95;display:grid;place-items:center;background:rgba(12,20,44,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .25s}
#loading.on{opacity:1;pointer-events:auto}
#loading .ld-box{text-align:center;padding:0 24px}
#loading .ld-ring{display:block;width:58px;height:58px;margin:0 auto 26px;border-radius:50%;border:1.5px solid rgba(238,186,150,.22);border-top-color:var(--cobre);animation:ldspin 1.1s linear infinite}
#loading .ld-text{font-size:13.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--champ)}
#loading .ld-text::after{content:"";display:inline-block;width:1.2em;text-align:left;animation:lddots 1.4s steps(4,end) infinite}
#loading .ld-sub{margin-top:12px;font-size:13px;font-style:italic;color:var(--acero);letter-spacing:.04em}
@keyframes ldspin{to{transform:rotate(360deg)}}
@keyframes lddots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}
@media (prefers-reduced-motion:reduce){#loading .ld-ring{animation:ldspin 2.4s linear infinite!important}}

/* Contact enviado */
.form.sent{border:1px solid var(--linea);border-radius:18px;padding:clamp(28px,4vw,44px);background:var(--panel)}

/* Members Portal: el botón «Log out» va en un formulario */
.pside form{margin:0}

/* Páginas legales (el prototipo no las diseña): texto del popup de Welcome en navy */
.legal-page{max-width:820px}
.legal-text h2{font-size:15px;letter-spacing:.26em;text-transform:uppercase;font-weight:400;color:var(--champ);margin:0 0 6px}
.legal-text p,.legal-text li,.legal-text td{font-size:15px;line-height:1.75;font-weight:300;color:var(--crema)}
.legal-text p{margin:14px 0 0}
.legal-text ol,.legal-text ul{margin:22px 0 0 18px;padding:0}
.legal-text strong{color:var(--tinta);font-weight:600}
.legal-text table{width:100%;border-collapse:collapse;margin-top:14px}
.legal-text td{border:1px solid var(--linea);padding:9px 12px;vertical-align:top}
.legal-text a{color:var(--champ);text-decoration:underline;text-underline-offset:3px}

/* Desplegables: en Windows las opciones salían en blanco sobre blanco. Siguen el estilo del formulario */
select.in{color-scheme:dark}
select.in option,select.in optgroup{background-color:var(--panel);color:var(--tinta);padding:4px 12px}
select.in option:checked{background-color:var(--panel2);color:var(--champ)}
/* Fecha de nacimiento: calendario nativo (iOS, Android y escritorio) con el estilo del campo */
.in[type=date]{color-scheme:dark;min-height:47px;cursor:pointer;text-align:left}
.in[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}
.in[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.8;width:18px;height:18px}
.in[type=date]:invalid:not(:focus){color:var(--apagado)}
/* Pie: enlaces centrados en móvil */
@media (max-width:900px){.f-links,.f-links.right{justify-content:center}}
/* Pie: imagen con los logos del grupo (mapa de enlaces escalado en web.js) */
.partners.logos{display:block;flex:0 1 500px;max-width:500px;width:100%}
.partners.logos img{display:block;width:100%;height:auto;opacity:.85;transition:opacity .2s}
.partners.logos:hover img{opacity:1}
@media (max-width:900px){.partners.logos{margin-inline:auto}}
/* Vista previa del contenido en borrador (solo Admin) */
.preview-bar{position:fixed;left:0;right:0;bottom:0;z-index:99;background:#9a6a12;color:#fff;text-align:center;font:600 12px/1.4 system-ui,sans-serif;letter-spacing:.06em;padding:9px 16px}
.preview-bar a{color:#fff;text-decoration:underline}

/* Casa Lista (08-10-2026): el texto de la cabecera iba por debajo del degradado y casi no se leía.
   Ahora va encima, con un degradado algo más oscuro a la izquierda y abajo, y el botón de reserva en la cabecera */
.casa-hero{min-height:clamp(440px,62vh,620px)}
.casa-hero::after{background:linear-gradient(180deg,rgba(22,30,54,.25) 0%,rgba(22,30,54,.55) 50%,rgba(22,30,54,.95) 100%),linear-gradient(90deg,rgba(22,30,54,.55) 0%,rgba(22,30,54,0) 70%)}
.casa-hero .in{z-index:1;padding-bottom:clamp(40px,6vw,64px)}
.casa-hero h1{color:var(--tinta)}
.casa-hero .lead{color:var(--crema);max-width:62ch}
.casa-cta{display:flex;gap:14px 22px;flex-wrap:wrap;margin-top:28px}

/* Páginas legales: aire antes de cada apartado */
.legal-text h2:not(:first-child){margin-top:44px}
.legal-text th{font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--tinta);text-align:left;border:1px solid var(--linea);padding:9px 12px}
/* Aviso de cookies (partials/cookie_banner.php + js/cookies.js) */
.ck-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;display:flex;justify-content:center;pointer-events:none}
.ck-banner[hidden],.ck-modal[hidden]{display:none}
.ck-in{pointer-events:auto;width:min(1040px,100%);background:var(--panel);border:1px solid var(--linea);border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.45);padding:22px 26px;display:flex;gap:18px 32px;align-items:center;animation:ck-up .45s var(--ease-in) both}
.ck-copy{flex:1;min-width:0}
.ck-title{display:block;font-size:12px;letter-spacing:2.4px;text-transform:uppercase;color:var(--champ);font-weight:600;margin-bottom:6px}
.ck-copy p,.ck-lead{margin:0;font-size:14px;line-height:1.6;color:var(--crema)}
.ck-copy a,.ck-lead a{color:var(--champ);text-decoration:underline;text-underline-offset:3px}
.ck-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.ck-actions .btn{min-width:150px}
.ck-modal{position:fixed;inset:0;z-index:95;background:rgba(10,14,28,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px}
.ck-box{position:relative;width:min(620px,100%);max-height:calc(100svh - 32px);overflow:auto;background:var(--panel);border:1px solid var(--linea);border-radius:18px;padding:28px 28px 24px;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.ck-box h2{margin:0 0 10px;font-size:20px;font-weight:500;color:var(--champ);letter-spacing:.04em}
.ck-x{position:absolute;top:12px;right:14px;background:none;border:0;color:var(--crema);font-size:26px;line-height:1;cursor:pointer;padding:4px 8px}
.ck-cat{border-top:1px solid var(--linea);padding:14px 0 6px}
.ck-cat:first-of-type{margin-top:16px}
.ck-cat-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.ck-cat-head b{font-weight:600;color:var(--tinta);font-size:14.5px}
.ck-cat p{margin:6px 0 0;font-size:13px;line-height:1.55;color:var(--acero)}
.ck-on{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--champ)}
.ck-switch{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}
.ck-switch input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.ck-switch span[aria-hidden]{position:absolute;inset:0;border-radius:999px;background:var(--linea);transition:background .2s}
.ck-switch span[aria-hidden]::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--crema);transition:transform .2s var(--ease-in)}
.ck-switch input:checked + span{background:var(--cobre)}
.ck-switch input:checked + span::after{transform:translateX(20px)}
.ck-switch input:focus-visible + span{outline:2px solid var(--champ);outline-offset:2px}
.ck-box .ck-actions{margin-top:18px;border-top:1px solid var(--linea);padding-top:18px}
html.ck-lock{overflow:hidden}
@keyframes ck-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (max-width:820px){.ck-in{flex-direction:column;align-items:stretch;padding:18px}.ck-actions{justify-content:stretch}.ck-actions .btn{flex:1 1 140px;min-width:0}}
@media (max-width:480px){.ck-banner{left:8px;right:8px;bottom:8px}.ck-actions .btn{flex:1 1 100%}.ck-box{padding:24px 18px 18px}}
@media (prefers-reduced-motion:reduce){.ck-in{animation:none}}
/* Agenda: evento destacado (Panel → Agenda → «Destacado»): borde del color de los títulos */
.ev.featured{border-color:#EEBA96}
/* Apply: la financiación va como texto bajo «Benefits», sin caja (petición del cliente, 19-10-2026) */
.apply-head .instal{margin:0;border:0;padding:0;background:none}
.apply-head .instal .eyebrow.req::after{content:" *";color:var(--cobre)}
.apply-head .instal .radio{border:0;padding:5px 0;font-size:15px;font-weight:300;color:var(--crema)}
.apply-head .instal .radio b{font-weight:300;color:inherit}
/* Home con dos accesos (Agenda oculta) */

@media (max-width:760px){.apply-head{grid-template-columns:1fr}}
/* Legales en móvil: las tablas anchas (Cookies) se desplazan dentro de su caja en vez de ensanchar la página */
@media (max-width:700px){.legal-text table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.legal-text td,.legal-text th{min-width:120px}}
