/* ============================================================
   BODEGA CATTANI — hoja de estilos compartida
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@400;500;600&display=swap');

:root{
  --ink:#171310;
  --ink-2:#221C17;
  --ink-3:#2C241D;
  --cream:#FBF5EC;
  --cream-2:#F0E1D0;
  --text-dark:#38251F;
  --text-soft:#70564A;
  --text-cream:#EDE4D2;
  --text-cream-soft:#C9B99A;
  --gold:#91613B;
  --gold-soft:#D9C49D;
  --wine:#833E45;
  --wine-deep:#592934;
  --line-dark:rgba(237,228,210,.16);
  --line-light:#DFCBBA;
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Jost', -apple-system, sans-serif;
  --maxw:1220px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms !important; transition-duration:.001ms !important;}
}

body{
  margin:0;
  background:var(--cream);
  color:var(--text-dark);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%; display:block;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 40px;}
@media (max-width:640px){ .wrap{padding:0 22px;} }

h1,h2,h3,h4{font-family:var(--serif); font-weight:500; margin:0; letter-spacing:.01em;}

.eyebrow{
  font-family:var(--sans); font-size:12.5px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold); display:inline-block; margin-bottom:16px; font-weight:500;
}

p{margin:0 0 16px;}
p:last-child{margin-bottom:0;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--sans); font-weight:500; font-size:14.5px; letter-spacing:.03em;
  padding:15px 30px; text-decoration:none; border:1px solid currentColor;
  transition:background .3s ease, color .3s ease, border-color .3s ease;
  cursor:pointer; background:none;
  border-radius:999px;
}
.btn.gold{color:var(--gold-soft); border-color:var(--gold);}
.btn.gold:hover{background:var(--gold); color:var(--ink);}
.btn.wine{background:var(--wine); border-color:var(--wine); color:var(--text-cream);}
.btn.wine:hover{background:var(--wine-deep); border-color:var(--wine-deep);}
.btn.line{color:var(--text-dark); border-color:var(--text-dark);}
.btn.line:hover{background:var(--text-dark); color:var(--cream);}

/* ---------- Header ---------- */
header{
  position:sticky; top:0; z-index:200;
  background:rgba(23,19,16,.92); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line-dark);
}
.nav-row{display:flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 0;}
.brand{display:flex; align-items:center; text-decoration:none; flex:0 0 auto;}
.brand img{width:220px; height:auto; border-radius:0; object-fit:contain; box-shadow:none; filter:drop-shadow(0 4px 14px rgba(0,0,0,.18));}
@media (max-width:640px){.brand img{width:170px;}}

nav.links{display:flex; gap:38px; list-style:none; margin:0; padding:0;}
nav.links a{text-decoration:none; font-size:14px; letter-spacing:.05em; text-transform:uppercase; color:var(--text-cream-soft); padding-bottom:4px; border-bottom:1px solid transparent;}
nav.links a:hover, nav.links a.active{color:var(--gold-soft); border-color:var(--gold);}

.nav-cta{display:flex; align-items:center; gap:24px;}
#menu-toggle{display:none; background:none; border:none; cursor:pointer; padding:6px;}
#menu-toggle span{display:block; width:24px; height:1.5px; background:var(--text-cream); margin:5px 0;}

@media (max-width:900px){
  nav.links{
    position:fixed; top:88px; left:0; right:0; bottom:0;
    background:var(--ink); flex-direction:column; gap:0;
    padding:10px 30px 30px; transform:translateX(100%); transition:transform .35s ease;
    overflow-y:auto;
  }
  nav.links.open{transform:translateX(0);}
  nav.links a{padding:18px 0; border-bottom:1px solid var(--line-dark); font-size:16px; width:100%;}
  .nav-cta .btn{display:none;}
  #menu-toggle{display:block;}
}

