/* =========================================================
   EMMA WINERY — „Emma Noir"
   Elegantný tmavý luxus · redesign 2026
   ========================================================= */

/* ---------- Fonty (self-host, latin + latin-ext) ---------- */
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400 500;font-display:swap;src:url('../assets/fonts/cormorant-garamond-400-500-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400 500;font-display:swap;src:url('../assets/fonts/cormorant-garamond-400-500-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 700;font-display:swap;src:url('../assets/fonts/cormorant-garamond-400-700-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 700;font-display:swap;src:url('../assets/fonts/cormorant-garamond-400-700-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url('../assets/fonts/jost-300-600-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url('../assets/fonts/jost-300-600-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* ---------- Design tokens ---------- */
/* ─────────────────────────────────────────────────────────────
   FARBY — AKTUÁLNE = oficiálna brandová paleta „Dark Hay"
   (podľa logo manuálu EMMA_DM_v01). Aktívne hodnoty sú v :root nižšie.

   NÁVRAT NA PÔVODNÝ „Emma Noir" (takmer čierne pozadie) — skopíruj
   tieto hodnoty späť do :root (alebo obnov css/style.ORIGINAL-farby.css.bak):
     --bg #100b0a  --bg-2 #160d0d  --bg-wine #2a0e14
     --surface #1c1413  --surface-2 #241a18
     --line rgba(227,199,126,0.14)
     --gold #c8902e  --gold-soft #e3c77e  --gold-deep #a4761f  --oxblood #5a1320
     --cream #f3ead9  --muted #a89b86  --muted-2 #6f6557

   SVETLÝ VARIANT (Wall White pozadie) — ak budeš chcieť svetlú verziu,
   povedz a pripravím ju (--bg #ede6e4, text Dark Hay). Je to väčší zásah
   (invertovať všetky sekcie), preto zvlášť.
   ───────────────────────────────────────────────────────────── */
:root {
  /* POZADIE — oficiálna brandová paleta „Dark Hay" (EMMA_DM_v01) */
  --bg:        #2b1a0f;   /* základ — hlboká Dark Hay */
  --bg-2:      #362216;   /* oficiálna Dark Hay #362216 */
  --bg-wine:   #45291a;   /* teplý hnedý akcent (nahradil slivkovú) */
  --surface:   #3b2617;   /* karty */
  --surface-2: #47301e;
  --line:      rgba(156, 114, 42, 0.20);  /* Light Wood tint */

  --gold:      #c8902e;   /* jasná zlatá — akcenty, čitateľná na hnedej */
  --gold-soft: #e3c77e;   /* champagne — zlatý text */
  --gold-deep: #9c722a;   /* oficiálna Light Wood #9C722A */
  --oxblood:   #5a1320;   /* bordová — odznak „Vypredané" */

  --cream:     #ede6e4;   /* oficiálna Wall White #EDE6E4 — hlavný text */
  --muted:     #c3b4a0;   /* zosvetlené pre kontrast na hnedej */
  --muted-2:   #93836f;

  --maxw: 1240px;
  --gutter: clamp(1.25rem, 4vw, 4rem);
  --radius: 4px;

  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'Jost', system-ui, sans-serif;

  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --slow: 0.9s;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  background: var(--bg);
  color: var(--cream);
  font-family: var(--sans);
  font-weight: 300;
  line-height: 1.7;
  font-size: 16px;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }

/* film grain + vignette overlay */
body::before {
  content: "";
  position: fixed; inset: 0;
  pointer-events: none;
  z-index: 9999;
  opacity: 0.045;
  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='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
body::after {
  content: "";
  position: fixed; inset: 0;
  pointer-events: none;
  z-index: 9998;
  background: radial-gradient(120% 120% at 50% 0%, transparent 55%, rgba(0,0,0,0.55) 100%);
}

/* ---------- Typography ---------- */
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 500; line-height: 1.08; letter-spacing: -0.01em; }
.display {
  font-size: clamp(3rem, 9vw, 8.5rem);
  font-weight: 500;
  line-height: 0.95;
}
.eyebrow {
  font-family: var(--sans);
  font-weight: 500;
  font-size: 0.72rem;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--gold-soft);
  display: inline-flex;
  align-items: center;
  gap: 0.9rem;
}
.eyebrow::before {
  content: "";
  width: 2.4rem; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold));
}
.section-title { font-size: clamp(2.2rem, 5vw, 4.2rem); }
.lead { font-size: clamp(1.15rem, 1.6vw, 1.35rem); color: var(--muted); max-width: 52ch; }

.gold { color: var(--gold-soft); }

/* ---------- Layout helpers ---------- */
.wrap { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
section { position: relative; padding-block: clamp(5rem, 12vh, 11rem); }

/* ---------- Buttons ---------- */
.btn {
  --pad: 1.05rem 2.4rem;
  position: relative;
  display: inline-flex; align-items: center; gap: 0.7rem;
  padding: var(--pad);
  font-family: var(--sans); font-weight: 500;
  font-size: 0.78rem; letter-spacing: 0.22em; text-transform: uppercase;
  border-radius: 999px;
  transition: color .4s var(--ease), background .4s var(--ease), border-color .4s var(--ease), transform .4s var(--ease);
}
.btn--gold { background: var(--gold); color: #170c03; font-weight: 600; }
.btn--gold:hover { background: var(--gold-soft); transform: translateY(-2px); }
.btn--ghost { border: 1px solid var(--line); color: var(--cream); }
.btn--ghost:hover { border-color: var(--gold); color: var(--gold-soft); }
.btn svg { width: 1em; height: 1em; transition: transform .4s var(--ease); }
.btn:hover svg { transform: translateX(4px); }

/* ---------- Header / Nav ---------- */
.site-header {
  position: fixed; inset: 0 0 auto 0;
  z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.4rem var(--gutter);
  transition: background .5s var(--ease), padding .5s var(--ease), border-color .5s var(--ease);
  border-bottom: 1px solid transparent;
}
/* dark scrim at the very top so header stays legible over the hero before scrolling */
.site-header::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 210%;
  background: linear-gradient(to bottom, rgba(16, 10, 6, 0.80), rgba(16, 10, 6, 0.34) 48%, transparent);
  opacity: 1; transition: opacity .5s var(--ease); pointer-events: none;
}
.site-header.scrolled::before { opacity: 0; }
.site-header.scrolled {
  background: rgba(30, 18, 11, 0.86);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border-bottom-color: var(--line);
  padding-block: 0.9rem;
}
.brand { display: flex; align-items: center; gap: 0.8rem; z-index: 101; }
.brand img {
  height: 88px; width: auto;
  /* recolour brown→cream/gold logo for dark bg */
  filter: brightness(0) saturate(100%) invert(92%) sepia(18%) saturate(420%) hue-rotate(347deg) brightness(101%) contrast(94%);
  transition: height .5s var(--ease);
}
.scrolled .brand img { height: 66px; }
@media (max-width: 520px){ .brand img { height: 62px; } }

.nav { display: flex; align-items: center; gap: 1.2rem; }
.nav a {
  position: relative;
  font-size: 0.9rem; letter-spacing: 0.17em; text-transform: uppercase;
  font-weight: 400; color: var(--muted); white-space: nowrap;
  transition: color .3s var(--ease);
}
.nav a::after {
  content: ""; position: absolute; left: 0; bottom: -6px;
  width: 100%; height: 1px; background: var(--gold);
  transform: scaleX(0); transform-origin: right; transition: transform .4s var(--ease);
}
.nav a:hover, .nav a[aria-current="page"] { color: var(--cream); }
.nav a:hover::after, .nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.nav-cta { display: inline-flex; }
.nav a.nav-cta { color: #170c03; font-weight: 600; --pad: 0.72rem 1.4rem; font-size: 0.72rem; letter-spacing: 0.13em; }
.nav a.nav-cta:hover { color: #170c03; }
.nav a.nav-cta::after { display: none; }

/* language switcher */
.lang-switch { display: inline-flex; gap: 0.3rem; align-items: center; margin-left: 0.8rem; font-size: 0.82rem; letter-spacing: 0.1em; }
.lang-switch a { color: var(--muted-2); padding: 0.2rem 0.3rem; transition: color 0.3s var(--ease); }
.lang-switch a:hover { color: var(--cream); }
.lang-switch a.active { color: var(--gold-soft); border-bottom: 1px solid var(--gold); }

/* social icons in header */
.nav-social { display: inline-flex; align-items: center; gap: 0.4rem; margin-left: 0.8rem; }
.nav-social a { width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; color: var(--muted); transition: border-color .3s var(--ease), color .3s var(--ease), background .3s var(--ease); }
.nav-social a:hover { border-color: var(--gold); color: var(--gold-soft); }
.nav-social a::after { display: none; }
.nav-social svg { width: 15px; height: 15px; }

/* burger */
.burger { display: none; width: 30px; height: 18px; position: relative; z-index: 101; }
.burger span { position: absolute; left: 0; width: 100%; height: 1.5px; background: var(--cream); transition: transform .4s var(--ease), opacity .3s; }
.burger span:nth-child(1) { top: 0; }
.burger span:nth-child(2) { top: 8px; }
.burger span:nth-child(3) { top: 16px; }
body.menu-open .burger span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
body.menu-open .burger span:nth-child(2) { opacity: 0; }
body.menu-open .burger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* mobile menu overlay */
.mobile-menu {
  position: fixed; inset: 0; z-index: 95;
  background: linear-gradient(160deg, var(--bg-wine), var(--bg));
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 1.6rem;
  opacity: 0; visibility: hidden; transform: translateY(-12px);
  transition: opacity .5s var(--ease), transform .5s var(--ease), visibility .5s;
}
body.menu-open .mobile-menu { opacity: 1; visibility: visible; transform: none; }
.mobile-menu a { font-family: var(--serif); font-size: 2.4rem; color: var(--cream); }
.mobile-menu a:hover { color: var(--gold-soft); }
.mobile-social { display: flex; gap: 1.1rem; margin-top: 2.2rem; }
.mobile-social a { width: 50px; height: 50px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; color: var(--cream); transition: .3s var(--ease); }
.mobile-social a:hover { border-color: var(--gold); color: var(--gold-soft); }
.mobile-social svg { width: 22px; height: 22px; }

/* ---------- HERO ---------- */
.hero { min-height: 100svh; display: flex; align-items: center; overflow: hidden; padding-top: 6rem; }
.hero-bg { position: absolute; inset: 0; z-index: -2; }
.hero-bg img { width: 100%; height: 120%; object-fit: cover; will-change: transform; }
.hero-bg::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(16,11,10,0.55) 0%, rgba(16,11,10,0.25) 40%, rgba(16,11,10,0.92) 100%),
    linear-gradient(90deg, rgba(16,11,10,0.7) 0%, transparent 60%);
}
.hero-inner { position: relative; z-index: 1; max-width: 60rem; }
.hero .display { margin: 1.6rem 0 1.8rem; }
.hero .display .ln { display: block; overflow: hidden; }
.hero .display .ln span { display: block; }
.hero-sub { display: flex; gap: 2rem; flex-wrap: wrap; align-items: center; margin-top: 2.4rem; }
.scroll-cue {
  position: absolute; left: var(--gutter); bottom: 2.2rem; z-index: 1;
  display: flex; align-items: center; gap: 0.8rem;
  font-size: 0.66rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--muted);
}
.scroll-cue i { width: 1px; height: 42px; background: linear-gradient(var(--gold), transparent); display: block; transform-origin: top; animation: cue 2.4s var(--ease) infinite; }
@keyframes cue { 0%,100% { transform: scaleY(0.3); opacity: .4 } 50% { transform: scaleY(1); opacity: 1 } }

