:root{
  --burgundy:#4a1820;
  --burgundy-dark:#2e0e14;
  --burgundy-deep:#1a0709;
  --gold:#b08d4f;
  --gold-light:#cba974;
  --gold-deep:#8a6c34;
  --parchment:#f5ecd9;
  --parchment-warm:#ede2cb;
  --parchment-deep:#e0d2b3;
  --ink:#1f1612;
  --ink-soft:#3a2f28;
  --moss:#4a5d3a;
  --moss-deep:#324024;
  --shadow-warm:rgba(74,24,32,.18);
  --shadow-soft:rgba(31,22,18,.12);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}

body{
  font-family:'Lora',Georgia,serif;
  background:var(--parchment);
  color:var(--ink);
  line-height:1.7;
  font-size:17px;
  overflow-x:hidden;
  background-image:
    radial-gradient(ellipse at top left,rgba(176,141,79,.06),transparent 60%),
    radial-gradient(ellipse at bottom right,rgba(74,24,32,.05),transparent 60%);
}

/* Subtle paper texture overlay */
body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1;
  opacity:.35;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.4  0 0 0 0 0.3  0 0 0 0 0.2  0 0 0 0.08 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
  mix-blend-mode:multiply;
}

/* Typography */
h1,h2,h3,h4,.display{
  font-family:'Cormorant Garamond',serif;
  font-weight:400;
  letter-spacing:.005em;
  color:var(--burgundy-dark);
}
.smallcaps{
  font-family:'Cormorant SC',serif;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
}

a{color:var(--burgundy);text-decoration:none;transition:color .3s}
a:hover{color:var(--gold-deep)}

/* ===== NAVIGATION ===== */
nav.topbar{
  position:fixed;
  top:0;left:0;right:0;
  z-index:100;
  padding:18px 48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  transition:all .4s ease;
  background:transparent;
}
nav.topbar.scrolled{
  background:rgba(245,236,217,.96);
  backdrop-filter:blur(8px);
  box-shadow:0 1px 30px var(--shadow-soft);
  padding:14px 48px;
}

.brand{
  display:flex;
  align-items:center;
  cursor:pointer;
  height:54px;
}
.brand-mark{
  height:100%;
  position:relative;
  display:block;
  flex-shrink:0;
}
.brand-mark img{
  height:100%;
  width:auto;
  display:block;
  position:absolute;
  top:0;left:0;
  transition:opacity .4s ease;
}
.brand-mark img.dark{opacity:0}
nav.topbar.scrolled .brand-mark img.light{opacity:0}
nav.topbar.scrolled .brand-mark img.dark{opacity:1}
/* Reserve space using a placeholder so layout doesn't jump */
.brand-mark::after{
  content:'';
  display:block;
  height:100%;
  /* aspect of the logo is roughly 142:120 = 1.18 */
  width:64px;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:38px;
  list-style:none;
}
.nav-links a{
  font-family:'Cormorant SC',serif;
  font-size:11px;
  letter-spacing:.24em;
  font-weight:500;
  color:var(--parchment);
  position:relative;
  padding:6px 0;
  transition:color .4s;
}
.nav-links a::after{
  content:'';
  position:absolute;
  left:50%;bottom:0;
  width:0;height:1px;
  background:var(--gold);
  transition:all .35s ease;
  transform:translateX(-50%);
}
.nav-links a:hover::after{width:100%}
nav.topbar.scrolled .nav-links a{color:var(--ink-soft)}
nav.topbar.scrolled .nav-links a:hover{color:var(--burgundy)}

