/* =============================================================================
   LVL7 PDP-REDESIGN — KLIK & KLIK AIR Produktseiten (08/2026)
   EINFÜGEN: Customizer -> Zusätzliches CSS, ans Ende anhängen.

   Alles ist auf body.lvl7-pdp gescopet (nur KLIK + KLIK AIR), damit
   Sticker-, SKINS- und Adapter-Seiten unberührt bleiben.
   Corporate Design: Bebas Neue / Manrope, Gold #C3A46B (Hover #9E8145).
   ============================================================================= */


/* =============================================================================
   PDP-0 — Kopfbereich: Abstände, H1 zweizeilig, Subline, Preiszeile
   ============================================================================= */

/* Nav -> Inhalt: Leerraum drastisch reduzieren (Mockup: ~26px) */
.lvl7-pdp.single-product #primary {
    padding-top: 12px !important;
    margin-top: 0 !important;
}

.lvl7-pdp.single-product .site-main {
    padding-top: 0 !important;
}

.lvl7-pdp.single-product div.product {
    margin-top: 0 !important;
}

.lvl7-pdp .woocommerce-breadcrumb,
.lvl7-pdp .ast-breadcrumbs-wrapper,
.lvl7-pdp #breadcrumbs {
    margin: 0 0 10px !important;
    padding: 0 !important;
}

/* H1 zweizeilig: Produktname groß, Untertitel klein in Grau */
.lvl7-pdp .summary .product_title {
    line-height: 1.05;
    margin-bottom: 6px;
}

.lvl7-pdp .lvl7-h1sub {
    display: block;
    font-size: 0.48em;
    color: #5A5A57;
    letter-spacing: 0.06em;
    margin-top: 4px;
}

/* Nutzen-Subline zwischen H1 und Preis */
.lvl7-pdp .lvl7-sub {
    margin: 0 0 10px;
    font-size: 0.92rem;
    color: #5a5a57;
    line-height: 1.5;
}

/* Kurzbeschreibung bleibt sichtbar — den Text (Subline statt altem
   Intro mit 3D-Link) pflegt der Betreiber direkt im Produkt */
.lvl7-pdp .summary .woocommerce-product-details__short-description {
    font-size: 0.92rem;
    color: #5a5a57;
}

/* Preiszeile mit unserem Streichpreis: nebeneinander auf Grundlinie.
   flex-direction row MUSS erzwungen werden — der alte Customizer-Block
   "Preis-Hierarchie" setzt p.price auf column und stapelt sonst alles */
.lvl7-pdp .summary .price.lvl7-prow {
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 10px;
    flex-wrap: wrap;
}

.lvl7-pdp .lvl7-was {
    color: #8C8C88;
    font-size: 1.15rem;
    font-weight: 400;
    text-decoration: line-through;
}

.lvl7-pdp .summary .price.lvl7-prow .lvl7-save-pill {
    grid-column: auto;
    grid-row: auto;
    margin-left: 0;
    align-self: center;
}


/* =============================================================================
   PDP-1 — USP-Liste unter der Kurzbeschreibung
   ============================================================================= */

.lvl7-pdp .lvl7-usp {
    list-style: none;
    padding: 0;
    margin: 0.9rem 0 1.4rem;
    display: grid;
    gap: 7px;
}

.lvl7-pdp .lvl7-usp li {
    position: relative;
    padding-left: 22px;
    font-size: 0.9rem;
    color: #393c40;
    line-height: 1.5;
}

.lvl7-pdp .lvl7-usp li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 11px;
    height: 2px;
    background: #C3A46B;
    transform: skewX(-30deg);
}


/* =============================================================================
   PDP-2 — Galerie-Chips (Bestseller / Der Klassiker / Gebrauchsmuster)
   ============================================================================= */

.lvl7-pdp .woocommerce-product-gallery {
    position: relative;
}

.lvl7-pdp .lvl7-chips {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 5;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    pointer-events: none;
}

.lvl7-pdp .lvl7-chip {
    background: #151616;
    color: #ffffff;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 0.82rem;
    letter-spacing: 0.09em;
    padding: 4px 10px 3px;
    border-radius: 2px;
    line-height: 1.3;
}

.lvl7-pdp .lvl7-chip--gold {
    background: #C3A46B;
    color: #151616;
}

/* Sale-Badge weicht nach rechts aus, damit sich nichts überlappt */
.lvl7-pdp .woocommerce-product-gallery span.onsale {
    left: auto !important;
    right: 14px !important;
    top: 14px !important;
}

/* Sticky-Galerie über Astras eigenen Bild+Summary-Wrapper.
   Live verifiziert: die Float-Spalten ließen den Wrapper auf Höhe 0
   kollabieren (kein Klebeweg), und Astras Sticky-Image-JS setzte die
   Galerie inline auf position:static. Flex spannt den Wrapper auf die
   volle Spaltenhöhe, !important schlägt den Inline-Style. */
