/* =========================================================================
   CAVAS — Chozas Carrascal
   Catálogo de cavas. Maquetación fluida y responsive (sin lienzo 1920px).
   Tipografía fiel al Figma (Cormorant Garamond + Inter), escalada con clamp().
   ========================================================================= */

.cv-page{
  --paper:#f9f7f5;
  --white:#ffffff;
  --ink:#211d18;
  --ink-2:#11100e;
  --gold:#b8924a;
  --gold-2:#8d6b4e;
  --body:#2d2a25;
  --dark:#0d0b08;
  --line:rgba(33,29,24,.14);
  background:var(--paper);
  color:var(--body);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  overflow-x:hidden;
}

/* ---- Contenedor y ritmo ---------------------------------------------- */
.cv-wrap{width:100%;max-width:1524px;margin-inline:auto;padding-inline:clamp(20px,5vw,80px);}
.cv-sec{padding-block:clamp(64px,10vw,140px);}

/* ---- Tipografía base (reset defensivo frente a estilos globales) ------ */
.cv-overline{
  display:inline-flex;align-items:center;gap:16px;margin:0;
  font-size:13px;font-weight:400;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold)!important;
}
.cv-overline::before{content:"";width:32px;height:1px;background:currentColor;opacity:.6;flex:0 0 auto;}
.cv-overline--center{justify-content:center;}
.cv-overline--center::before{width:40px;}
.cv-overline--center::after{content:"";width:40px;height:1px;background:currentColor;opacity:.6;flex:0 0 auto;}

:where(.cv-page) p{font-size:clamp(14px,1.1vw,16px);line-height:1.9;color:var(--body);margin:0;}

