/*
Theme Name: Kaarriegel Premium
Theme URI: https://kaarriegel.at/
Author: Kaarriegel / ChatGPT
Author URI: https://kaarriegel.at/
Description: Premium WordPress Theme für das Bioweingut Kaarriegel. Enthält Startseite, Weine/Shop, Verkostung, Versand & Zahlung, Presse/Downloads sowie Rechtstexte-Seiten im Design der gelieferten HTML-Version.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: kaarriegel
License: Custom project theme
*/
:root{
  --paper:#f3f0e8;
  --ink:#171512;
  --muted:rgba(23,21,18,.58);
  --line:rgba(23,21,18,.18);
  --wine:#7f1d22;
  --moss:#53613e;
  --cream:#fffaf0;
  --max:1440px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:18px 24px;mix-blend-mode:multiply}.brand{display:flex;align-items:center;width:120px;height:52px;border-radius:999px;background:rgba(243,240,232,.75);backdrop-filter:blur(16px);padding:10px 14px}.brand img{width:100%;height:auto}.nav-links{display:flex;align-items:center;gap:8px}.nav-links a,.menu-toggle{border:1px solid rgba(23,21,18,.22);background:rgba(243,240,232,.72);backdrop-filter:blur(16px);border-radius:999px;padding:11px 16px;font-size:14px;font-weight:650}.nav-links .nav-cta{background:var(--ink);color:var(--paper)}.menu-toggle{display:none;color:var(--ink)}.hero{min-height:100svh;position:relative;background:#111;overflow:hidden}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(.96)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.36) 60%,rgba(0,0,0,.55))}.hero-inner{position:relative;max-width:var(--max);min-height:100svh;margin:0 auto;padding:110px 24px 28px;display:flex;flex-direction:column;justify-content:flex-end;color:var(--cream)}.hero h1{margin:0 0 22px;font-family:Georgia,serif;font-size:clamp(76px,14vw,206px);font-weight:500;letter-spacing:-.08em;line-height:.82}.hero-bottom{display:grid;grid-template-columns:minmax(280px,520px) auto;gap:24px;align-items:end}.hero-bottom p{margin:0;font-size:clamp(21px,2.1vw,34px);line-height:1.05;font-weight:600;letter-spacing:-.03em}.section{padding:160px 0}.compact{padding:120px 0}.container{max-width:var(--max);margin:0 auto;padding:0 24px}.split{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}.split.reverse{grid-template-columns:1.7fr 1fr}.split-head{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}.media{border-radius:3px;overflow:hidden;background:#ddd}.media img{width:100%;height:100%;object-fit:cover}.media-large{aspect-ratio:920/800}.copy{border-left:1px solid var(--line);padding-left:24px}.sticky-copy{position:sticky;top:110px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;color:var(--muted);margin:0 0 24px}.eyebrow.light{color:rgba(255,250,240,.72)}h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(50px,7vw,112px);letter-spacing:-.065em;line-height:.88;margin:0}h3{font-family:Georgia,serif;font-weight:500;font-size:clamp(34px,3.8vw,64px);letter-spacing:-.055em;line-height:.92;margin:0}.lead,.section-head p,.copy p{font-size:clamp(20px,2vw,30px);line-height:1.12;font-weight:600;letter-spacing:-.035em;color:var(--ink);margin:32px 0}.facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:48px}.facts span{border:1px solid var(--line);border-radius:999px;padding:12px 14px;font-size:14px;font-weight:700;color:var(--muted)}.center{text-align:center;max-width:1180px}.center p{font-size:24px;color:var(--muted);font-weight:650}.statement h2{color:var(--wine)}.cards.three{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}.step-card{border-left:1px solid var(--line);padding-left:24px}.num{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:21px;font-weight:700;margin-bottom:22px}.step-card p{font-size:18px;line-height:1.35;color:var(--muted);font-weight:600;min-height:98px}.step-card img{aspect-ratio:350/220;width:100%;height:auto;object-fit:cover;border-radius:3px;margin-top:28px}.gallery-section{overflow:hidden;padding-bottom:0}.scroll-gallery{position:relative;height:250vh;margin-top:40px}.gallery-sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden}.gallery-track{display:flex;gap:24px;will-change:transform;padding:0 max(24px,calc((100vw - var(--max))/2 + 24px));transition:transform .08s linear}.gallery-track figure{margin:0;min-width:min(76vw,980px)}.gallery-track img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:3px}.gallery-track figcaption{display:flex;gap:10px;margin-top:12px;color:var(--muted);font-size:21px;font-weight:650}.wine-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}.wine-card{min-height:620px;border:1px solid var(--line);border-radius:3px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,250,240,.28);overflow:hidden}.bottle-wrap{height:285px;display:grid;place-items:center;margin:-10px 0 8px;background:linear-gradient(180deg,rgba(255,250,240,.55),rgba(255,250,240,0));border-radius:3px}.bottle-wrap img{height:100%;width:auto;max-width:78%;object-fit:contain;transition:transform .35s ease}.wine-card:hover .bottle-wrap img{transform:translateY(-8px) scale(1.025)}.wine-content{margin-top:auto}.wine-card.feature{background:var(--wine);color:var(--cream);border-color:var(--wine)}.feature .bottle-wrap{background:linear-gradient(180deg,rgba(255,250,240,.16),rgba(255,250,240,0))}.wine-meta{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.feature .wine-meta,.feature p{color:rgba(255,250,240,.72)}.wine-card p:not(.wine-meta){font-size:18px;line-height:1.35;color:var(--muted);font-weight:600}.switcher-image{aspect-ratio:920/800}.accordion-copy{display:flex;flex-direction:column;min-height:620px}.accordion{margin-top:auto}.acc{width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:22px 0;font-size:24px;line-height:1.08;font-weight:650;color:var(--muted);cursor:pointer}.acc:before{content:"";display:inline-block;width:12px;height:12px;border-radius:99px;border:1px solid currentColor;margin-right:12px}.acc.active{color:var(--wine)}.acc.active:before{background:var(--wine);border-color:var(--wine)}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);border-radius:999px;padding:14px 20px;font-weight:750;line-height:1;background:transparent}.button:after{content:"→";margin-left:10px}.button.light{background:var(--cream);color:var(--ink);border-color:var(--cream)}.contact{background:var(--ink);color:var(--cream)}.contact h2{color:var(--cream)}.contact p{font-size:21px;line-height:1.32;color:rgba(255,250,240,.76);font-weight:600}.contact-form{background:rgba(255,250,240,.08);border:1px solid rgba(255,250,240,.16);border-radius:3px;padding:24px;display:grid;gap:16px}.contact-form label{display:grid;gap:8px;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,250,240,.72);font-weight:800}.contact-form input,.contact-form textarea{width:100%;border:0;border-radius:2px;background:var(--cream);padding:15px 14px;font:inherit;color:var(--ink)}.footer{background:var(--wine);color:var(--cream);padding:26px 24px;overflow:hidden}.footer-word{font-family:Georgia,serif;font-size:clamp(64px,15vw,210px);letter-spacing:-.08em;line-height:.78;white-space:nowrap;margin-bottom:90px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:24px;max-width:var(--max);margin:0 auto}.footer p,.footer a{font-size:18px;font-weight:650;line-height:1.3}.footer nav{display:grid;gap:14px}
@media (max-width:900px){.site-header{padding:14px}.brand{width:108px}.nav-links{display:none;position:absolute;top:76px;right:14px;left:14px;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{text-align:center}.menu-toggle{display:block}.hero-inner{padding:96px 16px 20px}.hero h1{font-size:clamp(68px,22vw,128px)}.hero-bottom,.split,.split.reverse,.split-head,.footer-grid{grid-template-columns:1fr}.section{padding:96px 0}.compact{padding:80px 0}.container{padding:0 16px}.copy{border-left:0;padding-left:0}.sticky-copy{position:static}.media-large,.switcher-image{aspect-ratio:1/1}.cards.three,.wine-list{grid-template-columns:1fr}.step-card{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:18px}.step-card p{min-height:auto}.scroll-gallery{height:auto;margin-top:24px}.gallery-sticky{position:relative;height:auto;display:block;overflow:visible}.gallery-track{display:grid;transform:none!important;gap:16px;padding:0 16px}.gallery-track figure{min-width:0}.bottle-wrap{height:260px}.accordion-copy{min-height:auto}.contact-grid{gap:40px}.footer{padding:22px 16px}.footer-word{margin-bottom:64px}.facts{grid-template-columns:1fr}}

/* Clean v3: stronger header readability, real image handling, no visible horizontal scrollbar */
html,body{overflow-x:hidden}.site-header{mix-blend-mode:normal;padding:18px 24px;gap:16px}.brand,.nav-links a,.menu-toggle{box-shadow:0 14px 40px rgba(23,21,18,.10)}.brand{background:rgba(255,250,240,.90);border:1px solid rgba(23,21,18,.12);width:138px;height:56px}.nav-links a,.menu-toggle{background:rgba(255,250,240,.92);border-color:rgba(23,21,18,.22);color:#171512}.nav-links a:hover,.menu-toggle:hover{background:#fffaf0;border-color:rgba(23,21,18,.38)}.nav-links .nav-cta{background:#171512;color:#fffaf0;border-color:#171512}.hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.20),rgba(0,0,0,.30) 42%,rgba(0,0,0,.68))}.scroll-gallery{overflow:clip}.gallery-sticky{overflow:hidden}.gallery-track{overflow:visible;scrollbar-width:none}.gallery-track::-webkit-scrollbar{display:none}.bottle-wrap{height:330px;background:linear-gradient(180deg,rgba(255,250,240,.85),rgba(255,250,240,.12));}.feature .bottle-wrap{background:linear-gradient(180deg,rgba(255,250,240,.94),rgba(255,250,240,.18))}.bottle-wrap img{height:100%;max-width:92%;mix-blend-mode:multiply}.feature .bottle-wrap img{mix-blend-mode:multiply}.portrait-media img{object-position:center 30%}.people-section{padding-top:40px}.footer-logo{width:min(760px,92vw);height:auto;filter:brightness(0) invert(1);margin:0 auto 80px}.footer-word{opacity:.34}
@media (max-width:900px){.site-header{padding:12px}.brand{width:128px;height:52px}.nav-links{background:rgba(255,250,240,.96);border:1px solid rgba(23,21,18,.16);border-radius:22px;padding:8px;backdrop-filter:blur(16px)}.nav-links a{box-shadow:none}.bottle-wrap{height:300px}.footer-logo{margin-bottom:48px}}

/* Clean v4: pinned scroll gallery without slider or white tail */
.gallery-section{padding-bottom:0!important}.gallery-section .section-head{margin-bottom:0}.scroll-gallery{height:100vh;margin-top:40px;overflow:clip}.gallery-sticky{height:100svh;min-height:680px;align-items:center;background:var(--paper)}.gallery-track{transition:none!important}.gallery-track figure{min-width:min(78vw,1040px)}.gallery-track img{box-shadow:0 20px 70px rgba(23,21,18,.10)}
@media (min-width:901px){.gallery-section + .section{padding-top:120px}.gallery-sticky{top:0}}
@media (max-width:900px){.gallery-section{padding-bottom:0!important}.gallery-sticky{min-height:0;background:transparent}.gallery-section + .section{padding-top:96px}}




/* Gallery v8: drag-to-scroll. Cursor becomes grab hand; mouse/touch drag moves gallery horizontally. */
@media (min-width: 901px) {
  .gallery-section { padding-bottom: 0 !important; overflow: visible; }
  .gallery-section .section-head { margin-bottom: 0; }
  .scroll-gallery { position: relative; height: 100vh; min-height: 720px; margin-top: 40px; overflow: visible; }
  .gallery-sticky {
    position: sticky;
    top: 0;
    height: 100vh;
    min-height: 720px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--paper);
    cursor: grab;
  }
  .gallery-sticky:active { cursor: grabbing; }
  .gallery-track { transition: none !important; will-change: transform; user-select: none; }
  .gallery-track figure { min-width: min(78vw, 1040px); pointer-events: none; }
  .gallery-track img { box-shadow: 0 20px 70px rgba(23,21,18,.10); pointer-events: none; }
  .gallery-section + .section { padding-top: 120px !important; }
}
@media (max-width: 900px) {
  .gallery-section { padding-bottom: 0 !important; }
  .gallery-sticky { min-height: 0; background: transparent; cursor: default; }
  .gallery-section + .section { padding-top: 96px; }
}

/* ── People Drag Slider ─────────────────────────────────────────────────────── */
.people-section { padding-bottom: 0 !important; }
.people-section .container { margin-bottom: 48px; }

.people-slider-wrap {
  overflow: hidden;
  cursor: grab;
  padding-bottom: 80px;
}
.people-slider-wrap:active { cursor: grabbing; }

.people-track {
  display: flex;
  gap: 24px;
  padding: 0 max(24px, calc((100vw - var(--max)) / 2 + 24px));
  will-change: transform;
  user-select: none;
  transition: none;
}

.people-card {
  display: flex;
  flex-direction: row;
  gap: 40px;
  min-width: min(80vw, 960px);
  align-items: flex-start;
  pointer-events: none;
}

.people-img-wrap {
  flex: 0 0 min(38vw, 440px);
  aspect-ratio: 3/4;
  border-radius: 3px;
  overflow: hidden;
  background: #ddd;
}
.people-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  display: block;
  pointer-events: none;
}

.people-info {
  flex: 1;
  padding-top: 8px;
  border-left: 1px solid var(--line);
  padding-left: 32px;
}

.people-role {
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 12px;
  font-weight: 800;
  color: var(--muted);
  margin: 0 0 20px;
}

.people-info h3 {
  margin: 0 0 24px;
}

.people-bio {
  font-size: clamp(18px, 1.6vw, 26px);
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -.03em;
  color: var(--muted);
  margin: 0 0 36px;
}

@media (max-width: 900px) {
  .people-slider-wrap { cursor: default; padding-bottom: 60px; }
  .people-track { flex-direction: column; gap: 64px; padding: 0 16px; transform: none !important; }
  .people-card { flex-direction: column; min-width: 0; gap: 24px; }
  .people-img-wrap { flex: none; width: 100%; aspect-ratio: 4/5; }
  .people-info { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); padding-top: 24px; }
}

