/* ============ VEGA ACQUA SPA · estilos compartidos ============ */
:root{
  --va-green:#3a4a2c;--va-green-deep:#2c3720;--va-cream:#f4ede0;--va-card:#f7f1e6;
  --va-gold:#b0894c;--va-gold-2:#cdae74;--va-ink:#4b4638;--va-muted:#6f6a58;
  --va-line:rgba(176,137,76,.30);
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#fff;color:var(--va-ink);line-height:1.6;font-family:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;overflow-x:hidden;}
a{color:inherit;}
img{max-width:100%;}
.va-wrap{max-width:1120px;margin:0 auto;padding:0 20px;}
.va-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--va-gold);font-weight:500;margin-bottom:14px;}
.va-eyebrow::before,.va-eyebrow::after{content:"";width:30px;height:1px;background:var(--va-gold);opacity:.6;}
.va-h{font-family:'Cormorant Garamond',Georgia,serif;color:var(--va-green);font-weight:600;font-size:clamp(28px,4.4vw,44px);letter-spacing:.06em;text-transform:uppercase;line-height:1.15;margin:0 0 16px;overflow-wrap:break-word;}
.va-lead{color:var(--va-muted);font-size:16.5px;font-weight:300;margin:0 0 22px;}
.va-lead b{color:var(--va-ink);font-weight:500;}
.va-btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:500;font-size:14.5px;letter-spacing:.12em;text-transform:uppercase;padding:14px 32px;border-radius:40px;transition:transform .25s ease,box-shadow .25s ease;cursor:pointer;border:none;}
.va-btn-gold{background:linear-gradient(135deg,var(--va-gold),#9c7638);color:#fff8ec;box-shadow:0 14px 26px -14px rgba(176,137,76,.7);}
.va-btn-gold:hover{transform:translateY(-3px);box-shadow:0 20px 30px -14px rgba(176,137,76,.9);}
.va-btn-ghost{background:transparent;color:#f4ede0;border:1px solid rgba(244,237,224,.55);}
.va-btn-ghost:hover{background:rgba(244,237,224,.12);}
.va-btn-line{background:transparent;color:var(--va-green);border:1px solid var(--va-gold);}
.va-btn-line:hover{background:rgba(176,137,76,.10);}
.va-btns{display:flex;flex-wrap:wrap;gap:14px;}
/* ---------- HEADER ---------- */
.va-header{position:sticky;top:0;z-index:100;background:rgba(244,237,224,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--va-line);}
.va-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 20px;max-width:1200px;margin:0 auto;position:relative;}
.va-logo{display:flex;align-items:center;gap:12px;text-decoration:none;}
.va-logo img{height:60px;width:auto;display:block;}
.va-logo span{font-family:'Cormorant Garamond',serif;color:var(--va-green);font-size:20px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;}
.va-nav{display:flex;align-items:center;gap:26px;}
.va-nav a{text-decoration:none;color:var(--va-ink);font-size:14px;letter-spacing:.06em;text-transform:uppercase;font-weight:400;transition:color .2s ease;}
.va-nav a:hover{color:var(--va-gold);}
.va-nav a.active{color:var(--va-gold);font-weight:500;}
.va-nav .va-nav-cta{background:linear-gradient(135deg,var(--va-gold),#9c7638);color:#fff8ec;padding:10px 22px;border-radius:30px;font-weight:500;}
.va-nav .va-nav-cta:hover{color:#fff8ec;transform:translateY(-2px);}
.va-nav-toggle{display:none;}
.va-burger{display:none;font-size:26px;color:var(--va-green);cursor:pointer;line-height:1;user-select:none;padding:6px 8px;}
/* ---------- HERO (portada) ---------- */
.va-hero{position:relative;min-height:640px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.va-hero-bg{position:absolute;inset:0;background-color:#2c3720;background-size:cover;background-position:center;}
.va-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,26,15,.30),rgba(20,26,15,.68));}
.va-hero-inner{position:relative;z-index:2;text-align:center;color:#f4ede0;padding:72px 24px;max-width:780px;}
.va-lotus{width:46px;height:46px;margin:0 auto 18px;display:block;stroke:var(--va-gold-2);fill:none;stroke-width:1.4;}
.va-hero .va-eyebrow{color:var(--va-gold-2);justify-content:center;display:flex;}
.va-hero .va-eyebrow::before,.va-hero .va-eyebrow::after{background:var(--va-gold-2);}
.va-hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;color:#fbf6ea;font-size:clamp(34px,6vw,60px);line-height:1.08;letter-spacing:.02em;margin:0 0 16px;}
.va-hero h1 span{display:block;color:var(--va-gold-2);font-style:italic;font-weight:400;}
.va-hero p{color:#e9e2d2;font-size:17px;font-weight:300;max-width:560px;margin:0 auto 30px;}
.va-hero .va-btns{justify-content:center;}
/* ---------- BANNER (páginas internas) ---------- */
.va-banner{position:relative;min-height:320px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(120% 140% at 100% 0%,rgba(205,174,116,.12),transparent 55%),linear-gradient(160deg,var(--va-green),var(--va-green-deep));text-align:center;color:#f4ede0;padding:64px 24px;}
.va-banner .va-eyebrow{color:var(--va-gold-2);justify-content:center;display:flex;}
.va-banner .va-eyebrow::before,.va-banner .va-eyebrow::after{background:var(--va-gold-2);}
.va-banner h1{font-family:'Cormorant Garamond',serif;font-weight:600;color:#fbf6ea;font-size:clamp(32px,5.2vw,52px);letter-spacing:.05em;text-transform:uppercase;margin:0 0 10px;}
.va-banner p{color:#e2dbc9;font-weight:300;max-width:600px;margin:0 auto;}
/* ---------- BIENVENIDA / SPLIT ---------- */
.va-split{display:flex;flex-wrap:wrap;gap:44px;align-items:center;padding:84px 20px;max-width:1120px;margin:0 auto;}
.va-split>div{flex:1 1 340px;min-width:0;}
.va-photo{border-radius:22px;background-color:#e7ddc8;background-image:linear-gradient(135deg,#efe7d6,#dcd0b6);background-size:cover;background-position:center;border:1px solid var(--va-line);aspect-ratio:1206/1137;}
/* ---------- SECCIONES ---------- */
.va-section{padding:84px 0;}
.va-section-head{text-align:center;max-width:660px;margin:0 auto 48px;}
.va-cream{background:var(--va-cream);}
.va-prose{max-width:820px;margin:0 auto;color:var(--va-muted);font-weight:300;font-size:16.5px;}
.va-prose p{margin:0 0 16px;}
.va-prose b{color:var(--va-ink);font-weight:500;}
/* ---------- EXPLORA (portada) ---------- */
.va-explore{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.va-xcard{display:block;text-decoration:none;background:var(--va-card);border:1px solid var(--va-line);border-radius:22px;padding:34px 28px;transition:transform .3s ease,box-shadow .3s ease;}
.va-xcard:hover{transform:translateY(-6px);box-shadow:0 22px 40px -24px rgba(58,74,44,.5);}
.va-xcard h3{font-family:'Cormorant Garamond',serif;color:var(--va-green);font-size:24px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;margin:0 0 8px;}
.va-xcard p{color:var(--va-muted);font-size:14.5px;font-weight:300;margin:0 0 12px;}
.va-xcard span{color:var(--va-gold);font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;}
/* ---------- SERVICIOS ---------- */
.va-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.va-card{position:relative;background:var(--va-card);border:1px solid var(--va-line);border-radius:22px;padding:28px 24px 24px;transition:transform .35s ease,box-shadow .35s ease;}
.va-card:hover{transform:translateY(-6px);box-shadow:0 22px 40px -24px rgba(58,74,44,.55);}
.va-card-top{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px;}
.va-card-top>div:not(.va-price){min-width:0;flex:1 1 auto;}
.va-price{flex:0 0 auto;width:62px;height:62px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#46582f,var(--va-green-deep));color:var(--va-gold-2);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;box-shadow:inset 0 0 0 4px rgba(205,174,116,.20);}
.va-card h3{margin:4px 0 0;font-family:'Cormorant Garamond',serif;color:var(--va-green);font-size:clamp(18px,2vw,21px);font-weight:600;letter-spacing:.03em;text-transform:uppercase;line-height:1.2;overflow-wrap:break-word;}
.va-tag{display:inline-block;margin-top:10px;padding:5px 14px;border-radius:20px;background:linear-gradient(135deg,var(--va-gold),#9c7638);color:#fdf7ea;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;}
.va-desc{color:var(--va-muted);font-size:14.5px;font-weight:300;margin:2px 0 20px;}
.va-time{display:inline-flex;align-items:center;gap:8px;color:var(--va-green);font-size:13.5px;font-weight:500;padding-top:14px;border-top:1px solid var(--va-line);width:100%;}
.va-time svg{width:16px;height:16px;stroke:var(--va-gold);}
/* ---------- BONOS ---------- */
.va-bonos{margin-top:52px;background:radial-gradient(120% 140% at 100% 0%,rgba(205,174,116,.10),transparent 55%),linear-gradient(160deg,var(--va-green),var(--va-green-deep));border-radius:26px;padding:40px 34px;color:#f1ead9;}
.va-bonos-head{text-align:center;margin-bottom:26px;}
.va-bonos-head .va-b-title{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--va-gold-2);margin:0 0 6px;}
.va-bonos-head p{margin:0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#d9d2bf;}
.va-bonos-head p b{color:#fff;}
.va-bono{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:16px 4px;border-bottom:1px solid rgba(205,174,116,.22);}
.va-bono:last-of-type{border-bottom:none;}
.va-bono-name{font-size:15px;color:#f4eeddf2;}
.va-bono-name b{color:#fff;font-weight:600;}
.va-bono-price{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;color:#fff;background:rgba(205,174,116,.16);padding:4px 18px;border-radius:12px;min-width:96px;text-align:center;}
.va-bono-save{display:flex;flex-direction:column;align-items:center;justify-content:center;width:70px;height:64px;border-radius:14px;border:1px solid var(--va-gold);color:var(--va-gold-2);text-align:center;}
.va-bono-save span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;}
.va-bono-save strong{font-family:'Cormorant Garamond',serif;font-size:22px;line-height:1;color:#fff;}
.va-bonos-note{margin:22px 0 0;text-align:center;font-size:12px;color:#c9c2af;font-style:italic;}
/* ---------- BENEFICIOS ---------- */
.va-bgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.va-item{background:var(--va-card);border:1px solid var(--va-line);border-radius:20px;padding:32px 22px;text-align:center;}
.va-ic{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 25%,#46582f,var(--va-green-deep));}
.va-ic svg{width:26px;height:26px;stroke:var(--va-gold-2);fill:none;stroke-width:1.5;}
.va-item h3{font-family:'Cormorant Garamond',serif;color:var(--va-green);font-size:20px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;margin:0 0 8px;overflow-wrap:break-word;}
.va-item p{color:var(--va-muted);font-size:13.5px;font-weight:300;margin:0;}
/* ---------- TECNICAS (bloques informativos) ---------- */
.va-tech{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.va-tech-card{background:#fff;border:1px solid var(--va-line);border-radius:22px;padding:32px 30px;}
.va-tech-card .va-tag{margin:0 0 14px;}
.va-tech-card h3{font-family:'Cormorant Garamond',serif;color:var(--va-green);font-size:24px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;margin:0 0 10px;}
.va-tech-card p{color:var(--va-muted);font-size:15px;font-weight:300;margin:0 0 12px;}
.va-tech-card ul{margin:0;padding-left:18px;color:var(--va-muted);font-size:14.5px;font-weight:300;}
.va-tech-card li{margin-bottom:6px;}
/* ---------- PROCESO ---------- */
.va-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.va-step{text-align:center;padding:10px;}
.va-step .va-num{width:54px;height:54px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:600;color:var(--va-gold-2);background:radial-gradient(circle at 30% 25%,#46582f,var(--va-green-deep));}
.va-step h3{font-family:'Cormorant Garamond',serif;color:var(--va-green);font-size:19px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;margin:0 0 6px;}
.va-step p{color:var(--va-muted);font-size:14px;font-weight:300;margin:0;}
/* ---------- FAQ ---------- */
.va-faq{max-width:820px;margin:0 auto;}
.va-faq details{background:var(--va-card);border:1px solid var(--va-line);border-radius:16px;padding:0 22px;margin-bottom:14px;}
.va-faq summary{list-style:none;cursor:pointer;padding:20px 0;font-family:'Cormorant Garamond',serif;color:var(--va-green);font-size:20px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:14px;}
.va-faq summary::-webkit-details-marker{display:none;}
.va-faq summary::after{content:"+";color:var(--va-gold);font-size:26px;font-family:'Jost',sans-serif;line-height:1;}
.va-faq details[open] summary::after{content:"–";}
.va-faq details p{color:var(--va-muted);font-size:15px;font-weight:300;margin:0 0 20px;}
/* ---------- RESERVAS ---------- */
.va-res{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start;}
.va-res>div{flex:1 1 340px;min-width:0;}
.va-form{background:var(--va-card);border:1px solid var(--va-line);border-radius:22px;padding:32px 28px;}
.va-form label{display:block;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--va-green);margin:14px 0 6px;font-weight:500;}
.va-form input,.va-form select,.va-form textarea{width:100%;padding:12px 14px;border:1px solid var(--va-line);border-radius:12px;background:#fff;color:var(--va-ink);font-family:inherit;font-size:15px;}
.va-form textarea{min-height:90px;resize:vertical;}
.va-form .va-btn{margin-top:22px;width:100%;justify-content:center;}
.va-info-card{background:var(--va-card);border:1px solid var(--va-line);border-radius:22px;padding:32px 28px;}
.va-info-row{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--va-line);}
.va-info-row:last-child{border-bottom:none;}
.va-info-row svg{width:22px;height:22px;stroke:var(--va-gold);fill:none;stroke-width:1.6;flex:0 0 auto;margin-top:2px;}
.va-info-row b{display:block;color:var(--va-green);font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;}
.va-info-row span{color:var(--va-muted);font-size:15px;font-weight:300;}
/* ---------- CONTACTO ---------- */
.va-contact-grid{display:flex;flex-wrap:wrap;gap:36px;align-items:stretch;}
.va-contact-grid>div{flex:1 1 360px;min-width:0;}
.va-map{border-radius:22px;overflow:hidden;border:1px solid var(--va-line);min-height:340px;height:100%;}
.va-map iframe{width:100%;height:100%;min-height:340px;border:0;display:block;}
/* ---------- CTA ---------- */
.va-cta{background:radial-gradient(120% 140% at 100% 0%,rgba(205,174,116,.10),transparent 55%),linear-gradient(160deg,var(--va-green),var(--va-green-deep));border-radius:26px;padding:64px 34px;text-align:center;color:#f1ead9;}
.va-cta h2{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,4vw,40px);font-weight:600;letter-spacing:.05em;color:var(--va-gold-2);margin:0 0 12px;}
.va-cta p{color:#ded7c5;font-size:16px;font-weight:300;max-width:520px;margin:0 auto 26px;}
.va-social{display:flex;justify-content:center;gap:16px;margin-top:22px;}
.va-social a{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(205,174,116,.45);transition:background .25s ease,transform .25s ease;}
.va-social a:hover{background:rgba(205,174,116,.18);transform:translateY(-3px);}
.va-social svg{width:20px;height:20px;fill:#f1ead9;}
/* ---------- FOOTER ---------- */
.va-footer{background:var(--va-green-deep);color:#d9d2bf;padding:50px 20px 30px;text-align:center;}
.va-footer img{height:64px;margin-bottom:34px;filter:brightness(0) invert(1);opacity:.9;}
.va-footer .va-fnav{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin:14px 0 20px;}
.va-footer .va-fnav a{color:#e6e0cf;text-decoration:none;font-size:13px;letter-spacing:.08em;text-transform:uppercase;}
.va-footer .va-fnav a:hover{color:var(--va-gold-2);}
.va-footer small{display:block;color:#a49c85;font-size:12px;margin-top:14px;}
/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .va-grid{grid-template-columns:1fr 1fr;}
  .va-bgrid{grid-template-columns:repeat(2,1fr);}
  .va-tech{grid-template-columns:1fr;}
  .va-steps{grid-template-columns:repeat(2,1fr);}
  .va-explore{grid-template-columns:1fr;}
  .va-burger{display:block;}
  .va-nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--va-cream);border-bottom:1px solid var(--va-line);display:none;padding:8px 0;}
  .va-nav a{padding:14px 24px;border-top:1px solid var(--va-line);}
  .va-nav .va-nav-cta{margin:10px 24px;text-align:center;border-radius:30px;}
  .va-nav-toggle:checked~.va-nav{display:flex;}
}
@media (max-width:560px){
  .va-grid{grid-template-columns:1fr;}
  .va-bgrid{grid-template-columns:1fr;}
  .va-steps{grid-template-columns:1fr;}
  .va-bono{grid-template-columns:1fr auto;grid-template-areas:"name save" "price save";row-gap:8px;}
  .va-bono-name{grid-area:name;}
  .va-bono-price{grid-area:price;justify-self:start;}
  .va-bono-save{grid-area:save;}
  .va-hero{min-height:560px;}
  .va-logo span{display:none;}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;}html{scroll-behavior:auto;}}

/* ---- galeria y sobre mi ---- */
.va-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:860px;margin:0 auto;}
.va-gallery img{width:100%;aspect-ratio:1280/1714;object-fit:cover;border-radius:22px;border:1px solid var(--va-line);display:block;}
.va-spec{list-style:none;padding:0;margin:18px 0 24px;}
.va-spec li{display:flex;align-items:center;gap:12px;padding:10px 0;color:var(--va-ink);font-size:15.5px;border-bottom:1px solid var(--va-line);}
.va-spec li:last-child{border-bottom:none;}
.va-spec li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--va-gold);flex:0 0 auto;}
@media (max-width:560px){.va-gallery{grid-template-columns:1fr;}}

/* ---- banner con foto ---- */
.va-banner-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;}
.va-banner-shade{position:absolute;inset:0;background:linear-gradient(160deg,rgba(44,55,32,.72),rgba(30,38,22,.82));z-index:1;}
.va-banner-content{position:relative;z-index:2;}

/* ---- horario en dos columnas centrado ---- */
.va-hours{display:grid;grid-template-columns:max-content max-content;column-gap:28px;row-gap:7px;margin:8px auto 0;justify-content:center;width:max-content;}
.va-hours span{font-size:15px;font-weight:300;}
.va-hours span:nth-child(odd){color:var(--va-ink);text-align:left;}
.va-hours span:nth-child(even){color:var(--va-muted);text-align:right;}
.va-info-row:has(.va-hours){flex-direction:column;align-items:center;text-align:center;}
/* ---- separar redes del contacto en el pie ---- */
.va-footer .va-social{margin-top:0;margin-bottom:36px;}

/* ---- cuadro de horario ---- */
.va-hours-box{background:#fff;border:1px solid var(--va-line);border-radius:16px;padding:20px 24px;margin-top:16px;}
.va-hours-box>b{display:block;color:var(--va-green);font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;text-align:center;font-weight:600;}
.va-hrow{display:flex;justify-content:space-between;gap:24px;padding:10px 2px;border-bottom:1px solid var(--va-line);font-size:14.5px;font-weight:300;}
.va-hrow:last-child{border-bottom:none;}
.va-hrow span:first-child{color:var(--va-ink);}
.va-hrow span:last-child{color:var(--va-muted);}
