/*
Theme Name:   Cakesbymaman2noemi Child
Theme URI:    http://localhost/cakesbymaman2noemi
Description:  Child Theme für Cakesbymaman2noemi – Tortendesignerin in Adelsdorf
Author:       Cakesbymaman2noemi
Template:     astra
Version:      1.0.5
Text Domain:  cakesbymaman2noemi-child
*/

/* ─── CSS Variablen / Design-System ─────────────────────────────────────── */
:root {
    --cbmn-primary:     #C2185B;
    --cbmn-secondary:   #E769AA;
    --cbmn-cream:       #FFF8F5;
    --cbmn-beige:       #F0E6D3;
    --cbmn-text:        #2B1D1D;

    --cmn-rose:         var(--cbmn-primary);
    --cmn-rose-light:   var(--cbmn-secondary);
    --cmn-rose-dark:    var(--cbmn-secondary);
    --cmn-rose-bg:      rgba(231, 105, 170, .18);
    --cmn-cream:        var(--cbmn-cream);
    --cmn-dark:         var(--cbmn-text);
    --cmn-mid:          #555555;
    --cmn-light:        #F5F5F5;
    --cmn-border:       #E0E0E0;
    --cmn-white:        #FFFFFF;

    --cmn-font-main:    'DM Sans', sans-serif;
    --cmn-font-accent:  'Playfair Display', serif;

    --cmn-radius:       12px;
    --cmn-shadow:       0 4px 20px rgba(231, 105, 170, 0.08);
    --cmn-transition:   all .25s ease;
    --cbmn-shell-max:   1200px;
    --cbmn-shell-gutter: clamp(20px, 3vw, 40px);
    --cbmn-shell-width: min(var(--cbmn-shell-max), calc(100% - (var(--cbmn-shell-gutter) * 2)));
    --cbmn-page-gutter: max(var(--cbmn-shell-gutter), calc((100vw - var(--cbmn-shell-max)) / 2));
    --cbmn-premium-hero-background:
        radial-gradient(circle at top left, rgba(194, 24, 91, 0.14), transparent 40%),
        radial-gradient(circle at bottom right, rgba(240, 230, 211, 0.8), transparent 34%),
        linear-gradient(135deg, rgba(255, 248, 245, 0.98) 0%, rgba(255, 255, 255, 0.95) 52%, rgba(240, 230, 211, 0.82) 100%);
    --cbmn-premium-hero-rose-orb: rgba(194, 24, 91, 0.08);
    --cbmn-premium-hero-beige-orb: rgba(240, 230, 211, 0.72);
}

/* Premium cart page */
.woocommerce-cart .entry-title {
    display: none;
}

.cmn-cart-page {
    max-width: 1280px;
    margin: 0 auto;
    padding: clamp(32px, 5vw, 72px) 18px;
    color: #2D1F1F;
    font-family: "DM Sans", sans-serif;
}

.cmn-cart-header {
    max-width: 760px;
    margin: 0 0 28px;
}

.cmn-cart-eyebrow {
    margin: 0 0 8px;
    color: #C2185B;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cmn-cart-header h1 {
    margin: 0 0 10px;
    color: #2D1F1F;
    font-family: "Playfair Display", serif;
    font-size: clamp(40px, 5vw, 64px);
    line-height: 1.02;
}

.cmn-cart-header p {
    margin: 0;
    color: rgba(45, 31, 31, .68);
    font-size: 17px;
    line-height: 1.6;
}

.cmn-cart-notice {
    border: 1px solid rgba(194, 24, 91, .16);
    border-radius: 18px;
    background: #FFF8F5;
    color: #2D1F1F;
}

.cmn-cart-notice {
    display: grid;
    gap: 6px;
    margin: 0 0 22px;
    padding: 18px 20px;
}

.cmn-cart-notice strong {
    color: #C2185B;
    font-size: 16px;
    font-weight: 900;
}

.cmn-cart-notice p {
    margin: 0;
    color: rgba(45, 31, 31, .74);
    font-weight: 700;
    line-height: 1.5;
}

.cmn-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
    gap: 28px;
    align-items: start;
}

.cmn-cart-main,
.cmn-cart-section,
.cmn-cart-items {
    display: grid;
    gap: 18px;
}

.cmn-cart-section {
    border: 1px solid rgba(194, 24, 91, .10);
    border-radius: 28px;
    background: #FFF8F5;
    padding: 18px;
}

.cmn-cart-section-heading h2,
.cmn-cart-summary h2 {
    margin: 0 0 6px;
    color: #2D1F1F;
    font-family: "Playfair Display", serif;
    font-size: 30px;
    line-height: 1.1;
}

.cmn-cart-section-heading p {
    margin: 0;
    color: rgba(45, 31, 31, .62);
    font-size: 14px;
    font-weight: 700;
}

.cmn-cart-item {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    border: 1px solid rgba(194, 24, 91, .16);
    border-radius: 24px;
    background: #fff;
    padding: 18px;
    box-shadow: 0 14px 34px rgba(43, 26, 26, .06);
}

.cmn-cart-item-image img {
    display: block;
    width: 96px;
    height: 96px;
    border-radius: 14px;
    object-fit: cover;
}

.cmn-cart-item h3 {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: #2D1F1F;
    font-family: "DM Sans", sans-serif;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.cmn-cart-item h3 a {
    color: inherit !important;
    text-decoration: none !important;
}

.cmn-cart-item-variant {
    margin: 4px 0 0;
    color: #2D1F1F;
    font-size: 15px;
    font-weight: 800;
}

.cmn-cart-item-meta {
    margin: 8px 0 0;
    color: rgba(45, 31, 31, .68);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

.cmn-cart-item-meta dt,
.cmn-cart-item-meta dd {
    display: inline;
    margin: 0;
}

.cmn-cart-item-meta dt {
    color: #2D1F1F;
    font-weight: 900;
}

.cmn-cart-item-meta dd::after {
    content: "";
    display: block;
    height: 3px;
}

.cmn-cart-delivery-toggle {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.cmn-cart-cookie-note {
    display: grid;
    gap: 3px;
    margin-top: 12px;
    border: 1px solid rgba(194, 24, 91, .12);
    border-radius: 14px;
    background: #FFF8F5;
    padding: 10px 12px;
}

.cmn-cart-cookie-note strong {
    color: #2D1F1F;
    font-size: 13px;
    font-weight: 900;
}

.cmn-cart-cookie-note span {
    color: rgba(45, 31, 31, .68);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}

.cmn-cart-delivery-toggle label {
    cursor: pointer;
}

.cmn-cart-delivery-toggle input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.cmn-cart-delivery-toggle span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    border: 1px solid rgba(194, 24, 91, .18);
    border-radius: 999px;
    background: #FFF8F5;
    color: #2D1F1F;
    font-size: 13px;
    font-weight: 900;
    padding: 8px 12px;
}

.cmn-cart-delivery-toggle input:checked + span {
    border-color: #C2185B;
    background: #C2185B;
    color: #fff;
}

.cmn-cart-item-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    margin-top: 14px;
}

.cmn-cart-qty-stepper .quantity {
    margin: 0 !important;
}

.cmn-cart-qty-stepper input.qty {
    width: 76px !important;
    height: 44px !important;
    min-height: 44px !important;
    border: 1px solid rgba(194, 24, 91, .22) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #2D1F1F !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    text-align: center;
    box-shadow: none !important;
}

.cmn-cart-item-price {
    margin-left: auto;
    color: #2D1F1F;
    font-size: 17px;
    font-weight: 900;
    white-space: nowrap;
}

.cmn-cart-item-price .amount,
.cmn-cart-summary .amount {
    white-space: nowrap;
}

.cmn-cart-remove {
    display: inline-flex;
    gap: 5px;
    margin-top: 8px;
    color: #C2185B !important;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
}

.cmn-cart-coupon {
    border: 1px solid rgba(194, 24, 91, .14);
    border-radius: 18px;
    background: #fff;
    padding: 14px 16px;
}

.cmn-cart-coupon summary {
    cursor: pointer;
    color: #2D1F1F;
    font-weight: 900;
}

.cmn-cart-coupon div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    margin-top: 12px;
}

.cmn-cart-coupon input {
    min-height: 46px;
    border: 1px solid rgba(194, 24, 91, .16);
    border-radius: 14px;
    background: #FFF8F5;
    color: #2D1F1F;
    font-weight: 800;
    padding: 0 14px;
}

.cmn-cart-coupon button,
.cmn-cart-update,
.cmn-cart-checkout {
    min-height: 48px;
    border: 1px solid #C2185B;
    border-radius: 16px;
    background: #C2185B;
    color: #fff !important;
    cursor: pointer;
    font-weight: 900;
    padding: 12px 18px;
    text-align: center;
    text-decoration: none !important;
}

.cmn-cart-update {
    width: fit-content;
    justify-self: end;
    background: #fff;
    color: #C2185B !important;
}

.cmn-cart-summary {
    position: sticky;
    top: 110px;
    display: grid;
    gap: 16px;
    border: 1px solid rgba(194, 24, 91, .14);
    border-radius: 28px;
    background: #fff;
    padding: 22px;
    box-shadow: 0 18px 44px rgba(43, 26, 26, .08);
}

.cmn-cart-summary dl {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    margin: 0;
}

.cmn-cart-summary dt,
.cmn-cart-summary dd {
    margin: 0;
}

.cmn-cart-summary dt {
    color: rgba(45, 31, 31, .68);
    font-weight: 800;
}

.cmn-cart-summary dd {
    color: #2D1F1F;
    font-weight: 900;
    text-align: right;
    white-space: nowrap;
}

.cmn-cart-checkout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    width: 100%;
}

.cmn-cart-checkout.is-disabled {
    background: #b8aaa5;
    border-color: #b8aaa5;
    cursor: not-allowed;
    opacity: .72;
}

.cmn-cart-minimum,
.cmn-cart-legal-note {
    margin: 0;
    color: #C2185B;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
}

@media (max-width: 900px) {
    .cmn-cart-layout {
        grid-template-columns: 1fr;
    }

    .cmn-cart-summary {
        position: static;
    }
}

@media (max-width: 540px) {
    .cmn-cart-page {
        padding-right: 12px;
        padding-left: 12px;
    }

    .cmn-cart-section,
    .cmn-cart-summary {
        border-radius: 22px;
        padding: 14px;
    }

    .cmn-cart-item {
        grid-template-columns: 82px minmax(0, 1fr);
        gap: 12px;
        padding: 14px;
    }

    .cmn-cart-item-image img {
        width: 82px;
        height: 82px;
    }

    .cmn-cart-coupon div {
        grid-template-columns: 1fr;
    }
}

/* ─── Typografie ─────────────────────────────────────────────────────────── */
body {
    font-family: var(--cmn-font-main);
    background-color: var(--cmn-cream);
    color: var(--cmn-dark);
}

a {
    color: var(--cbmn-primary);
    transition: color .25s ease;
}

a:hover,
a:focus {
    color: var(--cbmn-secondary);
}

h1, h2, h3, h4 {
    font-family: var(--cmn-font-accent);
    color: var(--cmn-dark);
}

/* ─── Announcement Strip ─────────────────────────────────────────────────── */
body .cmn-announcement-strip,
html body .cmn-announcement-strip {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 36px !important;
    max-height: 40px;
    box-sizing: border-box;
    overflow-x: auto;
    background: var(--cbmn-primary) !important;
    color: #fff !important;
    text-align: center !important;
    padding: 7px 16px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}

body .cmn-announcement-strip span,
html body .cmn-announcement-strip span,
body .cmn-announcement-strip a,
html body .cmn-announcement-strip a {
    color: #fff !important;
}

body .cmn-announcement-strip a,
html body .cmn-announcement-strip a {
    flex: 0 0 auto;
    font-weight: 600 !important;
    text-decoration: none !important;
}

body .cmn-announcement-strip a:hover,
html body .cmn-announcement-strip a:hover {
    color: #fff !important;
    text-decoration: underline !important;
}

@media (max-width: 768px) {
    body .cmn-announcement-strip,
    html body .cmn-announcement-strip {
        justify-content: flex-start !important;
        font-size: 13px !important;
        padding: 8px 12px !important;
    }
}

/* ─── Complianz Cookie Banner ───────────────────────────────────────────── */
:root {
    --cmplz_banner_width: min(520px, calc(100vw - 32px));
    --cmplz_banner_background_color: #FFF8F5;
    --cmplz_banner_border_color: #F0E6D3;
    --cmplz_banner_border_width: 1px;
    --cmplz_banner_border_radius: 20px;
    --cmplz_text_color: #2B1A1A;
    --cmplz_hyperlink_color: #C2185B;
    --cmplz_title_font_size: 20px;
    --cmplz_text_font_size: 14px;
    --cmplz_link_font_size: 13px;
    --cmplz_category_body_font_size: 13px;
    --cmplz_category_header_title_font_size: 14px;
    --cmplz_category_header_active_font_size: 12px;
    --cmplz_button_accept_background_color: #C2185B;
    --cmplz_button_accept_border_color: #C2185B;
    --cmplz_button_accept_text_color: #FFFFFF;
    --cmplz_button_deny_background_color: transparent;
    --cmplz_button_deny_border_color: #C2185B;
    --cmplz_button_deny_text_color: #C2185B;
    --cmplz_button_settings_background_color: #FFFFFF;
    --cmplz_button_settings_border_color: #F0E6D3;
    --cmplz_button_settings_text_color: #2B1A1A;
    --cmplz_button_border_radius: 12px;
    --cmplz_button_font_size: 14px;
    --cmplz_category_header_always_active_color: #C2185B;
    --cmplz_slider_active_color: #C2185B;
    --cmplz_slider_inactive_color: #F0E6D3;
    --cmplz_slider_bullet_color: #FFFFFF;
}