/* Apple Maps contact card */
.address-block strong{color:var(--cream);font-weight:800;letter-spacing:.02em}.apple-map-card{position:relative;display:block;min-height:300px;margin-top:34px;border:1px solid rgba(255,250,240,.18);border-radius:4px;overflow:hidden;background:linear-gradient(135deg,rgba(255,250,240,.11),rgba(255,250,240,.03));box-shadow:0 30px 90px rgba(0,0,0,.18);isolation:isolate}.apple-map-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 38% 42%,rgba(255,250,240,.24) 0 4px,transparent 5px),linear-gradient(90deg,rgba(255,250,240,.09) 1px,transparent 1px),linear-gradient(0deg,rgba(255,250,240,.08) 1px,transparent 1px);background-size:auto,64px 64px,64px 64px;opacity:.78}.apple-map-card:after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,250,240,.12);border-radius:3px;background:linear-gradient(145deg,transparent 0 45%,rgba(154,47,36,.35) 45% 47%,transparent 47% 100%)}.map-label,.map-title,.map-address,.map-button,.map-pin{position:absolute;z-index:2}.map-label{top:20px;left:20px;border:1px solid rgba(255,250,240,.18);border-radius:999px;padding:8px 12px;color:rgba(255,250,240,.74);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:850}.map-pin{left:50%;top:42%;transform:translate(-50%,-50%);display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:var(--cream);color:var(--wine);font-size:38px;font-weight:800;box-shadow:0 18px 60px rgba(0,0,0,.28)}.map-title{left:20px;right:20px;bottom:82px;color:var(--cream);font-family:Georgia,serif;font-size:clamp(34px,4vw,58px);letter-spacing:-.055em;line-height:.9}.map-address{left:20px;right:20px;bottom:52px;color:rgba(255,250,240,.72);font-size:16px;font-weight:700}.map-button{right:18px;bottom:16px;border-radius:999px;background:var(--cream);color:var(--ink);padding:12px 16px;font-size:14px;font-weight:850}.apple-map-card:hover .map-button{transform:translateX(2px)}@media (max-width:900px){.apple-map-card{min-height:260px}.map-title{bottom:76px}.map-button{left:18px;right:auto}}