.lang-switch{
  display:flex;
  gap:0;
  align-items:center;
  border:1px solid rgba(245,236,217,.4);
  border-radius:2px;
  overflow:hidden;
  transition:border-color .4s;
}
nav.topbar.scrolled .lang-switch{border-color:rgba(74,24,32,.25)}
.lang-switch button{
  background:none;
  border:none;
  color:var(--parchment);
  font-family:'Cormorant SC',serif;
  font-size:11px;
  letter-spacing:.18em;
  font-weight:500;
  padding:7px 11px;
  cursor:pointer;
  transition:all .25s;
  border-right:1px solid rgba(245,236,217,.25);
}
.lang-switch button:last-child{border-right:none}
nav.topbar.scrolled .lang-switch button{
  color:var(--ink-soft);
  border-right-color:rgba(74,24,32,.18);
}
.lang-switch button.active{
  background:var(--gold);
  color:var(--burgundy-deep);
}
.lang-switch button:hover:not(.active){
  background:rgba(176,141,79,.2);
  color:var(--gold-light);
}
nav.topbar.scrolled .lang-switch button:hover:not(.active){
  background:rgba(176,141,79,.15);
  color:var(--burgundy);
}

.menu-toggle{
  display:none;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px;
}
.menu-toggle span{
  display:block;
  width:24px;height:2px;
  background:var(--parchment);
  margin:5px 0;
  transition:all .3s;
}
nav.topbar.scrolled .menu-toggle span{background:var(--burgundy-dark)}

/* ===== HERO ===== */
.hero{
  position:relative;
  min-height:100vh;
  display:grid;
  place-items:center;
  text-align:center;
  color:var(--parchment);
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  --hero-bg: url('../images/SchenekWinery_2.webp');
  background:
    linear-gradient(180deg,rgba(26,7,9,.5) 0%,rgba(26,7,9,.65) 60%,rgba(26,7,9,.85) 100%),
    var(--hero-bg) center/cover no-repeat;
  z-index:-1;
  animation:slowZoom 24s ease-in-out infinite alternate;
}
@keyframes slowZoom{
  from{transform:scale(1)}
  to{transform:scale(1.08)}
}

.hero-content{
  position:relative;
  z-index:2;
  padding:0 24px;
  max-width:900px;
  animation:fadeUp 1.6s ease-out .3s both;
}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(30px)}
  to{opacity:1;transform:translateY(0)}
}

.hero-eyebrow{
  font-family:'Cormorant SC',serif;
  font-size:13px;
  letter-spacing:.42em;
  color:var(--gold-light);
  margin-bottom:30px;
  font-weight:500;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
}
.hero-eyebrow::before,.hero-eyebrow::after{
  content:'';
  width:60px;height:1px;
  background:var(--gold);
  opacity:.7;
}

.hero-logo{
  margin-bottom:34px;
  display:flex;
  justify-content:center;
}
.hero-logo img{
  width:clamp(220px,32vw,360px);
  height:auto;
  display:block;
  filter:drop-shadow(0 4px 24px rgba(0,0,0,.3));
}

.hero-subtitle{
  font-family:'Lora',serif;
  font-style:italic;
  font-size:clamp(16px,1.6vw,21px);
  font-weight:400;
  max-width:620px;
  margin:0 auto 48px;
  opacity:.92;
  line-height:1.6;
  color:var(--parchment-warm);
}

.hero-cta{
  display:inline-flex;
  align-items:center;
  gap:14px;
  padding:18px 44px;
  background:transparent;
  border:1px solid var(--gold);
  color:var(--parchment);
  font-family:'Cormorant SC',serif;
  font-size:12px;
  letter-spacing:.28em;
  font-weight:500;
  cursor:pointer;
  transition:all .4s ease;
  text-transform:uppercase;
  position:relative;
  overflow:hidden;
}
.hero-cta::before{
  content:'';
  position:absolute;inset:0;
  background:var(--gold);
  transform:translateX(-101%);
  transition:transform .5s ease;
  z-index:-1;
}
.hero-cta:hover::before{transform:translateX(0)}
.hero-cta:hover{
  color:var(--burgundy-deep);
  border-color:var(--gold);
}
.hero-cta svg{transition:transform .4s}
.hero-cta:hover svg{transform:translateX(6px)}

.hero-scroll{
  position:absolute;
  bottom:36px;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  font-family:'Cormorant SC',serif;
  font-size:10px;
  letter-spacing:.32em;
  color:var(--parchment);
  opacity:.7;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  animation:bob 3s ease-in-out infinite;
}
@keyframes bob{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(8px)}
}
.hero-scroll-line{
  width:1px;height:50px;
  background:linear-gradient(180deg,var(--gold) 0%,transparent 100%);
}

