/*
* Custom CSS für Apitz Skincare
*/
:root {--primary: #84937f; --primary-dark: #6f7f6b; --primary-light: #aab4a6; --primary-soft: #cbd1c8; --white:#ffffff; --black:#000000; --font:Montserrat,Arial,sans-serif; --font-size:16px; --font-small:12px; --font-weight-light: 300; --font-weight-regular: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --text-center:center; --text-uppercase:uppercase; --image-cut: 30%; --image-cut-soft: 25%; --content-width:1140px; --page-gutter:32px; --container-padding:50px; --container-padding-xl:120px; --container-padding-0:0;}
html {scroll-padding-top:calc(var(--scroll-header-height,0px) + var(--scroll-header-top,0px));}
body {font-family:var(--font); color:var(--black); background:var(--white); font-weight:var(--font-weight-regular); font-size:var(--font-size); overflow-x:hidden;}
a {color:var(--primary-dark);}
.text-uppercase, .xoo-wsc-pname, .xoo-wsch-text, h1.entry-title, .wc-block-components-product-name, .wc-block-components-title, .wc-block-components-checkout-order-summary__title-text, .wc-block-components-totals-item__label {text-transform: var(--text-uppercase); letter-spacing:1px;}
.text-center {text-align:var(--text-center);}
.bg-light {background:var(--primary-soft);}
.bg {background:var(--primary-light); color:var(--white);}
.bg-dark {background:var(--primary-dark); color:var(--white);}
.bg-medium {background:var(--primary-light); color:var(--white);
  & .label {background:var(--white); color:var(--primary-dark);}
  & .elementor-widget-icon-list .elementor-icon-list-text {color:var(--white);}
}
.bg-white {background:var(--white); padding:0 !important;}
.text-white {color:var(--white);
  p, span, div {color:var(--white);
    & svg {fill:var(--white) !important;}
  }
}
.menu-item.xoo-wsc-menu-item {padding:7px 0 0 25px;
  .xoo-wsc-sc-subt {display:none;}
}
body {
  &:not(.elementor-page, .single-product) main#content {padding-block:80px; max-width: var(--content-width); margin-right: auto; margin-left: auto; width:calc(100% - 2 * var(--page-gutter));}
  .wp-element-button, .wp-block-button__link {background:var(--primary-dark); color:var(--white); text-decoration: none; border:1px solid transparent; transition:background-color .3s ease,color .3s ease,border-color .3s ease; text-transform: var(--text-uppercase);
    &:hover {color:var(--primary-dark); background:transparent; border:1px solid var(--primary-dark);}
  }
  .wp-block-woocommerce-cart.alignwide {margin:20px 0;}
  &.woocommerce-cart, &.woocommerce-checkout {
    .page-header {margin:0 0 20px;}
  }
  & .woocommerce-notices-wrapper {max-width:var(--content-width); margin:40px auto 0; width:calc(100% - 2 * var(--page-gutter));
    & .woocommerce-message {border:1px solid var(--primary); background:transparent; outline:none;}
    & .button.wc-forward {color:var(--white); background:var(--primary-dark); font-weight:400; text-transform:var(--text-uppercase); letter-spacing:1px;}
    & .woocommerce-message::before {color:var(--primary);}
  }
}
.text-big {font-size:24px;}
.border-top {border-top:1px solid var(--white); padding-block-start:80px; margin-block-start:80px !important;}
h2 {font-size:28px; font-weight:400; line-height:1.4; letter-spacing:1px;}
.label {display:inline-block; letter-spacing:1px; background:var(--primary-soft); padding:5px 10px; font-size:13px;}
body.wp-child-theme-apitz-skincare .elementor-location-header {
  & .apitz-site-logo {padding:15px;
    & img {width:250px;}
  }
}
.home footer.elementor-location-footer {position:relative;
  &::before {background:var(--primary); content:""; width:100%; display:block; height:400px; bottom:0; left:0; position:absolute; z-index:-1;}
}
footer.elementor-location-footer {
  p {font-size:13px;}
}
.xoo-wsc-btn {text-transform:uppercase !important; font-size:12px !important; padding:5px 12px !important; border-radius:0 !important;}
.xoo-wsc-container {
  .xoo-wsc-sm-info:has(.xoo-wsc-priceBox) {display:grid; grid-template-columns:minmax(min-content,1fr) minmax(0,1fr); gap:8px 10px; align-items:start;
    .xoo-wsc-sm-left, .xoo-wsc-sm-right {display:contents;}
    .xoo-wsc-pname {grid-column:1 / -1; grid-row:1; padding-right:26px;}
    dl.variation {grid-column:1 / -1; grid-row:2;}
    .xoo-wsc-priceBox {grid-column:1; grid-row:3;}
    .xoo-wsc-pprice {line-height:1.5; white-space:nowrap;}
    .xoo-wsc-qty-box {grid-column:1; grid-row:4;}
    .xoo-wsc-smr-del {grid-column:2; grid-row:1; justify-self:end;}
    .xoo-wsc-smr-ptotal {grid-column:2; grid-row:3 / span 2; margin:0; line-height:1.5;
      > br.wgm-break {display:none;}
      .wgm-tax {display:block; max-width:150px; margin-top:2px; line-height:1.25;}
    }
  }
  .xoo-wsc-ft-btn-checkout .amount {margin-left:8px;
    &::before {content:none;}
  }
}
body .page-content > .elementor {
  & > .e-atomic-element {padding-inline:0; padding-block-end:var(--container-padding); padding-block-start:var(--container-padding);
    & > div, & > h2, & > h3, & > p, & > span {max-width: var(--content-width); margin-right: auto; margin-left: auto; width:calc(100% - 2 * var(--page-gutter));}
    /* Innencontainer nicht ein zweites Mal einrücken. */
    & > .e-con {padding-inline:0;}
    &.fw-2000, &.fw-20000 {
      & > div, & > h2, & > h3, & > p, & > span {max-width:2000px; width:100%;}
    }
    &.fww {
      &.no-padding {padding:0;
        > div {padding:0;}
      }
      & > div, & > h2, & > h3, & > p, & > span {max-width:100%; width:100%;}
    }
  }
  .no-padding {padding-block-end:var(--container-padding-0); padding-block-start:var(--container-padding-0);}
  .intro {color:var(--white); padding-block-end:var(--container-padding); padding-block-start:var(--container-padding-xl);
    & .logo-hf {width:200px; margin-bottom:80px;}
    & p {margin-left:auto; margin-right:auto; max-width:500px;}
    & .intro-icons {width:250px; margin-left: auto; margin-block-end:-25px; margin-right: 200px; margin-block-start: 40px;}
    & h1 {font-size:70px; letter-spacing:4px; margin:0 0 10px; font-weight:400;}
    & h2 {font-size:28px; letter-spacing:1px; margin:0 0 20px; font-weight:300;}
  }
  .product-wrapper {margin-top:-90px; position: relative; padding-bottom:50px; align-items:flex-start;
    & .rechts {text-align:right; margin-top:185px; padding-top:120px;
      & .e-loop-add-to-cart-form-container {justify-content: flex-end !important;}
      & .product-item {justify-content:flex-end; text-align:right;}
      & .product-image-wrapper {order:2;}
    }
  }
  & .produktboxen-home {position:relative;
    &::before {content:""; background:url("/wp-content/uploads/2026/09/Dr_Apitz_Website_Gruenflaechen2-scaled.lossless.webp") no-repeat 0 0 / 55% 100%; position:absolute; left:0; top:0; width:100%; height:750px;}
    &::after {content:""; background:url("/wp-content/uploads/2026/09/Dr_Apitz_Website_Gruenflaechen-scaled.lossless.webp") no-repeat bottom right 0 / 55% 100%; position:absolute; right:0; top:200px; width:98%; height:752px; z-index:-1;}
  }
  .product-box {padding:180px 40px 60px; width:55vw;
    & h2 {color:var(--primary-dark); font-size:28px; margin:0 0 35px; font-weight:400; letter-spacing:1px;}
    & .product-item {padding:0; column-gap:40px;
      &.right {text-align:right;}
      & a.elementor-button {border:1px solid var(--primary-dark); color:var(--white); padding:8px 32px; margin:0; background:var(--primary-dark); font-size:14px; border-radius:0; text-transform: var(--text-uppercase);}
      & .button {border-radius: 0 !important;}
      & span.product_title {color:var(--black); font-weight:var(--font-weight-bold); text-transform:uppercase; letter-spacing:1px;}
      & .elementor-widget-html > span.amount {display:block; margin:5px 0 15px;}
      & .elementor-add-to-cart a , & .more a {border-radius:0; color:var(--white); font-weight:var(--font-weight-bold); background:var(--primary-dark); padding:12px 20px; font-size:12px; text-transform: uppercase; letter-spacing:1px;}
      & .text-small {font-size:var(--font-small); margin:40px 0 25px;
        & strong {font-size:var(--font-size); letter-spacing:.5px;}
        & em {font-style: normal; font-size:var(--font-size);}
        & p:last-of-type {color:var(--primary-dark); text-transform: uppercase; font-weight:bold;}
      }
      & .product-content-wrapper {width:305px; padding:0;}
      & .product-image-wrapper {padding:0; width:105px; margin-block-end:0;
        &.face-cream {width:90px;}
      }
    }
  }
  & .flex-control-thumbs {display:flex; column-gap:0;
    & > li {border:0 solid var(--black); max-height:120px; padding:0;
      & img {width: 100%; height: 100%; object-fit: contain;}
    }
  }
  & .elementor-button, & .xoo-wsc-btn {text-transform:uppercase; border-radius:0; font-size:13px; padding:8px 25px;}
  & .elementor-button-info {
    & a.elementor-button {background:transparent; border:1px solid var(--primary); color:var(--primary);}
  }
  & .cb-more {
    a {background:transparent; border:1px solid var(--white); padding:8px 35px; font-size:13px; text-transform: uppercase; margin-top:40px; border-radius: 0;}
  }
  & .single-product-box {--product-gap: clamp(32px, 5vw, 100px); --product-image-limit: 500px; --product-gallery-offset: 48px; box-sizing: border-box; padding-block: 56px 64px;
    /* Breite und Seitenabstände kommen aus dem gemeinsamen Seitenraster. */
    > .e-flexbox-base {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--product-gap); align-items: start; padding: 0;}
    .single-product-left, .single-product-right {box-sizing: border-box; width: 100%; min-width: 0; margin: 0; padding: 0;}
    h1.product_title {color: var(--primary-dark); font-size: 28px; font-weight: 400; line-height: 1.2; letter-spacing: 1px; margin: 0 0 14px;}
    .subtitle {color:var(--primary-dark); font-size: 14px; letter-spacing: 3px; line-height: 1.5; margin: 0 0 30px;
      p {margin: 0;}
    }
    .introtext {color: var(--primary-dark); font-size: 19px; font-weight: 600; line-height: 1.45;
      p {margin: 0;}
    }
    .siegel {display: block; width: 250px; max-width: 100%; height: auto; margin: 28px 0;}
    .delivery-note {margin: 0 0 14px;
      p {margin: 0; font-size: 12px; line-height: 1.5;}
    }
    /* Eine Warenkorb-Zeile, darunter drei Angaben im normalen Textfluss. */
    .cart-section {display: grid; grid-template-columns: auto auto minmax(0, 1fr); grid-template-rows: minmax(40px, auto) auto; gap: 10px 20px; background: transparent; padding: 0; margin: 0 0 30px; position: relative;
      &::before {content: ""; grid-area: 1 / 1 / 2 / -1; background: var(--primary-dark);}
      > .e-con {display: contents;}
      .legacy-itemprop-offers {display:none;}
      .elementor-widget-woocommerce-product-add-to-cart {grid-area: 1 / 1 / 2 / 3; align-self: center; position: relative; padding: 0 0 0 24px;}
      .elementor-widget-woocommerce-product-price {grid-area: 1 / 3 / 2 / 4; align-self: center; position: relative; padding: 0 24px 0 0;}
      form.cart {margin: 0; padding: 0;}
      /* Wie in der Vorlage: ein Stück je Klick; Menge im Warenkorb ändern. */
      .quantity {display: none;}
      button.single_add_to_cart_button {min-height: 40px; padding: 6px 0; margin: 0; border: 0; border-radius: 0; background: transparent; color: var(--white); font-size: 14px; font-weight: 500; line-height: 1.3; white-space: normal;}
      .price {margin: 0; color: var(--white); font-size: 14px; font-weight: 500; text-align: right; line-height: 1.4; white-space: nowrap;}
      .elementor-widget-html {position: static; inset: auto; width: auto; min-width: 0; margin: 0; padding: 0; font-size: 12px; line-height: 1.5; color: var(--black);
        p, span {color: inherit;}
      }
      .menge {grid-area: 2 / 1 / 3 / 2;}
      .ppl {grid-area: 2 / 2 / 3 / 3;}
      .inkl {grid-area: 2 / 3 / 3 / 4; text-align: right;}
    }
    .elementor-widget-woocommerce-product-content {font-size: var(--font-size); line-height: 1.6;
      p {margin: 0 0 14px;}
      strong {font-weight: 700;}
    }
    .free.label {display: inline-block; width: fit-content; max-width: 100%; padding: 6px 10px; margin-top: 14px; font-size: var(--font-size); letter-spacing: 0;
      p {margin: 0;}
    }
    /* Gemeinsame Bildhöhe, höchstens so groß wie die verfügbare Breite.
       So bleiben auch quadratische Bilder gleich hoch und unbeschnitten. */
    .single-product-left {container-type: inline-size; padding-block-start: var(--product-gallery-offset);}
    /* Alle Galeriebilder in gleich hoher Bildfläche. */
    .woocommerce-product-gallery {--product-image-height: min(var(--product-image-limit), 100cqw); width: 100%; float: none; margin: 0;}
    .woocommerce-product-gallery .flex-viewport {height: var(--product-image-height) !important;}
    .woocommerce-product-gallery__image > :is(a, .apitz-gallery-image) {display: block; height: var(--product-image-height);}
    div.images .woocommerce-product-gallery__image > :is(a, .apitz-gallery-image) > img {display: block; width: 100% !important; max-width: 100% !important; height: var(--product-image-height) !important; max-height: none !important; object-fit: contain; margin: 0 !important;}
    /* Native Galerie-Pfeile: Aktivierung über den WooCommerce-Filter. */
    .woocommerce-product-gallery .flex-direction-nav {display:flex; justify-content:space-between; position:absolute; top:calc(var(--product-image-height) / 2); left:0; width:100%; transform:translateY(-50%); z-index:2; margin:0; padding:0; list-style:none; pointer-events:none;
      li {margin:0; padding:0; list-style:none;}
      a {display:grid; place-items:center; width:44px; height:44px; font-size:0; color:var(--primary-dark); pointer-events:auto;
        &::before {content: ""; width:26px; height:26px; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:rotate(45deg);}
        &.flex-prev::before {transform:rotate(-135deg);}
        &.flex-disabled {opacity:.3; pointer-events:none;}
        &:focus-visible {outline:2px solid var(--primary-dark); outline-offset:2px;}
      }
    }
    .woocommerce-product-gallery .flex-control-thumbs {display: grid; width: 85%; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 2vw, 36px); margin: 28px auto 0 !important; padding: 0;
      > li {box-sizing: border-box; float: none; width: 100% !important; max-height: none; aspect-ratio: 1; margin: 0 !important; padding: 0 !important; border: 0;
        img {box-sizing: border-box; border: 0.5px solid var(--primary-dark); width: 100%; height: 100%; object-fit: contain; opacity: 1;}
      }
    }
  }
  & .apitz-clean-beauty-section {
    ul.elementor-icon-list-items {display:flex; flex-wrap:wrap; max-width:1000px; width:calc(100% - 2 * var(--page-gutter));
      > li {width:50%; padding:0; font-weight:400; font-size:20px;}
    }
  }
  & .apitz-signature-section {
    & h2 {margin-block-end:20px; margin-block-start: 20px;}
  }
  & .apitz-about-section {padding-block-end:var(--container-padding-xl); padding-block-start:var(--container-padding-xl); clip-path: polygon(0 0, 100% 0, 100% 60%, 94% 100%, 0 100%);
    .label {background:var(--primary-dark); margin:0; color:var(--white);}
  }
  & .narrow-content {
    > * {max-width:500px;}
  }
  & .e-n-accordion {margin-block-start: 30px;
    > details > summary + div {border:0; padding-inline:30px; font-size:14px;}
    & .e-n-accordion-item {border-top:1px solid var(--white);
      &:last-of-type {border-bottom:1px solid var(--white);}
      & > .e-n-accordion-item-title {border:0; align-items:first baseline;
        & .e-n-accordion-item-title-icon {align-self:auto; flex-shrink:0; padding-top:0;}
        & svg {height:10px;}
      }
    }
    .apitz-faq-content {padding-inline:10px !important; font-size:14px;
      & .elementor-element {padding-block-start: 0 !important; padding-block-end:20px !important;}
      & > div.elementor-element {padding-block-end:0 !important;}
    }
    & .e-n-accordion-item-title-text {font-weight:var(--font-weight-bold); letter-spacing:0; font-size:14px; text-transform: uppercase;}
    & .e-n-accordion {margin-block-start: 0; padding:0; margin:-10px;
      & .e-n-accordion-item-title-text {text-transform: none;}
      & .e-n-accordion-item {
        &:last-of-type {border-bottom: 0px solid var(--white);}
      }
    }
  }
  & .ingredients-accordion .e-n-accordion {margin-block-start: 30px;
    & .e-n-accordion-item {border-top:1px solid var(--white); border-bottom:0; padding-top:10px;}
    & .e-n-accordion-item-title-text {font-weight:var(--font-weight-bold); letter-spacing:2px; font-size:14px;}
    & .e-n-accordion-item-title .e-n-accordion-item-title-icon {padding-top:0;}
  }
  .si-wrapper {max-width: var(--content-width); margin-inline: auto; display: flex;}
  .si-wrapper > :first-child {width: 50%; padding-right:50px; flex: 0 0 50%;}
  .si-wrapper > :last-child {padding:0; width: calc( 50% + (100vw - var(--content-width)) / 2 ); flex: 0 0 calc( 50% + (100vw - var(--content-width)) / 2 ); margin-right: calc( (100vw - var(--content-width)) / -2 );}
}
/* Unten rechts */
.cut {clip-path: polygon( 0 0, 100% 0, 100% 70%, 92% 100%, 0 100% );}
/* Oben rechts */
.cut.top-right {clip-path: polygon( 0 0, calc(100% - var(--image-cut)) 0, 100% var(--image-cut), 100% 100%, 0 100% );}
/* Oben links */
.cut.top-left {clip-path: polygon( var(--image-cut) 0, 100% 0, 100% 100%, 0 100%, 0 var(--image-cut) );}
.cut.bottom-left {clip-path: polygon( 0 0, 100% 0, 100% 100%, 24% 100%, 0 39% );}
/* Unten links */
.cut.bottom-leftt {clip-path: polygon( 0 0, 100% 0, 100% 100%, var(--image-cut) 100%, 0 calc(100% - var(--image-cut)) );}
.si-hide:not(.is-visible) {display: none !important;}
.si-button-hidden {display: none !important;}
.cb-more-content:not(.is-visible), .cb-more.is-hidden {display: none !important;}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt {color:var(--white); background:var(--primary-dark); font-weight:400; text-transform:uppercase;}
/* Responsive Ergänzungen – Elementor-Breakpoints bleiben bei 1024 / 767px. */
@media (max-width:1024px) {
  body.wp-child-theme-apitz-skincare {--container-padding:40px; --container-padding-xl:72px;
    .elementor-location-header {
      .apitz-site-logo {padding:10px;
        img {width:210px; max-width:100%;}
      }
      > .bg-light {padding:6px 16px;}
      .elementor-widget-nav-menu {margin-block:0;}
      .elementor-menu-toggle {min-width:44px; min-height:44px;}
      .elementor-nav-menu--dropdown a {min-height:44px; white-space:normal;}
    }
    .page-content > .elementor {
      .e-atomic-element, .elementor-widget {min-width:0;}
      .intro {
        h1 {font-size:clamp(32px,5vw,54px); letter-spacing:2px; line-height:1.2;}
        h2 {font-size:clamp(18px,2.5vw,24px); line-height:1.45;}
        .logo-hf {margin-bottom:45px;}
        .intro-icons {margin:30px auto 0;}
      }
      .product-wrapper {width:100%; max-width:none; margin-top:0; flex-direction:column; gap:32px; padding:0 0 40px;
        .rechts {margin-top:0; padding-top:32px; text-align:left; align-items:stretch;
          .product-item {justify-content:flex-start; text-align:left;}
          .product-image-wrapper {order:-1;}
          .e-loop-add-to-cart-form-container {justify-content:flex-start !important;}
        }
      }
      .produktboxen-home {padding-inline:0;
        > .product-wrapper {width:100%; max-width:none; margin-inline:0; padding-inline:0;}
        &::before, &::after {display:none;}
      }
      .product-box {width:100%; max-width:none; margin-inline:0; padding:32px var(--page-gutter); background:var(--primary-soft);
        h2 {font-size:26px; margin-bottom:24px;}
        .product-item {align-items:flex-start; gap:24px;
          .product-content-wrapper {width:auto; flex:1; min-width:0;}
          .product-image-wrapper {width:105px; flex:0 0 105px;
            &.face-cream {width:90px; flex-basis:90px;}
          }
          .text-small {margin:24px 0 20px;}
        }
      }
      .si-wrapper {max-width:100%; align-items:flex-start;
        > :first-child {width:50%; flex:0 0 50%; padding-right:24px;}
        > :last-child {width:50%; flex:0 0 50%; margin-right:0;}
      }
      .single-product-box {padding-block: 40px; --product-gap: 32px; --product-image-limit: 360px; --product-gallery-offset: 24px;
        .introtext {font-size: var(--font-size);}
        .subtitle {margin-bottom: 28px;}
        .cart-section {grid-template-columns: auto minmax(0, 1fr);
          .elementor-widget-woocommerce-product-add-to-cart {grid-column: 1; padding-left: 14px;}
          .elementor-widget-woocommerce-product-price {grid-column: 2; padding-right: 14px;}
          .menge {grid-area: 2 / 1 / 3 / 2;}
          .ppl {grid-area: 2 / 2 / 3 / 3; text-align: right;}
          .inkl {grid-area: 3 / 1 / 4 / -1; text-align: left;}
          button.single_add_to_cart_button {font-size: 13px;}
        }
      }
      .e-n-accordion-item-title {min-height:48px; gap:12px;}
      .e-n-accordion-item-title-header {min-width:0;}
      .e-n-accordion-item-title-text {overflow-wrap:anywhere;}
      .e-n-accordion-item-title-icon {flex-shrink:0;}
    }
    .elementor-location-footer > .e-atomic-element {flex-wrap:wrap; gap:20px 28px; padding:24px; text-align:center;
      > p {margin:0;}
    }
  }
}
@media (max-width:767px) {
  body.wp-child-theme-apitz-skincare {--page-gutter:24px; --container-padding:36px; --container-padding-xl:56px; --image-cut:18%; font-size:16px; line-height:1.65;
    &:not(.elementor-page, .single-product) main#content {padding-block:40px;}
    .elementor-location-header {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:22px var(--page-gutter) 16px; background:var(--primary); overflow:visible;
      &::before, &::after {display:none;}
      > .bg-dark, > .bg-light {position:static; flex:0 0 auto; width:100%; min-width:0; padding:0; background:transparent;}
      .apitz-site-logo {width:100%; padding:0; margin:0; text-align:center;
        img {width:230px; max-width:100%;}
      }
      .elementor-widget-nav-menu, .elementor-widget-nav-menu > .elementor-widget-container {position:static;}
      .elementor-menu-toggle {margin-inline:auto; color:var(--white); background:transparent;
        svg {fill:currentColor;}
      }
      .elementor-nav-menu--dropdown.elementor-nav-menu__container {position:absolute; top:100%; left:0 !important; width:100% !important; margin:0; background:var(--primary-soft);}
    }
    .page-header {padding-inline:0;
      h1 {font-size:clamp(26px,7vw,36px); line-height:1.25; overflow-wrap:break-word;}
    }
    .page-content > .elementor {
      h2 {font-size:clamp(22px,5.6vw,28px); line-height:1.4; overflow-wrap:break-word;}
      p, li {overflow-wrap:break-word;}
      h2.label {font-size:13px;}
      .text-big {font-size:20px;}
      .border-top {padding-top:32px; margin-top:32px !important;}
      > .e-atomic-element {
        > div, > h2, > h3, > p, > span {width:calc(100% - 2 * var(--page-gutter)); max-width:100%;}
        &.fw-2000, &.fw-20000, &.fww {
          > div, > h2, > h3, > p, > span {width:100%;}
        }
      }
      .cut, .apitz-about-section {clip-path:none;}
      .apitz-signature-section h2 br {display:contents;
        &::after {content:" ";}
      }
      .intro {padding:40px var(--page-gutter) 48px; background-position:center top; clip-path:none;
        > :is(div,p,h2) {width:100%;}
        > .intro-text {width:100%; padding:0;}
        h1 {font-size:clamp(28px,7.2vw,44px); letter-spacing:1px; overflow-wrap:normal;}
        h2 {font-size:17px; letter-spacing:.5px;}
        p {max-width:36rem;}
        .logo-hf {width:120px; min-width:0; margin-bottom:30px;}
        .intro-icons {width:210px; min-width:0; margin:24px auto 0;}
      }
      .product-wrapper {padding:0; gap:0;
        .rechts {margin-top:0;}
      }
      .product-box {width:100%; max-width:none; margin:0; padding:40px var(--page-gutter); clip-path:none; text-align:left;
        &::before, &::after {display:none;}
        h2 {margin:0 0 30px;}
        .product-item {display:grid; grid-template-columns:clamp(64px,18vw,90px) minmax(0,1fr); gap:26px; align-items:start; text-align:left;
          .product-image-wrapper, .product-image-wrapper.face-cream {width:100%; max-width:none; grid-column:1; grid-row:1; margin:0;}
          .product-content-wrapper {width:100%; min-width:0; grid-column:2; grid-row:1; line-height:1.75;}
          .text-small {margin:28px 0; line-height:1.65;
            p + p {margin-top:20px;}
          }
        }
        &.rechts {order:-1; margin:0; padding:40px var(--page-gutter); background:var(--primary-soft);}
        &.links {order:0; padding:40px var(--page-gutter); background:color-mix(in srgb,var(--primary-soft) 45%,var(--white));
          .product-item {grid-template-columns:minmax(0,1fr) clamp(64px,18vw,90px);
            .product-image-wrapper {grid-column:2;}
            .product-content-wrapper {grid-column:1;}
          }
        }
      }
      .si-wrapper {display:flex; flex-direction:column; gap:28px;
        > :first-child, > :last-child {width:100%; flex:0 1 auto; margin:0; padding:0;}
        > :first-child {padding-block:28px;}
        img {width:100%; height:auto;}
      }
      .apitz-clean-beauty-section {
        ul.elementor-icon-list-items {width:100%; row-gap:14px;
          > li {width:100%; font-size:16px; align-items:flex-start;}
        }
        .cb-more-content.e-flexbox-base {flex-direction:column; gap:20px;
          > p {width:100%;}
        }
      }
      .apitz-about-section {background-size:auto 330px; background-position:top right; background-color:var(--white); padding:350px 0 40px; clip-path:none;
        .narrow-content {padding:0; margin-top:30px; max-width:100%; color:var(--black);}
      }
      .single-product-box {padding-block: 32px 40px; --product-image-limit: 320px; --product-gallery-offset: 0px;
        > .e-flexbox-base {grid-template-columns: minmax(0, 1fr); gap: 36px;}
        h1.product_title {font-size: 24px;}
        .subtitle {font-size: 13px; letter-spacing: 2px;}
        .siegel {width: 210px; margin-block: 24px;}
        .cart-section {margin-bottom: 24px;}
      }
      .flex-control-thumbs {margin-inline:0 !important;
        > li {padding-inline:4px !important; max-height:90px;}
      }
      .elementor-button {min-height:44px; display:inline-flex; align-items:center; justify-content:center; white-space:normal; line-height:1.4;}
    }
    /* WooCommerce: Konto, Widerruf, Warenkorb und Kasse. */
    &.woocommerce-page:not(.single-product) .page-content {padding:0 0 32px;}
    .woocommerce-notices-wrapper {width:calc(100% - 2 * var(--page-gutter)); margin-top:24px;
      .woocommerce-message, .woocommerce-error, .woocommerce-info {overflow-wrap:anywhere;}
      .button.wc-forward {float:none; display:block; margin-bottom:12px; text-align:center;}
    }
    .woocommerce {
      form.login, form.register {padding:20px; margin-block:24px;}
      form .form-row-first, form .form-row-last {float:none; width:100%;}
      form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),select,textarea) {max-width:100%; font-size:16px;}
      form .button {min-height:44px; white-space:normal; line-height:1.4;}
      .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content {float:none; width:100%;}
      .woocommerce-MyAccount-navigation {margin-bottom:24px;}
    }
    .german-market-withdrawal-form {
      .form-row-first, .form-row-last {width:100%; float:none;}
      .form-row {min-width:0;}
      label {overflow-wrap:anywhere;}
    }
    .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout {max-width:100%; margin-inline:0;}
    .wc-block-components-sidebar-layout {flex-direction:column; gap:24px;
      .wc-block-components-main, .wc-block-components-sidebar {width:100%; min-width:0; margin:0; padding-inline:0;}
    }
    .wp-block-woocommerce-cart table.wc-block-cart-items {display:block; width:100%;
      tbody {display:block; width:100%;}
      tbody .wc-block-cart-items__row {display:grid; grid-template-columns:56px minmax(0,1fr); gap:12px;}
      tbody .wc-block-cart-item__image {grid-area:1 / 1 / 3 / 2; width:auto; padding:0; align-self:start;
        img {width:56px; height:112px; object-fit:contain; object-position:center top;}
      }
      tbody .wc-block-cart-item__product {grid-area:1 / 2 / 2 / 3; min-width:0; width:auto; padding:0;}
      tbody .wc-block-cart-item__total {grid-area:2 / 2 / 3 / 3; min-width:0; width:auto; padding:0; text-align:left; justify-content:flex-start;}
    }
    .wc-block-components-checkout-order-summary__title {display:flex; flex-wrap:wrap; gap:8px;}
    .wc-block-components-checkout-order-summary__title-text {flex:1; min-width:0; letter-spacing:.5px; overflow-wrap:anywhere;}
    .wc-block-components-product-name {font-size:14px; letter-spacing:.5px; overflow-wrap:break-word;}
    .wc-block-components-button {min-height:44px; white-space:normal;}
    .wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input, .wc-block-components-textarea {font-size:16px;}
    .wc-block-components-totals-item__label, .wc-block-components-title {letter-spacing:.5px; overflow-wrap:break-word;}
    .wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {font-size:14px; line-height:1.4; letter-spacing:0; white-space:nowrap;}
    .wc-block-components-order-summary-item__description {min-width:0;}
    .xoo-wsc-product {min-width:0;}
    .xoo-wsc-pname {overflow-wrap:break-word;}
    .xoo-wsc-btn {min-height:44px; display:flex; align-items:center; justify-content:center; white-space:normal;}
    .elementor-location-footer > .e-atomic-element {flex-direction:column; gap:14px; padding:28px var(--page-gutter); font-size:13px;}
  }
  body .page-content > .elementor .noMTopMob {
    & .e-n-accordion {margin-block-start: 0;}
  }
  body .page-content > .elementor .noBorderBottomMob {
    & .e-n-accordion .e-n-accordion-item {border-bottom:0;}
  }
  /* Startseiten-Hero: lesbarer Text über dem Bild. */
  body.home .page-content > .elementor .intro {position:relative; isolation:isolate;
    &::before {content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.62)); pointer-events:none;}
    > * {position:relative; z-index:1;}
  }
}
/* Aktiver Menüeintrag. */
.elementor-location-header .elementor-nav-menu--dropdown {
  a.elementor-item.elementor-item-active, &:not(:has(a.elementor-item-active)) a.elementor-item[aria-current="page"], a.elementor-item[aria-current="location"] {background:var(--primary-dark); color:var(--white);}
}
/* Header beim Hochscrollen; vorhandenes JavaScript weiterhin erforderlich. */
body.wp-child-theme-apitz-skincare {
  .scroll-header-space {height:var(--scroll-header-height,0px); pointer-events:none;}
  .elementor-location-header.scroll-header {position:fixed; inset:var(--scroll-header-top,0px) 0 auto; z-index:99; width:100%; transform:translateY(0); transition:transform .24s ease;
    &.is-hidden {transform:translateY(calc(-100% - var(--scroll-header-top,0px))); pointer-events:none;}
  }
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto;}
  body .wp-element-button, body .wp-block-button__link {transition:none;}
  body.wp-child-theme-apitz-skincare .elementor-location-header.scroll-header {transition:none;}
}
.xoo-wsc-basket {width:52px; height:52px;}
.xoo-wsc-icon-shopping-bag1:before {content:""; background:url("/wp-content/uploads/2026/10/DRApitz_Icon_Bag_1.svg") no-repeat 0 0 / auto 100%; width:34px; height:34px; display:block;}

.apitz-cookie-settings {padding:16px 24px; text-align:center;
    a {color:#354332; text-decoration:underline; display:inline-block; padding:8px;}
}
.apitz-cart-trigger, .apitz-cart-control {
    &:focus-visible {outline:2px solid currentColor; outline-offset:3px;}
}