@media (min-width: 922px) {

    .lvl7-pdp .ast-product-img-summary-wrapper {
        display: flex !important;
        justify-content: space-between;
        align-items: flex-start;
        /* Astras Sticky-Image-JS setzt eine zu früh gemessene Inline-
           Höhe (height: 1652px) — die kappt den Wrapper, lässt die
           Accordions in den Banner ragen und beendet den Klebeweg zu
           früh. auto + !important schlägt den Inline-Style. */
        height: auto !important;
        min-height: 0 !important;
    }

    .lvl7-pdp .ast-product-img-summary-wrapper > .woocommerce-product-gallery {
        float: none !important;
        position: sticky !important;
        top: 100px !important;
    }

    .lvl7-pdp .ast-product-img-summary-wrapper > .summary {
        float: none !important;
    }
}

/* Galerie: HAUPTBILD als feste quadratische Bühne — unabhängig davon,
   in welchem Format das Originalbild hochgeladen wurde. Verhindert das
   Höhen-Springen beim Durchklicken der Thumbnails. Bewusst für ALLE
   Produktseiten (nicht nur lvl7-pdp).
   Falls ein Motiv unschön beschnitten wird: object-fit unten von
   "cover" auf "contain" stellen (Bild komplett sichtbar, Rest füllt
   der helle Hintergrund wie im Mockup). */
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image--placeholder {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f5f4f1;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
    display: block;
    width: 100%;
    height: 100%;
}

/* .zoomImg ist der Lupen-Klon des Zoom-Scripts — den nicht anfassen */
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img:not(.zoomImg) {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}

/* Video-Kachel in der Thumbnail-Reihe (rendert nur mit hinterlegter mp4-URL) */
.lvl7-pdp .flex-control-thumbs .lvl7-vthumb button,
.lvl7-pdp .flex-control-thumbs .lvl7-vthumb button:hover,
.lvl7-pdp .flex-control-thumbs .lvl7-vthumb button:focus {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #151616 !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 2px;
    box-shadow: none !important;
    font-family: 'Manrope', sans-serif;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    padding: 4px !important;
    cursor: pointer;
}

.lvl7-typemodal__in--video {
    max-width: 820px;
    padding: 12px;
    background: #151616;
}

.lvl7-typemodal__in--video video {
    display: block;
    width: 100%;
    border-radius: 4px;
}

.lvl7-typemodal__in--video .lvl7-typemodal__x {
    position: absolute;
    top: -34px;
    right: 0;
    color: #ffffff !important;
}