/* ===== SECTION COMMONS ===== */
section{
  padding:120px 24px;
  position:relative;
  z-index:2;
}
.container{max-width:1240px;margin:0 auto}

.section-eyebrow{
  font-family:'Cormorant SC',serif;
  font-size:11px;
  letter-spacing:.36em;
  color:var(--gold-deep);
  font-weight:500;
  margin-bottom:18px;
  display:inline-block;
}
.section-title{
  font-size:clamp(40px,5.5vw,68px);
  line-height:1.05;
  margin-bottom:24px;
  font-weight:400;
}
.section-title em{font-style:italic;color:var(--gold-deep);font-weight:300}

.divider-vine{
  display:flex;
  align-items:center;
  justify-content:center;
  margin:50px auto;
  gap:18px;
  max-width:240px;
}
.divider-vine .line{
  flex:1;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);
}
.divider-vine svg{
  width:32px;height:32px;
  color:var(--gold);
  flex-shrink:0;
}

/* ===== ABOUT SECTION ===== */
#about{
  background:var(--parchment-warm);
  position:relative;
}
#about::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold) 70%,transparent);
  opacity:.4;
}

.about-grid{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:90px;
  align-items:center;
}

.about-text p{
  margin-bottom:22px;
  color:var(--ink-soft);
  font-size:17px;
  line-height:1.85;
}
.about-text p:first-of-type::first-letter{
  font-family:'Cormorant Garamond',serif;
  font-size:88px;
  float:left;
  line-height:.85;
  margin:8px 14px -4px 0;
  color:var(--burgundy);
  font-weight:500;
}

.about-signature{
  margin-top:36px;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:24px;
  color:var(--burgundy);
}
.about-signature small{
  display:block;
  font-family:'Cormorant SC',serif;
  font-size:10px;
  letter-spacing:.28em;
  color:var(--gold-deep);
  margin-top:6px;
  font-style:normal;
}

.about-image{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  box-shadow:30px 30px 0 -15px var(--burgundy),35px 35px 60px -10px rgba(0,0,0,.25);
  border:1px solid rgba(74,24,32,.15);
}
.about-image img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform 1.5s ease;
}
.about-image:hover img{transform:scale(1.04)}
.about-image-tag{
  position:absolute;
  bottom:24px;left:24px;
  background:var(--parchment);
  padding:14px 22px;
  font-family:'Cormorant SC',serif;
  font-size:10px;
  letter-spacing:.3em;
  color:var(--burgundy);
  border-left:2px solid var(--gold);
}

/* ===== STATS / VINEYARD ===== */
.stats-strip{
  background:var(--burgundy-dark);
  color:var(--parchment);
  padding:80px 24px;
  position:relative;
  overflow:hidden;
}
.stats-strip::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80'><path d='M40 10 Q50 25 40 40 Q30 25 40 10 M40 40 Q50 55 40 70 Q30 55 40 40' fill='none' stroke='%23b08d4f' stroke-width='.5' opacity='.15'/></svg>");
  opacity:.5;
}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px;
  position:relative;
  text-align:center;
}
.stat{position:relative}
.stat:not(:last-child)::after{
  content:'';
  position:absolute;
  right:-20px;top:20%;bottom:20%;
  width:1px;
  background:linear-gradient(180deg,transparent,var(--gold) 50%,transparent);
  opacity:.4;
}
.stat-number{
  font-family:'Cormorant Garamond',serif;
  font-size:64px;
  font-weight:300;
  color:var(--gold-light);
  line-height:1;
  margin-bottom:12px;
}
.stat-label{
  font-family:'Cormorant SC',serif;
  font-size:11px;
  letter-spacing:.3em;
  color:var(--parchment-warm);
  opacity:.85;
}

/* ===== WINES ===== */
#wines{padding:140px 24px}
.wines-header{
  text-align:center;
  margin-bottom:90px;
  max-width:680px;
  margin-left:auto;
  margin-right:auto;
}
.wines-header p{
  margin-top:24px;
  font-style:italic;
  font-size:19px;
  color:var(--ink-soft);
}