/* ---------- Hero (image, full-bleed) ---------- */
.hero{
  position:relative; min-height:88vh; display:flex; align-items:center; justify-content:center;
  text-align:center; overflow:hidden; background:var(--ink);
}
.hero img.bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.62;}
.hero::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(20,16,13,.48) 0%, rgba(20,16,13,.28) 38%, rgba(20,16,13,.90) 100%);
}
.hero-content{position:relative; z-index:2; max-width:820px; padding:0 24px;}
.hero-content .eyebrow{color:var(--gold-soft);}
.hero-content h1{color:var(--text-cream); font-size:clamp(42px,7vw,74px); letter-spacing:.03em; text-transform:uppercase; line-height:1.05;}
.hero-content .sub{font-family:var(--serif); font-style:italic; color:var(--text-cream-soft); font-size:clamp(17px,2vw,21px); margin:20px 0 34px;}
.hero-actions{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

/* smaller page-title hero (interior pages) */
.hero.small{min-height:46vh;}
.hero.small .hero-content h1{font-size:clamp(34px,5.5vw,52px);}

/* ---------- Sections ---------- */
section{padding:110px 0;}
.section-dark{background:var(--ink); color:var(--text-cream);}
.section-dark .eyebrow{color:var(--gold-soft);}
.section-alt{background:var(--cream-2);}
@media (max-width:760px){ section{padding:76px 0;} }

.section-head{max-width:640px; margin:0 auto 60px; text-align:center;}
.section-head h2{font-size:clamp(30px,4vw,44px);}
.section-head p{color:var(--text-soft); font-size:16.5px; margin-top:16px;}
.section-dark .section-head p{color:var(--text-cream-soft);}

hr.rule{border:none; border-top:1px solid var(--line-light); margin:0;}
.section-dark hr.rule{border-top-color:var(--line-dark);}

/* ---------- Intro / two-col ---------- */
.split{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
.split.reverse{direction:rtl;}
.split.reverse > *{direction:ltr;}
.split img{width:100%; height:100%; object-fit:cover; aspect-ratio:4/5;}
.split-copy .eyebrow{margin-bottom:14px;}
.split-copy h2{font-size:clamp(28px,3.6vw,40px); margin-bottom:20px;}
.split-copy p{color:var(--text-soft); font-size:16px; max-width:52ch;}
.section-dark .split-copy p{color:var(--text-cream-soft);}
@media (max-width:900px){ .split{grid-template-columns:1fr; gap:36px;} .split img{aspect-ratio:16/10;} }

/* ---------- Wines list (index teaser + vinos page) ---------- */
.wine-list{max-width:820px; margin:0 auto;}
.wine-row{
  display:grid; grid-template-columns:64px 1fr auto; gap:26px; align-items:center;
  padding:30px 0; border-bottom:1px solid var(--line-light);
}
.section-dark .wine-row{border-bottom-color:var(--line-dark);}
.wine-row:first-child{border-top:1px solid var(--line-light);}
.section-dark .wine-row:first-child{border-top-color:var(--line-dark);}
.wine-mono{
  width:56px; height:56px; border-radius:50%; border:1px solid var(--gold);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-style:italic; font-size:22px; color:var(--gold);
}
.wine-row h3{font-size:23px; margin-bottom:4px;}
.wine-row .kind{font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; display:block;}
.wine-row p{color:var(--text-soft); font-size:14.5px; max-width:54ch; margin:0;}
.section-dark .wine-row p{color:var(--text-cream-soft);}
.wine-row .cta{font-size:13px; letter-spacing:.05em; text-transform:uppercase; color:var(--text-dark); white-space:nowrap; text-decoration:none; border-bottom:1px solid var(--gold);}
.section-dark .wine-row .cta{color:var(--text-cream);}
@media (max-width:640px){
  .wine-row{grid-template-columns:48px 1fr; row-gap:10px;}
  .wine-row .cta{grid-column:2; }
}

/* full detail cards on vinos.html */
.wine-detail{
  display:grid; grid-template-columns:220px 1fr; gap:44px; align-items:start;
  padding:56px 0; border-bottom:1px solid var(--line-light);
}
.wine-detail:last-child{border-bottom:none;}
.wine-detail .mono-big{
  width:180px; height:180px; border-radius:50%; border:1px solid var(--gold);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  font-family:var(--serif); color:var(--gold); text-align:center;
}
.wine-detail .mono-big .letter{font-size:52px; font-style:italic; line-height:1;}
.wine-detail .mono-big .num{font-size:11px; letter-spacing:.16em; color:var(--text-soft); font-family:var(--sans);}
.wine-detail h3{font-size:30px; margin-bottom:6px;}
.wine-detail .kind{display:block; font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:16px;}
.wine-detail p{color:var(--text-soft); max-width:60ch;}
.wine-detail .traits{display:flex; gap:26px; flex-wrap:wrap; margin-top:20px; padding-top:20px; border-top:1px solid var(--line-light);}
.wine-detail .traits div{font-size:12.5px; color:var(--text-soft);}
.wine-detail .traits strong{display:block; font-family:var(--serif); font-size:17px; color:var(--text-dark); font-weight:500;}
@media (max-width:700px){ .wine-detail{grid-template-columns:1fr; text-align:center;} .wine-detail .mono-big{margin:0 auto;} .wine-detail .traits{justify-content:center;} }

/* ---------- Feature facts (terroir / visitas) ---------- */
.facts{display:grid; grid-template-columns:repeat(3,1fr); gap:44px; max-width:var(--maxw); margin:0 auto;}
.facts .fact{text-align:center; padding:0 10px;}
.facts .num{font-family:var(--serif); font-style:italic; font-size:15px; color:var(--gold); display:block; margin-bottom:10px;}
.facts h4{font-size:19px; margin-bottom:10px;}
.facts p{font-size:14.5px; color:var(--text-soft);}
.section-dark .facts p{color:var(--text-cream-soft);}
@media (max-width:760px){ .facts{grid-template-columns:1fr; gap:34px;} }

/* ---------- CTA band with blurred image backdrop ---------- */
.cta-band{position:relative; overflow:hidden; text-align:center; color:var(--text-cream); background:var(--ink);}
.cta-band img{position:absolute; inset:-20px; width:calc(100% + 40px); height:calc(100% + 40px); object-fit:cover; filter:blur(14px) brightness(.55) saturate(1.1); opacity:.85;}
.cta-band::after{content:''; position:absolute; inset:0; background:rgba(18,14,11,.55);}
.cta-band .inner{position:relative; z-index:2; max-width:640px; margin:0 auto;}
.cta-band h2{font-size:clamp(28px,4vw,42px); color:var(--text-cream); margin-bottom:20px;}
.cta-band p{color:var(--text-cream-soft); margin-bottom:34px; font-size:16.5px;}
.cta-band .hero-actions{margin-top:0;}

/* ---------- Timeline (historia) ---------- */
.timeline{list-style:none; margin:0 auto; padding:0; max-width:760px; border-left:1px solid var(--line-light);}
.timeline li{position:relative; padding:0 0 46px 40px;}
.timeline li:last-child{padding-bottom:0;}
.timeline li::before{
  content:''; position:absolute; left:-5px; top:6px; width:9px; height:9px; border-radius:50%;
  background:var(--gold);
}
.timeline .yr{font-family:var(--serif); font-style:italic; color:var(--gold); font-size:15px; margin-bottom:6px; display:block;}
.timeline h4{font-size:20px; margin-bottom:8px;}
.timeline p{color:var(--text-soft); font-size:15px; max-width:54ch;}

/* ---------- Contact ---------- */
.contact-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:64px;}
.contact-info dl{margin:0 0 34px; display:grid; gap:24px;}
.contact-info dt{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:5px;}
.contact-info dd{margin:0; font-family:var(--serif); font-size:20px;}
.contact-info dd a{text-decoration:none; border-bottom:1px solid var(--line-light);}
.map-frame{border:1px solid var(--line-light); filter:sepia(8%) saturate(85%);}
.map-frame iframe{width:100%; height:280px; border:0; display:block;}

form.contact-form{display:grid; gap:18px;}
.field{display:flex; flex-direction:column; gap:7px;}
.field label{font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-soft);}
.field input, .field select, .field textarea{
  font-family:var(--sans); font-size:15px; padding:14px 15px;
  border:1px solid var(--line-light); background:var(--cream-2); color:var(--text-dark);
}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--gold);}
.form-note{font-size:13.5px; color:var(--text-soft); display:none;}
.form-note.show{display:block;}

