/*
Theme Name: Moschti Hüniken
Author: netzfuchs
Description: Responsives WordPress-Theme für die Mosterei Hüniken mit Slider, mehrstufiger Navigation, Sortiment und blauem Footer.
Version: 2.0.0
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: moschti-hueniken
*/
:root{--navy:#02113E;--dark:#010A27;--orange:#F7590D;--red:#E30906;--cream:#fbf7ef;--text:#02113E;--link:#F7590D;--link-hover:#E30906;--shadow:0 20px 60px rgba(2,17,62,.14);--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:"Manrope",sans-serif;line-height:1.55;background:linear-gradient(180deg,#fffdf9,#f5efe5);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:-2;background:url("assets/images/orchard-background.jpg") center/cover no-repeat;filter:blur(10px);transform:scale(1.04);opacity:.55}body:after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,252,246,.15),rgba(255,252,246,.96) 18%,rgba(255,252,246,.98) 82%,rgba(255,252,246,.15))}.site-shell{width:min(calc(100% - 40px),var(--max));margin:20px auto;border-radius:20px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}img{max-width:100%;height:auto}a{color:var(--link);text-decoration:none;transition:color .22s ease}a:hover,a:focus-visible{color:var(--link-hover)}button,input,textarea,select{font:inherit}.mhh-container{width:min(calc(100% - 64px),1320px);margin:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:relative;z-index:100;background:#fff}.header-inner{min-height:132px;display:grid;grid-template-columns:minmax(380px,1fr) auto auto;align-items:center;gap:34px}.site-branding img{display:block;width:430px;max-width:100%;height:auto}.primary-menu,.primary-menu ul{list-style:none;margin:0;padding:0}.main-navigation{position:relative}.primary-menu{display:flex;align-items:center;gap:clamp(20px,2vw,38px)}.primary-menu>li{position:relative}.primary-menu>li>a{position:relative;display:block;padding:24px 0 30px;color:var(--text);font-size:.98rem;font-weight:700;white-space:nowrap}.primary-menu>li.current-menu-item>a:after,.primary-menu>li.current-menu-ancestor>a:after,.primary-menu>li.current_page_item>a:after,.primary-menu>li>a[aria-current=page]:after{content:"";position:absolute;left:50%;bottom:18px;width:max(56px,calc(100% + 3px));height:5px;transform:translateX(-50%);background:url("assets/images/menu-curve.png") center/100% 100% no-repeat}.primary-menu>li>.sub-menu{position:absolute;z-index:200;top:calc(100% - 4px);left:50%;width:max-content;min-width:280px;max-width:min(1120px,calc(100vw - 48px));padding:18px;visibility:hidden;opacity:0;transform:translate(-50%,12px);pointer-events:none;background:#fff;border:1px solid rgba(7,27,88,.09);border-radius:14px;box-shadow:0 22px 55px rgba(4,17,59,.17);transition:.18s}.primary-menu>li:hover>.sub-menu,.primary-menu>li:focus-within>.sub-menu,.primary-menu>li.submenu-open>.sub-menu{visibility:visible;opacity:1;transform:translate(-50%,0);pointer-events:auto}.primary-menu>li>.sub-menu>li>a{display:block;padding:10px 13px;border-radius:8px;font-weight:700}.primary-menu>li>.sub-menu>li>a:hover{background:var(--cream)}.primary-menu>li>.sub-menu:has(>li.menu-item-has-children){display:grid;grid-template-columns:repeat(4,minmax(175px,1fr));width:min(1050px,calc(100vw - 64px));padding:24px 14px}.primary-menu>li>.sub-menu:has(>li.menu-item-has-children)>li{padding:0 16px;border-right:1px solid rgba(7,27,88,.1)}.primary-menu>li>.sub-menu:has(>li.menu-item-has-children)>li:last-child{border:0}.primary-menu .sub-menu .sub-menu{position:static;display:block;visibility:visible;opacity:1;transform:none;pointer-events:auto;padding:0;background:transparent;border:0;box-shadow:none}.primary-menu .sub-menu .sub-menu a{display:block;padding:7px 0;font-size:.92rem}.submenu-toggle{display:none}.shop-link{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;color:#fff;background:var(--navy);border-radius:9px;font-weight:750;box-shadow:0 8px 22px rgba(7,27,88,.18)}.shop-link:hover{color:#fff;background:var(--dark)}.shop-link svg{width:20px}.menu-toggle{display:none;border:0;background:transparent;color:var(--navy);padding:8px}.menu-toggle svg{width:28px}.hero-slider{position:relative;overflow:hidden}.hero-track{position:relative;min-height:520px}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:.7s;background:#fff}.hero-slide.is-active{opacity:1;visibility:visible;z-index:2}.hero-slide-inner{min-height:520px;display:grid;grid-template-columns:46% 54%}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:52px 20px 56px max(50px,calc((100vw - 1320px)/2));background:linear-gradient(90deg,#fff 0%,#fff 82%,rgba(255,255,255,.88))}.hero-media{position:relative;overflow:hidden}.hero-media:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.85),transparent 28%)}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-title{margin:0;color:var(--navy);font-size:clamp(2.6rem,4vw,4.4rem);line-height:1.12;letter-spacing:-.045em;font-weight:800}.hero-swoosh{width:min(560px,94%);height:25px;margin:8px 0 15px;background:url("assets/images/hero-swoosh.png") left center/100% 100% no-repeat}.hero-text{max-width:600px;font-size:1.12rem}.slider-controls{position:absolute;z-index:10;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:8px}.slider-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(7,27,88,.25)}.slider-dot.is-active{width:28px;border-radius:99px;background:linear-gradient(90deg,var(--orange),var(--red))}.slider-arrow{position:absolute;z-index:10;top:50%;width:42px;height:42px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);box-shadow:0 6px 20px rgba(0,0,0,.12)}.slider-arrow--prev{left:16px}.slider-arrow--next{right:16px}.slider-arrow svg{width:20px}.assortment-section{padding:34px 50px 28px}.assortment-section h2{margin:0 0 18px;font-size:1.35rem}.assortment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.assortment-card{overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 7px 24px rgba(4,17,59,.1)}.assortment-card>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.assortment-card-body{padding:18px}.assortment-card h3{margin:0 0 10px;font-size:1.18rem}.assortment-card ul{list-style:none;margin:0 0 16px;padding:0;font-size:.94rem}.assortment-card li{margin:5px 0}.assortment-link{color:var(--link);font-weight:700;font-size:.9rem}.value-strip{margin:18px 50px 38px;padding:22px 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;box-shadow:0 6px 22px rgba(4,17,59,.07)}.value-strip>div{display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto;padding:4px 22px;border-right:1px solid rgba(7,27,88,.1)}.value-strip>div:last-child{border:0}.value-strip span{grid-row:1/3;color:var(--link);font-size:2.5rem;line-height:1}.value-strip strong{font-size:.95rem}.value-strip small{font-size:.78rem}.content-wrap{padding:20px 50px 50px}.site-footer{position:relative;background:linear-gradient(110deg,#061d59,#00113f);color:#fff}.footer-inner{position:relative;min-height:190px;display:grid;grid-template-columns:1fr 1.25fr .75fr;gap:60px;align-items:center;padding:35px 170px 30px 0}.footer-col h2{font-size:1rem;margin:0 0 10px}.footer-col p{margin:0;color:rgba(255,255,255,.9);font-size:.9rem}.footer-col a{color:#fff}.social-links{display:flex;gap:12px}.social-links a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);font-weight:800}.footer-mark{position:absolute;right:0;bottom:15px;width:180px;max-height:190px;object-fit:contain}.footer-bottom{text-align:center;padding:10px 20px 18px;font-size:.75rem;color:rgba(255,255,255,.75)}
@media(max-width:1120px){.header-inner{grid-template-columns:1fr auto auto;min-height:102px}.site-branding img{width:300px}.menu-toggle{display:block;order:3}.main-navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:15px 28px 26px;background:#fff;box-shadow:var(--shadow)}.main-navigation.is-open{display:block}.primary-menu{flex-direction:column;align-items:stretch;gap:0}.primary-menu>li>a{padding:13px 4px}.primary-menu>li>.sub-menu,.primary-menu>li>.sub-menu:has(>li.menu-item-has-children){position:static;display:none;width:auto;max-width:none;visibility:visible;opacity:1;transform:none;pointer-events:auto;padding:0 0 8px 16px;background:transparent;border:0;box-shadow:none}.primary-menu>li.submenu-open>.sub-menu{display:block}.primary-menu>li>.sub-menu:has(>li.menu-item-has-children)>li{padding:0;border:0}.primary-menu .sub-menu .sub-menu{display:none;padding-left:14px}.primary-menu .sub-menu li.submenu-open>.sub-menu{display:block}.submenu-toggle{display:grid;place-items:center;position:absolute;right:0;top:5px;width:34px;height:34px;border:0;border-radius:7px;background:var(--cream)}.submenu-toggle:before{content:"+"}.submenu-open>.submenu-toggle:before{content:"−"}.hero-slide-inner{grid-template-columns:48% 52%}.assortment-grid{grid-template-columns:repeat(2,1fr)}.footer-inner{padding-right:150px}}
@media(max-width:760px){body:before,body:after{display:none}.site-shell{width:100%;margin:0;border-radius:0}.mhh-container{width:calc(100% - 28px)}.header-inner{min-height:82px;gap:10px;grid-template-columns:1fr auto auto}.site-branding img{width:155px}.shop-link{padding:10px 12px;font-size:.78rem}.shop-link svg{width:17px}.hero-track,.hero-slide-inner{min-height:600px}.hero-slide-inner{display:block;position:relative}.hero-media{position:absolute;inset:0}.hero-media:before{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.98) 37%,rgba(255,255,255,.12) 72%)}.hero-copy{position:relative;z-index:2;min-height:600px;justify-content:flex-start;padding:38px 22px 250px;background:transparent}.hero-title{font-size:2.25rem}.hero-text{font-size:.96rem}.slider-arrow{display:none}.assortment-section{padding:24px 18px}.assortment-grid{grid-template-columns:1fr;gap:13px}.assortment-card{display:grid;grid-template-columns:34% 66%}.assortment-card>img{height:100%;aspect-ratio:auto}.assortment-card-body{padding:12px}.assortment-card h3{font-size:1rem}.assortment-card ul{font-size:.78rem;margin-bottom:8px}.assortment-card li{display:inline}.assortment-card li:not(:last-child):after{content:", "}.assortment-link{font-size:.76rem}.value-strip{margin:8px 18px 24px;padding:12px;grid-template-columns:1fr}.value-strip>div{border-right:0;border-bottom:1px solid rgba(7,27,88,.1);padding:10px 0}.footer-inner{min-height:330px;grid-template-columns:1fr 1fr;gap:24px;padding:30px 90px 20px 0;align-items:start}.footer-col:nth-child(3){grid-column:1/3}.footer-mark{width:95px;right:-5px}.footer-bottom{text-align:left;padding-left:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Plugin-Slideshow und Mega-Menü – Version 3 */
.plugin-slideshow{position:relative;overflow:hidden;min-height:360px;background:#fff}.plugin-slideshow>div,.plugin-slideshow .slideshow_container,.plugin-slideshow .metaslider,.plugin-slideshow .n2-section-smartslider{width:100%!important;max-width:none!important}.plugin-slideshow img{max-height:var(--mhh-slideshow-height);object-fit:cover}.plugin-slideshow .slideshow_container{margin:0!important}.hero-fallback{min-height:520px;display:grid;grid-template-columns:46% 54%;overflow:hidden}.hero-fallback-copy{display:flex;flex-direction:column;justify-content:center;padding:52px 28px 56px max(50px,calc((100vw - 1320px)/2));background:linear-gradient(90deg,#fff 0%,#fff 84%,rgba(255,255,255,.85));z-index:1}.hero-fallback-copy h1{margin:0;color:var(--navy);font-size:clamp(2.6rem,4vw,4.4rem);line-height:1.12;letter-spacing:-.045em}.hero-fallback-copy p{max-width:600px;font-size:1.12rem}.hero-fallback>img{width:100%;height:100%;min-height:520px;object-fit:cover}.slideshow-admin-note{position:absolute;left:18px;bottom:14px;z-index:30;margin:0;padding:8px 12px;background:#fff6d8;border-radius:6px;font-size:12px;box-shadow:0 3px 12px rgba(0,0,0,.15)}
.primary-menu>li>.sub-menu:has(>li.menu-item-has-children)>li>a{font-size:1.06rem;padding:0 0 11px}.mega-menu-image{display:block;margin:0 0 13px}.mega-menu-image img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px}.primary-menu>li>.sub-menu:has(>li.menu-item-has-children){align-items:start}.primary-menu .sub-menu .current-menu-item>a{color:var(--link-hover)}
@media(max-width:1120px){.mega-menu-image{display:none}.hero-fallback{grid-template-columns:48% 52%}}
@media(max-width:760px){.plugin-slideshow{min-height:0}.hero-fallback{display:block;position:relative;min-height:600px}.hero-fallback>img{position:absolute;inset:0;min-height:600px}.hero-fallback-copy{position:relative;z-index:2;min-height:600px;justify-content:flex-start;padding:38px 22px 260px;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.98) 38%,rgba(255,255,255,.1) 74%)}.hero-fallback-copy h1{font-size:2.25rem}.hero-fallback-copy p{font-size:.96rem}}