.wines-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:50px;
}
/* 1.4.0: 5-oszlopos elrendezés a Schenek 5 borához (fényképekkel).
   Korábbi --four megmarad backwards-compat miatt. */
.wines-grid--four{
  grid-template-columns:repeat(4,1fr);
  gap:32px;
}
.wines-grid--five{
  grid-template-columns:repeat(5,1fr);
  gap:24px;
}
/* 1.4.0: 3-oszlopos grid a Speciális tételekhez (Vermut, Pálinka, Pét-nat) —
   ugyanazt a kártya-stílust használja, mint a borok. */
.wines-grid--three{
  grid-template-columns:repeat(3,1fr);
  gap:36px;
  max-width:1100px;
  margin:0 auto;
}

/* Speciális tételek szekció - kicsit sötétebb háttérrel, hogy elkülönüljön */
.specials-section{
  background:linear-gradient(180deg, var(--parchment) 0%, var(--parchment-deep) 100%);
  position:relative;
}
.specials-section::before{
  content:'';
  position:absolute;
  top:0;left:50%;transform:translateX(-50%);
  width:100px;height:1px;
  background:var(--gold);
  opacity:.4;
}

.wine-card{
  position:relative;
  background:var(--parchment-warm);
  padding:44px 36px 40px;
  border:1px solid rgba(74,24,32,.1);
  transition:all .5s ease;
  cursor:default;
  overflow:hidden;
}
.wines-grid--four .wine-card{
  /* Kicsit szűkebb belső térköz a 4-kártyás layoutban */
  padding:36px 26px 34px;
}
.wines-grid--five .wine-card{
  /* Még szűkebb a 5-kártyás layouthoz */
  padding:30px 20px 28px;
}
.wine-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .6s ease;
}
.wine-card:hover::before{transform:scaleX(1)}
.wine-card:hover{
  transform:translateY(-6px);
  box-shadow:0 30px 60px -20px var(--shadow-warm);
}

.wine-bottle{
  width:100%;
  aspect-ratio:1/1.2;
  background:linear-gradient(180deg,var(--parchment-deep) 0%,var(--parchment-warm) 100%);
  margin-bottom:32px;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  border-radius:2px;
}
/* 1.4.2: külön --photo modifier a fényképes kártyákhoz. Ez teljesen
   felülírja a base aspect-ratio-t, eltávolítja az overflow:hidden-t és
   a háttér-gradienst, hogy a palack a saját arányban, csonkolatlanul
   jelenjen meg. Nem függ a :has() szelektortól (kompatibilis). */
.wine-bottle--photo{
  aspect-ratio:auto;
  background:transparent;
  overflow:visible;
  height:auto;
  min-height:380px;
  padding:0;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  margin-bottom:24px;
  border-radius:0;
}
.wine-bottle--photo img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:380px;
  margin:0 auto;
  filter:drop-shadow(0 10px 20px rgba(74,24,32,.22));
  transition:transform .6s ease;
}
.wine-card:hover .wine-bottle--photo img{
  transform:translateY(-4px) scale(1.02);
}
/* Per-grid méretkonfigurációk */
.wines-grid--four .wine-bottle--photo{min-height:360px}
.wines-grid--four .wine-bottle--photo img{max-height:360px}
.wines-grid--five .wine-bottle--photo{min-height:340px}
.wines-grid--five .wine-bottle--photo img{max-height:340px}
.wines-grid--three .wine-bottle--photo{min-height:400px}
.wines-grid--three .wine-bottle--photo img{max-height:400px}

.wine-bottle svg{
  width:55%;height:auto;
  filter:drop-shadow(0 6px 18px rgba(74,24,32,.3));
}
.wine-bottle-tag{
  position:absolute;
  top:14px;right:14px;
  font-family:'Cormorant SC',serif;
  font-size:9px;
  letter-spacing:.25em;
  color:var(--gold-deep);
  background:var(--parchment);
  padding:5px 10px;
  border:1px solid var(--gold);
  z-index:2;
}

