/*
Theme Name: Alcomedian
Theme URI: https://alcomedian.ch
Author: Lukas
Description: Minimal WPBakery Theme mit zentriertem Logo, Dropdown-Menu, Bordeaux-Footer.
Version: 1.13.29
Text Domain: alcomedian
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root{
  --container:1100px;
  --gap:18px;
  --line:#e5e7eb;
  --alco-bordeaux:#921D19;
  --alco-gray:#565453;
  --alco-gold:#d4af37;
}

/* Basis */
html{ box-sizing:border-box; }
*,*::before,*::after{ box-sizing:inherit; }

body{
  margin:0;
  background:#fff;
  color:var(--alco-gray);
  font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  line-height:1.6;
  font-size:18px;
}

/* Ubuntu wird nur gesetzt, wenn es wirklich geladen wird (Customizer-Option). */
body.has-ubuntu-fonts{
  font-family:Ubuntu, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

a{ color:inherit; }
img{ max-width:100%; height:auto; }

/* Accessibility */
.screen-reader-text{
  border:0;
  clip:rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px;
  white-space:nowrap;
}

.container{
  width:min(var(--container), calc(100% - 2*var(--gap)));
  margin-inline:auto;
}

/* Accessibility */
.skip-link{
  position:absolute;
  left:-999px;
  top:10px;
  padding:10px 12px;
  border:2px solid var(--alco-bordeaux);
  border-radius:12px;
  background:#fff;
}
.skip-link:focus{
  left:10px;
  z-index:9999;
}

/* Header */
.site-header{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #fff;
  border-bottom:1px solid var(--line);
  padding:18px 0;
  transform: translateY(0);
  opacity: 1;
  will-change: transform, opacity;
}


body.admin-bar .site-header{
  top: 32px;
}

/* Fixed header needs layout compensation */
body{
  padding-top: var(--alco-header-h, 0px);
}

/* Hide/show on scroll */
.site-header.is-hidden{
  transform: translateY(-110%);
  opacity: 0;
  pointer-events: none;
}

/* Mobile keeps the crisp slide (no fade) */
@media (max-width: 720px){
  .site-header.is-hidden{ opacity: 1; }
}
.site-header__inner{
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:center;
}

.brand{ display:flex; justify-content:center; }




/* Logo: do not over-shrink on scroll (handled further down via gentle transforms) */
.site-header.is-scrolled .brand img.custom-logo{ max-height:none; }

@media (max-width: 720px){
  .brand img.custom-logo{ max-height:none; }
  .site-header.is-scrolled .brand img.custom-logo{ max-height:none; }
}

.site-title{
  font-weight:400;
  font-size:1.4rem;
  text-decoration:none;
}

/* Navigation */
.primary-nav{ width:100%; }

.menu-toggle{
  display:none;
  margin-inline:auto;
  border:2px solid var(--alco-bordeaux);
  background:#fff;
  color:var(--alco-gray);
  border-radius:14px;
  padding:10px 14px;
  font-weight:700;
  cursor:pointer;
}

/* Hamburger icon (mobile). The label remains accessible via .screen-reader-text. */
.menu-toggle__icon{
  position:relative;
  width:22px;
  height:14px;
  display:block;
  color:inherit;
  background: currentColor;       /* middle line */
  background-clip: content-box;
  padding:6px 0;                  /* creates space above/below middle line */
  border-radius:2px;
}
.menu-toggle__icon::before,
.menu-toggle__icon::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:2px;
  background: currentColor;
  border-radius:2px;
}
.menu-toggle__icon::before{ top:0; }
.menu-toggle__icon::after{ bottom:0; }

.menu-toggle[aria-expanded="true"] .menu-toggle__icon{
  background: transparent;
  padding:0;
}
.menu-toggle[aria-expanded="true"] .menu-toggle__icon::before{
  top:6px;
  transform: rotate(45deg);
}
.menu-toggle[aria-expanded="true"] .menu-toggle__icon::after{
  bottom:6px;
  transform: rotate(-45deg);
}

.primary-nav > ul{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}

.primary-nav li{ position:relative; }

