/**
 * Versandhinweis: Cart-Summary + Minicart als Fortschritts-Box,
 * Produktseite als schlichte Textzeile.
 *
 * Box-Design nur unter --cart/--minicart, damit die geteilte
 * __line-Klasse den Produktseiten-Hinweis nicht mit einstylt.
 * Farben laufen ueber var(--theme-color) (edeltee-Gruen, adaptiert
 * naturteil); Radius 8px und Ink #2f2f2f nach Theme-Preset.
 */

.own-shipping-hint--cart .own-shipping-hint__line,
.own-shipping-hint--minicart .own-shipping-hint__line {
    background: color-mix(in srgb, var(--theme-color) 7%, #fff);
    border-radius: 8px;
    padding: 12px 14px;
    margin: 0 0 12px;
    color: #2f2f2f;
    font-size: 14px;
    line-height: 1.45;
}

.own-shipping-hint__text {
    margin: 0;
}

.own-shipping-hint__text strong {
    font-weight: 600;
    white-space: nowrap;
}

.own-shipping-hint__check {
    color: var(--theme-color);
    margin-right: 6px;
    font-weight: 700;
}

.own-shipping-hint__line--free .own-shipping-hint__text {
    font-weight: 600;
}

.own-shipping-hint__bar {
    height: 6px;
    margin-top: 8px;
    border-radius: 3px;
    background: color-mix(in srgb, var(--theme-color) 18%, #fff);
    overflow: hidden;
}

.own-shipping-hint__bar-fill {
    height: 100%;
    width: 100%;
    border-radius: 3px;
    background: var(--theme-color);
    transform-origin: left center;
    transition: transform .3s cubic-bezier(0.25, 1, 0.5, 1);
}

.own-shipping-hint__sub {
    margin: 6px 0 0;
    font-size: 12px;
    color: #6b6b6b;
}

.own-shipping-hint--minicart .own-shipping-hint__line {
    padding: 10px 12px;
    margin: 0;
    font-size: 13px;
}

/* Porto setzt im Minicart pauschal 700 - ohne Reset waere der <strong>-Betrag
   (600) heller als sein Umgebungstext, die Hierarchie stuende Kopf. */
.own-shipping-hint--minicart .own-shipping-hint__text {
    font-weight: 400;
}

.own-shipping-hint--minicart .own-shipping-hint__line--free .own-shipping-hint__text {
    font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
    .own-shipping-hint__bar-fill {
        transition: none;
    }
}

/* Produktseiten-Hinweis: schlichte Textzeile (keine Box) direkt unter der
   "Alle Preise inkl. MwSt., zzgl. Versandkosten"-Notiz. Ink statt Grau, damit
   die Frei-Haus-Zusage nicht als leiseste Zeile der Buy-Section untergeht; der
   Betrag traegt die Betonung, der Laender-Scope bleibt ruhige Meta-Angabe.
   4px: eng an die Notiz gerueckt, damit beide Versand-/Preisaussagen als ein
   Meta-Block lesen statt als abgesetzter Callout - bei Simple (product.info.price)
   wie bei Grouped (als Kind von product.info.grouped hinter die Notiz gerendert). */
.own-shipping-hint--product {
    margin: 4px 0 0;
}

.own-shipping-hint--product .own-shipping-hint__line {
    padding: 0;
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #2f2f2f;
    /* Explizit 400: bei Simple-Produkten sitzt der Hinweis in
       .product-info-price (Porto: font-weight 600) und wuerde die ganze Zeile
       halbfett erben - dann traegt nicht mehr nur der Betrag die Betonung.
       Grouped-Produkte liegen im neutralen Form-Container, hier unschaedlich. */
    font-weight: 400;
}

.own-shipping-hint--product .own-shipping-hint__line strong {
    font-weight: 600;
    white-space: nowrap;
}

.own-shipping-hint--product .own-shipping-hint__scope {
    color: #6b6b6b;
}

/* Grouped-PDP: der Hinweis wird zwischen die "Alle Preise inkl. MwSt."-Notiz
   (.v_box) und den Mengen-Spinner (#quelle_dv) gerendert. Die Notiz trug bisher
   20px margin-bottom als Trennung zur Kauf-Aktion - der Hinweis landete in dieser
   Luecke (20px oben, 0px unten) und klebte am Spinner. Den 20px-Bruch deshalb
   HINTER den Hinweis verlegen: Notiz + Hinweis lesen als ein Meta-Block, klar
   abgesetzt vom Spinner. Beide Regeln sind selbst-gescoped (greifen nur, wo der
   Hinweis wirklich zwischen Notiz und Spinner sitzt) - Simple (kein #quelle_dv)
   und Themes ohne den getChildHtml-Aufruf bleiben unberuehrt. */
.v_box:has(+ .own-shipping-hint--product + #quelle_dv) {
    margin-bottom: 4px;
}

.own-shipping-hint--product + #quelle_dv {
    margin-top: 20px;
}