.wine-meta{
  font-family:'Cormorant SC',serif;
  font-size:10px;
  letter-spacing:.32em;
  color:var(--gold-deep);
  margin-bottom:12px;
}
.wine-name{
  font-size:30px;
  margin-bottom:14px;
  line-height:1.1;
}
.wine-desc{
  font-size:15px;
  color:var(--ink-soft);
  margin-bottom:22px;
  font-style:italic;
  line-height:1.7;
}
.wine-notes{
  font-family:'Cormorant SC',serif;
  font-size:10px;
  letter-spacing:.18em;
  color:var(--burgundy);
  padding-top:18px;
  border-top:1px solid rgba(74,24,32,.15);
}

/* ===== CELLAR / PRÉSHÁZ ===== */
#cellar{
  background:var(--burgundy-deep);
  color:var(--parchment);
  position:relative;
  overflow:hidden;
  padding:160px 24px;
}
.cellar-bg{
  position:absolute;
  inset:0;
  --cellar-bg: url('../images/SchenekWinery_1.webp');
  background:
    linear-gradient(180deg,rgba(26,7,9,.85) 0%,rgba(26,7,9,.92) 100%),
    var(--cellar-bg) center/cover no-repeat;
  opacity:.95;
}
.cellar-content{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
  align-items:center;
}
#cellar .section-eyebrow{color:var(--gold-light)}
#cellar .section-title{color:var(--parchment)}
#cellar .section-title em{color:var(--gold-light)}
.cellar-text p{
  color:var(--parchment-warm);
  font-size:17px;
  line-height:1.85;
  margin-bottom:20px;
  opacity:.92;
}
.cellar-features{
  list-style:none;
  margin-top:34px;
  display:grid;
  gap:16px;
}
.cellar-features li{
  display:flex;
  align-items:flex-start;
  gap:18px;
  padding:14px 0;
  border-bottom:1px solid rgba(176,141,79,.18);
  font-family:'Cormorant Garamond',serif;
  font-size:18px;
  color:var(--parchment-warm);
}
.cellar-features svg{
  width:22px;height:22px;
  color:var(--gold);
  flex-shrink:0;
  margin-top:2px;
}

.cellar-image{
  aspect-ratio:4/5;
  --cellar-image-bg: url('../images/SchenekWinery_5.webp');
  background:var(--cellar-image-bg) center/cover no-repeat;
  position:relative;
  border:1px solid rgba(176,141,79,.3);
}
.cellar-image::after{
  content:'';
  position:absolute;
  inset:-12px;
  border:1px solid rgba(176,141,79,.4);
  pointer-events:none;
}

/* ===== TASTING / EXPERIENCE ===== */
#tasting{
  background:var(--parchment-warm);
  text-align:center;
  padding:140px 24px;
}
.tasting-header{
  max-width:680px;
  margin:0 auto 80px;
}
.tasting-header p{
  font-style:italic;
  font-size:19px;
  color:var(--ink-soft);
  margin-top:24px;
}

.experience-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:36px;
  text-align:left;
}

.experience-card{
  background:var(--parchment);
  padding:50px 38px;
  position:relative;
  border:1px solid rgba(74,24,32,.12);
  transition:all .4s ease;
}
.experience-card:hover{
  background:var(--burgundy-dark);
  color:var(--parchment);
  transform:translateY(-4px);
  box-shadow:0 30px 60px -20px var(--shadow-warm);
}
.experience-card:hover .exp-name,
.experience-card:hover .exp-desc,
.experience-card:hover .exp-detail,
.experience-card:hover .exp-price{color:var(--parchment)}
.experience-card:hover .exp-icon{color:var(--gold-light)}
.experience-card:hover .exp-eyebrow{color:var(--gold-light)}