.primary-nav > ul > li > a{
  display:inline-block;
  text-decoration:none;
  padding:10px 14px;
  border:4px solid var(--alco-bordeaux);
  border-radius:14px;
  font-weight:800;
  /* zweifarbig wie ein Etikett: Bordeaux trifft Dunkelgrau */
  background:linear-gradient(90deg, var(--alco-bordeaux) 0%, var(--alco-bordeaux) 48%, var(--alco-gray) 52%, var(--alco-gray) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}




/* Dropdown */
.primary-nav ul ul{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  background:transparent;
  border:none;
  border-radius:0;
  padding:8px 0 0 0;
  min-width:220px;
  z-index:50;
  list-style:none;
  margin:0;
  padding-left:0;
}

.primary-nav ul ul li{
  list-style:none;
  margin:0;
  padding:0;
}

/* Submenu: weisse Felder wie Hauptmenu, Text sichtbar + zweifarbig (mit sicherem Fallback) */
.primary-nav ul ul a{
  position:relative;
  display:block;
  padding:10px 14px;
  border:4px solid var(--alco-bordeaux);
  border-radius:14px;
  margin-top:10px;
  text-decoration:none;
  font-weight:700;
  text-align:center;

  /* Fallback: immer lesbar */
  color:var(--alco-gray);

  /* verhindere, dass ein spaeterer Global-Link-Stil (z.B. underline) reinfunkt */
  -webkit-text-fill-color: currentColor;
}

/* Weissflaeche als eigenes Layer, damit der Text-Gradient nicht die Flaeche faerbt */
.primary-nav ul ul a::before{
  content:"";
  position:absolute;
  inset:0;
  background:#fff;
  border-radius:14px;
  z-index:-1;
}

/* Zweifarbige Schrift (wie ein Etikett): Bordeaux links, Dunkelgrau rechts */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .primary-nav ul ul a{
    background-image:linear-gradient(90deg, var(--alco-bordeaux) 0%, var(--alco-bordeaux) 48%, var(--alco-gray) 52%, var(--alco-gray) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    -webkit-text-fill-color: transparent;
  }
}


.primary-nav li:hover > ul,
.primary-nav li:focus-within > ul{
  display:block;
}

/* Mobile menu */
/* Note: some devices/tablets render "mobile" layouts above 780px.
   We intentionally keep the mobile header/menu behavior up to 1024px
   to ensure the header stays fixed also on the Frontpage where sticky
   can break due to builder wrappers. */
@media (max-width: 1024px){
  /* Mobile Header: always fixed (sticky breaks on some builder pages, esp. Frontpage) */
  .site-header{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 13000;
  }
  body.admin-bar .site-header{ top:46px; }

  /* One row: hamburger (fixed top-left) + logo next to it */
  .site-header__inner{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:12px;
    padding-left:72px; /* space for the fixed hamburger */
  }

  /* Header row should span the full viewport on mobile */
  .site-header__inner.container{
    width:100%;
    margin:0;
    box-sizing:border-box;
    padding-right:var(--gap);
    padding-left:72px; /* keep identical across pages */
  }

  .brand{
    display:flex;
    justify-content:flex-start;
    align-items:center;
    flex:0 1 auto;
  }
  .brand img.custom-logo{ height:42px; width:auto; }

  .primary-nav{
    width:auto;
    margin-left:auto; /* keeps nav button/overlay anchored without affecting logo */
  }

  .menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:fixed;
    top:12px;
    left:12px;
    width:48px;
    height:48px;
    padding:0;
    margin:0;
    z-index:12000;
  }

  .primary-nav > ul{
    display:none;
    flex-direction:column;
    gap:10px;
    align-items:stretch;
  }

  /* Open menu overlays below header so the hamburger never shifts */
  .primary-nav.is-open > ul{
    display:flex;
    position:fixed;
    left:0;
    right:0;
    top: var(--alco-header-h, 72px);
    padding:12px;
    background: rgba(255,255,255,0.98);
    max-height: calc(100vh - var(--alco-header-h, 72px));
    overflow:auto;
    z-index:11000;
    align-items:stretch;
  }

  /* Critical: prevent multi-column wrapping.
     Without this, the menu can wrap into a second column when the header
     (logo) is tall, causing the last item (e.g. "Folgen") to jump to the right.
     When the logo shrinks, it "magically" fixes itself — exactly the symptom you saw. */
  .primary-nav.is-open > ul{
    flex-wrap: nowrap;
    align-content: flex-start;
  }

  /* Force full-width left alignment for all top-level items */
  .primary-nav.is-open > ul{
    align-items:flex-start;
  }

  /* Each top-level item must be a clean block so siblings never sit beside submenus */
  .primary-nav.is-open > ul{ flex-direction:column; }
  .primary-nav.is-open > ul > li{
    display:block;
    clear:both;
    align-self:flex-start;
  }

  /* Top-level items: not full-width, keep compact "pills" */
  .primary-nav.is-open > ul > li{
    width:100%;
    max-width: calc(100vw - 24px);
  }
  .primary-nav.is-open > ul > li > a{
    /* Mobile: gleiche Optik/Ausrichtung wie die Kacheln – zentriert und voll nutzbar */
    width:100%;
    display:block;
    margin-left:0 !important;
    padding-left:14px !important;
    padding-right:14px !important;
    text-align:center;
  }

/* Submenu in mobile overlay: no indentation, never affects following items */
  .primary-nav.is-open > ul ul{
    width:100%;
    margin:8px 0 0 0 !important;
    padding:0 !important;
    list-style:none;
  }
  .primary-nav.is-open > ul ul li{
    margin:0;
    padding:0;
    }
  .primary-nav.is-open > ul ul a{
    width:100%;
    max-width: calc(100vw - 24px);
    display:block;
    text-align:center;
    /* Submenu soll sich wie die Hauptmenu-Kacheln anfuehlen */
    padding:10px 14px;
    line-height:1.2;
    font-weight:700;
  }

  /* Submenus must take up space in the flow on mobile (prevents "Folgen" jumping right) */
  .primary-nav.is-open .sub-menu{
    position: static !important;
    display: flex !important;
    flex-direction: column;
  }

  /* Ensure dropdown UL behaves like a block container in mobile */
  .primary-nav ul ul{
    position:static;
    display:block;
    /* Kein grauer Rahmen um das Untermenu in der mobilen Ansicht */
    border:none;
    margin-top:8px;
    padding-left:0;
    list-style:none;
  }
}