/* V8: Google Maps contact area + content pages */
.map-actions{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}.google-map-embed{grid-column:1/-1;margin-top:18px;border:1px solid rgba(255,250,240,.16);border-radius:4px;overflow:hidden;background:rgba(255,250,240,.08);box-shadow:0 30px 90px rgba(0,0,0,.22);height:min(56vh,560px);min-height:380px}.google-map-embed iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.88) contrast(.96)}.contact-grid{row-gap:24px}.apple-map-card{display:none!important}.footer nav{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.page-hero{min-height:58svh;background:var(--ink);color:var(--cream);display:flex;align-items:flex-end;position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.62)),url('https://kaarriegel.at/wp-content/uploads/2026/05/Hero_background-scaled.jpg') center/cover;opacity:.75}.page-hero .container{position:relative;padding-top:130px;padding-bottom:46px}.page-hero h1{font-family:Georgia,serif;font-size:clamp(64px,12vw,160px);line-height:.82;letter-spacing:-.075em;font-weight:500;margin:0}.page-content{padding:96px 0 140px}.content-grid{display:grid;grid-template-columns:1fr 2fr;gap:60px}.content-card{border-top:1px solid var(--line);padding-top:26px;margin-bottom:42px}.content-card h2{font-size:clamp(42px,5vw,82px)}.content-card p,.content-card li{font-size:20px;line-height:1.45;color:var(--muted);font-weight:600}.content-card ul{padding-left:1.1em}.simple-table{width:100%;border-collapse:collapse;margin-top:24px}.simple-table th,.simple-table td{text-align:left;border-top:1px solid var(--line);padding:16px 0;font-size:18px}.simple-table th{color:var(--ink)}.legal-note{font-size:16px!important;color:var(--muted)!important}.page-wine-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}@media (max-width:900px){.google-map-embed{height:420px;min-height:320px}.footer nav{grid-template-columns:1fr}.page-hero{min-height:48svh}.content-grid,.page-wine-grid{grid-template-columns:1fr}.page-content{padding:72px 0 110px}}