.exp-icon{
  width:48px;height:48px;
  color:var(--burgundy);
  margin-bottom:28px;
  transition:color .4s;
}
.exp-eyebrow{
  font-family:'Cormorant SC',serif;
  font-size:10px;
  letter-spacing:.3em;
  color:var(--gold-deep);
  margin-bottom:14px;
  display:block;
  transition:color .4s;
}
.exp-name{
  font-family:'Cormorant Garamond',serif;
  font-size:32px;
  font-weight:400;
  margin-bottom:18px;
  color:var(--burgundy-dark);
  transition:color .4s;
  line-height:1.1;
}
.exp-desc{
  font-size:15px;
  color:var(--ink-soft);
  margin-bottom:26px;
  line-height:1.75;
  transition:color .4s;
}
.exp-detail{
  font-family:'Cormorant SC',serif;
  font-size:10px;
  letter-spacing:.22em;
  color:var(--ink-soft);
  padding-top:22px;
  border-top:1px solid rgba(74,24,32,.18);
  display:flex;
  justify-content:space-between;
  transition:color .4s;
}
.exp-price{
  font-family:'Cormorant Garamond',serif;
  font-size:22px;
  letter-spacing:0;
  text-transform:none;
  color:var(--burgundy);
  font-weight:500;
  transition:color .4s;
}

/* ===== VISIT / CONTACT ===== */
#visit{
  padding:140px 24px;
  background:var(--parchment);
}
.visit-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
}

.visit-info-block{margin-bottom:42px}
.visit-info-block:last-child{margin-bottom:0}
.visit-info-label{
  font-family:'Cormorant SC',serif;
  font-size:10px;
  letter-spacing:.32em;
  color:var(--gold-deep);
  margin-bottom:14px;
  display:flex;
  align-items:center;
  gap:14px;
}
.visit-info-label::before{
  content:'';
  width:30px;height:1px;
  background:var(--gold);
}
.visit-info-content{
  font-family:'Cormorant Garamond',serif;
  font-size:23px;
  color:var(--burgundy-dark);
  line-height:1.5;
  font-weight:400;
}
.visit-info-content strong{font-weight:500}
.visit-info-content small{
  display:block;
  font-family:'Lora',serif;
  font-size:14px;
  font-style:italic;
  color:var(--ink-soft);
  margin-top:6px;
}

.contact-form{
  background:var(--parchment-warm);
  padding:54px 48px;
  border:1px solid rgba(74,24,32,.12);
  position:relative;
}
.contact-form::before{
  content:'';
  position:absolute;
  top:-1px;left:-1px;right:-1px;
  height:3px;
  background:var(--gold);
}

.form-title{
  font-family:'Cormorant Garamond',serif;
  font-size:32px;
  margin-bottom:8px;
  color:var(--burgundy-dark);
}
.form-subtitle{
  font-style:italic;
  color:var(--ink-soft);
  margin-bottom:34px;
  font-size:15px;
}

.form-row{margin-bottom:22px}
.form-row label{
  display:block;
  font-family:'Cormorant SC',serif;
  font-size:10px;
  letter-spacing:.28em;
  color:var(--gold-deep);
  margin-bottom:8px;
  font-weight:500;
}
.form-row input,
.form-row textarea,
.form-row select{
  width:100%;
  background:var(--parchment);
  border:none;
  border-bottom:1px solid rgba(74,24,32,.3);
  padding:12px 4px;
  font-family:'Lora',serif;
  font-size:16px;
  color:var(--ink);
  transition:border-color .3s;
  outline:none;
}
.form-row input:focus,
.form-row textarea:focus,
.form-row select:focus{border-color:var(--burgundy)}
.form-row textarea{
  resize:vertical;
  min-height:100px;
  font-family:'Lora',serif;
}
.form-row select{
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%234a1820' stroke-width='1.5' fill='none'/></svg>");
  background-repeat:no-repeat;
  background-position:right 6px center;
}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}

.form-submit{
  margin-top:14px;
  width:100%;
  padding:18px;
  background:var(--burgundy);
  color:var(--parchment);
  border:none;
  font-family:'Cormorant SC',serif;
  font-size:11px;
  letter-spacing:.32em;
  font-weight:500;
  cursor:pointer;
  transition:all .3s;
  text-transform:uppercase;
}
.form-submit:hover{
  background:var(--burgundy-dark);
  letter-spacing:.36em;
}