/* ---------- Stats ---------- */

/* ---------- Split / story ---------- */
.split { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.split.rev .split-media { order: 2; }
.split-media { position: relative; overflow: hidden; border-radius: 10px; box-shadow: 0 28px 70px -24px rgba(0,0,0,0.65); }
.split-media img { width: 100%; aspect-ratio: 4/5; object-fit: cover; will-change: transform; transition: transform 1.2s var(--ease); }
.split-media:hover img { transform: scale(1.05); }
/* elegantný champagne rámik na fotkách */
.split-media::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(227,199,126,0.30); border-radius: 10px; pointer-events: none; z-index: 2; }
.split-body p + p { margin-top: 1.2rem; }
.split-body .eyebrow { margin-bottom: 1.6rem; }
.split-body .section-title { margin-bottom: 1.6rem; }

/* media reveal (fade-up only; no covering mask) */
.reveal-img { position: relative; }

/* ---------- Wine cards ---------- */
.wines-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.4rem; }
.wine-card {
  position: relative; background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius); overflow: hidden;
  transition: border-color .5s var(--ease), transform .5s var(--ease);
}
.wine-card:hover { border-color: var(--gold); transform: translateY(-6px); }
.wine-card .ph { position: relative; aspect-ratio: 3/4; overflow: hidden; background: var(--bg-wine); }
.wine-card .ph img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.wine-card:hover .ph img { transform: scale(1.06); }
.wine-card .ph::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, transparent 50%, rgba(16,11,10,0.85)); }
.wine-card .meta { position: relative; padding: 1.6rem 1.6rem 1.8rem; }
.wine-card .type { font-size: 0.66rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--gold-soft); }
.wine-card h3 { font-size: 1.8rem; margin: 0.4rem 0 0.6rem; }
.wine-card .desc { font-size: 0.9rem; color: var(--muted); }
.wine-card .yr { position: absolute; top: 1.2rem; right: 1.4rem; font-family: var(--serif); font-style: italic; font-size: 1.4rem; color: var(--gold-soft); z-index: 1; }

/* ---------- Sold-out state ---------- */
.wine-card.sold-out .ph img { filter: grayscale(0.55) brightness(0.72); }
.wine-card.sold-out:hover { transform: none; border-color: var(--line); }
.wine-card.sold-out:hover .ph img { transform: none; }
.sold-badge {
  position: absolute; top: 1rem; left: 1rem; z-index: 2;
  font-family: var(--sans); font-size: 0.64rem; font-weight: 500;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--cream); background: rgba(90, 19, 32, 0.92);
  border: 1px solid var(--gold-deep); border-radius: 2px;
  padding: 0.4rem 0.7rem; backdrop-filter: blur(2px);
}
.sold-note {
  display: flex; align-items: center; gap: 0.55rem;
  margin-top: 1.2rem; padding-top: 1.1rem; border-top: 1px solid var(--line);
  font-size: 0.82rem; color: var(--muted);
}
.sold-note b { color: var(--gold-soft); font-weight: 500; letter-spacing: 0.04em; }

/* ---------- Quote band ---------- */

/* ---------- Gallery (masonry) ---------- */
.masonry { columns: 3; column-gap: 1.1rem; }
.masonry figure { break-inside: avoid; margin-bottom: 1.1rem; position: relative; overflow: hidden; border-radius: 10px; cursor: pointer; box-shadow: 0 18px 44px -20px rgba(0,0,0,0.6); }
.masonry figure::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(227,199,126,0.26); border-radius: 10px; pointer-events: none; }
.masonry img { width: 100%; height: auto; transition: transform 1s var(--ease), filter .6s var(--ease); filter: saturate(0.9) brightness(0.92); }
.masonry figure:hover img { transform: scale(1.05); filter: saturate(1.05) brightness(1); }
.masonry figcaption { position: absolute; left: 1rem; bottom: 0.9rem; font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--cream); opacity: 0; transform: translateY(6px); transition: .4s var(--ease); }
.masonry figure:hover figcaption { opacity: 1; transform: none; }

/* lightbox */
.lightbox { position: fixed; inset: 0; z-index: 200; background: rgba(8,5,5,0.94); display: flex; align-items: center; justify-content: center; padding: 4vw; opacity: 0; visibility: hidden; transition: opacity .4s var(--ease), visibility .4s; }
.lightbox.open { opacity: 1; visibility: visible; }
.lightbox img { max-width: 92vw; max-height: 88vh; object-fit: contain; border-radius: var(--radius); }
.lightbox .close { position: absolute; top: 1.6rem; right: 1.8rem; font-size: 2rem; color: var(--cream); }

/* ---------- Blog ---------- */
.posts { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px,1fr)); gap: 1.6rem; }