@media (max-width:860px){ .contact-grid{grid-template-columns:1fr;} }

/* ---------- Footer ---------- */
footer{background:var(--ink); color:var(--text-cream-soft); padding:70px 0 28px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:44px; padding-bottom:44px; border-bottom:1px solid var(--line-dark);}
.footer-brand{display:inline-flex; align-items:center; margin-bottom:18px; text-decoration:none;}
.footer-brand img{width:185px; height:auto; border-radius:0; filter:drop-shadow(0 4px 14px rgba(0,0,0,.18));}
footer p{color:var(--text-cream-soft); font-size:14px; max-width:32ch;}
footer h5{font-family:var(--sans); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-soft); margin-bottom:16px; font-weight:500;}
footer ul{list-style:none; margin:0; padding:0; display:grid; gap:11px;}
footer ul a{text-decoration:none; font-size:14.5px; color:var(--text-cream-soft);}
footer ul a:hover{color:var(--gold-soft);}
.footer-bottom{display:flex; justify-content:space-between; padding-top:24px; font-size:12.5px; color:#8A7A64; flex-wrap:wrap; gap:10px;}
@media (max-width:820px){ .footer-grid{grid-template-columns:1fr 1fr; row-gap:36px;} }
@media (max-width:520px){ .footer-grid{grid-template-columns:1fr;} }

/* ---------- WhatsApp floating button ---------- */
.wa-float{
  position:fixed; right:22px; bottom:22px; z-index:300;
  width:56px; height:56px; border-radius:50%; background:#25D366;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,.35);
  text-decoration:none;
}
.wa-float svg{width:28px; height:28px;}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0; transform:translateY(20px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1; transform:none;}


/* ---------- Real photo gallery ---------- */
.photo-story{overflow:hidden;}
.photo-grid{
  display:grid;
  grid-template-columns:1.35fr .8fr;
  grid-template-rows:repeat(2, minmax(210px, 1fr));
  gap:18px;
}
.photo-grid figure{margin:0; position:relative; overflow:hidden; min-height:250px; background:var(--ink-2);}
.photo-grid .photo-main{grid-row:1 / span 2; min-height:560px;}
.photo-grid img{width:100%; height:100%; object-fit:cover; transition:transform .7s ease;}
.photo-grid figure:hover img{transform:scale(1.025);}
.photo-grid figure::after{content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(18,14,11,.72), transparent 45%); pointer-events:none;}
.photo-grid figcaption{position:absolute; z-index:2; left:22px; bottom:18px; color:var(--text-cream); font-family:var(--serif); font-size:19px; letter-spacing:.02em;}
@media (max-width:820px){
  .photo-grid{grid-template-columns:1fr; grid-template-rows:auto;}
  .photo-grid .photo-main{grid-row:auto; min-height:380px;}
  .photo-grid figure{min-height:320px;}
}