body .cmplz-cookiebanner {
    width: min(520px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    max-height: calc(100dvh - 32px);
    padding: 24px !important;
    border: 1px solid #F0E6D3 !important;
    border-radius: 20px !important;
    background: #FFF8F5 !important;
    color: #2B1A1A !important;
    box-shadow: 0 18px 55px rgba(43, 26, 26, .14) !important;
    font-family: var(--cmn-font-main);
    gap: 14px !important;
    overflow: hidden;
}

body .cmplz-cookiebanner,
body .cmplz-cookiebanner * {
    box-sizing: border-box;
}

body .cmplz-cookiebanner.cmplz-show:hover {
    box-shadow: 0 18px 55px rgba(43, 26, 26, .14) !important;
}

body .cmplz-cookiebanner .cmplz-header {
    grid-template-columns: 1fr auto !important;
    padding: 0;
}

body .cmplz-cookiebanner .cmplz-title {
    grid-column: 1 !important;
    justify-self: start !important;
    color: #2B1A1A !important;
    font-family: var(--cmn-font-accent);
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.2;
}

body .cmplz-cookiebanner .cmplz-close {
    grid-column: 2 !important;
    color: #6F5D5D !important;
    opacity: .9;
}

body .cmplz-cookiebanner .cmplz-divider {
    border-color: #F0E6D3 !important;
    margin-right: -24px !important;
    margin-left: -24px !important;
}

body .cmplz-cookiebanner .cmplz-body {
    max-height: min(50vh, 360px);
    color: #2B1A1A !important;
}

body .cmplz-cookiebanner .cmplz-message {
    color: #6F5D5D !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

body .cmplz-cookiebanner .cmplz-message a,
body .cmplz-cookiebanner .cmplz-links .cmplz-link {
    color: #C2185B !important;
    text-decoration: none !important;
}

body .cmplz-cookiebanner .cmplz-message a:hover,
body .cmplz-cookiebanner .cmplz-links .cmplz-link:hover,
body .cmplz-cookiebanner .cmplz-message a:focus,
body .cmplz-cookiebanner .cmplz-links .cmplz-link:focus {
    color: #9F1248 !important;
}

body .cmplz-cookiebanner .cmplz-categories .cmplz-category {
    overflow: hidden;
    border: 1px solid #F0E6D3;
    border-radius: 12px;
    background: rgba(255, 255, 255, .64) !important;
}

body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header {
    min-height: 48px;
    padding: 12px 14px !important;
}

body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-title {
    color: #2B1A1A !important;
    font-family: var(--cmn-font-main);
    font-weight: 700 !important;
}

body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description {
    color: #6F5D5D !important;
    line-height: 1.55;
    padding: 0 14px 14px !important;
}

body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-icon svg {
    fill: #C2185B;
}

body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::before {
    background-color: #F0E6D3 !important;
}

body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label::before {
    background-color: #C2185B !important;
}

body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus + .cmplz-label::before {
    box-shadow: 0 0 0 3px rgba(194, 24, 91, .18) !important;
}

body .cmplz-cookiebanner .cmplz-buttons {
    gap: 10px !important;
}

body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
    min-height: 48px !important;
    height: 48px !important;
    padding: 0 18px !important;
    border-radius: 12px !important;
    font-family: var(--cmn-font-main);
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:hover,
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:focus {
    text-decoration: none !important;
    transform: translateY(-1px);
}

body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept {
    border-color: #C2185B !important;
    background: #C2185B !important;
    color: #FFFFFF !important;
    box-shadow: 0 10px 22px rgba(194, 24, 91, .18);
}

body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:hover,
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:focus {
    border-color: #9F1248 !important;
    background: #9F1248 !important;
}

body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny {
    border-color: #C2185B !important;
    background: transparent !important;
    color: #C2185B !important;
}

body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny:hover,
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny:focus {
    background: rgba(194, 24, 91, .07) !important;
}

body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences,
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences,
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-manage-options {
    border-color: #F0E6D3 !important;
    background: #FFFFFF !important;
    color: #2B1A1A !important;
}

body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences:hover,
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences:hover,
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-manage-options:hover,
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences:focus,
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences:focus,
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-manage-options:focus {
    border-color: #C2185B !important;
    color: #C2185B !important;
}

body #cmplz-manage-consent .cmplz-manage-consent {
    border: 1px solid #F0E6D3 !important;
    border-radius: 14px 14px 0 0 !important;
    background: #FFF8F5 !important;
    color: #2B1A1A !important;
    box-shadow: 0 12px 30px rgba(43, 26, 26, .12) !important;
    font-family: var(--cmn-font-main);
    font-weight: 700;
}

@media (max-width: 768px) {
    body .cmplz-cookiebanner {
        right: 12px !important;
        bottom: 12px !important;
        left: 12px !important;
        width: auto !important;
        max-width: none !important;
        max-height: calc(100dvh - 24px);
        padding: 20px !important;
        border-radius: 18px !important;
    }

    body .cmplz-cookiebanner .cmplz-title {
        display: block !important;
        font-size: 18px !important;
    }

    body .cmplz-cookiebanner .cmplz-body {
        max-height: 45dvh;
    }

    body .cmplz-cookiebanner .cmplz-buttons {
        flex-direction: column !important;
    }

    body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
        width: 100% !important;
        min-height: 50px !important;
        height: 50px !important;
        white-space: normal !important;
    }

    body .cmplz-cookiebanner .cmplz-documents ul {
        flex-wrap: wrap;
        justify-content: center;
    }
}

/* ─── Legal Pages ────────────────────────────────────────────────────────── */
body.cmn-legal-page {
    background: #FFF8F5;
}

body.cmn-legal-page #content,
body.cmn-legal-page .site-content {
    background: #FFF8F5;
}

body.cmn-legal-page .site-content .ast-container,
body.cmn-legal-page .ast-container {
    max-width: 100%;
}

body.cmn-legal-page .site-main,
body.cmn-legal-page article,
body.cmn-legal-page .entry-content {
    background: transparent;
}

body.cmn-legal-page .entry-header,
body.cmn-legal-page .entry-content {
    width: min(920px, calc(100% - 40px));
    margin-right: auto;
    margin-left: auto;
}

body.cmn-legal-page .entry-header {
    display: none;
}

body.cmn-legal-page .entry-title {
    color: #2B1A1A;
    font-family: var(--cmn-font-accent);
    font-size: clamp(34px, 5vw, 56px);
    line-height: 1.05;
    letter-spacing: 0;
    text-align: center;
}

body.cmn-legal-page .entry-content {
    padding-top: clamp(56px, 7vw, 92px);
    padding-bottom: clamp(64px, 8vw, 104px);
    color: #2B1A1A;
    font-family: var(--cmn-font-main);
    font-size: 16px;
    line-height: 1.78;
}

body.cmn-legal-page footer.site-footer,
body.cmn-legal-page .site-footer,
body.cmn-legal-page .site-primary-footer-wrap,
body.cmn-legal-page .site-below-footer-wrap,
body.cmn-legal-page .ast-footer-copyright,
body.cmn-legal-page .ast-builder-footer-grid-columns,
body.cmn-legal-page .ast-small-footer,
body.cmn-legal-page .ast-footer-overlay,
body.cmn-legal-page .ast-footer-html-1,
body.page-id-16 footer.site-footer,
body.page-id-17 footer.site-footer,
body.page-id-18 footer.site-footer,
body.page-id-16 .site-footer,
body.page-id-17 .site-footer,
body.page-id-18 .site-footer,
body.page-id-16 .site-primary-footer-wrap,
body.page-id-17 .site-primary-footer-wrap,
body.page-id-18 .site-primary-footer-wrap,
body.page-id-16 .site-below-footer-wrap,
body.page-id-17 .site-below-footer-wrap,
body.page-id-18 .site-below-footer-wrap,
body.page-id-16 .ast-footer-copyright,
body.page-id-17 .ast-footer-copyright,
body.page-id-18 .ast-footer-copyright,
body.page-id-16 .ast-builder-footer-grid-columns,
body.page-id-17 .ast-builder-footer-grid-columns,
body.page-id-18 .ast-builder-footer-grid-columns,
body.page-id-16 .ast-small-footer,
body.page-id-17 .ast-small-footer,
body.page-id-18 .ast-small-footer,
body.page-id-16 .ast-footer-overlay,
body.page-id-17 .ast-footer-overlay,
body.page-id-18 .ast-footer-overlay,
body.page-id-16 .ast-footer-html-1,
body.page-id-17 .ast-footer-html-1,
body.page-id-18 .ast-footer-html-1,
body.woocommerce-cart footer.site-footer,
body.woocommerce-checkout footer.site-footer,
body.woocommerce-cart .site-footer,
body.woocommerce-checkout .site-footer,
body.woocommerce-cart .site-primary-footer-wrap,
body.woocommerce-checkout .site-primary-footer-wrap,
body.woocommerce-account .site-primary-footer-wrap,
body.woocommerce-cart .site-below-footer-wrap,
body.woocommerce-checkout .site-below-footer-wrap,
body.woocommerce-account .site-below-footer-wrap,
body.woocommerce-cart .ast-footer-copyright,
body.woocommerce-checkout .ast-footer-copyright,
body.woocommerce-account .ast-footer-copyright,
body.woocommerce-cart .ast-builder-footer-grid-columns,
body.woocommerce-checkout .ast-builder-footer-grid-columns,
body.woocommerce-account .ast-builder-footer-grid-columns,
body.woocommerce-cart .ast-small-footer,
body.woocommerce-checkout .ast-small-footer,
body.woocommerce-account .ast-small-footer,
body.woocommerce-cart .ast-footer-overlay,
body.woocommerce-checkout .ast-footer-overlay,
body.woocommerce-account .ast-footer-overlay,
body.woocommerce-cart .ast-footer-html-1,
body.woocommerce-checkout .ast-footer-html-1,
body.woocommerce-account .ast-footer-html-1 {
    display: none !important;
}

body.cmn-legal-page .entry-content h1,
body.cmn-legal-page .entry-content h2,
body.cmn-legal-page .entry-content h3 {
    color: #2B1A1A;
    letter-spacing: 0;
}

body.cmn-legal-page .entry-content h1 {
    margin: 0 0 16px;
    font-family: var(--cmn-font-accent);
    font-size: clamp(34px, 5vw, 52px);
    line-height: 1.08;
    text-align: center;
}

body.cmn-legal-page .entry-content h2 {
    margin: 44px 0 14px;
    padding-top: 10px;
    border-top: 1px solid rgba(240, 230, 211, .9);
    font-family: var(--cmn-font-accent);
    font-size: clamp(24px, 3vw, 32px);
    line-height: 1.18;
}

body.cmn-legal-page .entry-content h3 {
    margin: 28px 0 8px;
    font-family: var(--cmn-font-main);
    font-size: 18px;
    font-weight: 700;
}

body.cmn-legal-page .entry-content p {
    margin: 0 0 16px;
}

body.cmn-legal-page .entry-content ul,
body.cmn-legal-page .entry-content ol {
    margin: 0 0 22px 1.2em;
    padding: 0;
}

body.cmn-legal-page .entry-content li {
    margin-bottom: 8px;
    padding-left: 4px;
}

body.cmn-legal-page .entry-content a {
    color: #C2185B;
    font-weight: 600;
    text-decoration: none;
}

body.cmn-legal-page .entry-content a:hover,
body.cmn-legal-page .entry-content a:focus {
    color: #E769AA;
}

body.cmn-legal-page .cmn-legal-intro {
    max-width: 680px;
    margin: 0 auto 30px;
    color: #6F5D5D;
    font-size: 18px;
    line-height: 1.65;
    text-align: center;
}

body.cmn-legal-page .cmn-legal-note {
    margin: 28px 0 36px;
    padding: 18px 20px;
    border: 1px solid #F0E6D3;
    border-radius: 12px;
    background: #FFFFFF;
    color: #6F5D5D;
}

body.cmn-legal-page .cmn-legal-note strong,
body.cmn-legal-page .entry-content strong {
    color: #2B1A1A;
}

.cmn-legal-footer {
    width: 100%;
    background: #C2185B;
    color: #FFFFFF;
}

.cmn-legal-footer-inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 22px;
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 20px 0;
    font-family: var(--cmn-font-main);
    font-size: 14px;
}

.cmn-legal-footer p {
    margin: 0;
    color: #FFFFFF;
}

.cmn-legal-footer a {
    color: #FFFFFF;
    font-weight: 600;
    text-decoration: none;
}

.cmn-legal-footer a:hover,
.cmn-legal-footer a:focus {
    color: #F0E6D3;
}

.cmn-legal-footer-legal,
.cmn-legal-footer-social {
    display: flex;
    align-items: center;
    gap: 14px;
}

.cmn-legal-footer-legal {
    justify-content: center;
}