/* ---------- Contact ---------- */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 5rem); }
.field { position: relative; margin-bottom: 1.8rem; }
.field input, .field textarea {
  width: 100%; background: transparent; border: none; border-bottom: 1px solid var(--line);
  padding: 0.9rem 0; color: var(--cream); font-family: var(--sans); font-size: 1rem; outline: none;
  transition: border-color .4s var(--ease);
}
.field textarea { resize: vertical; min-height: 110px; }
.field label { position: absolute; left: 0; top: 0.9rem; color: var(--muted); pointer-events: none; transition: .35s var(--ease); font-size: 1rem; }
.field input:focus, .field textarea:focus { border-bottom-color: var(--gold); }
.field input:focus + label, .field input:not(:placeholder-shown) + label,
.field textarea:focus + label, .field textarea:not(:placeholder-shown) + label {
  top: -0.7rem; font-size: 0.68rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-soft);
}
.contact-info li { display: flex; gap: 1rem; padding: 1.2rem 0; border-bottom: 1px solid var(--line); }
.contact-info .k { font-size: 0.68rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-soft); min-width: 6.5rem; padding-top: 0.2rem; }
.contact-info .v { color: var(--cream); }
.map-embed { margin-top: 2rem; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); filter: grayscale(0.6) contrast(1.05) brightness(0.85); }
.map-embed iframe { width: 100%; height: 260px; display: block; border: 0; }
.map-embed .map-load { width: 100%; min-height: 260px; background: var(--surface); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.7rem; color: var(--muted); cursor: pointer; padding: 1.5rem; text-align: center; transition: color .3s var(--ease); }
.map-embed .map-load:hover { color: var(--cream); }
.map-embed .map-load span { font-size: 0.78rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-soft); }
.map-embed .map-load small { font-size: 0.72rem; color: var(--muted-2); max-width: 32ch; }

/* ---------- Page hero (inner pages) ---------- */
.page-hero { min-height: 56svh; display: flex; align-items: flex-end; padding-bottom: clamp(2.5rem,6vh,5rem); padding-top: 8rem; overflow: hidden; }
.page-hero .hero-bg img { height: 130%; }
.page-hero .display { font-size: clamp(2.6rem, 8vw, 6.5rem); }

/* ---------- Footer ---------- */
.site-footer { background: var(--bg-2); border-top: 1px solid var(--line); padding-block: clamp(3.5rem, 8vh, 6rem) 2.5rem; }
.footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 3rem; }
.footer-brand img { height: 80px; filter: brightness(0) saturate(100%) invert(92%) sepia(18%) saturate(420%) hue-rotate(347deg) brightness(101%) contrast(94%); margin-bottom: 1.4rem; }
/* round seal placed inline in the bottom row */
.fb-seal { height: 100px; width: auto; flex: none; opacity: 0.9;
  filter: brightness(0) saturate(100%) invert(72%) sepia(42%) saturate(520%) hue-rotate(5deg) brightness(92%) contrast(90%); }
.footer-brand p { color: var(--muted); max-width: 32ch; font-size: 1.12rem; }
.footer-col h4 { font-family: var(--sans); font-size: 0.9rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--gold-soft); margin-bottom: 1.4rem; }
.footer-col li { margin-bottom: 0.8rem; }
.footer-col a { color: var(--muted); font-size: 1.14rem; transition: color .3s; }
.footer-col a:hover { color: var(--cream); }
.footer-col .legal-co { color: var(--muted-2); font-size: 0.98rem; margin-top: 0.5rem; }
.socials { display: flex; gap: 1rem; margin-top: 0.4rem; }
.socials a { width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; transition: .4s var(--ease); }
.socials a:hover { border-color: var(--gold); background: var(--gold); color: #1a0f06; transform: translateY(-3px); }
.socials svg { width: 18px; height: 18px; }
.footer-bottom { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 1.6rem; row-gap: 0.5rem; margin-top: 3.5rem; padding-top: 2rem; border-top: 1px solid var(--line); font-size: 0.98rem; color: var(--muted); }
.footer-bottom .fb-seal { grid-column: 1; grid-row: 1 / span 2; }
.footer-bottom > span { grid-column: 2; }
.footer-bottom > span:last-child { color: var(--gold-soft); font-size: 0.9rem; letter-spacing: 0.02em; }
.footer-bottom a:hover { color: var(--gold-soft); }
@media (max-width: 640px) {
  .footer-bottom { grid-template-columns: 1fr; text-align: center; row-gap: 0.7rem; }
  .footer-bottom .fb-seal { grid-column: 1; grid-row: auto; margin: 0 auto 0.3rem; }
  .footer-bottom > span { grid-column: 1; }
}

/* ---------- Round logo badge ---------- */

/* ---------- Cookie notice ---------- */
.cookie-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 140;
  background: rgba(16,11,10,0.97); backdrop-filter: blur(10px); border-top: 1px solid var(--line);
  padding: 1rem clamp(1.25rem,4vw,2.5rem); display: flex; align-items: center; justify-content: center;
  gap: 1.2rem; flex-wrap: wrap; transform: translateY(100%); transition: transform .5s var(--ease); }
.cookie-bar.show { transform: none; }
.cookie-bar p { font-size: 0.82rem; color: var(--muted); margin: 0; max-width: 64ch; }
.cookie-bar p a { color: var(--gold-soft); }
.cookie-bar .btn { --pad: 0.65rem 1.5rem; flex: none; }
.form-note { font-size: 0.74rem; color: var(--muted-2); margin-top: 0.9rem; line-height: 1.5; }
.form-note a { color: var(--gold-soft); }