/* ---------- Wine category cards ---------- */
.category-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.category-card{
  position:relative; min-height:290px; padding:34px; overflow:hidden;
  display:flex; flex-direction:column; justify-content:flex-end;
  text-decoration:none; color:var(--text-cream); background:var(--ink-2);
  border:1px solid rgba(180,136,78,.28); isolation:isolate;
  transition:transform .3s ease, border-color .3s ease;
}
.category-card::before{content:''; position:absolute; inset:0; z-index:-2; background-size:cover; background-position:center; transition:transform .6s ease;}
.category-card::after{content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(15,12,10,.10) 5%,rgba(15,12,10,.92) 88%);}
.category-card:hover{transform:translateY(-4px); border-color:var(--gold);}
.category-card:hover::before{transform:scale(1.035);}
.category-finos::before{background-image:url('assets/coleccion-cattani-calida.png');}
.category-mesa::before{background-image:url('assets/vinos-mesa-tetra-calida.png');}
.category-espumantes::before{background-image:url('assets/espumante-cattani-calido.png');}
.category-kicker{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-soft); margin-bottom:7px;}
.category-card h3{font-size:31px; line-height:1.05; margin-bottom:12px;}
.category-card p{font-size:14px; color:var(--text-cream-soft); max-width:30ch;}
.category-link{margin-top:12px; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-soft);}
.category-grid-compact .category-card{min-height:220px;}
.category-grid-compact .category-card p{display:none;}
@media (max-width:900px){.category-grid{grid-template-columns:1fr;}.category-card{min-height:230px;}}