/* Farb- und Animationsanpassungen */
body,button,input,textarea,select,h1,h2,h3,h4,h5,h6,p,li,strong,small,label{color:var(--text)}
.primary-menu>li>a,.assortment-card h3,.assortment-card li,.value-strip strong,.value-strip small,.content-wrap,.hero-text,.hero-fallback-copy p{color:var(--text)}
.assortment-link,.content-wrap a:not(.button):not(.wp-block-button__link),.footer-bottom a{color:var(--link)}
.assortment-link:hover,.assortment-link:focus-visible,.content-wrap a:not(.button):not(.wp-block-button__link):hover,.content-wrap a:not(.button):not(.wp-block-button__link):focus-visible,.footer-bottom a:hover,.footer-bottom a:focus-visible{color:var(--link-hover)}
.site-footer,.site-footer h1,.site-footer h2,.site-footer h3,.site-footer p,.site-footer li,.site-footer strong,.site-footer small,.site-footer a,.shop-link,.shop-link:hover,.shop-link:focus-visible{color:#fff}
.social-links a{color:var(--navy)}
@keyframes mhhFadeUp{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes mhhFadeIn{from{opacity:0}to{opacity:1}}
.site-header{animation:mhhFadeIn .55s ease both}
.plugin-slideshow,.hero-slider,.hero-fallback{animation:mhhFadeUp .72s cubic-bezier(.22,.8,.24,1) .08s both}
.assortment-section{animation:mhhFadeUp .72s cubic-bezier(.22,.8,.24,1) .18s both}
.assortment-card{opacity:0;animation:mhhFadeUp .62s cubic-bezier(.22,.8,.24,1) both}
.assortment-card:nth-child(1){animation-delay:.24s}.assortment-card:nth-child(2){animation-delay:.32s}.assortment-card:nth-child(3){animation-delay:.40s}.assortment-card:nth-child(4){animation-delay:.48s}
.value-strip{animation:mhhFadeUp .72s cubic-bezier(.22,.8,.24,1) .38s both}
.content-wrap{animation:mhhFadeUp .72s cubic-bezier(.22,.8,.24,1) .22s both}
.site-footer{animation:mhhFadeUp .72s cubic-bezier(.22,.8,.24,1) .28s both}
.assortment-card,.shop-link,.social-links a{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .22s ease}
.assortment-card:hover{transform:translateY(-5px);box-shadow:0 14px 34px rgba(2,17,62,.14)}
.shop-link:hover,.shop-link:focus-visible,.social-links a:hover,.social-links a:focus-visible{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.site-header,.plugin-slideshow,.hero-slider,.hero-fallback,.assortment-section,.assortment-card,.value-strip,.content-wrap,.site-footer{opacity:1!important;animation:none!important;transform:none!important}}


/* ==========================================================
   VOLLFLÄCHIGER OBSTGARTEN-HINTERGRUND
   Vom oberen bis zum unteren Displayrand, unabhängig von
   Höhe und Position der weissen Websitefläche.
   ========================================================== */

html {
  min-height: 100%;
  background: #f8f3e9;
}

body {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  background: transparent !important;
}

/* Vollflächiges, am Browserfenster fixiertes Hintergrundbild */
body::before {
  content: "" !important;
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -2 !important;
  width: 100vw !important;
  height: 100vh !important;
  pointer-events: none;
  background-image: url("assets/images/orchard-background.jpg") !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  background-size: cover !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Weicher Verlauf zur weissen Mitte – beginnt bereits vor
   dem Rand der eigentlichen Websitefläche */
body::after {
  content: "" !important;
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  width: 100vw !important;
  height: 100vh !important;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.05) 0%,
      rgba(255,255,255,.10) 7%,
      rgba(255,255,255,.30) 13%,
      rgba(255,255,255,.62) 19%,
      rgba(255,255,255,.88) 25%,
      rgba(255,255,255,.97) 31%,
      rgba(255,255,255,.985) 50%,
      rgba(255,255,255,.97) 69%,
      rgba(255,255,255,.88) 75%,
      rgba(255,255,255,.62) 81%,
      rgba(255,255,255,.30) 87%,
      rgba(255,255,255,.10) 93%,
      rgba(255,255,255,.05) 100%
    ) !important;
}

/* Die Website bleibt als eigene, weisse Fläche darüber */
.site-shell {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 40px), var(--max));
  margin: 20px auto;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow:
    0 22px 65px rgba(2,17,62,.14),
    0 2px 10px rgba(2,17,62,.06);
}

/* Auf grossen Displays mehr Hintergrund links und rechts */
@media (min-width: 1600px) {
  .site-shell {
    width: min(calc(100% - 220px), var(--max));
  }
}

/* Tablet: Hintergrund bleibt vollflächig, wird aber ruhiger */
@media (max-width: 1120px) {
  body::after {
    background:
      linear-gradient(
        90deg,
        rgba(255,255,255,.45) 0%,
        rgba(255,255,255,.80) 15%,
        rgba(255,255,255,.96) 30%,
        rgba(255,255,255,.96) 70%,
        rgba(255,255,255,.80) 85%,
        rgba(255,255,255,.45) 100%
      ) !important;
  }
}

/* Mobil: ruhiger Verlauf statt grossem Hintergrundbild */
@media (max-width: 760px) {
  body::before {
    display: none !important;
  }

  body::after {
    background: linear-gradient(180deg,#fffdf9,#f5efe5) !important;
  }

  .site-shell {
    width: 100%;
    min-height: 100vh;
    margin: 0;
    border-radius: 0;
  }
}