.cmn-legal-footer-legal a:not(:last-child)::after,
.cmn-legal-footer-social a:not(:last-child)::after {
    content: "·";
    margin-left: 14px;
    color: rgba(255, 255, 255, .72);
}

.cmn-legal-footer-social {
    justify-content: flex-end;
}

@media (max-width: 767px) {
    body.cmn-legal-page .entry-header,
    body.cmn-legal-page .entry-content {
        width: min(100% - 28px, 920px);
    }

    body.cmn-legal-page .entry-content {
        padding-top: 42px;
        font-size: 15px;
        line-height: 1.72;
    }

    .cmn-legal-footer-inner {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 12px;
        text-align: center;
        padding: 24px 0;
    }

    .cmn-legal-footer-legal,
    .cmn-legal-footer-social {
        justify-content: center;
        flex-wrap: wrap;
    }
}

/* ─── Navigation ─────────────────────────────────────────────────────────── */
.main-header-bar {
    background-color: var(--cmn-white) !important;
    border-bottom: none !important;
    box-shadow: none !important;
    line-height: 1.2;
    min-height: 92px;
    padding-top: 2px;
    padding-bottom: 2px;
}

.site-header .ast-container,
.main-header-bar .ast-container {
    align-items: center;
    min-height: 92px;
    max-width: none;
    padding-right: var(--cbmn-page-gutter);
    padding-left: var(--cbmn-page-gutter);
}