/* Thumbnails ebenfalls einheitlich quadratisch */
.single-product .woocommerce-product-gallery .flex-control-thumbs li {
    overflow: hidden;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li img {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
    object-fit: cover;
}


/* =============================================================================
   PDP-3 — Variationstabelle entkoppeln + Schritt-Header 01/02/03
   ============================================================================= */

.lvl7-pdp table.variations,
.lvl7-pdp table.variations tbody,
.lvl7-pdp table.variations tr,
.lvl7-pdp table.variations th,
.lvl7-pdp table.variations td {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
}

/* Attribut-Labels raus — die Schritt-Header übernehmen.
   Mehrere Selektoren, weil das Label je nach Astra/Plugin-Markup
   in th.label, td.label oder als loses label-Element hängt. */
.lvl7-pdp table.variations th.label,
.lvl7-pdp table.variations td.label,
.lvl7-pdp .variations .label,
.lvl7-pdp .variations label[for="pa_kennzeichentyp"],
.lvl7-pdp .variations label[for="pa_anzahl"] {
    display: none !important;
}

.lvl7-pdp .lvl7-step-row td {
    padding-top: 0;
}

/* Kompakte Blockabstände (Mockup: Linie + ~20px oben, wenig unten) */
.lvl7-pdp form.cart table.variations {
    margin: 0 !important;
}

.lvl7-pdp .single_variation_wrap,
.lvl7-pdp .woocommerce-variation {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Der Variationspreis im Formular doppelt den Hauptpreis oben */
.lvl7-pdp .woocommerce-variation-price {
    display: none !important;
}

.lvl7-pdp .lvl7-step-h {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin: 0 0 10px;
    border-top: 1px solid #f0efec;
    padding-top: 16px;
}

.lvl7-pdp .lvl7-step-n {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 0.9rem;
    letter-spacing: 0.14em;
    color: #9E8145;
}

.lvl7-pdp .lvl7-step-t {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.15rem;
    letter-spacing: 0.08em;
    color: #151616;
}

.lvl7-pdp .lvl7-step-opt {
    font-family: 'Manrope', sans-serif;
    font-size: 0.78rem;
    color: #9a9a97;
}

/* Der SKINS-Header braucht keine eigene Trennlinie — die kommt schon
   vom Block darüber (sonst doppelter Strich unter Schritt 02) */
.lvl7-pdp .lvl7-step-h--skins {
    border-top: 0;
    padding-top: 6px;
}

/* Hilfe-Link als reiner Textlink, Astra-Button-Styles neutralisieren */
.lvl7-pdp button.lvl7-step-help,
.lvl7-pdp button.lvl7-step-help:hover,
.lvl7-pdp button.lvl7-step-help:focus {
    margin-left: auto;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    font-family: 'Manrope', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #8c8c88 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
    line-height: 1.4;
}

.lvl7-pdp button.lvl7-step-help:hover {
    color: #9E8145;
}


/* =============================================================================
   PDP-4 — Varianten-Buttons als Auswahlkarten
   (nur Kennzeichentyp + Anzahl; Farb-Swatches bleiben unberührt)
   ============================================================================= */

.lvl7-pdp .cfvsw-swatches-container[swatches-attr="attribute_pa_kennzeichentyp"],
.lvl7-pdp .cfvsw-swatches-container[swatches-attr="attribute_pa_anzahl"] {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 6px;
}

.lvl7-pdp .cfvsw-swatches-container[swatches-attr="attribute_pa_kennzeichentyp"] .cfvsw-swatches-option,
.lvl7-pdp .cfvsw-swatches-container[swatches-attr="attribute_pa_anzahl"] .cfvsw-swatches-option {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    position: relative;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 13px 14px !important;
    margin: 0 !important;
    white-space: normal;
    line-height: 1.35;
    border: 1px solid #e3e1dc !important;
    border-radius: 4px;
    background: #ffffff;
    overflow: visible !important;
}

.lvl7-pdp .cfvsw-swatches-container[swatches-attr="attribute_pa_kennzeichentyp"] .cfvsw-swatches-option:hover,
.lvl7-pdp .cfvsw-swatches-container[swatches-attr="attribute_pa_anzahl"] .cfvsw-swatches-option:hover {
    border-color: #8c8c88 !important;
    background: #ffffff !important;
}

/* Auswahl wie im Mockup: schwarz und dezent (1px Rand + 1px Innenlinie) */
.lvl7-pdp .cfvsw-swatches-container[swatches-attr="attribute_pa_kennzeichentyp"] .cfvsw-swatches-option.cfvsw-selected-swatch,
.lvl7-pdp .cfvsw-swatches-container[swatches-attr="attribute_pa_anzahl"] .cfvsw-swatches-option.cfvsw-selected-swatch {
    border-color: #0E0E0E !important;
    box-shadow: inset 0 0 0 1px #0E0E0E !important;
    background: #ffffff !important;
}

/* SKINS-Farbwahl: Auswahlring ebenfalls schwarz statt gold */
.lvl7-pdp .lvl7-skinaddon__sw.is-selected {
    border-color: #0E0E0E !important;
    box-shadow: 0 0 0 2px #0E0E0E !important;
}

/* Alle Kind-Elemente linksbündig und volle Breite — das Plugin zentriert
   seine Innen-Wrapper sonst und drückt den Titel in die Kartenmitte */
.lvl7-pdp .cfvsw-swatches-container[swatches-attr="attribute_pa_kennzeichentyp"] .cfvsw-swatches-option > *:not(.lvl7-opt-flag),
.lvl7-pdp .cfvsw-swatches-container[swatches-attr="attribute_pa_anzahl"] .cfvsw-swatches-option > *:not(.lvl7-opt-flag) {
    width: 100% !important;
    text-align: left !important;
    justify-content: flex-start !important;
}

/* Und zusätzlich in die Tiefe: das Plugin zentriert teils auf
   verschachtelten Wrappern, nicht nur auf der ersten Ebene */
.lvl7-pdp .cfvsw-swatches-container[swatches-attr="attribute_pa_kennzeichentyp"] .cfvsw-swatches-option *:not(.lvl7-opt-flag),
.lvl7-pdp .cfvsw-swatches-container[swatches-attr="attribute_pa_anzahl"] .cfvsw-swatches-option *:not(.lvl7-opt-flag) {
    text-align: left !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
}

/* Innen-Elemente: feste Reihenfolge unabhängig vom Einfüge-Zeitpunkt */
.lvl7-pdp .lvl7-opt-ttl {
    order: 1;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    font-family: 'Manrope', sans-serif;
    font-weight: 700;
    font-size: 0.92rem;
    line-height: 1.35;
    color: #151616;
}
.lvl7-pdp .lvl7-opt-desc  { order: 2; font-size: 0.78rem; color: #85878b; line-height: 1.4; margin-top: 2px; }

/* Streichpreis + Preis in EINER Zeile (gleich hohe Kacheln) */
.lvl7-pdp .lvl7-opt-prow {
    order: 3;
    display: flex !important;
    align-items: baseline;
    gap: 6px;
    margin-top: 4px;
    width: 100% !important;
    justify-content: flex-start !important;
}

.lvl7-pdp .lvl7-opt-was {
    font-size: 0.8rem;
    color: #9a9a97;
    margin: 0;
}

.lvl7-pdp .cfvsw-swatches-container[swatches-attr] .lvl7-var-price {
    font-weight: 700;
    font-size: 0.92rem;
    color: #151616;
    margin: 0;
}

/* Der %-Badge aus dem Setvorteil entfällt in der Karte
   (die Ersparnis steht als "einzeln …" + Stückpreis-Zeile darunter) */
.lvl7-pdp .cfvsw-swatches-container[swatches-attr="attribute_pa_anzahl"] .lvl7-var-badge {
    display: none !important;
}

.lvl7-pdp .lvl7-opt-flag {
    position: absolute;
    top: -10px;
    right: 10px;
    width: auto !important;
    background: #C3A46B;
    color: #151616;
    font-family: 'Manrope', sans-serif;
    font-weight: 800;
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 3px 8px;
    border-radius: 2px;
    line-height: 1.4;
}


/* =============================================================================
   PDP-5 — Hinweiskästen (Setvorteil-Zeile, 3D-Montagekit)
   ============================================================================= */

.lvl7-pdp #lvl7-setvorteil,
.lvl7-pdp .lvl7-hint {
    display: block;
    background: #faf8f4;
    border-left: 2px solid #C3A46B;
    border-radius: 0 3px 3px 0;
    padding: 10px 12px;
    font-size: 0.82rem;
    color: #5a5a57;
    line-height: 1.5;
    margin: 10px 0 0;
}

.lvl7-pdp .lvl7-hint b {
    color: #151616;
    font-weight: 600;
}

.lvl7-pdp .lvl7-hint-row td {
    padding-bottom: 6px;
}


/* =============================================================================
   PDP-6 — SKINS-Block an die Schritt-Optik anpassen
   (Funktion bleibt komplett beim bestehenden Add-on)
   ============================================================================= */

/* Kopfzeilen, die Schritt-Header 03 + Einleitungstext ersetzen
   (die Preisinfo "Einzeln … im Set nur …" steckt jetzt im Intro-Satz) */
.lvl7-pdp .lvl7-skinaddon__brand,
.lvl7-pdp .lvl7-skinaddon__title,
.lvl7-pdp .lvl7-skinaddon__benefit,
.lvl7-pdp .lvl7-skinaddon__bundle,
.lvl7-pdp .lvl7-skinaddon__delta {
    display: none !important;
}

.lvl7-pdp .lvl7-skins-intro {
    margin: 0 0 10px;
    font-size: 0.82rem;
    color: #5a5a57;
    line-height: 1.5;
}

/* Swatches einheitlich kompakt und eckig wie im Mockup */
.lvl7-pdp .lvl7-skinaddon__body {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

/* Festes Raster 5 Spalten à 42px -> zwei ruhige Reihen (5 + 4),
   kein einzelnes Feld allein in Zeile zwei */
.lvl7-pdp .lvl7-skinaddon__grid {
    order: 1;
    flex: 1 1 auto;
    display: grid !important;
    grid-template-columns: repeat(5, 42px);
    gap: 8px;
    justify-content: start;
}

.lvl7-pdp .lvl7-skinaddon__grid .lvl7-skinaddon__sw {
    width: 42px !important;
    height: 42px !important;
    border-radius: 3px !important;
    border: 1px solid #e3e1dc !important;
    margin: 0 !important;
    transform: none !important;
}

.lvl7-pdp .lvl7-skinaddon__sw.is-selected {
    border-color: #0E0E0E !important;
    box-shadow: 0 0 0 1px #0E0E0E !important;
}

/* Bildvorschau kompakt rechts neben den Swatches */
.lvl7-pdp .lvl7-skinaddon__preview {
    order: 2;
    flex: 0 0 96px;
}

.lvl7-pdp .lvl7-skinaddon__img {
    width: 96px !important;
    height: auto !important;
    border: 1px solid #e3e1dc;
    border-radius: 4px;
    display: block;
}

/* Die alte "Farbe wählen"-Zeile ersetzt eine Zustandsanzeige */
.lvl7-pdp .lvl7-skinaddon__colorname {
    display: none !important;
}

.lvl7-pdp .lvl7-swname {
    margin-top: 8px;
    font-size: 0.8rem;
    color: #5a5a57;
}

.lvl7-pdp .lvl7-swname b {
    color: #151616;
    font-weight: 700;
}

/* Ohne Folie: Vorschau zeigt das normale Übersichtsfoto in Farbe
   (Ausgrauen sah unfertig aus und ist bewusst entfernt) */


/* =============================================================================
   PDP-7 — Spar-Pill am Preis (aus UVP/Einführungspreis berechnet)
   ============================================================================= */

.lvl7-pdp .lvl7-save-pill {
    grid-row: 1;
    grid-column: 3;
    align-self: center;
    justify-self: start;
    margin-left: 10px;
    background: #F0E8D6;
    color: #9e8145;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1rem;
    letter-spacing: 0.06em;
    padding: 5px 11px 3px;
    border-radius: 3px;
    line-height: 1.3;
}


/* =============================================================================
   PDP-7b — Mengen-Zeile: Label + "n × Set …" links, Stepper rechts
   ============================================================================= */

.lvl7-pdp .lvl7-qtyrow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 16px 0 12px;
    padding-top: 14px;
    border-top: 1px dotted #e3e1dc;
}

.lvl7-pdp .lvl7-qtyrow .lvl7-qty-label {
    display: block;
    font-family: 'Manrope', sans-serif;
    font-weight: 800;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #151616;
    margin: 0;
}

.lvl7-pdp .lvl7-qtysub {
    display: block;
    font-size: 0.78rem;
    color: #8c8c88;
    margin-top: 2px;
}

/* Stepper als EINE Gruppe: − | 1 | + in einem Rahmen, 38px hoch */
.lvl7-pdp .lvl7-qtyrow .quantity {
    display: flex !important;
    align-items: stretch;
    margin: 0 !important;
    border: 1px solid #e3e1dc;
    border-radius: 4px;
    overflow: hidden;
    background: #ffffff;
}

.lvl7-pdp .lvl7-qtyrow .quantity input.qty {
    width: 44px !important;
    height: 38px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    text-align: center;
    font-weight: 600;
    box-shadow: none !important;
    margin: 0 !important;
    -moz-appearance: textfield;
}

.lvl7-pdp .lvl7-qtyrow .quantity input.qty::-webkit-outer-spin-button,
.lvl7-pdp .lvl7-qtyrow .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.lvl7-pdp .lvl7-qtyrow .quantity .minus,
.lvl7-pdp .lvl7-qtyrow .quantity .plus,
.lvl7-pdp .lvl7-qtyrow .quantity a.minus,
.lvl7-pdp .lvl7-qtyrow .quantity a.plus,
.lvl7-pdp .lvl7-qtyrow .quantity button.minus,
.lvl7-pdp .lvl7-qtyrow .quantity button.plus {
    width: 36px !important;
    height: 38px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #151616 !important;
    font-size: 1rem !important;
    line-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    text-align: center;
    cursor: pointer;
}

.lvl7-pdp .lvl7-qtyrow .quantity .minus:hover,
.lvl7-pdp .lvl7-qtyrow .quantity .plus:hover {
    background: #f5f4f1 !important;
}

/* Doppelte Verfügbarkeits-Zeile raus — die Stockline übernimmt das */
.lvl7-pdp p.stock,
.lvl7-pdp .woocommerce-variation-availability {
    display: none !important;
}

/* Rückgabe-Box raus — steht bereits im Trust-Grid darunter */
.lvl7-pdp .lvl7-ship__returns {
    display: none !important;
}

/* SEPA-Express-Button: entfernt der SDK-URL-Filter im PHP-Snippet
   (beide Buttons stecken in EINEM iFrame, CSS kommt da nicht ran). */

/* Versand-Bereich minimalistisch wie im Mockup: nur noch die
   Gratis-Versand-Box, flach auf Mist-Grau, ohne Icon und Titelzeile.
   Die Lieferzeit steht in der Steuerzeile am Preis; der Lieferland-
   Wechsler entfällt damit bewusst (Mockup-Entscheidung). */
.lvl7-pdp .lvl7-ship__delivery,
.lvl7-pdp .lvl7-ship__returns {
    display: none !important;
}

.lvl7-pdp .lvl7-ship__box {
    background: #f5f4f1 !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 4px !important;
    padding: 12px 14px !important;
}

.lvl7-pdp .lvl7-ship__icon {
    display: none !important;
}

/* Wording wie bei Maciag (v1.2.2): Titelzeile "Gratis Versand ab X"
   bleibt sichtbar, darunter "Mit diesem Artikel noch Y" (Texte kommen
   unverändert aus dem Versand-Modul der functions.php, inkl.
   Warenkorb-Stand). Farben/Fonts bewusst NICHT angefasst — es gelten
   die bestehenden .lvl7-ship__t/__s-Styles aus dem Child-Theme. */
.lvl7-pdp .lvl7-ship__b2-title {
    display: block !important;
    font-weight: 700;
    margin-bottom: 2px;
}

.lvl7-pdp .lvl7-ship__b2-sub {
    font-size: 0.85rem !important;
    color: #393c40 !important; /* wie bisher */
}

.lvl7-pdp .lvl7-ship__track {
    height: 4px !important;
    margin-top: 8px;
}


/* =============================================================================
   PDP-8 — Stockline + Trust-Grid
   ============================================================================= */

.lvl7-pdp .lvl7-stockline {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #2e7d5b;
}

.lvl7-pdp .lvl7-stockline__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #2e7d5b;
    flex: 0 0 7px;
}

.lvl7-pdp .lvl7-trust {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px 16px;
    margin-top: 14px;
    font-size: 0.8rem;
    color: #5a5a57;
    line-height: 1.45;
}

.lvl7-pdp .lvl7-trust__item {
    display: flex;
    gap: 8px;
    align-items: flex-start;
}

.lvl7-pdp .lvl7-trust__item svg {
    flex: 0 0 15px;
    margin-top: 2px;
    color: #9E8145;
}


/* =============================================================================
   PDP-9 — Akkordeon (Lieferumfang offen, Montage, Maße, Versand)
   ============================================================================= */

.lvl7-pdp .lvl7-acc {
    border-top: 1px solid #ecebe9;
    margin-top: 22px;
}

.lvl7-pdp .lvl7-acc__d {
    border-bottom: 1px solid #ecebe9;
}

.lvl7-pdp .lvl7-acc__d summary {
    list-style: none;
    cursor: pointer;
    padding: 13px 0;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.02rem;
    letter-spacing: 0.07em;
    color: #151616;
    display: flex;
    align-items: center;
    user-select: none;
}

.lvl7-pdp .lvl7-acc__d summary::-webkit-details-marker {
    display: none;
}

.lvl7-pdp .lvl7-acc__d summary::after {
    content: "+";
    margin-left: auto;
    font-family: 'Manrope', sans-serif;
    font-size: 1.05rem;
    color: #9a9a97;
}

.lvl7-pdp .lvl7-acc__d[open] summary::after {
    content: "\2013";
}

.lvl7-pdp .lvl7-acc__b {
    padding: 0 0 16px;
    font-size: 0.85rem;
    color: #5a5a57;
    line-height: 1.6;
}

.lvl7-pdp .lvl7-scope {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 5px;
}

.lvl7-pdp .lvl7-scope li {
    position: relative;
    padding-left: 20px;
}

.lvl7-pdp .lvl7-scope li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #9E8145;
    font-weight: 700;
}

/* Produktsicherheit: der eingefangene Tab-Inhalt bekommt exakt das
   Format der übrigen Akkordeon-Texte (eigene Größen/Farben der
   Germanized-Blöcke werden übersteuert) */
.lvl7-pdp .lvl7-acc__d--gpsr .lvl7-acc__b,
.lvl7-pdp .lvl7-acc__d--gpsr .lvl7-acc__b p,
.lvl7-pdp .lvl7-acc__d--gpsr .lvl7-acc__b div,
.lvl7-pdp .lvl7-acc__d--gpsr .lvl7-acc__b span,
.lvl7-pdp .lvl7-acc__d--gpsr .lvl7-acc__b li,
.lvl7-pdp .lvl7-acc__d--gpsr .lvl7-acc__b a {
    font-family: 'Manrope', sans-serif !important;
    font-size: 0.85rem !important;
    color: #5a5a57 !important;
    line-height: 1.6 !important;
}

.lvl7-pdp .lvl7-acc__d--gpsr .lvl7-acc__b p,
.lvl7-pdp .lvl7-acc__d--gpsr .lvl7-acc__b div {
    margin: 0 0 8px !important;
}

.lvl7-pdp .lvl7-acc__d--gpsr .lvl7-acc__b b,
.lvl7-pdp .lvl7-acc__d--gpsr .lvl7-acc__b strong {
    color: #151616 !important;
    font-weight: 600;
}

/* Falls der Tab weitere Zwischenüberschriften mitbringt: als kleine
   fette Zeilen statt großer Headlines */
.lvl7-pdp .lvl7-acc__d--gpsr .lvl7-acc__b h1,
.lvl7-pdp .lvl7-acc__d--gpsr .lvl7-acc__b h2,
.lvl7-pdp .lvl7-acc__d--gpsr .lvl7-acc__b h3,
.lvl7-pdp .lvl7-acc__d--gpsr .lvl7-acc__b h4 {
    font-family: 'Manrope', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: #151616 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin: 12px 0 4px !important;
}

/* Altes Lieferumfang-Accordion aus der Variantenbeschreibung ausblenden
   (Inhalt dort bei Gelegenheit löschen — siehe README) */
.lvl7-pdp .woocommerce-variation-description details.lieferumfang {
    display: none !important;
}

/* Der leere Upsell-Container wird trotz leerer Upsell-Liste gerendert
   und hinterlässt nur seine Trennlinie (doppelter Strich unterm Akkordeon) */
.lvl7-pdp .lvl7-upsells-inside-summary {
    display: none !important;
}


/* =============================================================================
   PDP-10 — Impuls-Add-ons
   ============================================================================= */

/* Fallback-Optik, falls die Chips NICHT in die Versand-Box umziehen */
.lvl7-pdp .lvl7-impulse {
    margin-top: 8px;
    background: #ffffff;
    border: 1px solid #ecebe9;
    border-radius: 8px;
    padding: 12px 14px;
}

/* Regelfall: Chips sitzen IN der Versandkostenfrei-Box unter dem Balken */
.lvl7-pdp .lvl7-impulse.lvl7-impulse--inbar {
    margin: 10px 0 0;
    background: none;
    border: 0;
    border-radius: 0;
    padding: 0;
}

.lvl7-pdp .lvl7-impulse--inbar .lvl7-impulse__t {
    display: none;
}

.lvl7-pdp .lvl7-impulse__t {
    display: block;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 0.88rem;
    letter-spacing: 0.08em;
    color: #151616;
    margin-bottom: 8px;
}

/* Kacheln in voller Spaltenbreite, Preise rechtsbündig auf einer Flucht */
.lvl7-pdp .lvl7-impulse__row {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.lvl7-pdp button.lvl7-impulse__chip,
.lvl7-pdp button.lvl7-impulse__chip:hover,
.lvl7-pdp button.lvl7-impulse__chip:focus {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ffffff !important;
    border: 1px solid #ecebe9 !important;
    border-radius: 3px;
    box-shadow: none !important;
    padding: 6px 10px 6px 6px !important;
    margin: 0;
    font-family: 'Manrope', sans-serif;
    font-size: 0.78rem;
    font-weight: 500;
    color: #393c40;
    line-height: 1.3;
    cursor: pointer;
    text-transform: none;
    letter-spacing: 0;
    max-width: 100%;
}

.lvl7-pdp button.lvl7-impulse__chip:hover {
    border-color: #C3A46B !important;
}

.lvl7-pdp .lvl7-impulse__img {
    width: 34px !important;
    height: 34px !important;
    object-fit: cover;
    border-radius: 2px;
    flex: 0 0 34px;
}

.lvl7-pdp button.lvl7-impulse__chip {
    width: 100%;
}

.lvl7-pdp .lvl7-impulse__name {
    flex: 1 1 auto;
    text-align: left !important;
    overflow: hidden;
    min-width: 0;
}

.lvl7-pdp .lvl7-impulse__title {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Gewürfelte Variante ("Farbe: Schwarz") — klein unter dem Namen */
.lvl7-pdp .lvl7-impulse__var {
    display: block;
    font-size: 0.7rem;
    color: #8a8d90;
    white-space: nowrap;
}

.lvl7-pdp .lvl7-impulse__var:empty {
    display: none;
}

.lvl7-pdp .lvl7-impulse__price {
    font-weight: 700;
    color: #151616;
    white-space: nowrap;
}

.lvl7-pdp .lvl7-impulse__state {
    font-weight: 700;
    color: #9E8145;
    font-size: 0.95rem;
}

/* Vorgemerkt (kommt beim zentralen Warenkorb-Button mit rein);
   bleibt klickbar — zweiter Klick wählt wieder ab */
.lvl7-pdp button.lvl7-impulse__chip.is-picked {
    border-color: #2e7d5b !important;
}

.lvl7-pdp button.lvl7-impulse__chip.is-picked .lvl7-impulse__state {
    color: #2e7d5b;
}


/* =============================================================================
   PDP-11 — Sektionen unter dem Produkt (Break-Band, Fragen, Montage)
   ============================================================================= */

/* Die Sektionen müssen UNTER den Float-Spalten starten — das clear
   hat bisher der (jetzt entfernte) Woo-Tabs-Block mitgebracht */
.lvl7-pdp .lvl7-break,
.lvl7-pdp .lvl7-sec,
.lvl7-pdp .lvl7-reviews-section {
    clear: both;
}

/* Dunkles Break-Band "Abnehmen. Waschen. Aufklicken."
   Bewusst in Inhaltsbreite mit Radius statt echtem Full-Bleed —
   100vw-Tricks erzeugen in Astra gern horizontales Scrollen. */
.lvl7-pdp .lvl7-break {
    background: #151616;
    color: #ffffff;
    border-radius: 6px;
    margin-top: 48px;
    padding: clamp(32px, 5vw, 60px);
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 40px;
    align-items: center;
    overflow: hidden;
}

.lvl7-pdp .lvl7-break--noimg {
    grid-template-columns: 1fr;
}

.lvl7-pdp .lvl7-break h2 {
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(1.9rem, 3vw, 2.7rem);
    letter-spacing: 0.04em;
    line-height: 1.08;
    color: #ffffff;
    margin: 0;
}

.lvl7-pdp .lvl7-break h2 i {
    font-style: normal;
    color: #C3A46B;
}

.lvl7-pdp .lvl7-break p {
    color: #b8b7b2;
    font-size: 0.92rem;
    line-height: 1.6;
    max-width: 46ch;
    margin: 14px 0 0;
}

.lvl7-pdp .lvl7-break__img img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 4px;
}

/* Bildfläche über den Montage-Karten */
.lvl7-pdp .lvl7-card__img {
    aspect-ratio: 16 / 10;
    background: #f2f2f2;
    border-radius: 3px;
    margin-bottom: 14px;
    overflow: hidden;
}

.lvl7-pdp .lvl7-card__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lvl7-pdp .lvl7-sec {
    border-top: 1px solid #f0efec;
    padding: 48px 0;
}

.lvl7-pdp .lvl7-sec h2 {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.8rem;
    letter-spacing: 0.06em;
    color: #151616;
    margin: 0 0 6px;
}

.lvl7-pdp .lvl7-sec__lead {
    color: #7c7f83;
    font-size: 0.92rem;
    max-width: 60ch;
    margin: 0 0 26px;
}

.lvl7-pdp .lvl7-qa details {
    border-bottom: 1px solid #ecebe9;
}

.lvl7-pdp .lvl7-qa summary {
    list-style: none;
    cursor: pointer;
    padding: 16px 0;
    font-family: 'Manrope', sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    color: #151616;
    display: flex;
    align-items: center;
    user-select: none;
}

.lvl7-pdp .lvl7-qa summary::-webkit-details-marker {
    display: none;
}

.lvl7-pdp .lvl7-qa summary::after {
    content: "+";
    margin-left: auto;
    color: #9a9a97;
    font-weight: 400;
}

.lvl7-pdp .lvl7-qa details[open] summary::after {
    content: "\2013";
}

.lvl7-pdp .lvl7-qa__a {
    padding: 0 0 18px;
    color: #5a5a57;
    font-size: 0.9rem;
    line-height: 1.65;
    max-width: 78ch;
}

.lvl7-pdp .lvl7-grid3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.lvl7-pdp .lvl7-card {
    border: 1px solid #ecebe9;
    border-radius: 4px;
    padding: 22px;
    background: #ffffff;
}

.lvl7-pdp .lvl7-card__num {
    display: block;
    font-family: 'Bebas Neue', sans-serif;
    font-size: 0.85rem;
    letter-spacing: 0.14em;
    color: #9e8145;
    margin-bottom: 10px;
}

.lvl7-pdp .lvl7-card h3 {
    font-family: 'Manrope', sans-serif;
    font-weight: 700;
    font-size: 0.98rem;
    color: #151616;
    margin: 0 0 8px;
}

.lvl7-pdp .lvl7-card p {
    margin: 0;
    font-size: 0.86rem;
    color: #5a5a57;
    line-height: 1.6;
}


/* =============================================================================
   PDP-12 — Kennzeichentyp-Modal (nur KLIK AIR)
   ============================================================================= */

.lvl7-typemodal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.lvl7-typemodal[hidden] {
    display: none;
}

.lvl7-typemodal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(21, 22, 22, 0.5);
}

.lvl7-typemodal__in {
    position: relative;
    background: #ffffff;
    border-radius: 6px;
    max-width: 640px;
    width: 100%;
    padding: 24px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.18);
}