/* Content */
.site-main{ padding:26px 0; }

h1,h2,h3,h4,h5,h6{ color:#111; font-weight:600; }

/* Cards (Blog/Archive/Search) */
body:not(.vc_editor):not(.vc_frontend-editor):not(.vc_inline) .post-card{
  border:6px solid var(--alco-bordeaux);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  margin-bottom:18px;
}

.post-card__inner{
  display:flex;
  gap:0;
  align-items:stretch;
}

.post-card__thumb{
  width:260px;
  flex:0 0 260px;
}

.post-card__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.post-card__content{
  padding:18px;
  flex:1 1 auto;
}

@media (max-width: 900px){
  .post-card__inner{ flex-direction:column; }
  .post-card__thumb{ width:100%; flex:0 0 auto; }
  .post-card__thumb img{ height:240px; }
}

/* Pagination */
.nav-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
}

.nav-links a,
.nav-links span{
  border:2px solid var(--alco-bordeaux);
  border-radius:12px;
  padding:8px 12px;
  text-decoration:none;
}

.nav-links .current{
  background:var(--alco-bordeaux);
  color:#fff;
}

/* Sidebar */
.widget{ margin-bottom:18px; }
.widget-title{ margin-top:0; }

/* Footer */
.site-footer:not(.site-footer--custom){
  background:#800000;
  color:#fff;
  padding:26px 0;
}

/* Wenn eine Footer-Seite im Customizer gewaehlt ist, soll sie 1:1 wirken:
   kein Container-Zwang, keine erzwungene Textfarbe, kein Theme-Padding. */
.site-footer.site-footer--custom{
  background:transparent;
  color:inherit;
  padding:0;
}

/* Weiterlesen-Tag (wie vorher) */
.alco-btn{
  display:inline-flex;
  align-items:center;
  gap:0;
  text-decoration:none;
  font-weight:900;
  letter-spacing:0.04em;
  line-height:1;
}
.alco-frame{
  padding:10px 14px;
  border:4px solid var(--alco-bordeaux);
  border-radius:14px;
  background:#fff;
}
.alco-text--bordeaux{ color:var(--alco-bordeaux); }
.alco-text--gray{ color:var(--alco-gray); }


/* Seiten & Single ohne Kartenrahmen */
.entry--page,
.entry--single{
  border:none;
  background:transparent;
  padding:0;
  margin:0 0 18px;
}


/* ===============================
   MENU: wie Weiterlesen-Buttons (Logo-Style)
   =============================== */