/* ---- Imagen + placeholder -------------------------------------------- */
.cv-imgbox{position:relative;width:100%;aspect-ratio:780/900;overflow:hidden;background:#ede9e4;}
.cv-imgbox img{width:100%;height:100%;object-fit:cover;display:block;}
.cv-ph{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;text-align:center;padding:16px;
  background:repeating-linear-gradient(45deg,#ece7e0 0 11px,#e4ded6 11px 22px);
  border:1px dashed #c9bba8;color:#8c8275;
}
.cv-ph-l{font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;}
.cv-ph-d{font-size:14px;font-weight:600;color:#6f6658;}

/* ======================================================================= */
/* 1. HERO                                                                  */
/* ======================================================================= */
.cv-hero{padding-top:clamp(140px,20vh,200px);padding-bottom:clamp(64px,9vw,110px);}
.cv-hero__inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(20px,3vw,30px);max-width:1240px;margin-inline:auto;padding-inline:clamp(20px,5vw,80px);}
.cv-hero__title{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;text-transform:none!important;
  color:var(--ink);font-size:clamp(48px,8vw,100px);line-height:.92;letter-spacing:-0.045em;margin:0;text-wrap:balance;
}
.cv-hero__intro{max-width:640px;font-weight:300;font-size:clamp(14px,1.2vw,15px)!important;line-height:2;color:var(--body);}

/* ======================================================================= */
/* 2. NAVEGACIÓN POR CAVA                                                   */
/* ======================================================================= */
.cv-nav{padding-block:clamp(20px,2.6vw,30px);border-block:1px solid var(--line);background:var(--paper);}
.cv-nav__list{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px clamp(24px,3.4vw,44px);}
.cv-nav__sep{width:1px;height:11px;background:rgba(33,29,24,.26);}
.cv-nav__list a{
  font-size:13px;font-weight:300;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-2);text-decoration:none;transition:color .2s ease;
}
.cv-nav__list a:hover{color:var(--gold);}

/* ======================================================================= */
/* 3–5. SECCIONES DE CAVA (imagen + texto alternados)                       */
/* ======================================================================= */
.cv-feat--white{background:var(--white);}
.cv-feat--soft{background:var(--paper);}
.cv-feat--dark{background:var(--dark);}

.cv-feat__inner{display:grid;grid-template-columns:minmax(0,780fr) minmax(0,644fr);gap:clamp(40px,7vw,100px);align-items:center;}
.cv-feat__img{width:100%;}
.cv-feat__text{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(20px,2.4vw,30px);max-width:644px;}
.cv-feat__h2{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;text-transform:none!important;
  color:var(--ink);font-size:clamp(38px,4.6vw,62px);line-height:.98;letter-spacing:-0.045em;margin:0;
}
.cv-feat__p{font-weight:300;font-size:clamp(15px,1.2vw,16px)!important;line-height:2.03;}

/* Cava Roxanne: texto a la izquierda, imagen a la derecha. */
.cv-feat--rev .cv-feat__inner{grid-template-columns:minmax(0,644fr) minmax(0,780fr);}

/* Sección oscura (Cava Eterno). */
.cv-feat--dark .cv-feat__h2{color:#fbf8f1;}
.cv-feat--dark .cv-feat__p{color:rgba(251,248,241,.76)!important;}
.cv-feat--dark .cv-imgbox{background:#28241e;}
.cv-feat--dark .cv-dato__num{color:var(--gold)!important;}
.cv-feat--dark .cv-dato__lbl{color:rgba(251,248,241,.7);}
.cv-feat--dark .cv-dato__sep{background:rgba(251,248,241,.2);}

/* ---- Datos (número grande + etiqueta) -------------------------------- */
.cv-datos{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(22px,2.6vw,36px);}
.cv-dato{display:flex;flex-direction:column;gap:6px;min-width:120px;max-width:150px;}
.cv-dato__num{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;text-transform:none!important;
  color:var(--gold-2);font-size:clamp(40px,4vw,48px);line-height:1;letter-spacing:-0.04em;
}
.cv-dato__lbl{font-weight:300;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--body);line-height:1.5;}
.cv-dato__sep{width:1px;height:58px;background:var(--line);flex:0 0 auto;}

/* ---- Botón "Descubrir" ----------------------------------------------- */
.cv-feat__link{
  display:inline-flex;align-items:center;justify-content:center;margin-top:4px;
  padding:17px 32px;border:1px solid rgba(33,29,24,.5);
  font-size:13px;font-weight:300;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.cv-feat__link:hover{background:var(--ink);color:#fbf8f1;border-color:var(--ink);}
.cv-feat--dark .cv-feat__link{border-color:rgba(251,248,241,.42);color:#fbf8f1;}
.cv-feat--dark .cv-feat__link:hover{background:#fbf8f1;color:var(--dark);border-color:#fbf8f1;}

/* ======================================================================= */
/* 6. CTA FINAL                                                             */
/* ======================================================================= */
.cv-cta{background:var(--paper);padding-top:clamp(72px,10vw,140px);padding-bottom:clamp(88px,12vw,160px);}
.cv-cta__inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(20px,3vw,30px);max-width:1100px;margin-inline:auto;padding-inline:clamp(20px,5vw,80px);}
.cv-cta__h2{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;text-transform:none!important;
  color:var(--ink);font-size:clamp(32px,4.4vw,62px);line-height:1.06;letter-spacing:-0.03em;margin:0;text-wrap:balance;
}
.cv-cta__btns{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:6px;}
.cv-cta__btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:17px 32px;border:1px solid rgba(33,29,24,.5);
  font-size:13px;font-weight:300;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.cv-cta__btn:hover{background:var(--ink);color:#fbf8f1;border-color:var(--ink);}
.cv-cta__more{
  font-size:13px;font-weight:300;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;position:relative;padding-bottom:4px;
}
.cv-cta__more::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .3s ease;}
.cv-cta__more:hover::after{width:100%;}

/* ======================================================================= */
/* RESPONSIVE                                                               */
/* ======================================================================= */
@media (max-width:960px){
  .cv-feat__inner,
  .cv-feat--rev .cv-feat__inner{grid-template-columns:1fr;gap:clamp(28px,6vw,44px);}
  /* La imagen siempre arriba, aunque la sección sea invertida. */
  .cv-feat--rev .cv-feat__img{order:-1;}
  .cv-feat__text{max-width:none;}
  .cv-imgbox{aspect-ratio:16/11;}
}

@media (max-width:560px){
  .cv-nav__list{gap:12px 18px;}
  .cv-nav__sep{display:none;}
  .cv-nav__list a{font-size:12px;letter-spacing:.12em;}
  .cv-datos{gap:18px;}
  .cv-dato__sep{display:none;}
  .cv-dato{min-width:44%;}
}