body.home .site-header .ast-container,
body.home .main-header-bar .ast-container,
body.home .ast-primary-header-bar .ast-builder-grid-row,
body.page-id-19 .site-header .ast-container,
body.page-id-19 .main-header-bar .ast-container,
body.page-id-19 .ast-primary-header-bar .ast-builder-grid-row,
body.cbmn-clean-shop .site-header .ast-container,
body.cbmn-clean-shop .main-header-bar .ast-container,
body.cbmn-clean-shop .ast-primary-header-bar .ast-builder-grid-row,
body.cmn-catering-events-page .site-header .ast-container,
body.cmn-catering-events-page .main-header-bar .ast-container,
body.cmn-catering-events-page .ast-primary-header-bar .ast-builder-grid-row,
body.cmn-about-page-body .site-header .ast-container,
body.cmn-about-page-body .main-header-bar .ast-container,
body.cmn-about-page-body .ast-primary-header-bar .ast-builder-grid-row,
body.cmn-contact-page-body .site-header .ast-container,
body.cmn-contact-page-body .main-header-bar .ast-container,
body.cmn-contact-page-body .ast-primary-header-bar .ast-builder-grid-row {
    width: var(--cbmn-shell-width) !important;
    max-width: var(--cbmn-shell-max) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

@media (min-width: 922px) {
    body.single-product .site-header .ast-container,
    body.single-product .main-header-bar .ast-container,
    body.single-product .ast-primary-header-bar .ast-builder-grid-row,
    body.cmn-legal-page .site-header .ast-container,
    body.cmn-legal-page .main-header-bar .ast-container,
    body.cmn-legal-page .ast-primary-header-bar .ast-builder-grid-row,
    body.page-id-26 .site-header .ast-container,
    body.page-id-26 .main-header-bar .ast-container,
    body.page-id-26 .ast-primary-header-bar .ast-builder-grid-row,
    body.page-id-27 .site-header .ast-container,
    body.page-id-27 .main-header-bar .ast-container,
    body.page-id-27 .ast-primary-header-bar .ast-builder-grid-row,
    body.page-id-28 .site-header .ast-container,
    body.page-id-28 .main-header-bar .ast-container,
    body.page-id-28 .ast-primary-header-bar .ast-builder-grid-row,
    body.page-id-30 .site-header .ast-container,
    body.page-id-30 .main-header-bar .ast-container,
    body.page-id-30 .ast-primary-header-bar .ast-builder-grid-row,
    body.woocommerce-account .site-header .ast-container,
    body.woocommerce-account .main-header-bar .ast-container,
    body.woocommerce-account .ast-primary-header-bar .ast-builder-grid-row,
    body.woocommerce-shop:not(.cbmn-clean-shop) .site-header .ast-container,
    body.woocommerce-shop:not(.cbmn-clean-shop) .main-header-bar .ast-container,
    body.woocommerce-shop:not(.cbmn-clean-shop) .ast-primary-header-bar .ast-builder-grid-row,
    body.cmn-flavors-page-view .site-header .ast-container,
    body.cmn-flavors-page-view .main-header-bar .ast-container,
    body.cmn-flavors-page-view .ast-primary-header-bar .ast-builder-grid-row,
    body.woocommerce-cart .site-header .ast-container,
    body.woocommerce-cart .main-header-bar .ast-container,
    body.woocommerce-cart .ast-primary-header-bar .ast-builder-grid-row,
    body.woocommerce-checkout .site-header .ast-container,
    body.woocommerce-checkout .main-header-bar .ast-container,
    body.woocommerce-checkout .ast-primary-header-bar .ast-builder-grid-row,
    body.woocommerce-order-received .site-header .ast-container,
    body.woocommerce-order-received .main-header-bar .ast-container,
    body.woocommerce-order-received .ast-primary-header-bar .ast-builder-grid-row {
        width: var(--cbmn-shell-width) !important;
        max-width: var(--cbmn-shell-max) !important;
        margin-right: auto !important;
        margin-left: auto !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
}

.ast-primary-header-bar .ast-builder-grid-row,
.main-header-bar .ast-builder-grid-row {
    position: relative;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    width: 100%;
}

.site-header-primary-section-left,
.site-header-section-left {
    display: flex !important;
    align-items: center !important;
    align-self: stretch !important;
    grid-column: 1 !important;
    justify-self: start !important;
    width: auto !important;
    flex: 0 0 auto !important;
    justify-content: flex-start !important;
    z-index: 2;
}

.site-header-primary-section-center,
.site-header-section-center {
    display: flex !important;
    align-items: center !important;
    grid-column: 2 !important;
    justify-self: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0;
}

.site-header-primary-section-right,
.site-header-section-right {
    display: flex !important;
    align-items: center !important;
    grid-column: 3 !important;
    justify-self: end !important;
    justify-content: flex-end !important;
    width: auto !important;
    min-width: 0;
    flex: 0 0 auto !important;
}

.site-header,
.ast-primary-header-bar,
.ast-header-break-point .main-header-bar {
    border-bottom: none !important;
    box-shadow: none !important;
}

.site-title,
.site-description,
.ast-site-title-wrap,
.ast-site-title,
.ast-site-description,
.site-header .site-title,
.site-header .site-description {
    display: none !important;
}

.ast-site-identity,
.site-branding,
.site-logo-img,
.custom-logo-link,
.site-header .ast-builder-menu,
.site-header .main-header-bar-navigation,
.site-header .site-navigation,
.site-header .main-navigation {
    display: flex !important;
    align-items: center !important;
}

.site-header .site-header-primary-section-left,
.site-header .site-header-section-left,
.site-header .ast-site-identity,
.site-header .site-branding,
.site-header .site-logo-img,
.site-header .custom-logo-link {
    height: 100% !important;
    min-height: inherit;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    line-height: 0 !important;
}

.custom-logo,
.site-logo-img img,
.site-logo img,
.ast-site-identity img,
.site-header .custom-logo-link img {
    max-width: 150px !important;
    max-height: 90px !important;
    width: auto;
    height: auto !important;
    display: block;
    margin-top: auto !important;
    margin-bottom: auto !important;
    object-fit: contain;
    vertical-align: middle;
}

@media (max-width: 768px) {
	.main-header-bar,
    .site-header .ast-container,
    .main-header-bar .ast-container {
        min-height: 76px;
        padding-right: 18px;
        padding-left: 18px;
    }

    .custom-logo,
    .site-logo-img img,
    .site-logo img,
    .ast-site-identity img,
    .site-header .custom-logo-link img {
        max-width: 125px !important;
        max-height: 70px !important;
    }
}

.main-navigation,
.main-navigation ul,
.site-header .main-navigation,
.ast-builder-menu,
.ast-builder-menu .main-navigation {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.site-header .ast-builder-menu,
.site-header .main-header-bar-navigation,
.site-header .site-navigation,
.site-header .main-navigation {
    width: auto;
    min-width: 0;
}

.main-navigation ul {
    position: relative;
    width: auto;
    min-width: 0;
    gap: 28px;
    justify-content: center;
    padding-right: 0;
    padding-left: 0;
}

@media (min-width: 922px) {
    .site-header .main-header-menu,
    .site-header .main-navigation ul,
    .ast-builder-menu .main-navigation ul {
        gap: clamp(16px, 1.7vw, 24px);
        flex-wrap: nowrap;
    }

    .site-header .main-header-menu .menu-link,
    .ast-builder-menu .main-navigation .menu-link {
        white-space: nowrap;
    }

    .site-header .main-header-menu .menu-item,
    .ast-builder-menu .main-navigation .menu-item {
        flex: 0 0 auto;
    }

    .site-header .main-header-menu .menu-link[href*="/my-account/"],
    .site-header .main-header-menu .menu-link[href*="/mein-konto/"],
    .ast-builder-menu .main-navigation .menu-link[href*="/my-account/"],
    .ast-builder-menu .main-navigation .menu-link[href*="/mein-konto/"] {
        white-space: nowrap;
        padding-right: .72em;
        padding-left: .72em;
    }
}

@media (min-width: 922px) and (max-width: 1180px) {
    .site-header .main-header-menu,
    .site-header .main-navigation ul,
    .ast-builder-menu .main-navigation ul {
        gap: 14px;
    }

    .site-header .main-header-menu .menu-link,
    .ast-builder-menu .main-navigation .menu-link {
        font-size: 15px;
        padding-right: .58em;
        padding-left: .58em;
    }

    .cmn-header-actions {
        gap: 16px;
    }
}

.main-navigation a {
    color: var(--cmn-dark) !important;
    font-weight: 600;
    transition: color 0.25s ease;
}

.main-navigation a:hover {
    color: var(--cbmn-primary) !important;
}

.cmn-header-actions,
.ast-header-html-1,
.site-header .ast-header-html-1 .ast-builder-html-element {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

.cmn-header-actions {
    gap: 22px;
}

.cmn-header-icon-link {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0 !important;
    color: var(--cbmn-text) !important;
    line-height: 1;
    text-decoration: none !important;
    transition: color .2s ease, transform .2s ease;
}

.cmn-header-icon-link:hover,
.cmn-header-icon-link:focus,
.cmn-header-icon-link:focus-visible {
    color: var(--cbmn-primary) !important;
    transform: scale(1.05);
    outline: none;
}

.cmn-header-icon,
.cmn-header-icon-svg {
    display: block;
    width: 24px;
    height: 24px;
    font-size: 24px;
    line-height: 24px;
    color: currentColor;
}

.cmn-header-icon-svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.cmn-cart-count {
    position: absolute;
    top: -3px;
    right: -4px;
    min-width: 20px;
    height: 20px;
    border-radius: 999px;
    background: var(--cbmn-primary, #C2185B);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    line-height: 20px;
    text-align: center;
}

.cmn-header-icon-link:hover .cmn-cart-count,
.cmn-header-icon-link:focus .cmn-cart-count {
    background: var(--cbmn-primary, #C2185B);
}

.main-header-menu .menu-item > .sub-menu,
.ast-builder-menu .main-navigation .menu-item > .sub-menu {
    min-width: 230px;
    margin-top: 10px;
    padding: 10px;
    border: 1px solid rgba(194, 24, 91, .12);
    border-radius: 18px;
    background: rgba(255, 248, 245, .98);
    box-shadow: 0 18px 42px rgba(43, 26, 26, .12);
}

.main-header-menu .cbmn-torten-menu {
    position: relative;
}

.main-header-menu .cbmn-torten-menu > .sub-menu,
.ast-builder-menu .main-navigation .cbmn-torten-menu > .sub-menu {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2px;
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: 1000;
    width: max-content !important;
    max-width: min(280px, calc(100vw - 32px));
    height: auto !important;
    margin-top: 0 !important;
    border-radius: 24px !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-50%) translateY(8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

@media (min-width: 922px) {
    .main-header-menu .cbmn-torten-menu:hover > .sub-menu,
    .main-header-menu .cbmn-torten-menu:focus-within > .sub-menu,
    .ast-builder-menu .main-navigation .cbmn-torten-menu:hover > .sub-menu,
    .ast-builder-menu .main-navigation .cbmn-torten-menu:focus-within > .sub-menu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateX(-50%) translateY(0);
    }

    /* Hover bridge — keeps :hover active while mouse crosses the 8px animation gap */
    .main-header-menu .cbmn-torten-menu::after {
        content: '';
        position: absolute;
        left: -20px;
        right: -20px;
        bottom: -12px;
        height: 12px;
    }
}

@media (max-width: 921px) {
    .main-header-menu .cbmn-torten-menu > .sub-menu,
    .ast-builder-menu .main-navigation .cbmn-torten-menu > .sub-menu {
        display: none !important;
        position: static !important;
        width: 100% !important;
        max-width: none;
        margin: 6px 0 0;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: none;
    }

    .main-header-menu .cbmn-torten-menu.cbmn-menu-submenu-open > .sub-menu,
    .ast-builder-menu .main-navigation .cbmn-torten-menu.cbmn-menu-submenu-open > .sub-menu {
        display: grid !important;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
}

.main-header-menu .sub-menu::before,
.ast-builder-menu .sub-menu::before {
    display: none !important;
}

.main-header-menu .sub-menu .menu-link,
.ast-builder-menu .sub-menu .menu-link {
    min-height: 0;
    padding: 10px 12px !important;
    border-radius: 12px;
    color: var(--cbmn-text, #2A1A1A) !important;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
}

.main-header-menu .sub-menu .menu-link:hover,
.main-header-menu .sub-menu .menu-link:focus,
.ast-builder-menu .sub-menu .menu-link:hover,
.ast-builder-menu .sub-menu .menu-link:focus {
    background: #fff;
    color: var(--cbmn-primary, #C2185B) !important;
    outline: 2px solid rgba(194, 24, 91, .12);
    outline-offset: 0;
}

.site-header a,
.site-header a:visited,
.main-header-menu .menu-link,
.main-header-menu .menu-link:visited,
.ast-builder-menu .main-navigation .menu-link,
.ast-builder-menu .main-navigation .menu-link:visited {
    color: var(--cbmn-text, #2A1A1A) !important;
    text-decoration: none !important;
}

.site-header a:hover,
.site-header a:focus,
.site-header a:active,
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current-menu-ancestor > .menu-link,
.main-header-menu .menu-link:hover,
.main-header-menu .menu-link:focus,
.ast-builder-menu .main-navigation .menu-link:hover,
.ast-builder-menu .main-navigation .menu-link:focus,
.ast-builder-menu .main-navigation .current-menu-item > .menu-link,
.ast-builder-menu .main-navigation .current-menu-ancestor > .menu-link {
    color: var(--cbmn-primary, #C2185B) !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.site-header a:focus-visible,
.main-header-menu .menu-link:focus-visible,
.ast-builder-menu .main-navigation .menu-link:focus-visible {
    outline: 2px solid rgba(194, 24, 91, .28) !important;
    outline-offset: 4px;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
    border: 1px solid rgba(194, 24, 91, .14) !important;
    border-radius: 16px !important;
    background: #FFF8F5 !important;
    color: #2B1A1A !important;
    box-shadow: 0 14px 34px rgba(43, 26, 26, .08);
    font-family: "DM Sans", sans-serif;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    color: var(--cbmn-primary, #C2185B) !important;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
    color: var(--cbmn-primary, #C2185B) !important;
    font-weight: 800;
    text-decoration: none !important;
}

.woocommerce input[type="radio"],
.woocommerce-page input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: var(--cbmn-primary, #C2185B);
}

.woocommerce ul#shipping_method li,
.woocommerce-checkout #payment ul.payment_methods li {
    padding: 10px 12px;
    border: 1px solid rgba(194, 24, 91, .12);
    border-radius: 14px;
    background: #fff;
    color: var(--cbmn-text, #2B1A1A);
}

.woocommerce ul#shipping_method li:has(input:checked),
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
    border-color: var(--cbmn-primary, #C2185B);
    background: #FFF8F5;
}

.woocommerce div.product form.cart .variations select,
.woocommerce div.product form.cart select,
.woocommerce div.product form.cart input[type="number"],
.woocommerce-cart table.cart input.qty {
    min-height: 46px;
    border: 1px solid rgba(194, 24, 91, .16) !important;
    border-radius: 14px !important;
    background-color: #FFF8F5 !important;
    color: #2B1A1A !important;
    font-family: "DM Sans", sans-serif;
    font-weight: 700;
    box-shadow: none !important;
}

.woocommerce-breadcrumb {
    color: #6F5D5D !important;
    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    font-weight: 700;
}

.woocommerce-breadcrumb a {
    color: var(--cbmn-primary, #C2185B) !important;
    text-decoration: none !important;
}

.woocommerce-breadcrumb a:hover,
.woocommerce-breadcrumb a:focus {
    color: #8f123f !important;
    text-decoration: none !important;
}

.woocommerce div.product .woocommerce-tabs {
    display: none !important;
}

.cmn-product-detail-sections {
    clear: both;
    display: grid;
    gap: 18px;
    width: 100%;
    max-width: 1200px;
    margin: 48px auto 0;
}

body.single-product section.related.products,
body.single-product .woocommerce .related.products,
body.single-product .cmn-product-detail-sections + section.related.products {
    margin-top: 56px;
}

.cmn-product-detail-section {
    padding: 22px;
    border: 1px solid rgba(194, 24, 91, .12);
    border-radius: 16px;
    background: #FFF8F5;
    color: #2B1A1A;
}

@media (max-width: 768px) {
    body.single-product section.related.products,
    body.single-product .woocommerce .related.products,
    body.single-product .cmn-product-detail-sections + section.related.products {
        margin-top: 40px;
    }
}

.cmn-product-detail-section h2 {
    margin: 0 0 10px;
    color: #2B1A1A;
    font: 700 24px/1.15 "Playfair Display", serif;
}

.cmn-product-detail-section p {
    margin: 0 0 10px;
    color: #6F5D5D;
    font-family: "DM Sans", sans-serif;
    line-height: 1.65;
}

.cbmn-native-select-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
}

.cbmn-product-option-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}

.cbmn-product-option-card {
    min-height: 42px;
    padding: 9px 14px;
    border: 1px solid rgba(194, 24, 91, .16);
    border-radius: 14px;
    background: #fff;
    color: #2B1A1A;
    cursor: pointer;
    font-family: "DM Sans", sans-serif;
    font-weight: 800;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.cbmn-product-option-card:hover,
.cbmn-product-option-card:focus,
.cbmn-product-option-card.is-selected {
    border-color: var(--cbmn-primary, #C2185B);
    background: #FFF8F5;
    color: var(--cbmn-primary, #C2185B);
    outline: none;
}

/* Group label inside option cards (YITH flavor categories) */
.cbmn-option-group-label {
    display: block;
    flex-basis: 100%;
    width: 100%;
    margin: 10px 0 2px;
    color: var(--cbmn-primary, #C2185B);
    font-family: "DM Sans", sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    pointer-events: none;
}

.cbmn-option-group-label:first-child {
    margin-top: 0;
}

/* YITH add-on block styling on product detail page */
.yith-wapo-block {
    margin-top: 16px;
}

.yith-wapo-addon {
    margin-bottom: 16px;
}

.yith-wapo-addon .wapo-addon-title {
    margin: 0 0 8px;
    color: #2B1A1A;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 900;
    text-transform: none;
    letter-spacing: 0;
}

.yith-wapo-addon .options-container {
    margin: 0;
}

.yith-wapo-addon .options {
    padding: 0;
    border: none;
}

/* Hide the YITH "Select an option" description paragraph */
.yith-wapo-addon .option-description:empty {
    display: none;
}

.woocommerce div.product form.cart .variations select:focus,
.woocommerce div.product form.cart select:focus,
.woocommerce div.product form.cart input[type="number"]:focus,
.woocommerce-cart table.cart input.qty:focus {
    border-color: var(--cbmn-primary, #C2185B) !important;
    outline: 2px solid rgba(194, 24, 91, .16);
    outline-offset: 2px;
}

.woocommerce div.product form.cart .variations label {
    color: #2B1A1A;
    font-family: "DM Sans", sans-serif;
    font-weight: 900;
}

.cmn-free-shipping-rate {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: baseline;
    margin-left: 6px;
    color: #6F5D5D;
}

.cmn-free-shipping-rate del {
    color: #8f7a7a;
    opacity: .85;
}

.cmn-free-shipping-rate strong {
    color: var(--cbmn-primary, #C2185B);
    font-weight: 900;
}

.cmn-free-shipping-rate em {
    flex-basis: 100%;
    color: var(--cbmn-primary, #C2185B);
    font-style: normal;
    font-weight: 800;
}

.cmn-shipping-info-box {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid var(--cbmn-beige, #F0E6D3);
    border-radius: 8px;
    background: var(--cbmn-cream, #FFF8F5);
    color: var(--cbmn-text, #2B1D1D);
}

.woocommerce-checkout-review-order .cmn-shipping-info-box,
#order_review .cmn-shipping-info-box {
    margin-bottom: 20px;
}

.cmn-shipping-info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #fff;
    color: var(--cbmn-primary, #C2185B);
    font-size: 17px;
    font-weight: 900;
    line-height: 1;
}

.cmn-shipping-info-icon svg {
    width: 19px;
    height: 19px;
    fill: currentColor;
}

.cmn-shipping-info-box strong {
    display: block;
    margin: 0 0 4px;
    color: var(--cbmn-text, #2B1D1D);
    font-weight: 800;
}

.cmn-shipping-info-box p {
    margin: 0;
    color: var(--cbmn-text, #2B1D1D);
    font-size: 14px;
    line-height: 1.45;
}

/* ─── Buttons ────────────────────────────────────────────────────────────── */
.ast-btn,
.button,
.wp-block-button__link,
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button {
    background-color: var(--cbmn-primary) !important;
    color: var(--cmn-white) !important;
    border-radius: var(--cmn-radius) !important;
    border: none !important;
    padding: 12px 28px !important;
    font-weight: 600 !important;
    font-family: var(--cmn-font-main) !important;
    transition: var(--cmn-transition) !important;
    letter-spacing: 0.5px;
}

.ast-btn:hover,
.button:hover,
.woocommerce .button:hover,
.woocommerce button.button:hover {
    background-color: var(--cbmn-secondary) !important;
    transform: translateY(-1px);
    box-shadow: var(--cmn-shadow);
}

/* ─── WooCommerce Allgemein ──────────────────────────────────────────────── */
.woocommerce-store-notice,
.woocommerce div.product .price {
    color: var(--cbmn-primary) !important;
    font-size: 1.4em;
    font-weight: 700;
}

.woocommerce .products .product a.woocommerce-loop-product__link:hover img {
    opacity: 0.92;
    transform: scale(1.02);
    transition: var(--cmn-transition);
}

.woocommerce ul.products li.product {
    border-radius: var(--cmn-radius);
    overflow: hidden;
    box-shadow: var(--cmn-shadow);
    transition: var(--cmn-transition);
}

.woocommerce ul.products li.product:hover {
    box-shadow: 0 8px 30px rgba(231, 105, 170, 0.15);
    transform: translateY(-3px);
}

/* ─── Torten-Wizard ──────────────────────────────────────────────────────── */
.cmn-wizard-steps {
    display: flex;
    justify-content: space-between;
    margin: 30px 0;
    position: relative;
}

.cmn-wizard-step {
    text-align: center;
    flex: 1;
    position: relative;
    padding: 0 10px;
}

.cmn-wizard-step .step-number {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--cmn-border);
    color: var(--cmn-mid);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 8px;
    font-weight: 700;
    font-size: 15px;
    transition: var(--cmn-transition);
}

.cmn-wizard-step.active .step-number,
.cmn-wizard-step.done .step-number {
    background: var(--cbmn-primary);
    color: var(--cmn-white);
}

.cmn-wizard-step label {
    font-size: 12px;
    color: var(--cmn-mid);
    font-weight: 500;
}

/* ─── Galerie Filter ─────────────────────────────────────────────────────── */
.cmn-gallery-filters {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 30px;
}

.cmn-gallery-filter-btn {
    padding: 8px 20px;
    border: 2px solid var(--cbmn-primary);
    border-radius: 50px;
    cursor: pointer;
    background: transparent;
    color: var(--cbmn-primary);
    font-family: var(--cmn-font-main);
    font-weight: 600;
    font-size: 14px;
    transition: var(--cmn-transition);
}

.cmn-gallery-filter-btn:hover,
.cmn-gallery-filter-btn.active {
    background: var(--cbmn-primary);
    color: var(--cmn-white);
}

/* ─── WhatsApp Floating Button ───────────────────────────────────────────── */
.cmn-whatsapp-float {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 56px;
    height: 56px;
    background-color: var(--cbmn-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(231, 105, 170, 0.28);
    z-index: 9999;
    transition: var(--cmn-transition);
    text-decoration: none;
}

.cmn-whatsapp-float:hover {
    transform: scale(1.1);
    background-color: var(--cbmn-secondary);
    box-shadow: 0 6px 20px rgba(231, 105, 170, 0.38);
}

.cmn-whatsapp-float svg {
    width: 24px;
    height: 24px;
    fill: white;
}

.footer-social img,
.cbmn-footer img,
.cbmn-social-icon img,
a[href*="wa.me"] img {
    max-width: 24px !important;
    max-height: 24px !important;
    width: 24px !important;
    height: 24px !important;
    object-fit: contain;
}

/* ─── Astra Scroll To Top ───────────────────────────────────────────────── */
#ast-scroll-top,
.ast-scroll-top,
.ast-scroll-top-icon,
.scroll-to-top,
.back-to-top {
    background: var(--cbmn-primary) !important;
    color: #ffffff !important;
    border-color: var(--cbmn-primary) !important;
}

#ast-scroll-top:hover,
#ast-scroll-top:focus,
.ast-scroll-top:hover,
.ast-scroll-top:focus,
.ast-scroll-top-icon:hover,
.ast-scroll-top-icon:focus,
.scroll-to-top:hover,
.scroll-to-top:focus,
.back-to-top:hover,
.back-to-top:focus {
    background: var(--cbmn-secondary) !important;
    color: #ffffff !important;
    border-color: var(--cbmn-secondary) !important;
    outline: none !important;
}

#ast-scroll-top svg,
#ast-scroll-top .ast-icon,
.ast-scroll-top svg,
.ast-scroll-top-icon svg {
    fill: currentColor !important;
    color: #ffffff !important;
}

/* ─── Product detail page — drawer-style options ─────────────────────────── */

/* Hide standard WC variation UI */
body.single-product .summary .variations_form table.variations,
body.single-product .summary .variations_form table.variations tbody,
body.single-product .summary .variations_form table.variations tr,
body.single-product .summary .variations_form table.variations th,
body.single-product .summary .variations_form table.variations td,
body.single-product .summary .variations_form table.variations select,
body.single-product .summary .variations_form table.variations .reset_variations,
.single-product .woocommerce div.product form.cart .reset_variations,
.single-product .woocommerce div.product form.cart .reset_variations_alert,
.single-product .woocommerce div.product form.cart .variable-items-wrapper,
.single-product .woocommerce div.product form.cart .woo-variation-swatches,
.single-product .woocommerce div.product form.cart .cfvsw-swatches-container,
.single-product .woocommerce div.product form.cart .ast-variation-button-group,
.single-product .woocommerce div.product form.cart .ast-variation-button,
.single-product .woocommerce div.product form.cart .variations .cbmn-product-option-cards,
.single-product .woocommerce div.product form.cart .variations .cbmn-choice-card,
.single-product .woocommerce div.product form.cart .variations .cbmn-product-option-card,
.single-product .variations_button .quantity,
.single-product .single_variation_wrap .single_variation,
.single-product .single_variation_wrap .woocommerce-variation-description,
.single-product .single_variation_wrap .woocommerce-variation-availability,
.single-product .single_variation_wrap .woocommerce-variation-price {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body.single-product .summary .variations_form table.variations {
    display: block !important;
}

.single-product div.product .summary > .product_meta:not(.cmn-product-meta) {
    display: none !important;
}

.single-product footer.site-footer,
.single-product .site-footer,
.single-product .site-primary-footer-wrap,
.single-product .site-below-footer-wrap,
.single-product .ast-footer-copyright,
.single-product .ast-builder-footer-grid-columns,
.single-product .ast-small-footer,
.single-product .ast-footer-overlay,
.single-product .ast-footer-html-1 {
    display: none !important;
}

.cmn-product-options {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 4px;
}

.cmn-option-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cmn-option-title {
    margin: 0;
    color: #2D1F1F;
    font-family: "DM Sans", sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.cmn-option-title small {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: #6F5D5D;
}

.cmn-option-grid {
    display: grid;
    gap: 8px;
}

.cmn-option-grid[hidden],
.cmn-option-title[hidden] {
    display: none;
}

.cmn-size-grid {
    grid-template-columns: repeat(4, 1fr);
}

.cmn-flavor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cmn-flavor-title-2 {
    margin-top: 20px;
}

#cmn-flavor-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cmn-option-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 16px 18px;
    border: 1px solid rgba(45, 31, 31, .12);
    border-radius: 18px;
    background: #fff;
    cursor: pointer;
    text-align: center;
    transition: border-color .16s ease, background-color .16s ease, color .16s ease;
}

.cmn-option-card input[type="radio"],
.cmn-option-card input[type="checkbox"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    opacity: 0;
    pointer-events: none;
    appearance: none;
    -webkit-appearance: none;
}

.cmn-option-card strong {
    color: #2D1F1F;
    font-family: "Playfair Display", serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    transition: color .16s ease;
}

.cmn-option-card span {
    color: #6F5D5D;
    font-family: "DM Sans", sans-serif;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.3;
    opacity: .75;
}

.cmn-option-card em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cbmn-primary, #C2185B);
    font-family: "DM Sans", sans-serif;
    font-size: 11px;
    font-weight: 800;
    font-style: normal;
}

.cmn-option-card em .cbmn-variation-price {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.cmn-option-card em del {
    display: inline-flex;
    color: rgba(45, 31, 31, .45);
    font-size: .95em;
    font-weight: 500;
    text-decoration-thickness: 1px;
    white-space: nowrap;
}

.cmn-option-card em ins {
    display: inline-flex;
    color: var(--cbmn-primary, #C2185B);
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.cmn-option-card em .woocommerce-Price-amount {
    display: inline !important;
    white-space: nowrap;
}

.cmn-option-card:hover,
.cmn-option-card:focus-within {
    border-color: var(--cbmn-primary, #C2185B);
    background: #FFF8F5;
}

.cmn-option-card.is-selected {
    border-color: var(--cbmn-primary, #C2185B);
    background: var(--cbmn-primary, #C2185B);
    color: #fff;
}

.cmn-option-card.is-selected strong,
.cmn-option-card.is-selected span,
.cmn-option-card.is-selected em {
    color: #fff;
}

.cmn-option-card.is-selected em ins {
    color: #fff;
}

.cmn-option-card.is-selected em del {
    color: rgba(255, 255, 255, .65);
}

.cmn-cookie-delivery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cmn-cookie-pickup-date-field {
    display: grid;
    gap: 8px;
    color: #2D1F1F;
    font-family: "DM Sans", sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.cmn-cookie-pickup-date-field[hidden] {
    display: none !important;
}

.cmn-cookie-pickup-date-field input {
    min-height: 46px;
    border: 1px solid rgba(45, 31, 31, .14);
    border-radius: 12px;
    padding: 10px 12px;
    color: #2D1F1F;
    font: 600 14px/1.3 "DM Sans", sans-serif;
    letter-spacing: 0;
    text-transform: none;
}

.cmn-cookie-pickup-date-field small {
    color: #6F5D5D;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

@media (max-width: 520px) {
    .cmn-cookie-delivery-grid {
        grid-template-columns: 1fr;
    }
}

.cmn-cake-size-grid,
.cmn-cookie-size-grid {
    grid-template-columns: 1fr;
}

.cmn-cake-size-grid .cmn-option-card,
.cmn-cookie-size-grid .cmn-option-card {
    display: grid;
    gap: 16px;
    align-items: center;
    justify-content: stretch;
    min-height: 72px;
    padding: 16px 18px;
    text-align: left;
}

.cmn-cookie-size-grid .cmn-option-card {
    grid-template-columns: 80px minmax(0, 1fr) auto;
}

.cmn-cake-size-grid .cmn-option-card {
    grid-template-columns: 64px minmax(0, 1fr) auto;
}

.cmn-cake-size-grid .cmn-option-card strong,
.cmn-cookie-size-grid .cmn-option-card strong {
    font-size: 20px;
    font-weight: 800;
}

.cmn-cake-size-grid .cmn-option-card span,
.cmn-cookie-size-grid .cmn-option-card span {
    font-size: 16px;
    font-weight: 700;
    opacity: 1;
}

.cmn-cake-size-grid .cmn-option-card em,
.cmn-cookie-size-grid .cmn-option-card em {
    justify-self: end;
    min-width: max-content;
    font-size: 17px;
    font-weight: 800;
}

@media (max-width: 420px) {
    .cmn-cake-size-grid .cmn-option-card,
    .cmn-cookie-size-grid .cmn-option-card {
        grid-template-columns: 58px minmax(0, 1fr) auto;
        gap: 10px;
        padding: 14px 12px;
    }

    .cmn-cake-size-grid .cmn-option-card strong,
    .cmn-cookie-size-grid .cmn-option-card strong {
        font-size: 18px;
    }

    .cmn-cake-size-grid .cmn-option-card span,
    .cmn-cookie-size-grid .cmn-option-card span {
        font-size: 14px;
        line-height: 1.3;
    }

    .cmn-cake-size-grid .cmn-option-card em,
    .cmn-cookie-size-grid .cmn-option-card em {
        font-size: 15px;
    }
}

.cmn-flavor-card {
    align-items: flex-start;
    min-height: 56px;
    padding: 14px 16px;
    background: #FFF8F5;
    text-align: left;
}

.cmn-flavor-card strong {
    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    line-height: 1.35;
}

.cmn-extra-card.is-required {
    cursor: default;
}

.cmn-extra-card.is-required input {
    pointer-events: none;
}

.cmn-extra-card.is-required em {
    color: inherit;
    font-size: 13px;
    font-style: normal;
    font-weight: 800;
    opacity: .9;
}

.cmn-extra-hint {
    margin-top: 10px;
}

/* YITH flavor section inside product options */
.cmn-product-options #yith-wapo-container {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
}

.cmn-product-options #yith-wapo-container .yith-wapo-block {
    margin: 0;
}

.cmn-product-options #yith-wapo-container .yith-wapo-addon {
    margin: 0;
}

.cmn-product-options #yith-wapo-container .wapo-addon-title {
    margin: 0 0 10px;
    color: #2D1F1F;
    font-family: "DM Sans", sans-serif;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.cmn-product-options #yith-wapo-container .options-container,
.cmn-product-options #yith-wapo-container .options {
    margin: 0;
    padding: 0;
    border: none;
}

/* Hide empty YITH container */
.cmn-product-options #yith-wapo-container:not(:has(.yith-wapo-block)) {
    display: none;
}

/* Date and inscription */
.cmn-date-input {
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid rgba(194, 24, 91, .16);
    border-radius: 14px;
    background: #fff;
    color: #2D1F1F;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 600;
    transition: border-color .16s ease;
}

.cmn-date-input:focus {
    border-color: var(--cbmn-primary, #C2185B);
    outline: 2px solid rgba(194, 24, 91, .14);
    outline-offset: 2px;
}

.cmn-date-hint {
    margin: 4px 0 0;
    color: #6F5D5D;
    font-family: "DM Sans", sans-serif;
    font-size: 12px;
    font-weight: 600;
}

.cmn-inscription-field {
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid rgba(194, 24, 91, .16);
    border-radius: 14px;
    background: #fff;
    color: #2D1F1F;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 600;
    transition: border-color .16s ease;
}

.cmn-notes-field {
    width: 100%;
    min-height: 132px;
    padding: 12px 14px;
    border: 1.5px solid rgba(194, 24, 91, .16);
    border-radius: 16px;
    background: #FFF8F5;
    color: #2D1F1F;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    resize: vertical;
    transition: border-color .16s ease;
}

.cmn-field-hint,
.cmn-flavor-subtitle {
    margin: -4px 0 0;
    color: #6F5D5D;
    font-family: "DM Sans", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
}

.cmn-inscription-field:focus,
.cmn-notes-field:focus {
    border-color: var(--cbmn-primary, #C2185B);
    outline: 2px solid rgba(194, 24, 91, .14);
    outline-offset: 2px;
}

/* Notice box */
.cmn-product-notice {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px 14px;
    border-radius: 14px;
    background: #FFF8F5;
    border: 1px solid rgba(194, 24, 91, .12);
    color: #6F5D5D;
    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}

.cmn-product-notice svg {
    flex-shrink: 0;
    margin-top: 1px;
    color: var(--cbmn-primary, #C2185B);
}

.cmn-product-notice-soft {
    background: #fff;
}

.cmn-product-form-message {
    margin: 16px 0 0;
    padding: 12px 14px;
    border: 1px solid rgba(194, 24, 91, .22);
    border-radius: 14px;
    background: #FFF8F5;
    color: #2D1F1F;
    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

.cmn-product-form-message[hidden] {
    display: none !important;
}

.cmn-product-form-message.is-error {
    border-color: rgba(194, 24, 91, .34);
    color: var(--cbmn-primary, #C2185B);
}

.cmn-product-form-message.is-success {
    border-color: rgba(68, 130, 85, .28);
    color: #346B45;
}

.cmn-product-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-top: 18px;
    color: #6F5D5D;
    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    font-weight: 700;
}

.cmn-product-meta a {
    color: var(--cbmn-primary, #C2185B) !important;
    text-decoration: none !important;
}

.cmn-product-meta a:hover,
.cmn-product-meta a:focus {
    color: #8f123f !important;
    text-decoration: none !important;
}

/* Action bar */
.cmn-product-actionbar {
    display: block;
    margin-top: 20px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.cmn-product-total {
    display: none !important;
    flex: 0 0 auto;
    color: var(--cbmn-primary, #C2185B);
    font-family: "Playfair Display", serif;
    font-size: 22px;
    font-weight: 700;
    white-space: nowrap;
}

.cmn-product-actionbar .single_add_to_cart_button {
    width: 100% !important;
    min-height: 64px;
    padding: 14px 28px;
    border: none;
    border-radius: 18px;
    background: var(--cbmn-primary, #C2185B) !important;
    color: #fff !important;
    cursor: pointer;
    font-family: "DM Sans", sans-serif;
    font-size: 18px;
    font-weight: 800;
    transition: background-color .18s ease, opacity .18s ease;
}

.cmn-product-actionbar .single_add_to_cart_button:hover,
.cmn-product-actionbar .single_add_to_cart_button:focus {
    background: #8f123f !important;
}

.cmn-product-actionbar .single_add_to_cart_button.is-loading {
    opacity: .65;
    cursor: wait;
}

body.single-product .cmn-product-actionbar .quantity {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.single-product .cmn-product-total,
body.single-product #cmn-product-total {
    display: none !important;
}

body.cmn-tasting-box-product form.cart .quantity,
body.cmn-tasting-box-product .cmn-product-actionbar .quantity,
body.cmn-tasting-box-product .quantity {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.cmn-tasting-box-product .cmn-product-total,
body.cmn-tasting-box-product #cmn-product-total {
    display: none !important;
}

body.cmn-tasting-box-product .cmn-product-actionbar {
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    min-height: 0 !important;
}

body.cmn-tasting-box-product .cmn-product-notice,
body.cmn-tasting-box-product .cmn-product-info {
    margin-bottom: 24px !important;
}

body.cmn-tasting-box-product .single_add_to_cart_button {
    width: 100% !important;
    min-height: 56px !important;
}

/* ─── Mobile ─────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .cmn-shipping-info-box {
        grid-template-columns: 1fr;
    }

    .cmn-size-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cmn-flavor-grid {
        grid-template-columns: 1fr;
    }

    .cmn-product-actionbar {
        flex-direction: column;
        align-items: stretch;
    }

    .cmn-product-total {
        text-align: center;
    }

    .cmn-wizard-steps {
        flex-direction: column;
        gap: 15px;
    }

    .cmn-gallery-filters {
        gap: 8px;
    }

    .cmn-gallery-filter-btn {
        font-size: 13px;
        padding: 7px 16px;
    }

    .cmn-whatsapp-float {
        bottom: 20px;
        right: 20px;
        width: 50px;
        height: 50px;
    }
}

/* Checkout stable reset v2: simple, kaufbar, ohne Produktkarten */
body.woocommerce-checkout .site-content,
body.woocommerce-checkout #content,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .entry-content > .woocommerce {
    width: 100% !important;
    max-width: none !important;
}

body.woocommerce-checkout .cbmn-checkout-page {
    width: 100% !important;
    padding: 32px 16px 72px !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .entry-header,
body.woocommerce-checkout h1.entry-title {
    display: none !important;
}

body.woocommerce-checkout .cbmn-checkout-header {
    width: min(1180px, 100%) !important;
    margin: 0 auto 28px !important;
}

body.woocommerce-checkout .cbmn-checkout-header h1 {
    margin: 0 0 12px !important;
    color: #2D1F1F !important;
    font-family: "Playfair Display", serif !important;
    font-size: clamp(42px, 5vw, 64px) !important;
    font-weight: 700 !important;
    line-height: 1.04 !important;
}

body.woocommerce-checkout .cbmn-checkout-header p {
    max-width: 620px !important;
    margin: 0 !important;
    color: rgba(45, 31, 31, .68) !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .cmn-checkout-coupon {
    display: none !important;
}

body.woocommerce-checkout .cbmn-checkout-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 640px) minmax(400px, 460px) !important;
    gap: 48px !important;
    align-items: start !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .cbmn-checkout-left,
body.woocommerce-checkout .cbmn-checkout-right {
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .cbmn-checkout-right {
    min-width: 400px !important;
    max-width: 480px !important;
}

body.woocommerce-checkout .cbmn-checkout-left,
body.woocommerce-checkout .cbmn-checkout-right {
    padding: 24px !important;
    border: 1px solid rgba(194, 24, 91, .14) !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .cbmn-checkout-left > h2 {
    margin: 0 0 22px !important;
    color: #2D1F1F !important;
    font-family: "Playfair Display", serif !important;
    font-size: 32px !important;
    line-height: 1.12 !important;
}

body.woocommerce-checkout .cbmn-checkout-left .col2-set,
body.woocommerce-checkout .cbmn-checkout-left .col-1,
body.woocommerce-checkout .cbmn-checkout-left .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
}

body.woocommerce-checkout .cbmn-checkout-left .col2-set {
    display: block !important;
}

body.woocommerce-checkout .cbmn-checkout-left .woocommerce-billing-fields,
body.woocommerce-checkout .cbmn-checkout-left .woocommerce-shipping-fields,
body.woocommerce-checkout .cbmn-checkout-left .woocommerce-additional-fields {
    margin-top: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.woocommerce-checkout .cbmn-checkout-left .woocommerce-billing-fields h3,
body.woocommerce-checkout .cbmn-checkout-left .woocommerce-shipping-fields h3,
body.woocommerce-checkout .cbmn-checkout-left .woocommerce-additional-fields h3 {
    margin: 4px 0 18px !important;
    color: #2D1F1F !important;
    font-family: "Playfair Display", serif !important;
    font-size: 28px !important;
    line-height: 1.15 !important;
}

body.woocommerce-checkout .cbmn-checkout-left .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .cbmn-checkout-left .woocommerce-shipping-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: minmax(0, 35fr) minmax(0, 65fr) !important;
    gap: 16px 18px !important;
    align-items: start !important;
}

body.woocommerce-checkout .cbmn-checkout-left .form-row {
    float: none !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
}

body.woocommerce-checkout .cbmn-checkout-left #billing_email_field,
body.woocommerce-checkout .cbmn-checkout-left #billing_address_1_field,
body.woocommerce-checkout .cbmn-checkout-left #billing_address_2_field,
body.woocommerce-checkout .cbmn-checkout-left #billing_phone_field,
body.woocommerce-checkout .cbmn-checkout-left #billing_country_field,
body.woocommerce-checkout .cbmn-checkout-left #billing_company_field,
body.woocommerce-checkout .cbmn-checkout-left #billing_state_field,
body.woocommerce-checkout .cbmn-checkout-left #shipping_email_field,
body.woocommerce-checkout .cbmn-checkout-left #shipping_phone_field,
body.woocommerce-checkout .cbmn-checkout-left #shipping_address_1_field,
body.woocommerce-checkout .cbmn-checkout-left #shipping_address_2_field,
body.woocommerce-checkout .cbmn-checkout-left #shipping_country_field,
body.woocommerce-checkout .cbmn-checkout-left #shipping_company_field,
body.woocommerce-checkout .cbmn-checkout-left #shipping_state_field {
    grid-column: 1 / -1 !important;
}

body.woocommerce-checkout .cbmn-checkout-left #billing_first_name_field,
body.woocommerce-checkout .cbmn-checkout-left #shipping_first_name_field {
    grid-column: 1 / 2 !important;
}

body.woocommerce-checkout .cbmn-checkout-left #billing_last_name_field,
body.woocommerce-checkout .cbmn-checkout-left #shipping_last_name_field {
    grid-column: 2 / 3 !important;
}

body.woocommerce-checkout .cbmn-checkout-left #billing_postcode_field,
body.woocommerce-checkout .cbmn-checkout-left #shipping_postcode_field {
    grid-column: 1 / 2 !important;
}

body.woocommerce-checkout .cbmn-checkout-left #billing_city_field,
body.woocommerce-checkout .cbmn-checkout-left #shipping_city_field {
    grid-column: 2 / 3 !important;
}

body.woocommerce-checkout .cbmn-checkout-left .woocommerce-additional-fields {
    margin-top: 18px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(45, 31, 31, .08) !important;
}

body.woocommerce-checkout .cbmn-checkout-left .woocommerce-shipping-fields {
    margin-top: 18px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(45, 31, 31, .08) !important;
}

body.woocommerce-checkout .cbmn-checkout-left .woocommerce-form__label-for-checkbox,
body.woocommerce-checkout .cbmn-checkout-left #ship-to-different-address label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    line-height: 1.35 !important;
}

body.woocommerce-checkout .cbmn-checkout-left #ship-to-different-address {
    margin: 0 0 18px !important;
}

body.woocommerce-checkout .cbmn-checkout-left .woocommerce-form__label-for-checkbox input,
body.woocommerce-checkout .cbmn-checkout-left #ship-to-different-address input {
    flex: 0 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
}

body.woocommerce-checkout .cbmn-checkout-left #ship-to-different-address span {
    display: inline !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

body.woocommerce-checkout .cbmn-checkout-left #order_comments_field {
    width: 100% !important;
    margin-bottom: 0 !important;
}

body.woocommerce-checkout .cbmn-checkout-left label {
    margin-bottom: 7px !important;
    color: #2D1F1F !important;
    font-weight: 800 !important;
}

body.woocommerce-checkout .cbmn-checkout-left input,
body.woocommerce-checkout .cbmn-checkout-left select,
body.woocommerce-checkout .cbmn-checkout-left textarea {
    min-height: 50px !important;
    padding: 13px 15px !important;
    border: 1px solid rgba(194, 24, 91, .16) !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #2D1F1F !important;
    font-family: "DM Sans", sans-serif !important;
    font-size: 15px !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .cbmn-checkout-left textarea {
    min-height: 112px !important;
}

body.woocommerce-checkout .cbmn-checkout-left input:focus,
body.woocommerce-checkout .cbmn-checkout-left select:focus,
body.woocommerce-checkout .cbmn-checkout-left textarea:focus {
    border-color: #C2185B !important;
    box-shadow: 0 0 0 3px rgba(194, 24, 91, .08) !important;
    outline: none !important;
}

body.woocommerce-checkout .cbmn-checkout-right,
body.woocommerce-checkout .cbmn-checkout-right * {
    word-break: normal !important;
    overflow-wrap: normal !important;
    writing-mode: horizontal-tb !important;
}

body.woocommerce-checkout .cbmn-checkout-right > :not(.wc-gzd-checkbox-placeholder):not(input[type="hidden"]):not(input[aria-hidden="true"]) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .cbmn-checkout-right > input[aria-hidden="true"],
body.woocommerce-checkout .cbmn-checkout-right > input[name="terms"][style*="display: none"] {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden !important;
    position: absolute !important;
    pointer-events: none !important;
}

body.woocommerce-checkout .cbmn-checkout-product-name {
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

body.woocommerce-checkout .cbmn-checkout-price,
body.woocommerce-checkout .cbmn-checkout-item-price,
body.woocommerce-checkout .cbmn-checkout-totals dd {
    white-space: nowrap !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout .woocommerce-checkout-payment,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #payment {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    flex-basis: auto !important;
    table-layout: auto !important;
}

body.woocommerce-checkout form #order_review,
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout .cbmn-checkout-review-order {
    padding: 0 !important;
    border: 0 !important;
    border-width: 0 !important;
    border-style: none !important;
    border-color: transparent !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .cbmn-checkout-right table,
body.woocommerce-checkout .cbmn-checkout-right tbody,
body.woocommerce-checkout .cbmn-checkout-right tr,
body.woocommerce-checkout .cbmn-checkout-right td,
body.woocommerce-checkout .cbmn-checkout-right th {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .cbmn-checkout-right .cmn-shipping-info-box {
    margin: 0 !important;
    padding: 0 0 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.woocommerce-checkout .cbmn-checkout-right .cmn-shipping-info-icon {
    background: #FFF8F5 !important;
}

body.woocommerce-checkout .cbmn-checkout-right {
    display: grid !important;
    gap: 14px !important;
}

body.woocommerce-checkout .cbmn-checkout-panel {
    display: block !important;
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    border: 1px solid rgba(194, 24, 91, .16) !important;
    border-radius: 22px !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .cbmn-checkout-order-panel,
body.woocommerce-checkout .cbmn-checkout-coupon-panel {
    background: #FFFFFF !important;
}

body.woocommerce-checkout .cbmn-checkout-payment-card {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .cbmn-checkout-panel-header,
body.woocommerce-checkout .cbmn-checkout-panel-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 18px 20px !important;
    color: #2D1F1F !important;
    font-family: "Playfair Display", serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .cbmn-checkout-panel-header {
    cursor: pointer !important;
    list-style: none !important;
}

body.woocommerce-checkout .cbmn-checkout-panel-header::-webkit-details-marker {
    display: none !important;
}

body.woocommerce-checkout details.cbmn-checkout-panel .cbmn-checkout-panel-header::after {
    content: "+" !important;
    color: #C2185B !important;
    font-family: "DM Sans", sans-serif !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

body.woocommerce-checkout details.cbmn-checkout-panel[open] .cbmn-checkout-panel-header::after {
    content: "−" !important;
}

body.woocommerce-checkout .cbmn-checkout-panel-content {
    padding: 0 20px 20px !important;
}

body.woocommerce-checkout .cbmn-checkout-order-panel .cbmn-checkout-panel-content {
    padding-bottom: 24px !important;
}

body.woocommerce-checkout .cbmn-checkout-payment-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .cbmn-checkout-order-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 0 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .cbmn-checkout-coupon-form {
    display: none !important;
}

body.woocommerce-checkout .cbmn-checkout-coupon-panel {
    margin: 0 !important;
    border: 1px solid rgba(194, 24, 91, .16) !important;
    border-radius: 22px !important;
    background: #FFFFFF !important;
    padding: 0 !important;
}

body.woocommerce-checkout .cbmn-checkout-coupon-panel summary {
    cursor: pointer !important;
    color: #2D1F1F !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    list-style: none !important;
}

body.woocommerce-checkout .cbmn-checkout-coupon-panel summary::-webkit-details-marker {
    display: none !important;
}

body.woocommerce-checkout .cbmn-checkout-coupon-panel summary::after {
    content: "+" !important;
    color: #C2185B !important;
    font-weight: 900 !important;
}

body.woocommerce-checkout .cbmn-checkout-coupon-panel[open] summary::after {
    content: "−" !important;
}

body.woocommerce-checkout .cbmn-checkout-coupon-fields {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
    margin-top: 0 !important;
}

body.woocommerce-checkout .cbmn-checkout-coupon-fields input {
    width: 100% !important;
    height: 56px !important;
    min-height: 0 !important;
    border: 1px solid rgba(194, 24, 91, .16) !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #2D1F1F !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 10px 12px !important;
}

body.woocommerce-checkout .cbmn-checkout-coupon-fields button {
    align-self: center !important;
    justify-self: start !important;
    width: auto !important;
    min-width: 0 !important;
    height: 56px !important;
    min-height: unset !important;
    border: 1px solid #C2185B !important;
    border-radius: 14px !important;
    background: #C2185B !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    padding: 0 28px !important;
}

body.woocommerce-checkout .cbmn-checkout-order-items {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

body.woocommerce-checkout .cbmn-checkout-order-item {
    display: block !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(194, 24, 91, .10) !important;
    background: transparent !important;
}

body.woocommerce-checkout .cbmn-checkout-order-item:last-child {
    border-bottom: 0 !important;
}

body.woocommerce-checkout .cbmn-checkout-order-item-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: flex-start !important;
    gap: 16px !important;
}

body.woocommerce-checkout .cbmn-checkout-product-name {
    min-width: 0 !important;
    color: #2D1F1F !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

body.woocommerce-checkout .cbmn-checkout-item-price {
    justify-self: end !important;
    color: #2D1F1F !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

body.woocommerce-checkout .cbmn-checkout-item-meta,
body.woocommerce-checkout .cbmn-checkout-item-meta * {
    color: rgba(45, 31, 31, .66) !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
}

body.woocommerce-checkout .cbmn-checkout-item-meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    margin-top: 6px !important;
}

body.woocommerce-checkout .cbmn-checkout-totals {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    row-gap: 12px !important;
    column-gap: 16px !important;
    width: 100% !important;
    margin: 18px 0 0 !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(194, 24, 91, .10) !important;
}

body.woocommerce-checkout .cbmn-checkout-totals dt {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    min-width: 0 !important;
    color: rgba(45, 31, 31, .72) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

body.woocommerce-checkout .cbmn-checkout-totals dd {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    justify-self: end !important;
    color: #2D1F1F !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

body.woocommerce-checkout .cbmn-checkout-totals .cbmn-checkout-total-label,
body.woocommerce-checkout .cbmn-checkout-totals .cbmn-checkout-total-value {
    color: #2D1F1F !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

body.woocommerce-checkout .cbmn-checkout-native-shipping {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.woocommerce-checkout .cbmn-checkout-right iframe,
body.woocommerce-checkout .cbmn-checkout-right button,
body.woocommerce-checkout .cbmn-checkout-right .payment_box,
body.woocommerce-checkout .cbmn-checkout-right .paypal-button,
body.woocommerce-checkout .cbmn-checkout-right [id*="paypal"],
body.woocommerce-checkout .cbmn-checkout-right [class*="paypal"] {
    max-width: 100% !important;
}

body.woocommerce-checkout .cbmn-checkout-right > #order_payment_heading {
    display: none !important;
}

body.woocommerce-checkout .cbmn-checkout-payment-card .payment_method_title {
    display: none !important;
}

body.woocommerce-checkout .ppcp-messages {
    display: none !important;
}

body.woocommerce-checkout .cbmn-checkout-payment-card > .cbmn-checkout-panel-title {
    display: block !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    color: #2D1F1F !important;
    font-family: "Playfair Display", serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

body.woocommerce-checkout .cbmn-checkout-terms-first {
    margin: 0 0 0px !important;
    padding: 0 !important;
}

body.woocommerce-checkout .cbmn-checkout-terms-first .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout .cbmn-checkout-terms-first .wc-gzd-checkbox-placeholder {
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout .cbmn-paypal-message-slot {
    margin: 0 0 16px !important;
}

body.woocommerce-checkout .cbmn-paypal-message-slot:empty {
    display: none !important;
}

body.woocommerce-checkout .cbmn-paypal-message-slot .ppcp-messages {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
}

body.woocommerce-checkout .cbmn-payment-methods-title {
    margin: 0 0 12px !important;
    color: #2D1F1F !important;
    font-family: "DM Sans", sans-serif !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}

body.woocommerce-checkout .cbmn-checkout-right #payment ul.payment_methods {
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
}

body.woocommerce-checkout .cbmn-checkout-right #payment ul.payment_methods li {
    margin: 0 0 10px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(194, 24, 91, .16) !important;
    border-radius: 14px !important;
    background: #fff !important;
}

body.woocommerce-checkout .cbmn-checkout-right #payment ul.payment_methods li:has(input.input-radio:checked) {
    border-color: #C2185B !important;
    background: rgba(194, 24, 91, .04) !important;
}

body.woocommerce-checkout .cbmn-checkout-right #payment ul.payment_methods li > input.input-radio {
    accent-color: #C2185B !important;
    margin: 2px 9px 0 0 !important;
}

body.woocommerce-checkout .cbmn-checkout-right #payment ul.payment_methods li > label {
    color: #2D1F1F !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

body.woocommerce-checkout .cbmn-checkout-right #payment .payment_box {
    margin: 16px 0 0 !important;
    padding: 18px !important;
    border: 1px solid rgba(194, 24, 91, .16) !important;
    border-radius: 18px !important;
    background: #FFFFFF !important;
    color: rgba(45, 31, 31, .72) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

body.woocommerce-checkout .cbmn-checkout-right #payment .payment_method_ppcp-gateway .payment_box {
    display: none !important;
}

body.woocommerce-checkout .cbmn-checkout-right #payment .payment_method_stripe .payment_box,
body.woocommerce-checkout .payment_method_stripe .wc-stripe-upe-form,
body.woocommerce-checkout .payment_method_stripe .wc-stripe-upe-element,
body.woocommerce-checkout .payment_method_stripe .stripe-source-errors {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .cbmn-checkout-right #payment .payment_method_stripe .payment_box {
    margin: 14px 0 0 !important;
    padding: 14px 0 0 !important;
}

body.woocommerce-checkout .cbmn-checkout-right #payment .payment_method_stripe .payment_box::before {
    content: "Kartendaten";
    display: block;
    margin: 0 0 12px;
    color: #2D1F1F;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.25;
}

body.woocommerce-checkout .payment_method_stripe .woocommerce-SavedPaymentMethods,
body.woocommerce-checkout .payment_method_stripe .woocommerce-SavedPaymentMethods-saveNew,
body.woocommerce-checkout .payment_method_stripe .wc-saved-payment-methods,
body.woocommerce-checkout .payment_method_stripe .save-source,
body.woocommerce-checkout .payment_method_stripe .wc-stripe-save-source,
body.woocommerce-checkout .payment_method_stripe input[name="wc-stripe-new-payment-method"],
body.woocommerce-checkout .payment_method_stripe input[name="wc-stripe-new-payment-method"] + label,
body.woocommerce-checkout .payment_method_stripe label[for="wc-stripe-new-payment-method"] {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

body.woocommerce-checkout .cbmn-checkout-place-order {
    margin: 18px 0 0 !important;
    padding: 0 0 20px !important;
}

body.woocommerce-checkout .cbmn-checkout-place-order .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout .cbmn-checkout-place-order .woocommerce-terms-and-conditions {
    margin: 0 0 14px !important;
}

body.woocommerce-checkout .cbmn-checkout-place-order .woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 0 0 14px !important;
    color: rgba(45, 31, 31, .72) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
}

body.woocommerce-checkout .cbmn-checkout-place-order .woocommerce-form__label-for-checkbox input {
    flex: 0 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    margin: 1px 0 0 !important;
    accent-color: #C2185B !important;
}

body.woocommerce-checkout .cbmn-checkout-right #place_order {
    width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: #C2185B !important;
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .cbmn-checkout-right #place_order:hover,
body.woocommerce-checkout .cbmn-checkout-right #place_order:focus {
    background: #9F1248 !important;
    color: #FFFFFF !important;
}

/* ──────────────────────────────────────────────────
   GZD Legal Checkboxes (AGB / T&C)
   Render after </section id="payment"> via
   woocommerce_review_order_after_payment
   ────────────────────────────────────────────────── */

/* Hide empty GZD placeholder divs — conditional checkboxes (download, service,
   age_verification etc.) that are enabled but not applicable to this cart render
   an empty wrapper. GZD's own :empty rule only applies inside #order_review;
   this extends it to our custom layout.
   JS (hideEmptyGzdCheckboxes) is the primary fix; these are CSS fallbacks. */
body.woocommerce-checkout .wc-gzd-checkbox-placeholder:empty,
body.woocommerce-checkout .wc-gzd-checkbox-placeholder[style*="display:none"],
body.woocommerce-checkout .wc-gzd-checkbox-placeholder[style*="display: none"] {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

body.woocommerce-checkout .wc-gzd-checkbox-placeholder:not(:has(label)):not(:has(p)):not(:has(.woocommerce-form__label)) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

/* Spacing: keep the visible legal checkbox close to the payment methods */
body.woocommerce-checkout .wc-gzd-checkbox-placeholder {
    margin-top: 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout #payment .wc-gzd-checkbox-placeholder {
    margin-top: 0 !important;
}

/* Strip WC/GZD paragraph defaults so we control the layout */
body.woocommerce-checkout .wc-gzd-checkbox-placeholder p.form-row,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper p.form-row {
    float: none !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* AGB checkbox alignment: 22px left column for the input, fluid right for text.
   Targets ALL checkout checkboxes (GZD + WC) outside .cbmn-checkout-place-order
   (which is already styled separately). */
body.woocommerce-checkout .wc-gzd-checkbox-placeholder .woocommerce-form__label-for-checkbox,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
    margin: 0 !important;
    color: rgba(45, 31, 31, .72) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
}

body.woocommerce-checkout .wc-gzd-checkbox-placeholder .woocommerce-form__label-for-checkbox > span,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox > span {
    min-width: 0 !important;
}

/* Checkbox input: fixed size, top-aligned with text cap */
body.woocommerce-checkout .wc-gzd-checkbox-placeholder .woocommerce-form__label-for-checkbox input[type="checkbox"],
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    margin: 4px 0 0 !important;
    accent-color: #C2185B !important;
    flex: unset !important;
    justify-self: start !important;
}

/* Required asterisk — keep inline with the text span */
body.woocommerce-checkout .wc-gzd-checkbox-placeholder .woocommerce-form__label-for-checkbox abbr.required,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox abbr.required {
    display: none !important;
    color: #C2185B !important;
    font-style: normal !important;
    white-space: nowrap !important;
}

/* GZD order-submit wrapper — breathing room above the button */
body.woocommerce-checkout .wc-gzd-order-submit {
    margin-top: 16px !important;
}

body.woocommerce-checkout .wc-gzd-place-order {
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 980px) {
    body.woocommerce-checkout .cbmn-checkout-grid {
        display: block !important;
    }

    body.woocommerce-checkout .cbmn-checkout-right {
        min-width: 0 !important;
        width: 100% !important;
        margin-top: 32px !important;
    }

    body.woocommerce-checkout .cbmn-checkout-coupon-fields {
        grid-template-columns: 1fr !important;
    }

    body.woocommerce-checkout .cbmn-checkout-left .woocommerce-billing-fields__field-wrapper,
    body.woocommerce-checkout .cbmn-checkout-left .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: 1fr !important;
    }

    body.woocommerce-checkout .cbmn-checkout-left #billing_first_name_field,
    body.woocommerce-checkout .cbmn-checkout-left #billing_last_name_field,
    body.woocommerce-checkout .cbmn-checkout-left #billing_postcode_field,
    body.woocommerce-checkout .cbmn-checkout-left #billing_city_field,
    body.woocommerce-checkout .cbmn-checkout-left #shipping_first_name_field,
    body.woocommerce-checkout .cbmn-checkout-left #shipping_last_name_field,
    body.woocommerce-checkout .cbmn-checkout-left #shipping_postcode_field,
    body.woocommerce-checkout .cbmn-checkout-left #shipping_city_field {
        grid-column: 1 / -1 !important;
    }
}

/* ── Phase 9: Tasting Box → Hochzeitstorte Conversion ───────────────────── */

/* Product page: premium conversion box */
.cmn-tasting-box-hochzeit-box {
    display: flex;
    gap: 14px;
    padding: 18px 20px;
    margin: 16px 0;
    background: linear-gradient(135deg, #fff8f5 0%, #fef0f7 100%);
    border: 1px solid rgba(194, 24, 91, 0.18);
    border-left: 4px solid var(--cbmn-primary, #C2185B);
    border-radius: 10px;
}

.cmn-tasting-box-hochzeit-icon {
    flex: 0 0 auto;
    font-size: 20px;
    line-height: 1.5;
    color: var(--cbmn-primary, #C2185B);
}

.cmn-tasting-box-hochzeit-content {
    flex: 1;
    min-width: 0;
}

.cmn-tasting-box-hochzeit-headline {
    display: block;
    margin-bottom: 6px;
    font-size: 15px;
    font-weight: 700;
    color: var(--cbmn-primary, #C2185B);
}

.cmn-tasting-box-hochzeit-content p {
    margin: 0 0 6px;
    font-size: 14px;
    line-height: 1.55;
    color: #444;
}

.cmn-tasting-box-hochzeit-content p:last-child {
    margin-bottom: 0;
}

.cmn-tasting-box-hochzeit-hinweis {
    font-size: 12px !important;
    color: #999 !important;
    font-style: italic;
}

/* Cart page: notice below Tasting Box card */
.cmn-tasting-box-cart-notice {
    padding: 10px 16px;
    margin: -6px 0 12px;
    background: #fdf5f9;
    border: 1px solid rgba(194, 24, 91, 0.14);
    border-top: none;
    border-radius: 0 0 10px 10px;
    font-size: 13px;
    line-height: 1.5;
    color: #555;
}

.cmn-tasting-box-cart-notice strong {
    color: var(--cbmn-primary, #C2185B);
    font-weight: 700;
}

/* Checkout: compact inline notice */
.cbmn-checkout-tasting-notice {
    margin: 6px 0 0;
    padding: 6px 10px;
    background: #fdf5f9;
    border-left: 3px solid var(--cbmn-primary, #C2185B);
    border-radius: 0 4px 4px 0;
    font-size: 12px;
    line-height: 1.4;
    color: #666;
}

/* ── Phase 17.1: Premium Thank-You Page ─────────────────────────────── */

.cmn-thankyou-page {
    --cmn-rose: #C2185B;
    --cmn-creme: #FFF8F5;
    --cmn-beige: #F0E6D3;
    --cmn-dark: #2D1F1F;
    --cmn-muted: rgba(45, 31, 31, 0.66);
    max-width: 1180px;
    margin: 0 auto;
    padding: clamp(28px, 5vw, 72px) clamp(16px, 4vw, 32px);
    color: var(--cmn-dark);
    font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.cmn-thankyou-page *,
.cmn-thankyou-page *::before,
.cmn-thankyou-page *::after {
    box-sizing: border-box;
}

.cmn-thankyou-page h1,
.cmn-thankyou-page h2,
.cmn-thankyou-page h3 {
    margin: 0;
    color: var(--cmn-dark);
    font-family: "Playfair Display", Georgia, serif;
    line-height: 1.12;
}

.cmn-thankyou-page p {
    margin: 0;
    color: var(--cmn-muted);
    line-height: 1.65;
}

.cmn-thankyou-page .cmn-thankyou-hero,
.cmn-thankyou-page .cmn-thankyou-section,
.cmn-thankyou-page .cmn-thankyou-info-card,
.cmn-thankyou-page .cmn-thankyou-cta {
    border: 1px solid rgba(194, 24, 91, 0.14);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 22px 60px rgba(45, 31, 31, 0.08);
}

.cmn-thankyou-page .cmn-thankyou-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(28px, 5vw, 56px);
    background:
        radial-gradient(circle at top right, rgba(194, 24, 91, 0.12), transparent 34%),
        linear-gradient(135deg, var(--cmn-creme) 0%, #fff 56%, #fff7fb 100%);
}

.cmn-thankyou-page .cmn-thankyou-hero::before {
    content: "";
    position: absolute;
    inset: 16px;
    border: 1px solid rgba(194, 24, 91, 0.08);
    border-radius: 22px;
    pointer-events: none;
}

.cmn-thankyou-page .cmn-thankyou-hero--failed {
    background: linear-gradient(135deg, #fff8f5 0%, #fff 100%);
}

.cmn-thankyou-page .cmn-thankyou-eyebrow {
    margin-bottom: 10px !important;
    color: var(--cmn-rose) !important;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.cmn-thankyou-page .cmn-thankyou-hero h1 {
    max-width: 850px;
    margin-bottom: 12px;
    font-size: clamp(30px, 5vw, 56px);
}

.cmn-thankyou-page .cmn-thankyou-hero-subtext {
    max-width: 760px;
    color: rgba(45, 31, 31, 0.74) !important;
    font-size: clamp(16px, 2vw, 20px);
}

.cmn-thankyou-page .cmn-thankyou-summary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-top: 30px;
}

.cmn-thankyou-page .cmn-thankyou-summary-grid > div {
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(194, 24, 91, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
}

.cmn-thankyou-page .cmn-thankyou-summary-grid span {
    display: block;
    margin-bottom: 5px;
    color: var(--cmn-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.cmn-thankyou-page .cmn-thankyou-summary-grid strong {
    display: block;
    color: var(--cmn-dark);
    font-size: 15px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.cmn-thankyou-page .cmn-thankyou-summary-grid strong:has(.woocommerce-Price-amount),
.cmn-thankyou-page .cmn-thankyou-summary-grid > div:nth-child(3) strong {
    display: inline-flex;
    align-items: baseline;
    width: max-content;
    max-width: 100%;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
}

.cmn-thankyou-page .cmn-thankyou-summary-grid .woocommerce-Price-amount {
    display: inline-flex;
    align-items: baseline;
    flex-wrap: nowrap;
    min-width: max-content;
    white-space: nowrap;
}

.cmn-thankyou-page .cmn-thankyou-summary-grid .woocommerce-Price-currencySymbol {
    display: inline-block;
    white-space: nowrap;
}

.cmn-thankyou-page .cmn-thankyou-section,
.cmn-thankyou-page .cmn-thankyou-info-grid,
.cmn-thankyou-page .cmn-thankyou-cta {
    margin-top: 28px;
}

.cmn-thankyou-page .cmn-thankyou-section {
    padding: clamp(22px, 4vw, 36px);
}

.cmn-thankyou-page .cmn-thankyou-section-heading {
    margin-bottom: 22px;
}

.cmn-thankyou-page .cmn-thankyou-section-heading h2,
.cmn-thankyou-page .cmn-thankyou-info-card h2,
.cmn-thankyou-page .cmn-thankyou-cta h2 {
    font-size: clamp(24px, 4vw, 36px);
}

.cmn-thankyou-page .cmn-thankyou-items {
    display: grid;
    gap: 16px;
}

.cmn-thankyou-page .cmn-thankyou-item {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 16px;
    padding: 16px;
    border: 1px solid rgba(45, 31, 31, 0.08);
    border-radius: 22px;
    background: var(--cmn-creme);
}

.cmn-thankyou-page .cmn-thankyou-item-image {
    overflow: hidden;
    align-self: start;
    aspect-ratio: 1;
    border-radius: 18px;
    background: #fff;
}

.cmn-thankyou-page .cmn-thankyou-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cmn-thankyou-page .cmn-thankyou-item-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

.cmn-thankyou-page .cmn-thankyou-item h3 {
    margin-bottom: 0;
    font-size: clamp(20px, 3vw, 26px);
}

.cmn-thankyou-page .cmn-thankyou-item-price {
    flex: 0 0 auto;
    min-width: max-content;
    text-align: right;
    white-space: nowrap;
}

.cmn-thankyou-page .cmn-thankyou-item-price-line {
    display: block;
    margin-bottom: 4px;
    color: var(--cmn-muted);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    white-space: nowrap;
}

.cmn-thankyou-page .cmn-thankyou-item-price strong {
    display: block;
    color: var(--cmn-rose);
    font-size: 18px;
    line-height: 1.25;
    white-space: nowrap;
}

.cmn-thankyou-page .cmn-thankyou-item-price strong span {
    color: var(--cmn-muted);
    font-size: 13px;
    font-weight: 800;
}

.cmn-thankyou-page .cmn-thankyou-badges {
    margin-top: 8px;
    gap: 7px;
}

.cmn-thankyou-page .cmn-config-badge {
    padding: 6px 11px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1.25;
}

.cmn-thankyou-page .cmn-badge--pickup {
    background: #FDF2F8;
    color: var(--cmn-rose);
    border: 1px solid rgba(194, 24, 91, 0.22);
}

.cmn-thankyou-page .cmn-badge--shipping {
    background: #F5EFE3;
    color: #6B4F2A;
    border: 1px solid rgba(107, 79, 42, 0.2);
}

.cmn-thankyou-page .cmn-thankyou-item-meta {
    display: grid;
    gap: 5px;
    margin: 10px 0 0;
}

.cmn-thankyou-page .cmn-thankyou-item-meta div {
    display: grid;
    grid-template-columns: minmax(96px, 0.28fr) minmax(0, 1fr);
    gap: 8px;
    padding-top: 6px;
    border-top: 1px solid rgba(45, 31, 31, 0.08);
}

.cmn-thankyou-page .cmn-thankyou-item-meta dt {
    color: var(--cmn-muted);
    font-size: 12px;
    font-weight: 800;
}

.cmn-thankyou-page .cmn-thankyou-item-meta dd {
    margin: 0;
    color: var(--cmn-dark);
    font-size: 13px;
    line-height: 1.45;
}

.cmn-thankyou-page .cmn-thankyou-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.cmn-thankyou-page .cmn-thankyou-info-card {
    padding: clamp(22px, 4vw, 34px);
    background: linear-gradient(180deg, #fff 0%, var(--cmn-creme) 100%);
}

.cmn-thankyou-page .cmn-thankyou-info-card h2 {
    margin-bottom: 12px;
}

.cmn-thankyou-page .cmn-thankyou-info-card p + p,
.cmn-thankyou-page .cmn-thankyou-address {
    margin-top: 12px;
}

.cmn-thankyou-page .cmn-thankyou-info-card a {
    color: var(--cmn-rose);
    font-weight: 800;
}

.cmn-thankyou-page .cmn-thankyou-address {
    padding: 14px;
    border-radius: 16px;
    background: #fff;
}

.cmn-thankyou-page .cmn-thankyou-address strong {
    display: block;
    margin-bottom: 6px;
}

.cmn-thankyou-page .cmn-thankyou-address address {
    margin: 0;
    color: var(--cmn-muted);
    font-style: normal;
    line-height: 1.55;
}

.cmn-thankyou-page .cmn-thankyou-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cmn-thankyou-page .cmn-thankyou-steps li {
    padding: 16px;
    border: 1px solid rgba(194, 24, 91, 0.12);
    border-radius: 18px;
    background: var(--cmn-creme);
}

.cmn-thankyou-page .cmn-thankyou-steps span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin-bottom: 12px;
    border-radius: 999px;
    background: var(--cmn-rose);
    color: #fff;
    font-weight: 900;
}

.cmn-thankyou-page .cmn-thankyou-steps strong {
    display: block;
    color: var(--cmn-dark);
    line-height: 1.35;
}

.cmn-thankyou-page .cmn-thankyou-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: clamp(22px, 4vw, 34px);
    background: linear-gradient(135deg, var(--cmn-dark) 0%, #4A2B35 100%);
}

.cmn-thankyou-page .cmn-thankyou-cta h2 {
    color: #fff;
}

.cmn-thankyou-page .cmn-thankyou-cta .cmn-thankyou-eyebrow,
.cmn-thankyou-page .cmn-thankyou-cta p {
    color: rgba(255, 255, 255, 0.78) !important;
}

.cmn-thankyou-page .cmn-thankyou-actions {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
}

.cmn-thankyou-page .cmn-thankyou-button,
.cmn-thankyou-page a.cmn-thankyou-button,
.cmn-thankyou-page .button.cmn-thankyou-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 18px;
    border: 1px solid rgba(194, 24, 91, 0.2);
    border-radius: 999px;
    background: #fff;
    color: var(--cmn-rose);
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.cmn-thankyou-page .cmn-thankyou-button--primary,
.cmn-thankyou-page a.cmn-thankyou-button--primary,
.cmn-thankyou-page .button.cmn-thankyou-button--primary {
    background: var(--cmn-rose);
    color: #fff;
    border-color: var(--cmn-rose);
}

.cmn-thankyou-page .cmn-thankyou-button--instagram,
.cmn-thankyou-page a.cmn-thankyou-button--instagram {
    background: #fff;
    color: var(--cmn-rose) !important;
    border-color: rgba(194, 24, 91, 0.36);
}

.cmn-thankyou-page .cmn-thankyou-button:hover,
.cmn-thankyou-page .cmn-thankyou-button:focus {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(45, 31, 31, 0.14);
}

@media (max-width: 900px) {
    .cmn-thankyou-page .cmn-thankyou-summary-grid,
    .cmn-thankyou-page .cmn-thankyou-info-grid,
    .cmn-thankyou-page .cmn-thankyou-steps {
        grid-template-columns: 1fr 1fr;
    }

    .cmn-thankyou-page .cmn-thankyou-cta,
    .cmn-thankyou-page .cmn-thankyou-item-head {
        display: block;
    }

    .cmn-thankyou-page .cmn-thankyou-item-price {
        margin-top: 8px;
        text-align: left;
    }

    .cmn-thankyou-page .cmn-thankyou-actions {
        flex-wrap: wrap;
    }
}

@media (max-width: 640px) {
    .cmn-thankyou-page {
        padding: 22px 14px 42px;
    }

    .cmn-thankyou-page .cmn-thankyou-summary-grid,
    .cmn-thankyou-page .cmn-thankyou-info-grid,
    .cmn-thankyou-page .cmn-thankyou-steps,
    .cmn-thankyou-page .cmn-thankyou-item {
        grid-template-columns: 1fr;
    }

    .cmn-thankyou-page .cmn-thankyou-item-image {
        max-width: 132px;
    }

    .cmn-thankyou-page .cmn-thankyou-item-meta div {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .cmn-thankyou-page .cmn-thankyou-actions {
        margin-top: 18px;
        flex-direction: column;
    }

    .cmn-thankyou-page .cmn-thankyou-button,
    .cmn-thankyou-page a.cmn-thankyou-button,
    .cmn-thankyou-page .button.cmn-thankyou-button {
        width: 100%;
    }
}