.lvl7-typemodal__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.lvl7-typemodal__head h3 {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.25rem;
    letter-spacing: 0.05em;
    color: #151616;
    margin: 0;
}

.lvl7-typemodal button.lvl7-typemodal__x,
.lvl7-typemodal button.lvl7-typemodal__x:hover,
.lvl7-typemodal button.lvl7-typemodal__x:focus {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 4px !important;
    font-size: 1.1rem;
    line-height: 1;
    color: #9a9a97;
    cursor: pointer;
}

.lvl7-typemodal__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.lvl7-typemodal__img {
    background: #f7f6f3;
    border-radius: 4px;
    margin-bottom: 10px;
}

.lvl7-typemodal__grid b {
    font-size: 0.88rem;
    color: #151616;
}

.lvl7-typemodal__grid p {
    margin: 4px 0 0;
    font-size: 0.8rem;
    color: #5a5a57;
    line-height: 1.5;
}


/* =============================================================================
   PDP-13 — KLIK: Kennzeichen-Check als Schritt 01
   ============================================================================= */

.lvl7-pdp .lvl7-step--plate {
    margin-bottom: 4px;
}

/* Wenn das Kennzeichen nicht passt, übernimmt der Austausch-Block —
   der Schritt-Header über dem Check verschwindet mit */