/* ---------- Wine category sections ---------- */
.category-heading{margin-bottom:16px; padding-top:8px;}
.product-line-section{scroll-margin-top:90px;}
#finos{scroll-margin-top:90px;}
.line-showcase{display:grid; grid-template-columns:1fr 1fr; gap:62px; align-items:center;}
.line-showcase.reverse{direction:rtl;}
.line-showcase.reverse > *{direction:ltr;}
.line-image{overflow:hidden; min-height:470px;}
.line-image img{width:100%; height:100%; min-height:470px; object-fit:cover;}
.line-copy h2{font-size:clamp(32px,4vw,46px); margin-bottom:18px;}
.line-copy p{color:var(--text-soft); max-width:54ch;}
.line-features{display:flex; flex-wrap:wrap; gap:10px; margin:26px 0 30px;}
.line-features span{border:1px solid var(--line-light); padding:8px 12px; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-soft);}
@media (max-width:900px){
  .line-showcase{grid-template-columns:1fr; gap:34px;}
  .line-showcase.reverse{direction:ltr;}
  .line-image,.line-image img{min-height:330px;}
}


/* ---------- Vinos finos with real bottle images ---------- */
.finos-section{
  position:relative;
  background:linear-gradient(rgba(20,16,13,.70), rgba(20,16,13,.76)), url('assets/vinos-finos-fondo.jpg') center/cover no-repeat;
  color:var(--text-cream);
}
.finos-section .wrap{position:relative; z-index:1;}
.finos-head p{color:var(--text-cream-soft);}
.finos-intro{
  margin:0 auto 34px;
  padding:34px 38px;
  border:1px solid rgba(217,196,157,.25);
  background:rgba(24,18,14,.52);
  backdrop-filter:blur(6px);
  max-width:860px;
}
.finos-intro h3{font-size:clamp(26px,3vw,36px); margin-bottom:14px; color:var(--text-cream);}
.finos-intro p{color:var(--text-cream-soft); max-width:60ch;}
.bottle-layout{
  grid-template-columns:280px 1fr;
  gap:40px;
  align-items:center;
  padding:34px;
  margin:0 0 26px;
  border:1px solid rgba(217,196,157,.24);
  background:rgba(244,238,224,.96);
  box-shadow:0 18px 40px rgba(0,0,0,.12);
}
.bottle-layout .kind{color:var(--wine);}
.wine-bottle-card{
  margin:0;
  background:linear-gradient(180deg, #faf7f1 0%, #eee4d1 100%);
  border:1px solid #e1d2b4;
  min-height:100%;
  padding:22px 20px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
}
.wine-bottle-card > img{
  width:100%;
  max-width:210px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 12px 20px rgba(0,0,0,.18));
}
.bottle-variant{
  width:100%;
  display:flex;
  align-items:center;
  gap:12px;
  padding-top:12px;
  border-top:1px solid rgba(110,27,46,.14);
}
.bottle-variant img{width:54px; height:120px; object-fit:contain; flex:0 0 auto; filter:drop-shadow(0 6px 10px rgba(0,0,0,.14));}
.bottle-variant span{font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-soft);}
.finos-section .wine-detail h3, .finos-section .wine-detail .traits strong{color:var(--text-dark);}
.finos-section .wine-detail p, .finos-section .wine-detail .traits div{color:var(--text-soft);}
@media (max-width:800px){
  .bottle-layout{grid-template-columns:1fr; padding:24px;}
  .wine-bottle-card{padding:18px;}
  .wine-bottle-card > img{max-width:180px;}
  .finos-intro{padding:24px 22px;}
}