/* ── Premium polish v9 ─────────────────────────────────────────────────────── */
.site-loader{position:fixed;inset:0;z-index:999;background:#171512;color:#fffaf0;display:grid;place-items:center;align-content:center;gap:14px;transition:opacity .7s ease,visibility .7s ease}.loader-mark{width:76px;height:76px;border:1px solid rgba(255,250,240,.28);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:26px;letter-spacing:-.06em}.loader-text{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:rgba(255,250,240,.72)}body.is-loaded .site-loader{opacity:0;visibility:hidden;pointer-events:none}.site-header{transition:transform .45s ease,background .35s ease}.site-header.header-scrolled{background:rgba(243,240,232,.42);backdrop-filter:blur(20px);border-bottom:1px solid rgba(23,21,18,.08)}.nav-links a{position:relative;overflow:hidden;transition:background .25s ease,border-color .25s ease,transform .25s ease}.nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:16px;right:16px;bottom:7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.nav-links a:hover{transform:translateY(-1px)}.nav-links a:hover::after{transform:scaleX(1)}.brand{transition:transform .3s ease}.brand:hover{transform:translateY(-1px) scale(1.015)}.hero-bg{transform:scale(1.05);will-change:transform}.section,.wine-card,.step-card,.people-card,.content-card{opacity:0;transform:translateY(54px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.section.in-view,.wine-card.in-view,.step-card.in-view,.people-card.in-view,.content-card.in-view{opacity:1;transform:translateY(0)}.button{transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease}.button:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(23,21,18,.14)}.wine-card{position:relative;isolation:isolate;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease}.wine-card::before{content:"";position:absolute;inset:-1px;z-index:-1;background:radial-gradient(circle at 50% 24%,rgba(182,145,72,.24),transparent 34%);opacity:0;transition:opacity .35s ease}.wine-card:hover{box-shadow:0 28px 80px rgba(23,21,18,.13);border-color:rgba(127,29,34,.32)}.wine-card:hover::before{opacity:1}.feature:hover{box-shadow:0 30px 90px rgba(127,29,34,.28)}.media img,.step-card img,.gallery-track img,.people-img-wrap img{transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .45s ease}.media:hover img,.step-card:hover img,.people-img-wrap:hover img{transform:scale(1.035);filter:saturate(1.04)}.footer{padding-top:64px}.footer-logo{margin-bottom:90px}.footer-word{display:none!important}.footer-grid{border-top:1px solid rgba(255,250,240,.20);padding-top:30px}.contact .container.contact-grid{max-width:var(--max)}.google-map-embed{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-left:0!important;border-right:0!important;border-radius:0!important;height:clamp(460px,62vh,720px)!important;min-height:460px!important;box-shadow:none!important}.google-map-embed iframe{filter:saturate(.92) contrast(.98)}.map-actions .button{background:var(--cream);color:var(--ink);border-color:var(--cream)}@media (max-width:900px){.site-loader{display:none}.section,.wine-card,.step-card,.people-card,.content-card{opacity:1;transform:none}.google-map-embed{height:420px!important;min-height:360px!important}.footer-logo{margin-bottom:52px}.footer{padding-top:42px}}


/* ── Premium final v10 ────────────────────────────────────────────────────── */
.site-loader{
  background:radial-gradient(circle at 50% 42%,rgba(255,250,240,.09),transparent 32%),#171512;
}
.loader-mark{
  width:92px;
  height:92px;
  border:0;
  background:#fff;
  padding:8px;
  box-shadow:0 24px 80px rgba(0,0,0,.36);
  animation:loaderPulse 1.65s ease-in-out infinite;
  overflow:hidden;
}
.loader-mark img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}
@keyframes loaderPulse{
  0%,100%{transform:scale(1);opacity:.92}
  50%{transform:scale(1.045);opacity:1}
}
.contact.section{
  padding-bottom:0!important;
}
.contact .google-map-embed{
  margin-top:58px!important;
  margin-bottom:0!important;
  display:block;
}
.contact .container.contact-grid{
  padding-bottom:0!important;
}
.footer{
  margin-top:0!important;
}
@media (max-width:900px){
  .site-loader{display:grid}
  .loader-mark{width:78px;height:78px}
  .contact .google-map-embed{margin-top:38px!important}
}