/* ---------- Age gate ---------- */
.age-gate {
  position: fixed; inset: 0; z-index: 300;
  background: linear-gradient(160deg, var(--bg-wine), var(--bg));
  display: flex; align-items: center; justify-content: center; text-align: center; padding: 2rem;
  transition: opacity .6s var(--ease), visibility .6s;
}
.age-gate.hidden { opacity: 0; visibility: hidden; }
.age-gate .inner { max-width: 30rem; }
.age-gate img { height: 60px; margin-inline: auto; margin-bottom: 2rem; filter: brightness(0) saturate(100%) invert(92%) sepia(18%) saturate(420%) hue-rotate(347deg) brightness(101%) contrast(94%); }
.age-gate h2 { font-size: 2.4rem; margin-bottom: 1rem; }
.age-gate p { color: var(--muted); margin-bottom: 2.2rem; }
.age-gate .actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* ---------- Scroll reveal base ---------- */
[data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity 1s var(--ease), transform 1s var(--ease); }
[data-reveal].in { opacity: 1; transform: none; }
[data-reveal-stagger] > * { opacity: 0; transform: translateY(24px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
[data-reveal-stagger].in > * { opacity: 1; transform: none; }

/* progress bar */
.progress { position: fixed; top: 0; left: 0; height: 2px; width: 0; background: linear-gradient(90deg, var(--gold-deep), var(--gold-soft)); z-index: 150; }

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
  .split { grid-template-columns: 1fr; }
  .split.rev .split-media { order: 0; }
  .split-media img { aspect-ratio: 16/11; }
  .contact-grid { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .masonry { columns: 2; }
}
/* nav collapses to burger menu earlier — full nav (6 links + CTA + jazyky + siete) potrebuje široký displej */
@media (max-width: 1340px) {
  .nav { display: none; }
  .burger { display: block; }
}
@media (max-width: 720px) {
  .footer-top { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .masonry { columns: 1; }
}

/* =========================================================
   DEGUSTÁCIA — one-page landing (podujatie)
   ========================================================= */

/* ---------- Countdown ---------- */

/* ---------- Event meta card ---------- */

/* ---------- Inclusions / price ---------- */

/* ---------- Programme timeline ---------- */

/* ---------- Registration ---------- */

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition-duration: .01ms !important; }
  html { scroll-behavior: auto; }
  [data-reveal], [data-reveal-stagger] > * { opacity: 1 !important; transform: none !important; }
}

/* ========== SVETLÁ TÉMA (prepínač) ========== */
html[data-theme="light"] {
  --bg:#efe9e0; --bg-2:#e6ded0; --bg-wine:#ece2d4;
  --surface:#faf6ef; --surface-2:#f2ebdf;
  --line: rgba(74,52,26,0.18);
  --gold:#9a6a18; --gold-soft:#876019; --gold-deep:#6f4f16;
  --cream:#2b1a0f; --muted:#5d4e3f; --muted-2:#8a7a67;
}
html[data-theme="light"] body { background: var(--bg); }
/* Prvky, ktoré ostávajú TMAVÉ (vlastné tmavé tokeny) */
html[data-theme="light"] .site-header,
html[data-theme="light"] .mobile-menu,
html[data-theme="light"] .age-gate,
html[data-theme="light"] .cookie-bar,
html[data-theme="light"] .site-footer,
html[data-theme="light"] .hero,
html[data-theme="light"] .page-hero,
html[data-theme="light"] section:has(.hero-bg) {
  --bg:#2b1a0f; --bg-2:#362216; --bg-wine:#45291a; --surface:#3b2617; --surface-2:#47301e;
  --line: rgba(156,114,42,0.20);
  --gold:#c8902e; --gold-soft:#e3c77e; --gold-deep:#9c722a;
  --cream:#ede6e4; --muted:#c3b4a0; --muted-2:#93836f;
  color: var(--cream);   /* text dedí krémovú (nadpisy bez explicit color) */
}
/* Prepínač témy — desktop */
.theme-toggle { width:30px; height:30px; border:1px solid var(--line); border-radius:50%;
  display:grid; place-items:center; color:var(--muted); background:none; cursor:pointer;
  transition:border-color .3s var(--ease), color .3s var(--ease); flex:none; margin-left:.4rem; }
.theme-toggle:hover { border-color:var(--gold); color:var(--gold-soft); }
.theme-toggle svg { width:15px; height:15px; }
.theme-toggle .ic-moon { display:none; }
html[data-theme="light"] .theme-toggle .ic-sun { display:none; }
html[data-theme="light"] .theme-toggle .ic-moon { display:block; }
/* Prepínač témy — mobilné menu */
.theme-toggle-m { display:inline-flex; align-items:center; gap:.7rem; background:none; border:none;
  color:var(--cream); font-family:var(--serif); font-size:2.4rem; cursor:pointer; padding:0; }
.theme-toggle-m:hover { color:var(--gold-soft); }
.theme-toggle-m svg { width:26px; height:26px; }
.theme-toggle-m .ic-moon { display:none; }
.theme-toggle-m .lbl-dark { display:none; }
html[data-theme="light"] .theme-toggle-m .ic-sun { display:none; }
html[data-theme="light"] .theme-toggle-m .ic-moon { display:inline; }
html[data-theme="light"] .theme-toggle-m .lbl-light { display:none; }
html[data-theme="light"] .theme-toggle-m .lbl-dark { display:inline; }
/* Svetlá téma — karty vín nech vyniknú na svetlom pozadí */
html[data-theme="light"] .wine-card { box-shadow: 0 16px 40px -26px rgba(60,40,20,0.55); }
html[data-theme="light"] .wine-card.bottle { border-color: rgba(60,42,22,0.20); }
html[data-theme="light"] .wine-card.bottle:hover { border-color: var(--gold); }

/* ========== OŽIVENIE — dizajnové prvky (2026-10-08) ========== */
/* Svetlá téma: zmierni spodnú vignette (inak tmavé rohy na svetlom) */
html[data-theme="light"] body::after { background: radial-gradient(120% 120% at 50% 0%, transparent 62%, rgba(74,52,26,0.08) 100%); }

/* Jemná textúra — rady viniča na pozadí tela */
body { background-color: var(--bg); background-image: repeating-linear-gradient(27deg, rgba(227,199,126,0.014) 0 1px, transparent 1px 46px); }
html[data-theme="light"] body { background-image: repeating-linear-gradient(27deg, rgba(74,52,26,0.026) 0 1px, transparent 1px 46px); }

/* 1) Bežiaci zlatý pás (marquee) */

@keyframes marquee { from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* 2) Vinný oddeľovač (line-art) */

/* 3) Mikro-interakcie — podčiarknutie textových odkazov */
.split-body a:not(.btn), .footer-col a, .footer-brand p a, .contact-info a, .wm-body a:not(.btn) {
  background-image:linear-gradient(currentColor,currentColor); background-size:0% 1px; background-position:0 100%; background-repeat:no-repeat; transition:background-size .45s var(--ease); }
.split-body a:not(.btn):hover, .footer-col a:hover, .contact-info a:hover, .wm-body a:not(.btn):hover { background-size:100% 1px; }
/* jemný zlatý akcent pod nadpismi sekcií */
.section-title::after { content:""; display:block; width:40px; height:2px; margin-top:1.15rem; background:linear-gradient(90deg,var(--gold),transparent); border-radius:2px; opacity:.7; }
.split-body .section-title::after, .story-head .section-title::after { margin-inline:0; }
.story-head .section-title::after, [style*="text-align:center"] .section-title::after { margin-inline:auto; }

/* ========== OŽIVENIE 2 — kinematický zoom + odhaľovanie nadpisov ==========
   (celý blok medzi týmito značkami sa dá odstrániť pre návrat) --- ZAČIATOK --- */
@media (prefers-reduced-motion: no-preference) {
  /* Ken Burns — pomalý zoom fotiek (scale property sa skladá s parallax transform) */
  .hero-bg img { animation: ken 28s ease-in-out infinite alternate; }
  @keyframes ken { from { scale: 1; } to { scale: 1.1; } }

  /* Hero — odhaľovanie riadkov hlavného nadpisu spod masky (samospúšťacie, nezávislé od .in) */
  .hero .display .ln span { animation: lineRise 1.05s var(--ease) both; }
  .hero .display .ln:nth-child(1) span { animation-delay: .18s; }
  .hero .display .ln:nth-child(2) span { animation-delay: .31s; }
  .hero .display .ln:nth-child(3) span { animation-delay: .44s; }
  @keyframes lineRise { from { transform: translateY(112%); } to { transform: translateY(0); } }

  /* Nadpisy sekcií + page-hero nadpisy — jemné dosadnutie pri odhalení */
  .section-title, .page-hero .display { transform: translateY(16px); transition: transform .9s var(--ease); }
  .in .section-title, .page-hero .in .display { transform: none; }
}
/* zlatý accent pod nadpisom sekcie sa „nakreslí" pri odhalení */
.section-title::after { transform: scaleX(0); transform-origin: left; transition: transform .85s var(--ease) .15s; }
.in .section-title::after { transform: scaleX(1); }
/* ------------------------------ OŽIVENIE 2 --- KONIEC ------------------------------ */

/* ===== VÝRAZNÉ KARTY VÍN na domovskej (#wg-feat) — ODSTRÁNITEĽNÝ BLOK ===== */
.wg-feat { gap: clamp(1rem,2vw,1.5rem); }
.wine-feat { position:relative; aspect-ratio:3/4.15; border:1px solid rgba(227,199,126,.2); background:#241610;
  box-shadow:0 20px 50px -28px rgba(0,0,0,.7); }
.wine-feat .ph { position:absolute; inset:0; aspect-ratio:auto; border-radius:inherit; }
.wine-feat .ph img { width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.wine-feat:hover .ph img, .wine-feat:focus-visible .ph img { transform:scale(1.07); }
.wine-feat .ph::after { content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(20,12,7,.15) 0%, rgba(20,12,7,0) 32%, rgba(20,12,7,.5) 62%, rgba(14,9,5,.92) 100%); }
.wine-feat .wc-num { position:absolute; top:1.15rem; left:1.35rem; z-index:3;
  font-family:var(--serif); font-style:italic; font-size:1.2rem; color:#e3c77e; letter-spacing:.06em; }
.wine-feat .wc-num::before { content:""; display:block; width:24px; height:1px; background:#e3c77e; opacity:.55; margin-bottom:.45rem; }
.wine-feat .wc-body { position:absolute; left:0; right:0; bottom:0; z-index:3; padding:1.5rem 1.5rem 1.6rem; }
.wine-feat .type { display:block; font-size:.64rem; letter-spacing:.26em; text-transform:uppercase; color:#e3c77e; }
.wine-feat h3 { color:#f5ecdd; font-size:clamp(1.7rem,2.6vw,2.1rem); margin:.4rem 0 0; line-height:1.05; }
.wine-feat .desc { color:rgba(240,233,223,.85); font-size:.9rem; line-height:1.5;
  max-height:0; opacity:0; overflow:hidden; transform:translateY(8px); margin-top:0;
  transition:max-height .55s var(--ease), opacity .4s var(--ease), transform .55s var(--ease), margin-top .55s var(--ease); }
.wine-feat:hover .desc, .wine-feat:focus-visible .desc { max-height:8rem; opacity:1; transform:none; margin-top:.75rem; }
.wine-feat .wc-go { display:inline-flex; align-items:center; gap:.55rem; color:#e3c77e;
  font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; font-weight:500;
  max-height:0; opacity:0; overflow:hidden; margin-top:0; transition:.55s var(--ease); }
.wine-feat:hover .wc-go, .wine-feat:focus-visible .wc-go { max-height:2.4rem; opacity:1; margin-top:1rem; }
.wine-feat .wc-go svg { width:16px; height:16px; transition:transform .4s var(--ease); }
.wine-feat:hover .wc-go svg { transform:translateX(4px); }
/* vrchný farebný akcent — nakreslí sa pri hoveri */
.wine-feat::after { content:""; position:absolute; top:0; left:0; right:0; height:3px; z-index:4;
  transform:scaleX(0); transform-origin:left; transition:transform .55s var(--ease); border-radius:inherit; }
.wine-feat:hover::after, .wine-feat:focus-visible::after { transform:scaleX(1); }
.wc-biele::after   { background:linear-gradient(90deg,#e3c77e,#c8902e); }
.wc-biele .type    { color:#e8cf8c; }
.wc-cervene::after { background:linear-gradient(90deg,#a8415c,#5a1320); }
.wc-cervene .type  { color:#dfa0ae; }
.wc-petnat::after  { background:linear-gradient(90deg,#edc0a6,#d98f6a); }
.wc-petnat .type   { color:#edc7b0; }
/* na dotykových bez hoveru ukáž popis vždy */
@media (hover:none){ .wine-feat .desc{ max-height:8rem;opacity:1;transform:none;margin-top:.7rem; } .wine-feat .wc-go{ max-height:2.4rem;opacity:1;margin-top:.8rem; } .wine-feat::after{ transform:scaleX(1); } }

/* ===== OŽIVENIE 3 — editoriálne „spojené" split sekcie (fotka + text) — ODSTRÁNITEĽNÝ BLOK ===== */
/* matovaný zlatý rám okolo fotky (outline nie je orezaný overflow:hidden) */
.split-media{
  outline:1px solid rgba(227,199,126,0.32);
  outline-offset:14px;
  transition: outline-offset .9s var(--ease), outline-color .9s var(--ease), box-shadow .9s var(--ease);
}
.split-media:hover{ outline-offset:9px; outline-color:rgba(227,199,126,0.6); }
/* text „spojený" s fotkou: horizontálny mostík cez medzeru + vertikálna linka (spine) */
.split-body{ position:relative; }
.split-body::before{   /* mostík z textu smerom k fotke */
  content:""; position:absolute; top:.5rem; height:1px; pointer-events:none;
  left:calc(-1 * clamp(2rem,6vw,6rem)); width:calc(clamp(2rem,6vw,6rem) + .9rem);
  background:linear-gradient(90deg, rgba(227,199,126,0) 0%, var(--gold) 100%); opacity:.7;
}
.split.rev .split-body::before{
  left:auto; right:calc(-1 * clamp(2rem,6vw,6rem));
  background:linear-gradient(270deg, rgba(227,199,126,0) 0%, var(--gold) 100%);
}
.split-body::after{   /* spine pri začiatku textu */
  content:""; position:absolute; top:.35rem; bottom:.35rem; width:1px; pointer-events:none;
  left:calc(-1 * clamp(.9rem,2vw,1.5rem));
  background:linear-gradient(180deg, var(--gold), rgba(227,199,126,0) 85%); opacity:.45;
}
.split.rev .split-body::after{ left:auto; right:calc(-1 * clamp(.9rem,2vw,1.5rem)); }
@media (max-width:980px){   /* na mobile 1 stĺpec → mostík/spine nedávajú zmysel */
  .split-body::before, .split-body::after{ display:none; }
  .split-media{ outline-offset:9px; }
}
/* ===== /OŽIVENIE 3 ===== */

/* ===== OŽIVENIE 5 — pás hodnôt so zlatými ikonami — ODSTRÁNITEĽNÝ BLOK ===== */

.value{ position:relative; }

.value h3{ font-family:var(--serif); font-weight:600; font-size:1.18rem; margin-bottom:.45rem; color:var(--cream); }
.value p{ font-size:.84rem; color:var(--muted); line-height:1.55; max-width:17rem; margin-inline:auto; }

/* ===== /OŽIVENIE 5 ===== */

/* ===== OŽIVENIE 7 — pohyb: sweep tlačidiel + prechod stránok — ODSTRÁNITEĽNÝ BLOK ===== */
.btn{ overflow:hidden; isolation:isolate; }
/* ghost tlačidlo sa pri hoveri zlato vyplní zľava */
.btn--ghost::before{ content:""; position:absolute; inset:0; z-index:-1; background:var(--gold);
  transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease); border-radius:inherit; }
.btn--ghost:hover{ color:#170c03; border-color:var(--gold); }
.btn--ghost:hover::before{ transform:scaleX(1); }
/* zlaté tlačidlo — jemný prejazd lesku */
.btn--gold::before{ content:""; position:absolute; top:0; bottom:0; width:45%; left:-60%; z-index:-1;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.4), transparent); transform:skewX(-18deg);
  transition:left .6s var(--ease); }
.btn--gold:hover::before{ left:130%; }
/* prechod medzi stránkami — zlatý fade (štandardne skrytý; aktivuje len JS) */
.page-fade{ position:fixed; inset:0; z-index:9000; pointer-events:none; display:grid; place-items:center;
  background:radial-gradient(120% 120% at 50% 45%, #1d130b, #120b07); opacity:0; visibility:hidden;
  transition:opacity .42s var(--ease), visibility .42s var(--ease); }
.page-fade.show{ opacity:1; visibility:visible; pointer-events:all; }
.page-fade .pf-wrap{ position:relative; display:grid; place-items:center; width:160px; height:160px; }
.page-fade .pf-wrap::before{ content:""; position:absolute; inset:14px; border-radius:50%;
  background:radial-gradient(circle, rgba(227,199,126,.14), rgba(227,199,126,0) 70%); }
.page-fade .pf-logo{ width:120px; height:120px; object-fit:contain; opacity:0; transform:scale(.8);
  filter:brightness(0) saturate(100%) invert(92%) sepia(18%) saturate(420%) hue-rotate(347deg) brightness(101%) contrast(94%)
         drop-shadow(0 0 16px rgba(227,199,126,.22));
  transition:opacity .5s var(--ease), transform .7s var(--ease); }
.page-fade.show .pf-logo{ opacity:1; transform:scale(1); }
.page-fade .pf-ring{ position:absolute; inset:0; border-radius:50%; border:2px solid transparent;
  border-top-color:var(--gold); border-right-color:rgba(227,199,126,.28);
  opacity:0; transition:opacity .4s var(--ease); animation:pfspin 1s linear infinite; }
.page-fade.show .pf-ring{ opacity:.85; }
@keyframes pfspin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .page-fade{ display:none; } }
/* ===== /OŽIVENIE 7 ===== */

/* ===== OŽIVENIE 8 — silueta viníc nad pätičkou — ODSTRÁNITEĽNÝ BLOK ===== */
.site-footer{ position:relative; padding-top:calc(clamp(3.5rem,8vh,6rem) + 60px); }
.site-footer::before{
  content:""; position:absolute; left:0; right:0; top:0; height:120px; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 2000 140%22 preserveAspectRatio=%22xMaxYMax meet%22%3E%3Cdefs%3E%3ClinearGradient id=%22g%22 x1=%220%22 x2=%221%22 y1=%220%22 y2=%220%22%3E%3Cstop offset=%220%22 stop-color=%22%23e3c77e%22 stop-opacity=%220%22/%3E%3Cstop offset=%22.16%22 stop-color=%22%23e3c77e%22 stop-opacity=%22.62%22/%3E%3Cstop offset=%221%22 stop-color=%22%23e3c77e%22 stop-opacity=%22.62%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill=%22none%22 stroke=%22url(%23g)%22 stroke-width=%221.1%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M0 103.9 L10 105.1 L20 106.3 L30 107.5 L40 108.6 L50 109.6 L60 110.6 L70 111.5 L80 112.3 L90 113.0 L100 113.6 L110 114.2 L120 114.6 L130 114.9 L140 115.1 L150 115.1 L160 115.1 L170 115.0 L180 114.7 L190 114.4 L200 113.9 L210 113.4 L220 112.8 L230 112.2 L240 111.4 L250 110.7 L260 109.9 L270 109.0 L280 108.2 L290 107.3 L300 106.5 L310 105.7 L320 104.9 L330 104.1 L340 103.3 L350 102.7 L360 102.0 L370 101.4 L380 100.9 L390 100.5 L400 100.1 L410 99.8 L420 99.5 L430 99.4 L440 99.2 L450 99.2 L460 99.2 L470 99.2 L480 99.3 L490 99.4 L500 99.5 L510 99.6 L520 99.8 L530 99.9 L540 100.0 L550 100.1 L560 100.2 L570 100.2 L580 100.2 L590 100.1 L600 99.9 L610 99.7 L620 99.4 L630 99.0 L640 98.6 L650 98.1 L660 97.5 L670 96.8 L680 96.0 L690 95.2 L700 94.3 L710 93.3 L720 92.3 L730 91.3 L740 90.2 L750 89.0 L760 87.9 L770 86.8 L780 85.6 L790 84.5 L800 83.4 L810 82.4 L820 81.4 L830 80.5 L840 79.6 L850 78.8 L860 78.1 L870 77.5 L880 77.0 L890 76.6 L900 76.3 L910 76.2 L920 76.1 L930 76.2 L940 76.3 L950 76.6 L960 77.0 L970 77.5 L980 78.0 L990 78.7 L1000 79.4 L1010 80.2 L1020 81.1 L1030 82.0 L1040 82.9 L1050 83.9 L1060 84.9 L1070 85.9 L1080 86.9 L1090 87.9 L1100 88.8 L1110 89.8 L1120 90.6 L1130 91.5 L1140 92.2 L1150 92.9 L1160 93.6 L1170 94.1 L1180 94.6 L1190 95.1 L1200 95.4 L1210 95.7 L1220 95.9 L1230 96.0 L1240 96.1 L1250 96.2 L1260 96.2 L1270 96.1 L1280 96.0 L1290 95.9 L1300 95.8 L1310 95.7 L1320 95.6 L1330 95.5 L1340 95.5 L1350 95.4 L1360 95.4 L1370 95.5 L1380 95.6 L1390 95.8 L1400 96.0 L1410 96.3 L1420 96.7 L1430 97.1 L1440 97.7 L1450 98.3 L1460 98.9 L1470 99.7 L1480 100.5 L1490 101.3 L1500 102.2 L1510 103.1 L1520 104.1 L1530 105.1 L1540 106.1 L1550 107.1 L1560 108.1 L1570 109.1 L1580 110.1 L1590 111.0 L1600 111.9 L1610 112.7 L1620 113.4 L1630 114.1 L1640 114.6 L1650 115.1 L1660 115.5 L1670 115.7 L1680 115.9 L1690 115.9 L1700 115.9 L1710 115.7 L1720 115.4 L1730 115.0 L1740 114.5 L1750 113.9 L1760 113.2 L1770 112.4 L1780 111.5 L1790 110.6 L1800 109.6 L1810 108.5 L1820 107.4 L1830 106.3 L1840 105.2 L1850 104.1 L1860 103.0 L1870 101.9 L1880 100.8 L1890 99.8 L1900 98.8 L1910 97.8 L1920 97.0 L1930 96.2 L1940 95.4 L1950 94.8 L1960 94.2 L1970 93.7 L1980 93.3 L1990 92.9 L2000 92.6%22 opacity=%221%22/%3E%3Cpath d=%22M0 130.4 L10 130.7 L20 130.9 L30 131.2 L40 131.3 L50 131.4 L60 131.5 L70 131.4 L80 131.3 L90 131.0 L100 130.7 L110 130.2 L120 129.7 L130 129.1 L140 128.4 L150 127.7 L160 126.9 L170 126.0 L180 125.1 L190 124.2 L200 123.3 L210 122.5 L220 121.6 L230 120.8 L240 120.0 L250 119.3 L260 118.7 L270 118.1 L280 117.6 L290 117.3 L300 117.0 L310 116.8 L320 116.7 L330 116.7 L340 116.7 L350 116.9 L360 117.1 L370 117.3 L380 117.6 L390 117.9 L400 118.3 L410 118.6 L420 118.9 L430 119.2 L440 119.5 L450 119.7 L460 119.9 L470 120.0 L480 120.0 L490 120.1 L500 120.0 L510 119.9 L520 119.8 L530 119.6 L540 119.4 L550 119.1 L560 118.9 L570 118.6 L580 118.4 L590 118.2 L600 118.0 L610 117.9 L620 117.8 L630 117.8 L640 117.9 L650 118.1 L660 118.3 L670 118.7 L680 119.1 L690 119.6 L700 120.2 L710 120.9 L720 121.6 L730 122.4 L740 123.2 L750 124.1 L760 125.0 L770 125.9 L780 126.8 L790 127.6 L800 128.4 L810 129.2 L820 129.9 L830 130.5 L840 131.1 L850 131.5 L860 131.9 L870 132.2 L880 132.3 L890 132.4 L900 132.4 L910 132.3 L920 132.1 L930 131.8 L940 131.5 L950 131.2 L960 130.8 L970 130.3 L980 129.9 L990 129.5 L1000 129.1 L1010 128.7 L1020 128.4 L1030 128.1 L1040 127.8 L1050 127.6 L1060 127.5 L1070 127.4 L1080 127.4 L1090 127.4 L1100 127.5 L1110 127.6 L1120 127.8 L1130 128.0 L1140 128.1 L1150 128.3 L1160 128.5 L1170 128.6 L1180 128.7 L1190 128.7 L1200 128.7 L1210 128.6 L1220 128.5 L1230 128.2 L1240 127.9 L1250 127.5 L1260 127.0 L1270 126.4 L1280 125.8 L1290 125.1 L1300 124.3 L1310 123.5 L1320 122.7 L1330 121.8 L1340 121.0 L1350 120.1 L1360 119.3 L1370 118.5 L1380 117.8 L1390 117.1 L1400 116.5 L1410 115.9 L1420 115.5 L1430 115.2 L1440 114.9 L1450 114.8 L1460 114.8 L1470 114.8 L1480 115.0 L1490 115.2 L1500 115.6 L1510 115.9 L1520 116.4 L1530 116.8 L1540 117.4 L1550 117.9 L1560 118.4 L1570 118.9 L1580 119.4 L1590 119.9 L1600 120.3 L1610 120.6 L1620 120.9 L1630 121.2 L1640 121.4 L1650 121.5 L1660 121.6 L1670 121.6 L1680 121.6 L1690 121.5 L1700 121.4 L1710 121.3 L1720 121.2 L1730 121.1 L1740 121.0 L1750 120.9 L1760 120.9 L1770 120.9 L1780 121.0 L1790 121.1 L1800 121.3 L1810 121.6 L1820 122.0 L1830 122.4 L1840 122.9 L1850 123.5 L1860 124.2 L1870 124.9 L1880 125.6 L1890 126.4 L1900 127.2 L1910 128.0 L1920 128.8 L1930 129.6 L1940 130.4 L1950 131.1 L1960 131.7 L1970 132.3 L1980 132.8 L1990 133.2 L2000 133.5%22 opacity=%22.55%22/%3E%3Cpath d=%22M30 112.5 L26 128.2 M54 115.0 L50 128.5 M78 117.1 L74 128.3 M102 118.8 L98 127.6 M126 119.8 L122 126.4 M150 120.1 L146 124.7 M342 108.2 L338 113.8 M366 106.7 L362 114.2 M390 105.5 L386 114.9 M414 104.7 L410 115.7 M438 104.3 L434 116.4 M462 104.2 L458 116.9 M486 104.3 L482 117.1 M510 104.6 L506 116.9 M534 105.0 L530 116.5 M558 105.2 L554 115.9 M582 105.2 L578 115.3 M606 104.8 L602 114.9 M630 104.0 L626 114.8 M654 102.8 L650 115.2 M678 101.2 L674 116.0 M702 99.1 L698 116.1 M726 96.7 L722 113.7 M750 94.0 L746 111.0 M774 91.3 L770 108.3 M798 88.7 L794 105.7 M822 86.2 L818 103.2 M846 84.1 L842 101.1 M870 82.5 L866 99.5 M894 81.5 L890 98.5 M918 81.1 L914 98.1 M942 81.4 L938 98.4 M966 82.3 L962 99.3 M990 83.7 L986 100.7 M1014 85.6 L1010 102.6 M1038 87.7 L1034 104.7 M1062 90.1 L1058 107.1 M1086 92.5 L1082 109.5 M1110 94.8 L1106 111.8 M1134 96.8 L1130 113.8 M1158 98.4 L1154 115.4 M1182 99.7 L1178 116.7 M1206 100.6 L1202 117.6 M1230 101.0 L1226 118.0 M1254 101.2 L1250 118.2 M1278 101.1 L1274 118.1 M1302 100.8 L1298 117.8 M1326 100.6 L1322 117.6 M1350 100.4 L1346 117.1 M1374 100.5 L1370 115.2 M1398 100.9 L1394 113.6 M1422 101.8 L1418 112.4 M1446 103.0 L1442 111.9 M1470 104.7 L1466 111.8 M1494 106.7 L1490 112.4 M1518 108.9 L1514 113.3 M1806 113.9 L1802 118.5 M1830 111.3 L1826 119.4 M1854 108.6 L1850 120.8 M1878 106.0 L1874 122.5 M1902 103.6 L1898 120.6 M1926 101.5 L1922 118.5 M1950 99.8 L1946 116.8 M1974 98.5 L1970 115.5%22 opacity=%22.38%22/%3E%3C/g%3E%3C/svg%3E") right bottom / 100% 120px no-repeat;
}
@media (max-width:700px){ .site-footer::before{ background-size:auto 100px; } }
/* ===== /OŽIVENIE 8 ===== */

/* ===== OŽIVENIE 10 — galéria s ostrými hranami — ODSTRÁNITEĽNÝ BLOK ===== */
.masonry figure, .masonry figure::after, .lightbox img { border-radius:0; }
/* ===== /OŽIVENIE 10 ===== */

/* ===== OŽIVENIE 11 — prechod stránok vo svetlej téme (predvolená) — ODSTRÁNITEĽNÝ BLOK ===== */
html[data-theme="light"] .page-fade{ background:radial-gradient(120% 120% at 50% 45%, #f7f0e5, #ebe2d3); }
html[data-theme="light"] .page-fade .pf-logo{ filter:drop-shadow(0 0 14px rgba(200,144,46,.16)); }
html[data-theme="light"] .page-fade .pf-wrap::before{ background:radial-gradient(circle, rgba(200,144,46,.12), rgba(200,144,46,0) 70%); }
/* ===== /OŽIVENIE 11 ===== */

/* ===== JAZYKY — prepínač SK/EN/HU v mobilnom menu ===== */
.mobile-lang { display: flex; gap: .6rem; margin-bottom: .8rem; }
.mobile-menu .mobile-lang a { font-family: var(--sans); font-size: .9rem; letter-spacing: .16em; padding: .5rem 1.1rem; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); }
.mobile-menu .mobile-lang a.active { color: var(--gold-soft); border-color: var(--gold); }
/* menu vyššie než obrazovka: posuvné a bez orezania vrchu */
.mobile-menu { justify-content: safe center; overflow-y: auto; padding: 5.5rem 1.2rem 2rem; gap: 1.3rem; }
@media (max-height: 820px) { .mobile-menu { gap: .9rem; } .mobile-menu a { font-size: 2rem; } }
@media (max-height: 640px) { .mobile-menu { gap: .6rem; } .mobile-menu a { font-size: 1.7rem; } }
/* ===== /JAZYKY ===== */

/* honeypot proti spamovým robotom (skryté pole formulára) */
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }

/* ===== MOBIL — dotykové plochy, čitateľnosť, výkon (nezasahuje do desktopu) ===== */
a, button, summary, [role="button"] { touch-action: manipulation; }
@media (max-width: 1340px) {
  .burger::after { content: ""; position: absolute; inset: -14px -12px; }      /* hit area ≈ 54×46 px, vzhľad sa nemení */
}
@media (max-width: 760px) {
  /* výkon: bez trvalých animácií a plošných vrstiev, ktoré mobil zbytočne zaťažujú */
  body::before { display: none; }                                              /* zrnitosť cez celú obrazovku */
  .hero-bg img, .split-media img { animation: none !important; will-change: auto; }
  .scroll-cue { display: none; }
  /* pätička: odkazy s dostatočnou dotykovou plochou */
  .footer-col li { margin-bottom: 0; }
  .footer-col a, .footer-bottom a { display: inline-block; padding-block: .62rem; }
  /* čitateľnosť: minimum ≈ 11.5 px pre popisky */
  .eyebrow, .wine-card .type, .wine-feat .type, .contact-info .k, .scroll-cue, .sold-badge { font-size: .74rem; }
  .masonry { column-gap: .55rem; }
  .masonry figure { margin-bottom: .55rem; border-radius: 0; }
}
@media (max-width: 520px) {
  .masonry { columns: 2; }                                                     /* 2 stĺpce namiesto 1 → kratšia galéria */
}
/* ===== /MOBIL ===== */

/* ===== O NÁS — ľudia za vínom ===== */
.story-people .split-media img { height:auto; }   /* atribút height z HTML nesmie prebiť aspect-ratio */
.split-media.is-portrait img { aspect-ratio:4/5; object-position:50% 30%; }
.split-media.story-wide { max-width:62rem; margin:0 auto; }
.split-media.story-wide img { aspect-ratio:3/2; object-position:50% 40%; }
.story-close { max-width:44rem; margin:clamp(3rem,8vh,5rem) auto 0; text-align:center; }
.story-close p + p { margin-top:1.2rem; }
.story-close .story-sign { margin-top:2.2rem; font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-size:clamp(1.5rem,3vw,2.1rem); line-height:1.3; }
@media (max-width:980px) {
  .split-media.is-portrait { max-width:26rem; margin-inline:auto; width:100%; }   /* portrét na tablete nerozťahovať na celú šírku */
  .split-media.is-portrait img { aspect-ratio:4/5; }
  .split-media.story-wide img { aspect-ratio:3/2; }
}
/* dlhé slová (HU/SK) sa nesmú dostať mimo obrazovky; vyvážené zalamovanie nadpisov a podpisu */
.story-people { overflow-wrap:break-word; hyphens:auto; -webkit-hyphens:auto; }
.story-people .section-title, .story-close .story-sign { text-wrap:balance; hyphens:manual; }
.story-people p { text-wrap:pretty; }
/* ===== /O NÁS ===== */

/* ===== Zlaté tlačidlá — rovnaká farba ako CTA v menu (aj vo svetlej téme) ===== */
html[data-theme="light"] .btn--gold { background:#c8902e; }
html[data-theme="light"] .btn--gold:hover { background:#e3c77e; }
html[data-theme="light"] .btn--ghost::before { background:#c8902e; }
/* ===== /Zlaté tlačidlá ===== */

/* minimálna veľkosť drobných popiskov ≈ 11 px */
.wine-feat .type, .wine-card .type, .scroll-cue { font-size:.7rem; }

/* ===== Pomocný text pod poľom formulára (vzor telefónu, návrh opravy e-mailu) ===== */
.field .field-hint { position:absolute; left:0; top:calc(100% + .2rem); font-size:.76rem; line-height:1.3; color:var(--muted); }
.field .field-hint[hidden] { display:none; }
.field .field-hint button { background:none; border:0; padding:.4rem .15rem; margin:-.4rem 0; color:var(--gold-deep); font:inherit; font-weight:600; text-decoration:underline; cursor:pointer; }

.field:has(> .field-hint:not([hidden])) { margin-bottom:2.4rem; }

/* Kontakt: o niečo väčšie údaje (adresa, e-mail, telefón) — rovnaká veľkosť ako úvodné texty */
.contact-info li { gap:1.2rem; padding:1.3rem 0; align-items:baseline; }
.contact-info .k { font-size:.78rem; min-width:7.5rem; padding-top:0; }
.contact-info .v { font-size:clamp(1.15rem,1.6vw,1.35rem); line-height:1.45; }
.form-note { font-size:.84rem; }
.field .field-hint { font-size:.84rem; }
.footer-col .legal-co { font-size:1rem; }
@media (max-width:640px){
  .contact-info li { flex-direction:column; gap:.35rem; }
  .contact-info .k { min-width:0; }
  .contact-info .v { font-size:1.2rem; }
}

/* Vyskakovacie okno: kde nás nájdete (akcie) */
.evp-ov { position:fixed; inset:0; z-index:300; display:flex; align-items:center; justify-content:center; padding:clamp(.8rem,4vw,2rem);
  background:rgba(8,5,5,.72); backdrop-filter:blur(4px); opacity:0; visibility:hidden; transition:opacity .4s var(--ease), visibility .4s; }
.evp-ov.show { opacity:1; visibility:visible; }
.evp { position:relative; width:min(560px,100%); max-height:calc(100vh - 2rem); max-height:calc(100dvh - 2rem); overflow-y:auto; background:var(--surface); color:var(--cream);
  border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 30px 80px rgba(0,0,0,.5);
  transform:translateY(18px) scale(.98); transition:transform .5s var(--ease); }
.evp-ov.show .evp { transform:none; }
.evp-x { position:absolute; top:.6rem; right:.6rem; z-index:2; width:2.6rem; height:2.6rem; border-radius:50%; border:1px solid rgba(237,230,228,.35);
  background:rgba(20,12,8,.62); color:#ede6e4; font-size:1.7rem; line-height:1; cursor:pointer; display:grid; place-items:center; transition:background .25s, border-color .25s; }
.evp-x:hover, .evp-x:focus-visible { background:rgba(20,12,8,.9); border-color:var(--gold); outline:none; }
.evp-ph { aspect-ratio:16/9; max-height:34vh; background:var(--bg-wine); overflow:hidden; }
.evp-ph img { width:100%; height:100%; object-fit:cover; display:block; }
.evp-body { padding:1.5rem 1.7rem 1.8rem; }
.evp-k { font-size:.72rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-soft); }
.evp h2 { font-size:clamp(1.55rem,4.4vw,2rem); line-height:1.15; margin:.5rem 0 .9rem; }
.evp-meta { font-size:1.08rem; line-height:1.5; margin-bottom:.8rem; }
.evp-meta b { color:var(--gold-soft); font-weight:600; }
.evp-ex { font-size:1rem; line-height:1.55; color:var(--muted); margin-bottom:1.3rem; }
.evp-btns { display:flex; flex-wrap:wrap; gap:.7rem; }
.evp-btns .btn { flex:1 1 180px; justify-content:center; text-align:center; }
.evp-more { margin-top:1.5rem; padding-top:1.1rem; border-top:1px solid var(--line); }
.evp-more ul { list-style:none; margin:.7rem 0 0; padding:0; display:grid; gap:.1rem; }
.evp-more li a { display:grid; grid-template-columns:7.5rem 1fr; gap:.8rem; padding:.55rem 0; color:var(--cream); text-decoration:none; font-size:.98rem; line-height:1.4; border-bottom:1px solid transparent; }
.evp-more li a:hover span { color:var(--gold-soft); }
.evp-more li b { color:var(--gold-soft); font-weight:600; }
.evp-more li span { color:var(--muted); transition:color .25s; }
body.evp-lock { overflow:hidden; }
@media (max-width:520px){ .evp-body { padding:1.2rem 1.2rem 1.4rem; } .evp-more li a { grid-template-columns:1fr; gap:.1rem; } }
@media (prefers-reduced-motion: reduce){ .evp-ov, .evp { transition:none; } }

/* Informačný pás hore: najbližšia akcia (zatvárateľný) */
.evb { position:absolute; top:0; left:0; right:0; z-index:99; display:flex; align-items:center; justify-content:center;
  min-height:2.5rem; padding:.35rem 3rem .35rem var(--gutter);
  background:linear-gradient(90deg,#1a0f08 0%,#2b1a0f 50%,#1a0f08 100%); color:#ede6e4;
  border-bottom:1px solid rgba(200,144,46,.38); font-size:.86rem; letter-spacing:.015em;
  opacity:0; transform:translateY(-100%); transition:opacity .5s var(--ease), transform .5s var(--ease); }
.evb.show { opacity:1; transform:none; }
.evb-link { display:flex; align-items:baseline; justify-content:center; flex-wrap:wrap; gap:.15rem .7rem; color:inherit; text-decoration:none; text-align:center; line-height:1.4; }
.evb-k { font-size:.68rem; letter-spacing:.24em; text-transform:uppercase; color:#e3c77e; }
.evb-t { font-family:var(--serif); font-size:1.08rem; font-weight:600; letter-spacing:.01em; color:#f3ece9; }
.evb-d { color:#c9bba8; }
.evb-d em { font-style:italic; color:#e3c77e; }
.evb-m { color:#e3c77e; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; border-bottom:1px solid transparent; transition:border-color .3s; white-space:nowrap; }
.evb-m i { font-style:normal; display:inline-block; transition:transform .3s var(--ease); }
.evb-link:hover .evb-m { border-bottom-color:#e3c77e; }
.evb-link:hover .evb-m i { transform:translateX(3px); }
.evb-x { position:absolute; right:.8rem; top:50%; transform:translateY(-50%); width:1.9rem; height:1.9rem; border-radius:50%; border:0; background:transparent;
  color:rgba(237,230,228,.65); font-size:1.35rem; line-height:1; cursor:pointer; display:grid; place-items:center; transition:color .25s, background .25s; }
.evb-x:hover, .evb-x:focus-visible { color:#fff; background:rgba(237,230,228,.12); outline:none; }
body.menu-open .evb { opacity:0; visibility:hidden; }
html.evb-closing .site-header { transition:top .45s var(--ease), background .5s var(--ease), padding .5s var(--ease), border-color .5s var(--ease); }
@media (max-width:700px){ .evb { padding:.45rem 2.7rem .45rem .9rem; font-size:.82rem; } .evb-k, .evb-p { display:none; } .evb-t { font-size:1rem; } .evb-link { gap:.1rem .5rem; } .evb-x { right:.4rem; } }
@media (prefers-reduced-motion: reduce){ .evb, .evb-m i { transition:none; } }

/* ===== MOBIL 2 — pás, cookie lišta a hero sa už neprekrývajú ===== */
/* obsah hero sekcií sa posunie pod informačný pás (výšku nastavuje js do --evb-h) */
.hero, .page-hero { transition: padding-top .45s var(--ease); }
html.has-evb .hero { padding-top: calc(6rem + var(--evb-h, 0px)); }
html.has-evb .page-hero { padding-top: calc(8rem + var(--evb-h, 0px)); }
body.menu-open .site-header { top: 0 !important; }                    /* otvorené menu: hlavička späť na vrch */
@media (max-width: 640px) {
  /* informačný pás: kompaktnejší */
  .evb { min-height: 0; padding: .4rem 2.4rem .4rem .7rem; }
  .evb-t { font-size: .95rem; }
  .evb-d { font-size: .76rem; }
  .evb-link { gap: 0 .5rem; }
  .evb-m { font-size: .68rem; }
  /* cookie lišta: nízka, text vedľa tlačidla — nezakrýva obsah */
  .cookie-bar { padding: .6rem .9rem calc(.6rem + env(safe-area-inset-bottom)); gap: .7rem; flex-wrap: nowrap; justify-content: space-between; }
  .cookie-bar p { font-size: .72rem; line-height: 1.4; }
  .cookie-bar .btn { --pad: .55rem .9rem; font-size: .68rem; letter-spacing: .08em; white-space: nowrap; }
  /* hlavička: o niečo nižšia, nech nezaberá štvrtinu malej obrazovky */
  .site-header { padding-block: 1rem; }
  .brand img { height: 52px; }
  .scrolled .brand img { height: 48px; }
  .hero { padding-top: 5.2rem; }
  html.has-evb .hero { padding-top: calc(5.2rem + var(--evb-h, 0px)); }
  .hero .display { margin: 1.1rem 0 1.2rem; }
  .hero-sub { margin-top: 1.6rem; }
}
@media (max-width: 640px) and (max-height: 700px) {
  .hero .lead { font-size: 1.02rem; line-height: 1.5; }
  .hero .display { font-size: clamp(2.3rem, 11vw, 3rem); }
}
@media (prefers-reduced-motion: reduce){ .hero, .page-hero { transition: none; } }
body.menu-open .cookie-bar { transform: translateY(100%); }          /* otvorené menu nezakrýva cookie lišta */

/* mobilné menu: „Kde nás nájdete“ farebne ako tlačidlo na desktope */
.mobile-menu > a[href^="kde-nas-najdete"] { background: var(--gold); color: #170c03; border-radius: 999px; padding: .28em 1.1em; font-size: 1.7rem; margin-block: .2rem; }
.mobile-menu > a[href^="kde-nas-najdete"]:hover { background: var(--gold-soft); color: #170c03; }
@media (max-height: 640px) { .mobile-menu > a[href^="kde-nas-najdete"] { font-size: 1.45rem; } }
