/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */


/* =========================================================================
   Fix responsive Zeilenumbrueche
   Herkunft: Pascal Video 0 (whatsapp/vid0.txt) — "Bootsführerschein" bricht
   beim Resize zwischen "Bootsführerschei" und "n". Gleiches Muster bei
   "Kursdetails →". Stackable-Blocks und wp-block-button setzen global
   `word-break: break-word` + `hyphens: manual` — das spaltet Woerter
   mitten statt an Silbengrenzen oder zwischen Woertern.
   Task: Projekt/todos.md (MUSS vor Go-Live) / Projekt/wunschliste.md Pkt 3
   ========================================================================= */
.wp-block-heading,
.stk-block-heading__text,
.wp-block-button,
.wp-block-button__link {
	word-break: normal !important;
	overflow-wrap: break-word;
	hyphens: auto;
}

/* Buttons sollen nie mitten im Wort zerrissen werden — nur an Wortgrenzen
   brechen (zwischen "Kursdetails" und "→") */
.wp-block-button__link {
	word-break: keep-all !important;
	hyphens: none !important;
}


/* =========================================================================
   Footer-Welle als strukturelle Kante (ersetzt color-waves.svg Full-Background)
   Herkunft: Pascal WhatsApp 20.04.2026 Bild 2 (Projekt/whatsapp/) +
   wunschliste.md#L38-L41 — "Wellen wie auf Visitenkarte als Abschluss"
   Root-Cause: footerBackground (Customizer) nutzt color-waves.svg mit
   cover + 100% 100% am gesamten Footer; auf Tablet/Mobile stapelt Footer
   vertikal -> Welle wird extrem hoch gezoomt und ueberlappt Widgets.
   Loesung: Bottom-Row (Copyright) traegt blauen Hintergrund + Bootsschule_
   Welle.svg als responsive Top-Kante. Middle-Row bleibt neutral.
   Plan: ~/.claude/plans/eager-hugging-pie.md
   ========================================================================= */
footer.ct-footer {
	background: none !important;
	/* Pascal's Customizer hat uebergrosses Padding (200px/247px) — reduzieren
	   auf sinnvolle Werte, damit der Footer nicht uebermaessig viel Vertical-
	   Space einnimmt. Horizontal bleibt beim Customizer-Wert (nutzt ct-container
	   fuer Content-Zentrierung). */
	padding-top: clamp(1.5rem, 4vw, 3rem) !important;
	padding-bottom: 0 !important;
}

/* Welle-Hoehe: Desktop 100px, Tablet 70px, Mobile ca 45px.
   Fliessender Uebergang ueber clamp(min, preferred, max). */
footer.ct-footer {
	--bs-wave-h: clamp(40px, 14vw, 100px);
}

footer.ct-footer [data-row="bottom"] {
	position: relative;
	background-color: rgb(9, 132, 176) !important;
	/* Blocksy-Footer hat horizontal-Padding (200px) — mit Full-Bleed-Pattern
	   aus dem Padding ausbrechen, damit Blau + Welle die ganze Breite
	   einnehmen. Content bleibt ueber das innere .ct-container zentriert. */
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: calc(50vw - 50%);
	padding-right: calc(50vw - 50%);
	/* Platz fuer die Welle ueber dem Copyright-Text */
	padding-top: calc(var(--bs-wave-h) + 0.5rem);
	margin-top: 40px;
}

footer.ct-footer [data-row="bottom"]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: var(--bs-wave-h);
    background-image: url("/wp-content/uploads/Bootsschule_Welle.svg");
    background-size: auto 100%;
    background-repeat: no-repeat;
    pointer-events: none;
	z-index: 1;
}
footer.ct-footer [data-row="bottom"]::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: calc(var(--bs-wave-h) / 2);
    background-color: white;
}


/* =========================================================================
   Fix Mini-Cart — Germanized-Markup zerschiesst Layout
   Herkunft: Screenshot 22.04.2026 — Produkt "SBF Binnen". Mini-Cart-Dropdown
   sah kaputt aus: zeichenweiser Umbruch ("Sam/stag/ist/The/orie"),
   horizontaler Scrollbar, doppeltes Thumbnail.
   Root-Cause: WooCommerce Germanized rendert IN den Produkt-Link:
     - ein zweites 500x500 <img class="wc-gzd-cart-item-thumbnail"> (Blocksy
       hat schon eines links im 20%-Grid)
     - die Product-Description als <ul><li> mit Default-Listenstil
       (padding-left:40px, list-style:disc) im 240px-Content-Column
     - eine leere <dl class="variation"> mit ": " Platzhalter
   Zusammen mit body-Level overflow-wrap:break-word fuehrt das zum Umbruch
   und horizontalem Overflow.
   Scope: Nur CSS — Germanized/Julio-Plugins bleiben unveraendert.
   ========================================================================= */
.ct-cart-content {
    overflow-x: hidden;
}

.ct-cart-content .woocommerce-mini-cart-item,
.ct-cart-content .woocommerce-mini-cart-item * {
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: auto;
}

/* Doppeltes Germanized-Thumbnail im Produkt-Link raus — Blocksy-Grid hat
   links schon ein Thumbnail im 20%-Column. */
.ct-cart-content .wc-gzd-cart-item-thumbnail {
    display: none;
}

/* Germanized Item-Description (<ul>/<p>) auf Mini-Cart-Breite trimmen. */
.ct-cart-content .wc-gzd-item-desc {
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.4;
}

.ct-cart-content .wc-gzd-item-desc p {
    margin: 0 0 4px;
}

.ct-cart-content .wc-gzd-item-desc ul {
    display: none;
}

/* Leere Variation-Liste verstecken (Germanized rendert <dt>:</dt><dd></dd>
   auch bei Produkten ohne Variations). */
.ct-cart-content dl.variation:has(dd:empty) {
    display: none;
}