.primary-nav > ul > li > a{
  display:inline-block;
  padding:10px 14px;
  border:4px solid var(--alco-bordeaux);
  border-radius:14px;
  background:#fff;
  font-weight:700;
  text-decoration:none;
  line-height:1.2;
  color:var(--alco-bordeaux); /* Fallback */
}

/* Zweifarbiger Text (links Rot, rechts Dunkelgrau) ohne HTML im Menu */
@supports ((-webkit-background-clip: text) and (-webkit-text-fill-color: transparent)) {
  .primary-nav > ul > li > a{
    background-image: linear-gradient(90deg, var(--alco-bordeaux) 0%, var(--alco-bordeaux) 50%, var(--alco-gray) 50%, var(--alco-gray) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
  }
}




/* Mobile Toggle: gleich wie Menu-Buttons (Logo-Style) */
.menu-toggle{
  border:4px solid var(--alco-bordeaux);
  border-radius:14px;
  padding:10px 14px;
  font-weight:800;
  background:#fff;
  color:var(--alco-bordeaux);
}

@supports ((-webkit-background-clip: text) and (-webkit-text-fill-color: transparent)) {
  .menu-toggle{
    background-image: linear-gradient(90deg, var(--alco-bordeaux) 0%, var(--alco-bordeaux) 50%, var(--alco-gray) 50%, var(--alco-gray) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
  }
}


/* ===============================
   Interaction: kein gelber Tap-Highlight, klarer Fokus, dezentes Hover
   =============================== */

.primary-nav a,
.primary-nav .menu-toggle{
  -webkit-tap-highlight-color: transparent;
  transition: transform 120ms ease, background-color 120ms ease, box-shadow 120ms ease;
}

.primary-nav > ul > li > a:hover,
.primary-nav .menu-toggle:hover{
  transform: translateY(-2px);
  /* leichter grauer Schimmer beim Hover */
  background-color: rgba(0,0,0,0.03);
  box-shadow: 0 2px 0 rgba(0,0,0,0.06);
}

/* Submenu soll beim Hover nicht "grau schimmern" und nicht springen */
.primary-nav ul ul a:hover{
  transform:none;
  background-color:#fff;
  box-shadow:none;
}


.primary-nav > ul > li > a:focus,
.primary-nav > ul > li > a:focus-visible,
.primary-nav .menu-toggle:focus,
.primary-nav .menu-toggle:focus-visible{
  /* Fokus sichtbar, aber ohne "doppelten" Rand: Outline nach innen ziehen */
  outline:2px solid var(--alco-bordeaux);
  outline-offset:-4px;
  box-shadow:none !important;
}

.primary-nav > ul > li > a:focus-visible,
.primary-nav .menu-toggle:focus-visible{
  transform: translateY(-2px);
}




/* Sticky menu shrink effect (more noticeable & targets actual nav styles) */
.site-header{
  transition: padding .25s ease, background-color .25s ease, box-shadow .25s ease, transform .28s ease, opacity .28s ease;
}
.site-header__inner{
  transition: gap .25s ease;
}
.site-header.is-scrolled{
  padding:8px 0; /* was 18px 0 */
}
.site-header.is-scrolled .site-header__inner{
  gap:6px; /* was 12px */
}
.site-header.is-scrolled .primary-nav > ul > li > a{
  padding:6px 10px; /* was 10px 14px */
  border-width:3px; /* was 4px */
  border-radius:12px; /* was 14px */
  font-weight:800;
}
/* shrink the brand title/logo link if present */
.site-header.is-scrolled .site-title{
  font-size:1.2rem; /* was 1.4rem */
}



/* Logo sizing (smooth shrink without layout vibration) */
.brand .custom-logo-link{ display:flex; align-items:center; justify-content:center; }
.brand img.custom-logo{
  height:78px;
  width:auto;
  max-width:100%;
  transform-origin:center center;
  transform:translateZ(0) scale(1);
  will-change:transform;
  transition:transform .25s ease;
}

/* Gentle logo shrink on scroll */
.site-header.is-scrolled .brand img.custom-logo{
  transform:translateZ(0) scale(0.72);
}

@media (max-width: 720px){
  .brand img.custom-logo{ height:62px; }
  .site-header.is-scrolled .brand img.custom-logo{ transform:translateZ(0) scale(0.78); }
}




/* WPBakery footer column fallback
   Fixes cases where VC frontend grid CSS is not loaded/overridden on single posts,
   causing columns to stack 100% width. Scoped to footer only. */
.site-footer .vc_row{
  display:flex;
  flex-wrap:wrap;
  margin-left:-15px;
  margin-right:-15px;
}
.site-footer .vc_column_container{
  padding-left:15px;
  padding-right:15px;
}
/* Basic VC column widths (desktop) */
.site-footer .vc_col-sm-1{flex:0 0 8.333333%;max-width:8.333333%;}
.site-footer .vc_col-sm-2{flex:0 0 16.666667%;max-width:16.666667%;}
.site-footer .vc_col-sm-3{flex:0 0 25%;max-width:25%;}
.site-footer .vc_col-sm-4{flex:0 0 33.333333%;max-width:33.333333%;}
.site-footer .vc_col-sm-5{flex:0 0 41.666667%;max-width:41.666667%;}
.site-footer .vc_col-sm-6{flex:0 0 50%;max-width:50%;}
.site-footer .vc_col-sm-7{flex:0 0 58.333333%;max-width:58.333333%;}
.site-footer .vc_col-sm-8{flex:0 0 66.666667%;max-width:66.666667%;}
.site-footer .vc_col-sm-9{flex:0 0 75%;max-width:75%;}
.site-footer .vc_col-sm-10{flex:0 0 83.333333%;max-width:83.333333%;}
.site-footer .vc_col-sm-11{flex:0 0 91.666667%;max-width:91.666667%;}
.site-footer .vc_col-sm-12{flex:0 0 100%;max-width:100%;}

/* WPBakery footer column fallback - additional breakpoints (md/lg/xs) */
.site-footer .vc_col-xs-1{flex:0 0 8.333333%;max-width:8.333333%;}
.site-footer .vc_col-xs-2{flex:0 0 16.666667%;max-width:16.666667%;}
.site-footer .vc_col-xs-3{flex:0 0 25%;max-width:25%;}
.site-footer .vc_col-xs-4{flex:0 0 33.333333%;max-width:33.333333%;}
.site-footer .vc_col-xs-5{flex:0 0 41.666667%;max-width:41.666667%;}
.site-footer .vc_col-xs-6{flex:0 0 50%;max-width:50%;}
.site-footer .vc_col-xs-7{flex:0 0 58.333333%;max-width:58.333333%;}
.site-footer .vc_col-xs-8{flex:0 0 66.666667%;max-width:66.666667%;}
.site-footer .vc_col-xs-9{flex:0 0 75%;max-width:75%;}
.site-footer .vc_col-xs-10{flex:0 0 83.333333%;max-width:83.333333%;}
.site-footer .vc_col-xs-11{flex:0 0 91.666667%;max-width:91.666667%;}
.site-footer .vc_col-xs-12{flex:0 0 100%;max-width:100%;}

.site-footer .vc_col-md-1{flex:0 0 8.333333%;max-width:8.333333%;}
.site-footer .vc_col-md-2{flex:0 0 16.666667%;max-width:16.666667%;}
.site-footer .vc_col-md-3{flex:0 0 25%;max-width:25%;}
.site-footer .vc_col-md-4{flex:0 0 33.333333%;max-width:33.333333%;}
.site-footer .vc_col-md-5{flex:0 0 41.666667%;max-width:41.666667%;}
.site-footer .vc_col-md-6{flex:0 0 50%;max-width:50%;}
.site-footer .vc_col-md-7{flex:0 0 58.333333%;max-width:58.333333%;}
.site-footer .vc_col-md-8{flex:0 0 66.666667%;max-width:66.666667%;}
.site-footer .vc_col-md-9{flex:0 0 75%;max-width:75%;}
.site-footer .vc_col-md-10{flex:0 0 83.333333%;max-width:83.333333%;}
.site-footer .vc_col-md-11{flex:0 0 91.666667%;max-width:91.666667%;}
.site-footer .vc_col-md-12{flex:0 0 100%;max-width:100%;}

.site-footer .vc_col-lg-1{flex:0 0 8.333333%;max-width:8.333333%;}
.site-footer .vc_col-lg-2{flex:0 0 16.666667%;max-width:16.666667%;}
.site-footer .vc_col-lg-3{flex:0 0 25%;max-width:25%;}
.site-footer .vc_col-lg-4{flex:0 0 33.333333%;max-width:33.333333%;}
.site-footer .vc_col-lg-5{flex:0 0 41.666667%;max-width:41.666667%;}
.site-footer .vc_col-lg-6{flex:0 0 50%;max-width:50%;}
.site-footer .vc_col-lg-7{flex:0 0 58.333333%;max-width:58.333333%;}
.site-footer .vc_col-lg-8{flex:0 0 66.666667%;max-width:66.666667%;}
.site-footer .vc_col-lg-9{flex:0 0 75%;max-width:75%;}
.site-footer .vc_col-lg-10{flex:0 0 83.333333%;max-width:83.333333%;}
.site-footer .vc_col-lg-11{flex:0 0 91.666667%;max-width:91.666667%;}
.site-footer .vc_col-lg-12{flex:0 0 100%;max-width:100%;}

/* Mobile footer fix for the WPBakery-based custom footer page. */
@media (max-width: 720px){
  .site-footer .footer-content,
  .site-footer .footer-content .wpb_content_element,
  .site-footer .footer-content .vc_row,
  .site-footer .footer-content .wpb_row,
  .site-footer .footer-content .vc_row_inner{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .site-footer .footer-content .vc_row,
  .site-footer .footer-content .wpb_row,
  .site-footer .footer-content .vc_row_inner{
    padding-left:var(--gap) !important;
    padding-right:var(--gap) !important;
  }
  .site-footer .footer-content .vc_column_container,
  .site-footer .footer-content [class*="vc_col-"],
  .site-footer .footer-content .vc_row_inner > [class*="vc_col-"]{
    display:block !important;
    width:100% !important;
    flex:0 0 100% !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .site-footer .footer-content .vc_column-inner{
    width:100% !important;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .site-footer .footer-content .vc_row_inner{
    display:flex !important;
    flex-direction:column !important;
    gap:18px;
  }
  .site-footer .footer-content .wpb_wrapper,
  .site-footer .footer-content .wpb_wrapper > div,
  .site-footer .footer-content .wpb_wrapper > section,
  .site-footer .footer-content .wpb_text_column,
  .site-footer .footer-content .wpb_single_image,
  .site-footer .footer-content .wpb_single_image .vc_single_image-wrapper{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .site-footer .footer-content [style*="max-width"],
  .site-footer .footer-content [style*="width:"]{
    max-width:100% !important;
  }
  .site-footer .footer-content .wpb_content_element{
    margin-bottom:0 !important;
  }
  .site-footer .footer-content .wpb_single_image img{
    display:block;
    margin:0 auto;
  }
  .site-footer .footer-content .wpb_text_column,
  .site-footer .footer-content .wpb_text_column p,
  .site-footer .footer-content a{
    overflow-wrap:anywhere;
    word-break:break-word;
  }
}




/* Keep logo centered while shrinking */
.brand .custom-logo-link{
  width:100%;
}
.brand{
  display:flex;
  justify-content:center;
}




/* Moderate shrink on scroll (sichtbar, aber nicht "weg") */
.site-header.is-scrolled{ padding:10px 0; }
.site-header.is-scrolled .site-header__inner{ gap:8px; }
.site-header.is-scrolled .primary-nav > ul > li > a{ padding:8px 12px; border-width:4px; border-radius:14px; font-weight:800; }




/* Dropdown submenu visibility fixes (1.13.16 introduced clipping risk) */
.site-header,
.site-header *{
  overflow: visible;
}

/* Ensure dropdowns can layer above header */
.primary-nav{
  position: relative;
  z-index: 10000;
}
.primary-nav li{
  position: relative;
}
.primary-nav .sub-menu{
  z-index: 10001;
}


/* (removed) old helper blocks for .alco-fixed-header; mobile header is now fixed globally */


/* Custom wineglass cursor when enabled via body class */
body.has-wineglass-cursor {
  cursor: url("assets/cursor/weinglas-elegant-96.png") 24 8, auto;
}

/* Clickable UI: keep normal pointer */
a, button, input[type="button"], input[type="submit"], input[type="reset"],
summary, label, select, [role="button"], [onclick],
.wp-block-button__link, .menu a, .nav a {
  cursor: pointer !important;
}

/* Text fields: keep I-beam */
input[type="text"], input[type="email"], input[type="search"],
input[type="tel"], input[type="url"], input[type="password"], textarea {
  cursor: text !important;
}
