/* Neutralize PageWeave platform (daisyUI) class collisions used by the original markup */
.navbar { min-height: 0; padding: 0; width: auto; }
.link { text-decoration-line: none; }
#app.hd-loading { cursor: wait; }

/* Loader: LA WALLY crest centered as a plain image */
.loader__logo-wrap[data-v-7021dc02] { justify-content: center; }
.loader__logo[data-v-7021dc02] { display: block; height: auto; max-width: none; }

/* Partner logos in the bottom infos bar (row, all viewports) */
.slider__infos .slider__info-logos { display: flex; flex-direction: row; align-items: center; justify-content: center; width: auto; margin-left: 0; }
.slider__infos .slider__info-logos a { display: block; line-height: 0; }
.slider__infos .slider__info-logos a:not(:last-child) { margin-right: 14px; margin-bottom: 0; }
.slider__infos .slider__info-logos img[data-v-288c2344] { width: 46px; height: 46px; object-fit: contain; border-radius: 4px; background: #fff; margin: 0; }
@media screen and (max-width: 47.99em) {
  .slider__infos .slider__info-logos a:not(:last-child) { margin-right: 10px; }
  .slider__infos .slider__info-logos img[data-v-288c2344] { width: 40px; height: 40px; }
}

/* Header-Logo: doppelt so groß (28.09.26) */
.header__logo[data-v-b4c12da6] { height: calc(var(--grid-val-vertical) * 2); }
@media screen and (min-width: 48em) and (max-width: 79.99em) and (orientation: portrait) {
  .header__logo[data-v-b4c12da6] { height: calc(var(--grid-val-vertical) * 1.4); }
}
/* Header-Logo mobil: 16vh statt 8vh = doppelt so groß wie bisher live (--grid-val-vertical = 4vh auf <48em) */
@media screen and (max-width: 47.99em) {
  .header__logo[data-v-b4c12da6] { height: calc(var(--grid-val-vertical) * 4); }
}

/* LA WALLY: Schriften -> Oswald (Variable, latin) */
@font-face {
  font-family: "Oswald";
  src: url("/assets/01a0e793-ce94-7b01-9114-8a735f2fa566/oswald-variable-latin.woff2") format("woff2");
  font-weight: 200 700;
  font-style: normal;
  font-display: swap;
  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;
}
body { font-family: "Oswald", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }
.mixed-title__main[data-v-2e7ffe6d],
.mixed-title--slider .mixed-title__main[data-v-2e7ffe6d],
.mixed-title--small .mixed-title__main[data-v-2e7ffe6d] { font-family: "Oswald", sans-serif; }

/* Kursivwörter: Pinyon Script statt Oswald (29.09.26) */
@font-face {
  font-family: "Pinyon Script";
  src: url("/assets/01a0e7e5-c60c-7c81-9d44-4a7b45be14d0/pinyon-script-latin.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  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;
}
.mixed-title__curs-wrap[data-v-2e7ffe6d] { font-family: "Pinyon Script", cursive; }

/* Slide-Label: LA WALLY */
.slider__label[data-v-288c2344] { letter-spacing: 0.14em; }

/* Mobiles Menü: LA-WALLY-Rot */
.navigator__bg[data-v-611c6a6b] { background-color: #5d1010; }

/* Swipe-Hinweis mobil: mittig ÜBER „MEHR DAZU“ */
@media screen and (max-width: 47.99em) {
  .slider__swipe-hint { top: auto; right: auto; bottom: calc(var(--grid-val-vertical) * 6 + 44px); left: 50%; transform: translateX(-50%); }
}


/* Loader-Intro mobil: lange Label-Zeile bündig halten; Kursivzeile in Pinyon-Größe (29.09.26 — sonst wird „in Tirol“ bei breiter Fallback-Schrift beidseitig abgeschnitten) */
@media screen and (max-width: 47.99em) {
  .loader__intro-title[data-v-7021dc02] .mixed-title__label { font-size: max(12px, 7.8vw); transform: translate(0, calc(var(--grid-val-vertical) * .5)); }
  .loader__intro-title[data-v-7021dc02] .mixed-title__curs { font-size: max(12px, 16.8vw); }
}

/* iOS/Safari rastert animierte (transformierte) Elemente in der Layout-Box und kappt die
   darüber hinausragenden Pinyon-Schwingen: Tinte = 201px vs. Textbox = 175px — dadurch
   fehlten vorne der „i“-Anlauf (~3px) und hinten der „l“-Auslauf (~21px) leicht.
   Unsichtbarer Padding-Puffer vergrößert die Rasterbox; top/left sind so
   gegengeschoben, dass der Text exakt an der gleichen Stelle steht.
   (30.09.26, am iPhone-Screenshot per Pixelprofil verifiziert)
   Zusätzlich sitzt die Zeile mobil 8px tiefer — mehr Abstand zum Label darüber (30.09.26). */
@media screen and (max-width: 47.99em) {
  .loader__intro-title[data-v-7021dc02] .mixed-title__curs {
    padding: 12px 33px 18px 16px;
    top: calc(var(--grid-val-vertical) * -.6 - 4px);
    left: calc(var(--grid-val-vertical) * -.5 + 8px);
  }
}


/* Mobiles Menü: Schriften explizit auf Oswald */
.navigator__nav .navbar__list,
.navigator__socials-list,
.navigator__sub-list,
.navigator__langs { font-family: "Oswald", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }

/* Mobiles Menü: mehr Abstand zwischen Logo und Menütext
   (Logo seit 28.09. doppelt so groß → deutlich mehr Luft, 30.09.26) */
.navigator__nav[data-v-611c6a6b] { margin-top: 120px; }

/* Sprachwahl-Pfeil: konsistentes CSS-Chevron statt Fallback-Glyphe (⋎ fehlt in Oswald, je nach Gerät „v“/„Y“) */
.lang-selector__arrow[data-v-c4c6e6f0] { position: relative; display: inline-block; width: 12px; height: 8px; font-size: 0; line-height: 0; }
.lang-selector__arrow[data-v-c4c6e6f0]::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
}

/* Sprachwahl-Pfeil mobil: optische Ausrichtung (Flex-Baseline sitzt hier höher als im Header) */
@media screen and (max-width: 47.99em) {
  .navigator__langs .lang-selector__arrow[data-v-c4c6e6f0] { top: 7px; }
}


/* Kursivwörter mobil: Pinyon etwas kleiner + ohne Linksversatz (sonst wird der erste Buchstabe angeschnitten).
   Zusaetzlich 32px nach oben (30.09.26): rueckt die Kursivzeile wie am Desktop leicht unter die
   Ueberschrift (Desktop-Proportion: Tinte ~23px Ueberlappung bei 65.5px Schrift). */
@media screen and (max-width: 47.99em) {
  .mixed-title--slider .mixed-title__curs[data-v-2e7ffe6d] { font-size: max(12px, 16.8vw); left: 0; top: calc(var(--grid-val-vertical) * -.6 - 32px); }
}


/* Cursor: LA-WALLY-Weinrot statt Beige (30.09.26) */
:root { --mouse-color: #5d1010; }

/* Nach dem ersten Slide-Wechsel: weißes Weinglas statt Punkt (Desktop) */
.cursor__glass { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; width: 28px; height: 28px; opacity: 0; pointer-events: none; }
.cursor__glass svg { display: block; width: 100%; height: 100%; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35)); }
.cursor--glass .cursor__inner { background-color: transparent; }
.cursor--glass .cursor__glass { opacity: 1; }
.cursor--button .cursor__inner { background-color: var(--mouse-color); }
.cursor--button .cursor__glass { opacity: 0; }
@media (hover: none) { .cursor__glass { display: none; } }


/* Noise-Textur auf allen Seiten sichtbar machen (30.09.26): Im Asset-CSS loest die
   relative url() gegen den CDN-Host auf (403 Forbidden) -> unsichtbar auf /geschichte,
   /philosophie, /patenschaften, / und /weine. Ueber das Snippet (same-origin)
   aufgeloest laedt sie. /kontakt ist davon nicht betroffen (Base64 im eigenen CSS). */
.noise[data-v-10de08b0] { background-image: url("/assets/01a0e6f5-090c-7160-82db-145993da7b53/noise.png"); }

/* Scroll-Cue im Hero: mobil/Portrait laeuft die Linie von oben nach unten (wie /weine),
   Desktop-Landscape (horizontale Panel-Buehne) bleibt horizontal (30.09.26). */
@media (max-width: 47.99em), (orientation: portrait) {
  /* Scroll-Cue immer mittig im Screen (der Wrap sitzt links unten) — 30.09.26 */
  .drag.hero-media__scroll { flex-direction: column; left: 0; width: 100vw; }
  .drag.hero-media__scroll .drag__line {
    width: 1px;
    height: calc(var(--grid-val-vertical) * 1.6);
    margin: calc(var(--grid-val-vertical) * .3) 0;
  }
  .drag.hero-media__scroll .drag__line-inner {
    width: 1px;
    height: 100%;
    animation: lwDragDown 1.4s cubic-bezier(.215, .61, .355, 1) infinite;
  }
}
@keyframes lwDragDown {
  0%   { transform-origin: center bottom; transform: scaleY(1); }
  31%  { transform-origin: center bottom; transform: scaleY(0); }
  61%  { transform-origin: center top;    transform: scaleY(0); }
  100% { transform-origin: center top;    transform: scaleY(1); }
}
@media (prefers-reduced-motion: reduce) {
  .drag.hero-media__scroll .drag__line-inner { animation: none; }
}

/* Startseiten-Footer mobil: EINE unterste Zeile - Zaehler . Logos . Wasserzeichen (30.09.26).
   Impressum/Datenschutz entfallen mobil (sind im Mobile-Menue abgebildet).
   Desktop bleibt unveraendert (Badge rechts, Impressum/Datenschutz mittig unter den Logos).
   Farbe Weinrot wird per JS in den Shadow-Root injiziert (js/tasca.js + js/weine.js). */
@media (max-width: 47.99em) {
  /* Impressum + Datenschutz raus - im Mobile-Menue vorhanden */
  .slider__privacy-wrap[data-v-288c2344] { display: none; }
  /* Partner-Logos runter in die unterste Zeile, buendig mit Zaehler + Badge */
  .slider__infos[data-v-288c2344] { bottom: calc(var(--grid-val-vertical) * .7); }
  /* PageWeave-Badge: statt mittig jetzt unten rechts, auf Hoehe der Zeile.
     Nur auf Seiten mit dem Slider-Footer (Startseite); sonst bleibt sie wie bisher. */
  body:has(.slider__privacy-wrap) div[data-controller="watermark"],
  body[data-analytics-beacon-path-value="/"] div[data-controller="watermark"] {
    left: auto; right: calc(var(--grid-val) * .5vw);
    margin-left: 0; margin-right: 0; width: auto;
    bottom: calc(var(--grid-val-vertical) * .7);
  }
}

/* "Impressum" im Slider-Footer: Desktop mittig UNTER den Partner-Logos (vorher rechts unten,
   wo jetzt die Badge liegt). Mobil ausgeblendet (im Mobile-Menue) - siehe Block oben. 30.09.26
   Hinweis: Selektor mit data-v noetig — die Basis-Regel im Tasca-CSS hat dieselbe
   Spezifitaet, greift sonst. justify-content zentriert den Link in voller Breite. */
@media (min-width: 48em) {
  .slider__privacy-wrap[data-v-288c2344] { left: 0; right: 0; justify-content: center; bottom: 5px; padding: 0; }
}


/* Story-Textgroessen mobil vereinheitlicht (30.09.26): /geschichte, /philosophie und
   /patenschaften jetzt identisch (Basis = die auf /geschichte abgestimmten Werte:
   Intro max(14px,4.6vw)/1.35, Text max(12.5px,3.55vw)/1.55 — vorher hatten
   /philosophie + /patenschaften max(17px,5.6vw)/1.32 bzw. max(14px,4vw)/1.52). */
@media (max-width: 47.99em) {
  .single-col-media__intro[data-v-82f46bec] { font-size: max(14px, 4.6vw); line-height: 1.35; }
  .single-col-media__text[data-v-82f46bec] { font-size: max(12.5px, 3.55vw); line-height: 1.55; }
}

/* Story-Text mobil: gleicher Rand links/rechts auf ALLEN Sprachvarianten (30.09.26).
   Ursache: 'no-section-pad-r' setzt die Section-Padding rechts auf 0 -> der Text lief rechts
   bis an den Bildschirmrand (links 6.67vw, rechts 0). War bisher nur auf /geschichte
   (+ /en/history, /it/storia) im Seiten-Inline-CSS gefixt; jetzt zentral fuer alle 9 Seiten. */
@media (max-width: 47.99em) {
  .single-col-media.section-pad.no-section-pad-r { padding-left: 5.4vw; padding-right: 5.4vw; }
}

/* Slider-Footer: zweiter Legal-Link neben Impressum (30.09.26) — Abstand zwischen den Links;
   die Basis-Regel im Tasca-CSS ist bereits display:flex (Desktop mittig, mobil rechts unten). */
.slider__privacy-wrap[data-v-288c2344] a + a { margin-left: 13px; }

/* Sprachwahl: Schreibweise klein (de/en/it) + ohne Punkt-Prefix (30.09.26).
   Das Tasca-CSS setzt text-transform:capitalize und mobil :before{content:"."} —
   beides entfernt, sonst rendert die Auswahl als „.De .En .It". */
.lang-selector[data-v-c4c6e6f0] { text-transform: none; }
.lang-selector__active[data-v-c4c6e6f0]:before,
.lang-selector__list[data-v-c4c6e6f0] > :before { content: none; }

/* Sprachwahl auf hellen Unterseiten (Desktop, Zustand lw-shift-nav): aktive Sprache
   und Listen-Eintraege in Weinrot statt Weiss (sonst unsichtbar auf Weiss). */
.header.lw-shift-nav .header__langs .lang-selector__active { color: #5d1010; }
.header.lw-shift-nav .header__langs .lang-selector__item a { color: #5d1010; }