.form-success{
  display:none;
  text-align:center;
  padding:30px 0;
  font-family:'Cormorant Garamond',serif;
  font-size:22px;
  font-style:italic;
  color:var(--moss);
}
.form-success.visible{display:block}

/* ===== FOOTER ===== */
footer{
  background:var(--burgundy-deep);
  color:var(--parchment-warm);
  padding:80px 24px 36px;
  position:relative;
  z-index:2;
}
.footer-grid{
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:60px;
  margin-bottom:60px;
}
.footer-brand{padding-right:30px}
.footer-brand .brand-mark{margin-bottom:18px}
.footer-brand .brand-mark .stroke{stroke:var(--gold)}
.footer-brand .brand-mark .fill{fill:var(--gold)}
.footer-brand h3{
  font-size:32px;
  color:var(--parchment);
  margin-bottom:14px;
  font-weight:400;
}
.footer-brand p{
  font-style:italic;
  font-size:15px;
  opacity:.75;
  line-height:1.7;
}

.footer-col h4{
  font-family:'Cormorant SC',serif;
  font-size:11px;
  letter-spacing:.32em;
  color:var(--gold);
  margin-bottom:22px;
  font-weight:500;
}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:12px}
.footer-col a{
  color:var(--parchment-warm);
  font-size:15px;
  opacity:.8;
  transition:opacity .3s,color .3s;
}
.footer-col a:hover{opacity:1;color:var(--gold-light)}
.footer-col p{
  font-size:14px;
  opacity:.75;
  line-height:1.7;
  margin-bottom:8px;
}

.social-icons{
  display:flex;
  gap:14px;
  margin-top:20px;
}
.social-icons a{
  width:38px;height:38px;
  display:grid;place-items:center;
  border:1px solid rgba(176,141,79,.4);
  border-radius:50%;
  color:var(--gold);
  opacity:.85;
  transition:all .3s;
}
.social-icons a:hover{
  background:var(--gold);
  color:var(--burgundy-deep);
  opacity:1;
  transform:translateY(-2px);
}
.social-icons svg{width:16px;height:16px}

.footer-bottom{
  max-width:1240px;
  margin:0 auto;
  padding-top:30px;
  border-top:1px solid rgba(176,141,79,.18);
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-family:'Cormorant SC',serif;
  font-size:10px;
  letter-spacing:.24em;
  color:var(--parchment-warm);
  opacity:.6;
}

/* ===== GALLERY ===== */
#gallery{
  background:var(--parchment);
  padding:140px 24px;
  text-align:center;
  position:relative;
}
#gallery::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80'><path d='M40 10 Q50 25 40 40 Q30 25 40 10 M40 40 Q50 55 40 70 Q30 55 40 40' fill='none' stroke='%23b08d4f' stroke-width='.5' opacity='.12'/></svg>");
  pointer-events:none;
  opacity:.5;
}
.gallery-header{
  max-width:680px;
  margin:0 auto 70px;
  position:relative;
}
.gallery-header p{
  font-style:italic;
  font-size:19px;
  color:var(--ink-soft);
  margin-top:24px;
}
.gallery-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:200px;
  gap:18px;
  max-width:1280px;
  margin:0 auto;
}
.gallery-item{
  position:relative;
  overflow:hidden;
  grid-row:span 2;
  border:1px solid rgba(74,24,32,.12);
  cursor:pointer;
  background:var(--burgundy-deep);
}
/* 1.2.1: a galéria összes cellája azonos méretű (mindegyik 2 sornyi).
   Ha visszaállítanád a mosaic-elrendezést (egyes cellák magasabbak),
   állítsd vissza erre: .gallery-item--tall{grid-row:span 3} */