/* ---------- Identidad cálida: arena, terracota y vino ---------- */
body{background:radial-gradient(ellipse at 0 18%,#F0D9C555,transparent 48%),var(--cream);}
::selection{background:#E7BEA4;color:var(--text-dark);}
header{background:linear-gradient(110deg,rgba(53,34,28,.97),rgba(39,27,25,.95));border-bottom-color:#E1BA8B33;}
.nav-row{padding:16px 40px;}
.brand img{width:190px;}
nav.links{gap:28px;}
nav.links a{font-size:12px;letter-spacing:.12em;}
.btn{min-height:48px;justify-content:center;box-shadow:0 5px 16px #45251D08;}
.btn.wine{background:linear-gradient(115deg,#944C4C,var(--wine-deep));border-color:transparent;box-shadow:0 8px 24px #59293422;}
.btn.wine:hover{background:linear-gradient(115deg,#7B393E,#49212C);}
.btn.gold{background:linear-gradient(115deg,#F0D7AF,#D8B181);color:#38251F;border-color:transparent;}
.btn.gold:hover{background:linear-gradient(115deg,#F8E4C5,#E3BC8E);color:#38251F;}
.btn.line{border-color:#B9957C;background:#FFF9F14D;}
.btn.line:hover{background:#38251F;}
.hero{min-height:80vh;margin:18px 20px 0;border-radius:32px 32px 110px 32px;background:#402D28;}
.hero img.bg{opacity:.7;}
.hero::after{background:linear-gradient(110deg,rgba(67,36,28,.78),rgba(79,43,38,.4) 55%,rgba(39,24,24,.65)),linear-gradient(0deg,#38251FB3,transparent 65%);}
.hero-content{max-width:900px;padding:36px;}
.hero-content h1{text-transform:none;font-weight:500;font-size:clamp(48px,7.5vw,96px);letter-spacing:-.035em;line-height:1.02;text-wrap:balance;}
.hero-content .sub{font-size:clamp(20px,2.2vw,25px);color:#F1E2D2;max-width:580px;margin:26px auto 34px;}
.hero-content .eyebrow{letter-spacing:.24em;font-size:11px;}
.hero.small{min-height:43vh;border-bottom-right-radius:90px;}
.hero.small .hero-content h1{font-size:clamp(46px,6vw,72px);}
section{padding:96px 0;}
.section-head h2,.split-copy h2,.line-copy h2,.cta-band h2{letter-spacing:-.025em;line-height:1.13;text-wrap:balance;}
.section-head{margin-bottom:48px;}
.section-alt{background:linear-gradient(180deg,var(--cream),#F0E1D0 30%,#F3E6D9 70%,var(--cream));}
.section-dark{background:radial-gradient(ellipse at 90% 0,#80514455,transparent 65%),linear-gradient(135deg,#3A2925,#231B1A);border-radius:64px; margin:0 20px;}
.section-dark .num,.finos-section .eyebrow{color:var(--gold-soft);}
.split{gap:64px;}
.split > img{border-radius:100px 24px 100px 24px;box-shadow:0 24px 50px #57372618;max-height:620px;}
.split.reverse > img{border-radius:24px 100px 24px 100px;}
.category-card{border-radius:28px;min-height:320px;padding:30px;border-color:#B98C6355;box-shadow:0 14px 32px #57372615;}
.category-card::after{background:linear-gradient(180deg,#4D2B2010,#38251FF2 95%);}
.category-card h3{font-size:35px;}
.category-link{align-self:flex-start;border-bottom:1px solid #D9C49D66;padding-bottom:5px;}
.photo-grid{gap:22px;}
.photo-grid figure{border-radius:28px;}
.photo-grid .photo-main{border-radius:80px 28px 28px 28px;}
.photo-grid figcaption{left:26px;bottom:24px;}
.cta-band{margin:24px 20px 40px;border-radius:64px 24px; background:linear-gradient(120deg,#6D4138,#3A2529);}
.cta-band::after{background:linear-gradient(115deg,#6D4138B3,#3A2529B3);}
.cta-band h2{font-size:clamp(36px,4vw,52px);}
.timeline{border-color:#CDB09A;}
.timeline li::before{box-shadow:0 0 0 6px #EDDCCB;}
.facts .fact{padding:26px 20px;border:1px solid #E1BA8B26;border-radius:24px;background:#FFEAD508;}
.finos-section{border-radius:64px;margin:0 20px;background-image:linear-gradient(120deg,#402923EB,#3E2B26DB),url('assets/vinos-finos-fondo.jpg');}
.finos-intro{border-radius:24px;background:#EFD8BE0A;}
.bottle-layout{border-radius:28px;background:linear-gradient(120deg,#FFF9F2,#F1E3D3);box-shadow:0 12px 34px #2014111A;}
.wine-bottle-card{
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
  min-height:0;
  mix-blend-mode:multiply;
}
.wine-bottle-card > img{
  width:100%;
  max-width:280px;
  height:380px;
  object-fit:contain;
  filter:none;
}
.line-image{border-radius:80px 24px 24px 24px;}
.line-showcase.reverse .line-image{border-radius:24px 80px 24px 24px;}
.line-features span{border-radius:999px;background:#FFF9F166;}
.contact-form{padding:34px;border:1px solid #DFCBBA;background:linear-gradient(135deg,#FFFCF7,#F3E5D6);border-radius:30px;box-shadow:0 18px 42px #5737260D;min-width:0;}
.field input,.field select,.field textarea{border-radius:14px;background:#FFFCF8;min-width:0;width:100%;}
.field textarea{resize:vertical;}
.map-frame{border-radius:24px;overflow:hidden;}
footer{background:radial-gradient(ellipse at 0 0,#714B3955,transparent 60%),#2B201D;border-radius:48px 48px 0 0;}
.footer-bottom{color:#C1A78D;}
.wa-float{box-shadow:0 8px 24px #38251F30;}
:focus-visible{outline:3px solid #AB703D;outline-offset:5px;}
.hero :focus-visible,header :focus-visible,footer :focus-visible,.section-dark :focus-visible{outline-color:#F1D6AA;}
@media (max-width:900px){
  .nav-row{padding:14px 28px;}
  .split{gap:34px;}
  nav.links{top:100%;bottom:auto;max-height:calc(100dvh - 85px);background:linear-gradient(135deg,#3A2925,#231B1A);border-radius:0 0 24px 24px;visibility:hidden;pointer-events:none;}
  nav.links.open{visibility:visible;pointer-events:auto;}
  .category-card{min-height:250px;}
  .section-dark,.finos-section{border-radius:36px;}
}
@media (max-width:640px){
  .nav-row{padding:12px 22px;gap:16px;}
  .brand img{width:156px;}
  #menu-toggle{padding:10px;min-width:44px;min-height:44px;}
  section{padding:68px 0;}
  .hero{margin:10px 10px 0;min-height:74svh;border-radius:24px 24px 62px 24px;}
  .hero-content{padding:20px;}
  .hero.small{min-height:40svh;border-bottom-right-radius:62px;}
  .hero-content h1{font-size:clamp(42px,11vw,64px);}
  .hero-actions{gap:12px;}
  .hero-actions .btn{padding:14px 23px;}
  .section-dark,.finos-section{margin:0 10px;border-radius:30px;}
  .split > img,.split.reverse > img{border-radius:54px 20px;}
  .category-card{padding:26px;border-radius:24px;}
  .photo-grid .photo-main{border-radius:48px 22px 22px 22px;}
  .cta-band{margin:10px 10px 28px;border-radius:40px 20px;}
  .contact-form{padding:24px 20px;}
  .bottle-layout{padding:20px;border-radius:24px;}
  .wine-bottle-card{padding:0;}
  .wine-bottle-card > img{max-width:260px;height:340px;}
  .line-image,.line-showcase.reverse .line-image{border-radius:48px 20px;}
  footer{border-radius:32px 32px 0 0;}
}

/* Colección completa: imagen sin recortes y texto sobre fondo claro. */
.category-card.category-finos,.category-card.category-mesa,.category-card.category-espumantes,.category-card.category-jugo{
  padding-top:calc(66.667% + 18px);
  justify-content:flex-start;
  background:linear-gradient(145deg,#F7EBD9,#EED8BD);
  color:var(--text-dark);
}
.category-card.category-finos::before,.category-card.category-mesa::before,.category-card.category-espumantes::before,.category-card.category-jugo::before{
  inset:0 0 auto;
  aspect-ratio:3 / 2;
  background-size:100% 100%;
  background-repeat:no-repeat;
  transform:none;
}
.category-card.category-finos::after,.category-card.category-mesa::after,.category-card.category-espumantes::after,.category-card.category-jugo::after{display:none;}
.category-finos .category-kicker,.category-finos .category-link,.category-mesa .category-kicker,.category-mesa .category-link{color:#75492E;}
.category-finos .category-link,.category-mesa .category-link{border-color:#A67C59;}
.category-finos p,.category-mesa p{color:var(--text-soft);}
.category-espumantes .category-kicker,.category-espumantes .category-link{color:#75492E;}
.category-espumantes .category-link{border-color:#A67C59;}
.category-espumantes p{color:var(--text-soft);}
#mesa .line-image,#espumantes .line-image{min-height:0;}
#mesa .line-image img,#espumantes .line-image img{height:auto;min-height:0;aspect-ratio:3 / 2;object-fit:contain;}

/* Cuatro familias de productos, con imágenes completas. */
.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.category-jugo::before{background-image:url('assets/jugo-uva-cattani-calido.png');}
.category-jugo .category-kicker,.category-jugo .category-link{color:#75492E;}
.category-jugo .category-link{border-color:#A67C59;}
.category-jugo p{color:var(--text-soft);}
#jugo .line-image{min-height:0;}
#jugo .line-image img{height:auto;min-height:0;aspect-ratio:3 / 2;object-fit:contain;}
@media (max-width:640px){.category-grid{grid-template-columns:minmax(0,1fr);}}

/* Redes sociales: icono, nombre y señal de enlace externo. */
footer a.social-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:10px 14px;
  border:1px solid #D9C49D55;
  border-radius:14px;
  background:linear-gradient(120deg,#EAD1AE0D,#EAD1AE05);
  color:#EAD1AE;
  transition:background .2s ease,border-color .2s ease;
}
.social-link img{width:22px;height:22px;flex-shrink:0;}
.social-arrow{font-size:17px;margin-left:4px;}
footer a.social-link:hover,footer a.social-link:focus-visible{
  background:#EAD1AE1F;
  border-color:#EAD1AE;
  color:#FFF5E5;
}
footer a.social-link:hover span:first-of-type{text-decoration:underline;text-underline-offset:4px;}

/* Fotografías reales: corrección cálida sutil, originales intactos. */
img.real-photo{filter:sepia(.12) saturate(.94) brightness(1.07);object-position:center 62%;}
.split > img.real-photo{height:auto;aspect-ratio:4 / 3;max-height:none;}
.hero img.real-photo{object-position:center 65%;opacity:.82;}
@media (max-width:900px){.split > img.real-photo{aspect-ratio:4 / 3;}}

/* Recorridos más breves y contacto directo. */
.wine-category-nav{padding:32px 0 42px;}
.catalog-shortcuts{display:flex;flex-wrap:wrap;gap:12px;}
.catalog-shortcuts .category-card{
  flex:1 1 190px;min-height:0;padding:20px 22px;
  border-radius:20px;box-shadow:none;justify-content:center;
}
.catalog-shortcuts .category-card::before,.catalog-shortcuts .category-card::after{display:none;}
.catalog-shortcuts .category-kicker{display:none;}
.catalog-shortcuts .category-card h3{font-size:27px;margin:0;}
.catalog-shortcuts .category-link{margin-top:8px;font-size:11px;}
.hero.small.contact-hero{min-height:240px;padding:32px 0;}
.contact-hero .hero-content .sub{margin:16px auto 0;}
.contact-grid{align-items:start;}
.contact-panel{padding:36px;border:1px solid var(--line-light);border-radius:30px;background:linear-gradient(135deg,#FFFCF7,#F3E5D6);}
.contact-panel h2{font-size:38px;line-height:1.12;margin-bottom:20px;}
.contact-panel p{color:var(--text-soft);}
.contact-panel .btn{margin:8px 0 12px;}
.contact-panel-detail{margin-top:24px;padding-top:22px;border-top:1px solid var(--line-light);}
.contact-panel-detail h3{font-size:24px;margin-bottom:8px;}
.reveal{opacity:1;transform:none;}
@media(max-width:640px){
  .catalog-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .catalog-shortcuts .category-card{padding:16px 12px;}
  .catalog-shortcuts .category-card h3{font-size:24px;}
  .catalog-shortcuts .category-link{letter-spacing:.03em;font-size:10px;}
  .contact-panel{padding:26px 22px;}
  .contact-panel h2{font-size:32px;}
}