/* v11 Header polish: pure logo, no pill */
.site-header{
  padding:22px 30px;
  mix-blend-mode:normal;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:padding .35s ease, background .35s ease, backdrop-filter .35s ease, border-color .35s ease;
}
.brand{
  width:158px!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  display:flex;
  align-items:center;
}
.brand img{
  width:100%;
  height:auto;
  filter:brightness(0) invert(1);
  transition:filter .35s ease, transform .35s ease, opacity .35s ease;
}
.brand:hover{transform:none!important}
.brand:hover img{transform:translateY(-1px);opacity:.86}
.site-header.header-scrolled{
  padding:13px 24px;
  background:rgba(255,250,240,.70)!important;
  backdrop-filter:blur(22px) saturate(1.2);
  -webkit-backdrop-filter:blur(22px) saturate(1.2);
  border-bottom:1px solid rgba(23,21,18,.08);
}
.site-header.header-scrolled .brand{width:144px!important}
.site-header.header-scrolled .brand img{filter:none}
.nav-links{
  gap:22px;
  padding:10px 14px;
  border:1px solid rgba(255,250,240,.18);
  border-radius:999px;
  background:rgba(23,21,18,.18);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.site-header.header-scrolled .nav-links{
  background:rgba(255,250,240,.54);
  border-color:rgba(23,21,18,.10);
}
.nav-links a,
.menu-toggle{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:7px 2px!important;
  color:#fffaf0!important;
  font-size:13px;
  letter-spacing:.02em;
}
.site-header.header-scrolled .nav-links a,
.site-header.header-scrolled .menu-toggle{color:#171512!important}
.nav-links .nav-cta{
  color:#fffaf0!important;
  background:rgba(255,250,240,.16)!important;
  border-radius:999px!important;
  padding:9px 14px!important;
}
.site-header.header-scrolled .nav-links .nav-cta{
  background:#171512!important;
  color:#fffaf0!important;
}
.nav-links a:not(.nav-cta)::after{
  left:0!important;
  right:0!important;
  bottom:1px!important;
  background:currentColor;
  opacity:.95;
}
@media (max-width:900px){
  .site-header{padding:16px 18px}
  .brand{width:136px!important}
  .site-header.header-scrolled .brand{width:128px!important}
  .menu-toggle{
    display:block!important;
    border:1px solid rgba(255,250,240,.25)!important;
    border-radius:999px!important;
    padding:10px 14px!important;
    background:rgba(23,21,18,.22)!important;
    backdrop-filter:blur(14px);
  }
  .site-header.header-scrolled .menu-toggle{
    border-color:rgba(23,21,18,.12)!important;
    background:rgba(255,250,240,.70)!important;
  }
  .nav-links{
    top:70px;
    right:16px;
    left:16px;
    gap:2px;
    padding:10px;
    background:rgba(255,250,240,.94)!important;
    border-color:rgba(23,21,18,.12);
    border-radius:22px;
  }
  .nav-links a{color:#171512!important;text-align:center;padding:13px 10px!important}
  .nav-links .nav-cta{color:#fffaf0!important;background:#171512!important}
}

/* v12 Header logo fix: single pure logo, no filter transition/ghosting */
.site-header{
  background:rgba(255,250,240,.16)!important;
  backdrop-filter:blur(18px) saturate(1.1);
  -webkit-backdrop-filter:blur(18px) saturate(1.1);
}
.site-header.header-scrolled{
  background:rgba(255,250,240,.78)!important;
}
.brand,
.site-header.header-scrolled .brand{
  width:154px!important;
  min-width:154px!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  position:relative!important;
}
.brand::before,
.brand::after{content:none!important;display:none!important;}
.brand img,
.site-header.header-scrolled .brand img{
  display:block!important;
  width:154px!important;
  height:auto!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  transform:none!important;
  transition:opacity .25s ease!important;
  image-rendering:auto;
}
.brand:hover img{opacity:.82!important;transform:none!important;}
@media (max-width:900px){
  .brand,
  .site-header.header-scrolled .brand{width:132px!important;min-width:132px!important;}
  .brand img,
  .site-header.header-scrolled .brand img{width:132px!important;}
}

/* v13: clean navigation + aligned process cards */
.site-header{
  background:rgba(23,21,18,.24)!important;
  border-bottom:1px solid rgba(255,250,240,.10)!important;
}
.site-header.header-scrolled{
  background:rgba(255,250,240,.76)!important;
  border-bottom:1px solid rgba(23,21,18,.08)!important;
}
.nav-links{
  gap:34px!important;
  padding:12px 22px!important;
  background:rgba(23,21,18,.22)!important;
  border:1px solid rgba(255,250,240,.18)!important;
  border-radius:999px!important;
  box-shadow:none!important;
}
.site-header.header-scrolled .nav-links{
  background:rgba(255,250,240,.44)!important;
  border-color:rgba(23,21,18,.10)!important;
}
.nav-links a,
.nav-links .nav-cta,
.menu-toggle{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border-radius:0!important;
  padding:4px 0!important;
  color:#fffaf0!important;
  font-size:14px!important;
  font-weight:760!important;
  line-height:1.15!important;
  letter-spacing:.01em!important;
}
.site-header.header-scrolled .nav-links a,
.site-header.header-scrolled .nav-links .nav-cta,
.site-header.header-scrolled .menu-toggle{
  color:#171512!important;
}
.nav-links a::after,
.nav-links a:not(.nav-cta)::after,
.nav-links .nav-cta::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-6px!important;
  height:1px!important;
  background:currentColor!important;
  transform:scaleX(0)!important;
  transform-origin:left!important;
  opacity:.95!important;
  transition:transform .28s ease!important;
}
.nav-links a:hover::after,
.nav-links a:not(.nav-cta):hover::after,
.nav-links .nav-cta:hover::after{
  transform:scaleX(1)!important;
}
.nav-links a:hover,
.nav-links .nav-cta:hover{
  transform:translateY(-1px)!important;
}

.process .cards.three{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  align-items:stretch!important;
  margin-top:58px!important;
  border-left:1px solid rgba(23,21,18,.14);
}
.process .step-card{
  display:grid!important;
  grid-template-rows:56px minmax(128px,auto) minmax(112px,auto) 1fr!important;
  align-content:start!important;
  border-left:0!important;
  border-right:1px solid rgba(23,21,18,.14)!important;
  padding:0 24px 0 24px!important;
  min-height:596px!important;
}
.process .step-card .num{
  align-self:start!important;
  justify-self:start!important;
  margin:0 0 18px 0!important;
  width:48px!important;
  height:48px!important;
}
.process .step-card h3{
  align-self:start!important;
  min-height:118px!important;
  max-width:92%;
  display:flex!important;
  align-items:flex-start!important;
}
.process .step-card p{
  margin:0!important;
  min-height:104px!important;
  max-width:92%;
  font-size:18px!important;
  line-height:1.38!important;
}
.process .step-card img{
  align-self:end!important;
  width:100%!important;
  height:260px!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  margin-top:28px!important;
  border-radius:3px!important;
}
@media (min-width:1200px){
  .process .step-card{padding-left:28px!important;padding-right:28px!important;min-height:620px!important;}
  .process .step-card img{height:286px!important;}
}
@media (max-width:900px){
  .nav-links{
    gap:0!important;
    padding:14px!important;
    background:rgba(255,250,240,.96)!important;
    border-radius:22px!important;
  }
  .nav-links a,
  .nav-links .nav-cta{
    color:#171512!important;
    padding:13px 10px!important;
  }
  .nav-links a::after{display:none!important;}
  .menu-toggle{
    border:1px solid rgba(255,250,240,.25)!important;
    border-radius:999px!important;
    padding:10px 14px!important;
    background:rgba(23,21,18,.20)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
  }
  .site-header.header-scrolled .menu-toggle{
    background:rgba(255,250,240,.70)!important;
    border-color:rgba(23,21,18,.12)!important;
  }
  .process .cards.three{
    grid-template-columns:1fr!important;
    gap:28px!important;
    border-left:0!important;
    margin-top:34px!important;
  }
  .process .step-card{
    display:block!important;
    min-height:auto!important;
    border-right:0!important;
    border-top:1px solid rgba(23,21,18,.14)!important;
    padding:22px 0 0 0!important;
  }
  .process .step-card h3,
  .process .step-card p{
    min-height:auto!important;
    max-width:none!important;
  }
  .process .step-card .num{margin-bottom:18px!important;}
  .process .step-card p{margin-top:18px!important;}
  .process .step-card img{height:auto!important;aspect-ratio:350/220!important;margin-top:26px!important;}
}

/* v14 final: Kontakt button no black block */
.site-header .nav-links .nav-cta,
.site-header.header-scrolled .nav-links .nav-cta{
  background:transparent!important;
  color:inherit!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:4px 0!important;
}
.site-header:not(.header-scrolled) .nav-links .nav-cta{color:#fffaf0!important;}
.site-header.header-scrolled .nav-links .nav-cta{color:#171512!important;}
.site-header .nav-links .nav-cta:hover{background:transparent!important;}
@media (max-width:900px){
  .site-header .nav-links .nav-cta,
  .site-header.header-scrolled .nav-links .nav-cta{
    color:#171512!important;
    background:transparent!important;
    padding:13px 10px!important;
  }
}


/* WordPress final header polish */
.site-header .nav-links a{
  background:transparent!important;
  box-shadow:none!important;
  color:inherit;
}
.site-header .nav-links .nav-cta{
  background:transparent!important;
  color:inherit!important;
  border-color:transparent!important;
}
.site-header .nav-links .nav-cta::after,
.site-header .nav-links a::after{
  content:"";
  display:block;
  height:1px;
  width:0;
  background:currentColor;
  margin-top:4px;
  transition:width .25s ease;
}
.site-header .nav-links a:hover::after,
.site-header .nav-links .nav-cta:hover::after{width:100%;}
.brand{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:0!important;border-radius:0!important;}
.brand img{display:block;}
.admin-bar .site-header{top:32px;}
@media (max-width:782px){.admin-bar .site-header{top:46px;}}


/* WordPress menu markup compatibility */
.nav-links ul{display:flex;align-items:center;gap:inherit;margin:0;padding:0;list-style:none;}
.nav-links li{margin:0;padding:0;list-style:none;}
.nav-links li:last-child a{background:transparent!important;color:inherit!important;border-color:transparent!important;}
@media (max-width:900px){.nav-links ul{flex-direction:column;align-items:stretch}.nav-links li a{display:block;text-align:center}}

/* v15 legal content + final menu readability fix */
.site-header .nav-links a,
.site-header .nav-links li a,
.site-header .nav-links .nav-cta,
.site-header.header-scrolled .nav-links a,
.site-header.header-scrolled .nav-links li a,
.site-header.header-scrolled .nav-links .nav-cta{
  color:#171512!important;
  background:transparent!important;
  opacity:1!important;
  text-shadow:none!important;
}
.site-header:not(.header-scrolled) .nav-links a,
.site-header:not(.header-scrolled) .nav-links li a,
.site-header:not(.header-scrolled) .nav-links .nav-cta{
  color:#fffaf0!important;
}
.site-header.header-scrolled .nav-links{
  background:rgba(255,250,240,.86)!important;
  border-color:rgba(23,21,18,.16)!important;
}
.site-header .nav-links li:last-child a,
.site-header.header-scrolled .nav-links li:last-child a,
.site-header .nav-links .nav-cta{
  color:inherit!important;
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
.footer nav a,
.footer nav li a,
.footer a{
  color:#fffaf0!important;
  opacity:1!important;
}
.footer nav a:hover,
.footer nav li a:hover{
  opacity:.72!important;
}
.simple-table th{width:34%;padding-right:24px;vertical-align:top;color:#171512;font-weight:800;}
.simple-table td{vertical-align:top;color:#77736a;font-weight:650;}
.content-card a{color:#7f1d22;text-decoration:none;border-bottom:1px solid rgba(127,29,34,.28);}
.content-card a:hover{border-bottom-color:#7f1d22;}
@media (max-width:900px){
  .site-header:not(.header-scrolled) .nav-links a,
  .site-header:not(.header-scrolled) .nav-links li a,
  .site-header:not(.header-scrolled) .nav-links .nav-cta{color:#171512!important;}
  .simple-table th,.simple-table td{display:block;width:100%;padding:10px 0;}
  .simple-table td{padding-top:0;}
}

/* v16 final front-page refinements: gallery CTA, contact CTA, premium footer */
.gallery-cta-slide{
  min-width:min(44vw,560px)!important;
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:16/9;
}
.gallery-next-card{
  width:min(360px,78vw);
  min-height:220px;
  border-radius:999px;
  background:rgba(23,21,18,.075);
  border:1px solid rgba(23,21,18,.10);
  color:#171512;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:center;
  transition:transform .3s ease, background .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.gallery-next-card:hover{
  transform:translateY(-3px);
  background:#171512;
  color:#fffaf0;
  border-color:#171512;
  box-shadow:0 24px 70px rgba(23,21,18,.16);
}
.gallery-next-circle{
  width:58px;
  height:58px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,250,240,.90);
  color:#171512;
  font-size:24px;
  font-weight:800;
}
.gallery-next-kicker{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:11px;
  font-weight:850;
  color:rgba(23,21,18,.58);
}
.gallery-next-card:hover .gallery-next-kicker{color:rgba(255,250,240,.62)}
.gallery-next-card strong{
  font-size:clamp(24px,2.2vw,34px);
  line-height:1;
  letter-spacing:-.04em;
}
.contact-clean-cta{
  border:1px solid rgba(255,250,240,.18);
  background:linear-gradient(145deg,rgba(255,250,240,.105),rgba(255,250,240,.035));
  border-radius:4px;
  padding:clamp(28px,4vw,54px);
  align-self:start;
  box-shadow:0 28px 90px rgba(0,0,0,.18);
}
.contact-clean-cta .contact-cta-label{
  margin:0 0 20px!important;
  color:rgba(255,250,240,.62)!important;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px!important;
  font-weight:850;
}
.contact-clean-cta h3{
  color:#fffaf0;
  max-width:520px;
  font-size:clamp(36px,4vw,66px);
  margin:0 0 24px;
}
.contact-clean-cta p:not(.contact-cta-label){
  max-width:520px;
  margin:0 0 34px;
  color:rgba(255,250,240,.68)!important;
}
.contact-arrow-button{
  display:inline-flex;
  align-items:center;
  gap:18px;
  min-height:62px;
  padding:7px 7px 7px 28px;
  border-radius:999px;
  background:#fffaf0;
  color:#171512;
  font-weight:850;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.contact-arrow-button:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 46px rgba(0,0,0,.25);
  background:#ffffff;
}
.contact-arrow{
  width:48px;
  height:48px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#9b2024;
  color:#fffaf0;
  font-size:22px;
  line-height:1;
}
.footer{
  padding:64px 24px 54px!important;
}
.footer-logo{
  width:min(520px,82vw)!important;
  margin:0 auto 58px!important;
}
.footer-grid{
  grid-template-columns:1.2fr 1.15fr .9fr!important;
  gap:clamp(30px,6vw,90px)!important;
  align-items:start;
  border-top:1px solid rgba(255,250,240,.24)!important;
  padding-top:38px!important;
}
.footer-grid > p:first-child{
  max-width:440px;
  margin:0;
}
.footer nav,
.footer .menu-footer-container,
.footer nav ul{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(130px,1fr))!important;
  gap:12px 28px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.footer nav li{margin:0!important;padding:0!important;list-style:none!important;}
.footer nav a,
.footer nav li a{
  display:inline-flex;
  width:max-content;
  font-size:16px!important;
  line-height:1.2!important;
  border-bottom:1px solid transparent;
  transition:opacity .25s ease,border-color .25s ease,transform .25s ease;
}
.footer nav a:hover,
.footer nav li a:hover{
  opacity:.82!important;
  transform:translateX(2px);
  border-bottom-color:rgba(255,250,240,.46);
}
.footer-copy{
  margin:0;
  text-align:left;
}
.footer-copy span{opacity:.72;}
@media (max-width:900px){
  .gallery-cta-slide{min-width:0!important;aspect-ratio:auto;min-height:240px;}
  .gallery-next-card{width:100%;border-radius:28px;min-height:220px;}
  .contact-clean-cta{padding:28px;}
  .footer-grid{grid-template-columns:1fr!important;gap:34px!important;}
  .footer nav,.footer .menu-footer-container,.footer nav ul{grid-template-columns:1fr 1fr!important;gap:12px 20px!important;}
  .footer-copy{text-align:left;}
}
@media (max-width:540px){
  .footer nav,.footer .menu-footer-container,.footer nav ul{grid-template-columns:1fr!important;}
}

/* v17 final refinements */
.gallery-next-card{
  width:min(340px,72vw) !important;
  min-height:340px !important;
  aspect-ratio:1/1 !important;
  border-radius:999px !important;
  background:linear-gradient(145deg,rgba(232,229,220,.96),rgba(198,194,184,.88)) !important;
  border:1px solid rgba(23,21,18,.16) !important;
  color:#171512 !important;
  box-shadow:0 28px 80px rgba(23,21,18,.16) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:44px !important;
}
.gallery-next-card:hover{
  transform:translateY(-4px) scale(1.015) !important;
  background:linear-gradient(145deg,#fffaf0,#d8d3c5) !important;
}
.gallery-next-circle{
  width:64px !important;
  height:64px !important;
  border-radius:999px !important;
  background:#171512 !important;
  color:#fffaf0 !important;
  display:grid !important;
  place-items:center !important;
  margin:0 auto 22px !important;
  font-size:28px !important;
  line-height:1 !important;
}
.gallery-next-kicker{
  display:block !important;
  color:rgba(23,21,18,.56) !important;
  font-size:12px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  font-weight:850 !important;
  margin-bottom:12px !important;
}
.gallery-next-card strong{
  font-family:Georgia,serif !important;
  font-size:clamp(34px,3.6vw,54px) !important;
  letter-spacing:-.055em !important;
  line-height:.92 !important;
  font-weight:500 !important;
}
.contact-clean-cta{
  align-self:start !important;
  background:rgba(255,250,240,.045) !important;
  border:1px solid rgba(255,250,240,.16) !important;
  border-radius:999px !important;
  padding:26px !important;
  max-width:520px !important;
}
.contact-clean-cta .contact-cta-label{
  margin-bottom:12px !important;
}
.contact-clean-cta p:not(.contact-cta-label){
  margin:0 0 22px !important;
  max-width:420px !important;
}
.contact-arrow-button{
  border-radius:999px !important;
  min-height:58px !important;
  padding:0 12px 0 26px !important;
  gap:18px !important;
}
.contact-arrow-button .contact-arrow{
  width:44px !important;
  height:44px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  background:#171512 !important;
  color:#fffaf0 !important;
}
.footer-grid{
  align-items:start !important;
}
.footer nav,
.footer .menu-footer-container,
.footer nav ul{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(150px,1fr)) !important;
  gap:10px 30px !important;
}
.footer nav a,
.footer nav li a{
  display:inline-flex !important;
  align-items:center !important;
  min-height:28px !important;
  font-size:17px !important;
  line-height:1.25 !important;
  opacity:.92 !important;
}
.footer nav a:hover,
.footer nav li a:hover{
  opacity:1 !important;
  transform:translateX(3px) !important;
}
.footer-copy{
  text-align:right !important;
  font-size:16px !important;
  line-height:1.45 !important;
}
.footer-copy .copyright-line{
  font-weight:750 !important;
}
@media (max-width:900px){
  .gallery-next-card{width:100% !important;min-height:280px !important;border-radius:28px !important;}
  .contact-clean-cta{border-radius:28px !important;}
  .footer-copy{text-align:left !important;}
}