.gallery-item--tall{grid-row:span 2}
.gallery-item img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  transition:transform 1.4s ease,filter .6s ease;
  filter:saturate(.92) brightness(.98);
}
.gallery-item:hover img{
  transform:scale(1.06);
  filter:saturate(1.05) brightness(1);
}
.gallery-item::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(26,7,9,.78) 100%);
  opacity:0;
  transition:opacity .5s ease;
  pointer-events:none;
}
.gallery-item:hover::after{opacity:1}
.gallery-item figcaption{
  position:absolute;
  left:24px;right:24px;bottom:22px;
  font-family:'Cormorant SC',serif;
  font-size:11px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--parchment);
  opacity:0;
  transform:translateY(10px);
  transition:opacity .5s ease,transform .5s ease;
  z-index:2;
  text-align:left;
  border-left:2px solid var(--gold-light);
  padding-left:14px;
}
.gallery-item:hover figcaption{
  opacity:1;
  transform:translateY(0);
}

/* ===== MOBILE ===== */
@media (max-width:1024px){
  .about-grid,.cellar-content,.visit-grid{grid-template-columns:1fr;gap:60px}
  .about-image{max-width:480px;margin:0 auto}
  .wines-grid,.experience-grid{grid-template-columns:repeat(2,1fr);gap:30px}
  .wines-grid--four{grid-template-columns:repeat(2,1fr);gap:24px}
  .wines-grid--four .wine-bottle--photo,
  .wines-grid--four .wine-bottle--photo img{min-height:380px;max-height:380px}
  .wines-grid--five{grid-template-columns:repeat(3,1fr);gap:24px}
  .wines-grid--five .wine-bottle--photo,
  .wines-grid--five .wine-bottle--photo img{min-height:360px;max-height:360px}
  .wines-grid--three{grid-template-columns:repeat(2,1fr);gap:30px}
  .wines-grid--three .wine-bottle--photo,
  .wines-grid--three .wine-bottle--photo img{min-height:380px;max-height:380px}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:50px}
  .stat:nth-child(2)::after{display:none}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .gallery-grid{
    grid-template-columns:repeat(2,1fr);
    grid-auto-rows:180px;
  }
  .gallery-item,.gallery-item--tall{grid-row:span 2}
  .gallery-item figcaption{
    opacity:1;
    transform:none;
    font-size:10px;
  }
  .gallery-item::after{opacity:.55}
}
@media (max-width:680px){
  nav.topbar{padding:14px 20px}
  nav.topbar.scrolled{padding:10px 20px}
  .nav-links{
    position:fixed;
    top:0;right:-100%;
    width:80%;height:100vh;
    background:var(--burgundy-deep);
    flex-direction:column;
    justify-content:center;
    gap:30px;
    transition:right .4s ease;
    z-index:99;
  }
  .nav-links.open{right:0}
  .nav-links a{color:var(--parchment) !important;font-size:14px}
  .menu-toggle{display:block;z-index:101;position:relative}
  .menu-toggle.open span{background:var(--parchment) !important}
  .menu-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
  .menu-toggle.open span:nth-child(2){opacity:0}
  .menu-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
  .lang-switch{order:-1}
  .brand{height:42px}
  section{padding:80px 20px}
  #cellar,#tasting,#wines,#visit{padding:90px 20px}
  #gallery{padding:80px 20px}
  .gallery-grid{
    grid-template-columns:1fr;
    grid-auto-rows:260px;
    gap:14px;
  }
  .wines-grid,.experience-grid,.wines-grid--four,.wines-grid--five,.wines-grid--three{grid-template-columns:1fr}
  .wines-grid--four .wine-bottle--photo,
  .wines-grid--five .wine-bottle--photo,
  .wines-grid--three .wine-bottle--photo{min-height:400px}
  .wines-grid--four .wine-bottle--photo img,
  .wines-grid--five .wine-bottle--photo img,
  .wines-grid--three .wine-bottle--photo img{max-height:400px}
  .stats-grid{grid-template-columns:1fr;gap:36px}
  .stat::after{display:none}
  .stats-strip{padding:60px 24px}
  .footer-grid{grid-template-columns:1fr;gap:40px}
  .footer-bottom{flex-direction:column;gap:14px;text-align:center}
  .form-grid-2{grid-template-columns:1fr}
  .contact-form{padding:36px 26px}
  .hero-eyebrow{font-size:10px;letter-spacing:.32em}
  .hero-eyebrow::before,.hero-eyebrow::after{width:30px}
  .hero-cta{padding:16px 32px;font-size:11px}
}