html.lvl7-plate-no .lvl7-step--plate .lvl7-step-h {
    display: none;
}


/* Konfigurations-Zeile in der Sticky-Leiste ("Blech & flache … · Vorne
   + hinten · Ohne Folie") */
.ast-sticky-add-to-cart .lvl7-stickycfg {
    font-size: 0.75rem;
    color: #8c8c88;
    line-height: 1.3;
}

@media (max-width: 921px) {
    .ast-sticky-add-to-cart .lvl7-stickycfg {
        display: none;
    }
}

/* Bewertungs-Kopf im Mockup-Layout: 4,9 groß + Sterne, daneben
   "19 Bewertungen" + Verifiziert-Zeile, Button rechts */
.lvl7-pdp .lvl7-reviews-header {
    justify-content: flex-start !important;
    align-items: flex-end !important;
    gap: 24px;
}

.lvl7-pdp .lvl7-revhead {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.lvl7-pdp .lvl7-revnum {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 3rem;
    line-height: 1;
    color: #151616;
}

.lvl7-pdp .lvl7-revhead .star-rating {
    font-size: 1em !important;
    margin: 0 !important;
}

.lvl7-pdp .lvl7-revlead {
    font-size: 0.9rem;
    color: #7c7f83;
}

.lvl7-pdp .lvl7-review-cta-btn {
    margin-left: auto;
}


/* =============================================================================
   PDP-14 — Sicherheit: keine Duplikate in Astras Sticky-Leiste
   ============================================================================= */

.ast-sticky-add-to-cart .lvl7-usp,
.ast-sticky-add-to-cart .lvl7-stockline,
.ast-sticky-add-to-cart .lvl7-trust,
.ast-sticky-add-to-cart .lvl7-acc,
.ast-sticky-add-to-cart .lvl7-impulse,
.ast-sticky-add-to-cart .lvl7-step-h,
.ast-sticky-add-to-cart .lvl7-skins-intro {
    display: none !important;
}


/* =============================================================================
   PDP-15 — Responsive
   ============================================================================= */

@media (max-width: 640px) {

    .lvl7-pdp .cfvsw-swatches-container[swatches-attr="attribute_pa_kennzeichentyp"],
    .lvl7-pdp .cfvsw-swatches-container[swatches-attr="attribute_pa_anzahl"] {
        grid-template-columns: 1fr;
    }

    .lvl7-pdp .lvl7-trust {
        grid-template-columns: 1fr;
    }

    .lvl7-pdp .lvl7-impulse__name {
        max-width: 120px;
    }

    .lvl7-typemodal__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 921px) {

    .lvl7-pdp .lvl7-grid3 {
        grid-template-columns: 1fr;
    }

    .lvl7-pdp .lvl7-sec {
        padding: 36px 0;
    }

    .lvl7-pdp .lvl7-break {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}
