/* [0.3.0] Shop-UX: Preis-Suffix, Lieferzeit-Zeile, Kachel-Badges.
   Nutzt die dhf-Tokens; bewusst zurückhaltend, damit Astra/Elementor-Layouts
   nicht kämpfen müssen. */

/* Preis-Suffix — dezent, nie fett, umbruchfreundlich.
   [0.3.2 — Audit/Design] Farbe erbt vom Preis-Kontext (color:inherit) statt eines
   festen Tokens: live ist der Preistext kühles Grau (#69727d), der dhf-Muted-Token
   warmes Taupe (#6b625c) — das erbende Suffix passt so in JEDEM Theme zum Preis,
   opacity hält es sekundär. */
.dhf-price-suffix {
    display: inline-block;
    font-weight: 400;
    color: inherit;
    opacity: .75;
    letter-spacing: 0;
}
/* [0.4.1] Zwei Klassen = höhere Spezifität als die Theme-Regel .woocommerce-price-suffix
   (die den Suffix zu groß macht und word-break:break-word erzwingt). Feste, kleine rem-
   Größe (unabhängig vom Preis), kein Umbruch mitten im Wort.
   [0.5.1] font-size mit !important: live gemessen setzt das Theme die Suffix-Größe
   durchsetzungsstärker als der Zwei-Klassen-Selektor (Preis-<p> 21,9px → <small> 15,8px);
   der !important-Override ist die gezielte Rücknahme dieser Theme-Regel für UNSER Element. */
.woocommerce-price-suffix.dhf-price-suffix {
    font-size: 0.75rem !important;
    line-height: 1.35;
    overflow-wrap: normal;
    word-break: normal;
}
/* Phrasen bleiben zusammen; Umbruch nur zwischen ihnen. */
.dhf-suffix-part { white-space: nowrap; }

/* Lieferzeit-Zeile auf der Produktseite. */
.dhf-delivery {
    margin: 0.35em 0 0.9em;
    font-size: var(--dh-text-sm, 0.875rem);
    color: var(--dh-text-muted, #6b6257);
}
.dhf-delivery__text::before {
    content: "";
    display: inline-block;
    width: 0.55em; height: 0.55em;
    margin-right: 0.45em;
    border-radius: 50%;
    background: var(--dh-success, #2e7d32);
    vertical-align: 0.05em;
}
.dhf-delivery__link {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.dhf-delivery__link:hover { color: var(--dh-accent, #6a1417); }

/* Verfügbarkeits-Badge auf Kacheln. */
.dhf-stock {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    margin-top: 0.3em;
    font-size: var(--dh-text-xs, 0.75rem);
    line-height: 1.4;
    color: var(--dh-text-muted, #6b6257);
}
.dhf-stock__dot {
    width: 0.55em; height: 0.55em;
    border-radius: 50%;
    flex: none;
}
.dhf-stock--in  .dhf-stock__dot { background: var(--dh-success, #2e7d32); }
.dhf-stock--back .dhf-stock__dot { background: var(--dh-warning, #b26a00); }
.dhf-stock--out .dhf-stock__dot { background: var(--dh-danger, #b3261e); }
.dhf-stock--out { text-decoration: none; }

/* Elementor: Badge-Block, den der Preis-Widget-Filter an die Kachel anhängt. */
.dhf-tile-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4em;
    margin-top: 0.35em;
}

/* Sale-Badge: klassischer Kontext (span.onsale) und Astra-Karten-Bubble.
   Astras Positionierung (.ast-onsale-card absolut auf dem Bild) bleibt —
   wir setzen nur Farbe/Typo. */
.dhf-badge--sale {
    background: var(--dh-accent, #6a1417) !important;
    color: #fff !important;
    font-weight: 600;
    font-size: var(--dh-text-xs, 0.75rem);
    letter-spacing: 0.02em;
    border-radius: 999px;
    padding: 0.25em 0.7em;
    line-height: 1.6;
}
