/* ==========================================================================
   HOERNER GROUP - V3 WARM CREAM THEME
   2026 Luxury Design: Cremeweiß statt steriles Weiß
   ========================================================================== */

/* === CSS VARIABLES === */
:root {
    /* Primary Colors */
    --hoerner-cream: #FAF9F7;
    --hoerner-cream-light: #F5F4F2;
    --hoerner-gold: #c9a227;
    --hoerner-gold-dark: #a8861f;

    /* Text Colors */
    --hoerner-charcoal: #1a1a1a;
    --hoerner-gray: #4a4a4a;
    --hoerner-gray-light: #666666;

    /* UI Colors */
    --hoerner-border: #e8e6e3;
    --hoerner-shadow: rgba(0, 0, 0, 0.04);
    --hoerner-shadow-hover: rgba(0, 0, 0, 0.08);
}

/* === BASE STYLES === */
body {
    background-color: var(--hoerner-cream);
    color: var(--hoerner-gray);
}

h1, h2, h3, h4, h5, h6 {
    color: var(--hoerner-charcoal);
}

a {
    color: var(--hoerner-charcoal);
    transition: color 0.3s ease;
}

a:hover {
    color: var(--hoerner-gold);
}

/* === HEADER === */
.header,
.header-wrapper,
.header-main,
.header-bg {
    background: var(--hoerner-cream);
}

.header-bottom {
    border-top: 1px solid var(--hoerner-border);
}

/* Navigation */
.header-nav .nav > li > a,
.header-nav .nav > li > a span {
    color: var(--hoerner-charcoal);
}

.header-nav .nav > li > a:hover,
.header-nav .nav > li.active > a,
.header-nav .nav > li.current > a {
    color: var(--hoerner-gold);
}

/* Mobile Menu */
.mfp-content .nav > li > a {
    color: var(--hoerner-charcoal);
}

/* Logo */
.logo img {
    max-height: 50px;
}

/* Cart Icon */
.cart-icon .cart-icon-inner {
    color: var(--hoerner-charcoal);
}

.cart-icon strong {
    background: var(--hoerner-gold);
    color: #ffffff;
}

/* Search */
.header-search-form input {
    background: #ffffff;
    border: 1px solid var(--hoerner-border);
    color: var(--hoerner-charcoal);
}

.header-search-form input:focus {
    border-color: var(--hoerner-gold);
}

/* === PRODUCT CARDS === */
.product-small {
    background: #ffffff;
    border-radius: 4px;
    box-shadow: 0 2px 8px var(--hoerner-shadow);
    transition: all 0.3s ease;
    overflow: hidden;
}

.product-small:hover {
    box-shadow: 0 8px 24px var(--hoerner-shadow-hover);
    transform: translateY(-4px);
}

/* Product Image */
.product-small .box-image,
.product-small .product-image {
    background: #ffffff;
}

/* Product Title */
.product-small .product-title,
.product-small .product-title a {
    color: var(--hoerner-charcoal);
    font-weight: 500;
}

.product-small .product-title a:hover {
    color: var(--hoerner-gold);
}

/* Product Category */
.product-small .product-cat,
.product-small .product-cat a {
    color: var(--hoerner-gray-light);
}

/* Prices - Gold Accent */
.price,
.woocommerce-Price-amount,
.product-small .price {
    color: var(--hoerner-gold);
    font-weight: 600;
}

/* Sale Badge */
.badge-inner.on-sale,
.callout.badge-circle {
    background: var(--hoerner-gold);
    color: #ffffff;
}

/* === SINGLE PRODUCT === */
.product-info .product_title {
    color: var(--hoerner-charcoal);
}

.product-short-description {
    color: var(--hoerner-gray);
}

/* Tabs */
.woocommerce-tabs .tabs li a {
    color: var(--hoerner-gray);
}

.woocommerce-tabs .tabs li.active a {
    color: var(--hoerner-gold);
    border-bottom-color: var(--hoerner-gold);
}

/* === BUTTONS === */
.button,
button,
input[type="submit"] {
    transition: all 0.3s ease;
}

/* Primary Button (Gold) */
.button.primary,
.button.checkout,
.button.alt,
.single_add_to_cart_button,
.wc-block-components-button {
    background: var(--hoerner-gold);
    color: #ffffff;
    border: none;
}

.button.primary:hover,
.button.checkout:hover,
.button.alt:hover,
.single_add_to_cart_button:hover,
.wc-block-components-button:hover {
    background: var(--hoerner-gold-dark);
    color: #ffffff;
}

/* Outline Button */
.button.is-outline,
.button.secondary {
    border: 2px solid var(--hoerner-charcoal);
    color: var(--hoerner-charcoal);
    background: transparent;
}

.button.is-outline:hover,
.button.secondary:hover {
    border-color: var(--hoerner-gold);
    color: var(--hoerner-gold);
    background: transparent;
}

/* White Button (for dark sections) */
.button.white {
    background: #ffffff;
    color: var(--hoerner-charcoal);
}

.button.white:hover {
    background: var(--hoerner-gold);
    color: #ffffff;
}

/* === SECTIONS === */
.section,
[class*="section"] {
    background-color: var(--hoerner-cream);
}

/* Alternating Section */
.has-bg-color {
    background-color: var(--hoerner-cream-light);
}

/* === FORMS === */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
textarea,
select,
.input-text {
    background: #ffffff;
    border: 1px solid var(--hoerner-border);
    color: var(--hoerner-charcoal);
    padding: 12px 16px;
    border-radius: 4px;
}

input:focus,
textarea:focus,
select:focus,
.input-text:focus {
    border-color: var(--hoerner-gold);
    outline: none;
    box-shadow: 0 0 0 2px rgba(201, 162, 39, 0.1);
}

/* Labels */
label {
    color: var(--hoerner-charcoal);
}

/* Placeholders */
::placeholder {
    color: var(--hoerner-gray-light);
}

/* ==========================================================================
   CART & CHECKOUT - PREMIUM OPTIMIERUNG 2026
   Zielgruppe: Baby Boomer (50-70), Desktop-First, Transparenz
   ========================================================================== */

/* === WARENKORB - Flatsome-kompatibel (kein Grid-Override) === */
/* Layout wird von Flatsome gesteuert, hier nur visuelle Anpassungen */

/* Produktliste Container */
.cart-container,
.woocommerce-cart-form {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 8px var(--hoerner-shadow);
    padding: 30px;
}

/* Cart Table */
.woocommerce-cart-form table.cart {
    border: none;
    border-collapse: separate;
    border-spacing: 0;
}

.woocommerce-cart-form table.cart th {
    background: transparent;
    border-bottom: 1px solid var(--hoerner-border);
    color: var(--hoerner-gray-light);
    font-size: 0.85rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 15px 10px;
}

.woocommerce-cart-form table.cart td {
    border-bottom: 1px solid var(--hoerner-border);
    padding: 20px 10px;
    vertical-align: middle;
}

/* Produktbild - Größer für Baby Boomer */
.woocommerce-cart-form .product-thumbnail img {
    width: 100px;
    height: 100px;
    object-fit: contain;
    border-radius: 4px;
    border: 1px solid var(--hoerner-border);
}

/* Produktname - Größere Schrift */
.woocommerce-cart-form .product-name a {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.15rem;
    color: var(--hoerner-charcoal);
    text-decoration: none;
    font-weight: 500;
}

.woocommerce-cart-form .product-name a:hover {
    color: var(--hoerner-gold);
}

/* Preis in Tabelle */
.woocommerce-cart-form .product-price .woocommerce-Price-amount,
.woocommerce-cart-form .product-subtotal .woocommerce-Price-amount {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--hoerner-gold);
}

/* Mengen-Steuerung - Touch-freundlich */
.woocommerce-cart-form .quantity {
    display: flex;
    align-items: center;
    gap: 0;
}

.woocommerce-cart-form .quantity .qty {
    width: 50px;
    height: 44px;
    font-size: 1rem;
    text-align: center;
    border: 1px solid var(--hoerner-border);
    border-radius: 0;
    -moz-appearance: textfield;
}

.woocommerce-cart-form .quantity .qty::-webkit-outer-spin-button,
.woocommerce-cart-form .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.woocommerce-cart-form .quantity .plus,
.woocommerce-cart-form .quantity .minus {
    width: 44px;
    height: 44px;
    font-size: 1.2rem;
    background: var(--hoerner-cream-light);
    border: 1px solid var(--hoerner-border);
    color: var(--hoerner-charcoal);
    cursor: pointer;
    transition: all 0.2s ease;
}

.woocommerce-cart-form .quantity .minus {
    border-radius: 4px 0 0 4px;
}

.woocommerce-cart-form .quantity .plus {
    border-radius: 0 4px 4px 0;
}

.woocommerce-cart-form .quantity .plus:hover,
.woocommerce-cart-form .quantity .minus:hover {
    background: var(--hoerner-gold);
    border-color: var(--hoerner-gold);
    color: #ffffff;
}

/* Entfernen-Link */
.woocommerce-cart-form .product-remove a {
    color: var(--hoerner-gray-light);
    font-size: 1.5rem;
    text-decoration: none;
    transition: color 0.2s ease;
}

.woocommerce-cart-form .product-remove a:hover {
    color: #dc2626;
}

/* === CART TOTALS / ZUSAMMENFASSUNG (Sticky) === */
.cart_totals {
    background: var(--hoerner-cream-light);
    border-radius: 8px;
    padding: 30px;
    position: sticky;
    top: 100px;
}

.cart_totals h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.5rem;
    color: var(--hoerner-charcoal);
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--hoerner-border);
}

/* Kostenaufschlüsselung - Transparent */
.cart_totals table {
    border: none;
    width: 100%;
}

.cart_totals table th,
.cart_totals table td {
    border: none;
    padding: 12px 0;
    font-size: 1rem;
}

.cart_totals table th {
    background: transparent;
    color: var(--hoerner-gray);
    font-weight: 400;
    text-align: left;
}

.cart_totals table td {
    text-align: right;
    color: var(--hoerner-charcoal);
}

.cart_totals .order-total th,
.cart_totals .order-total td {
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--hoerner-charcoal);
    padding-top: 20px;
    border-top: 1px solid var(--hoerner-border);
}

.cart_totals .order-total .woocommerce-Price-amount {
    color: var(--hoerner-gold);
    font-size: 1.4rem;
}

/* Versandkosten-Info */
.cart_totals .shipping td {
    line-height: 1.6;
}

.cart_totals .shipping .woocommerce-shipping-destination {
    font-size: 0.9rem;
    color: var(--hoerner-gray-light);
}

/* === KOSTENLOSER VERSAND FORTSCHRITT === */
.free-shipping-notice {
    background: rgba(201, 162, 39, 0.08);
    border-radius: 6px;
    padding: 15px;
    margin: 20px 0;
    text-align: center;
}

.free-shipping-notice p {
    margin: 0 0 10px 0;
    color: var(--hoerner-charcoal);
    font-size: 0.95rem;
}

.free-shipping-notice .highlight {
    color: var(--hoerner-gold);
    font-weight: 600;
}

.free-shipping-progress {
    width: 100%;
    height: 6px;
    background: var(--hoerner-border);
    border-radius: 3px;
    overflow: hidden;
}

.free-shipping-progress-bar {
    height: 100%;
    background: var(--hoerner-gold);
    border-radius: 3px;
    transition: width 0.4s ease;
}

/* === TRUST-SIGNALE WARENKORB === */
.cart-trust-badges {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 25px 0;
    padding: 20px;
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid var(--hoerner-border);
}

.cart-trust-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
}

.cart-trust-badge-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--hoerner-gold);
    font-size: 1.1rem;
}

.cart-trust-badge-text {
    font-size: 0.9rem;
    color: var(--hoerner-gray);
    line-height: 1.3;
}

/* === CTA BUTTON - PREMIUM === */
.wc-proceed-to-checkout {
    margin-top: 25px;
}

.wc-proceed-to-checkout .checkout-button {
    display: block;
    width: 100%;
    background: var(--hoerner-gold);
    color: #ffffff;
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-align: center;
    text-decoration: none;
    padding: 18px 30px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.wc-proceed-to-checkout .checkout-button:hover {
    background: var(--hoerner-gold-dark);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(201, 162, 39, 0.35);
}

/* Weiter einkaufen Link */
.wc-proceed-to-checkout .continue-shopping-link {
    display: block;
    text-align: center;
    margin-top: 15px;
    color: var(--hoerner-gray);
    font-size: 0.95rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.wc-proceed-to-checkout .continue-shopping-link:hover {
    color: var(--hoerner-gold);
}

/* === GARANTIE-BOX === */
.cart-guarantee-box {
    margin-top: 20px;
    padding: 20px;
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid var(--hoerner-border);
}

.cart-guarantee-box h4 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.1rem;
    color: var(--hoerner-charcoal);
    margin: 0 0 15px 0;
}

.cart-guarantee-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.cart-guarantee-list li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 10px;
    font-size: 0.9rem;
    color: var(--hoerner-gray);
    line-height: 1.4;
}

.cart-guarantee-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--hoerner-gold);
    font-weight: bold;
}

/* ==========================================================================
   CHECKOUT - VISUELLE ANPASSUNGEN (Flatsome-kompatibel)
   ========================================================================== */

/* Formular-Sections - nur visuelle Anpassungen */
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
    background: #ffffff;
    border-radius: 8px;
    padding: 30px;
    box-shadow: 0 2px 8px var(--hoerner-shadow);
    margin-bottom: 25px;
}

/* Section Headers */
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.4rem;
    color: var(--hoerner-charcoal);
    margin: 0 0 25px 0;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--hoerner-border);
}

/* Checkout Form */
.woocommerce-checkout .form-row {
    margin-bottom: 20px;
}

/* Labels - ÜBER den Feldern, Groß für Baby Boomer */
.woocommerce-checkout .form-row label {
    display: block;
    margin-bottom: 8px;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--hoerner-charcoal);
    text-transform: none;
}

/* Pflichtfeld-Stern */
.woocommerce-checkout .required {
    color: var(--hoerner-gold);
}

/* Input-Felder - Großzügig für Baby Boomer */
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    width: 100%;
    padding: 16px;
    font-size: 1rem;
    border: 1px solid var(--hoerner-border);
    border-radius: 4px;
    background: #ffffff;
    color: var(--hoerner-charcoal);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Focus State */
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    border-color: var(--hoerner-gold);
    outline: none;
    box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.1);
}

/* Fehlerzustand */
.woocommerce-checkout .woocommerce-invalid input.input-text,
.woocommerce-checkout .woocommerce-invalid select {
    border-color: #dc2626;
}

/* Fehlermeldung */
.woocommerce-checkout .woocommerce-error {
    background: #fef2f2;
    border-left: 4px solid #dc2626;
    color: #991b1b;
    padding: 15px 20px;
    margin-bottom: 25px;
    border-radius: 0 4px 4px 0;
    list-style: none;
}

.woocommerce-checkout .woocommerce-error li {
    margin: 0;
}

/* === ZAHLUNGSARTEN === */
.woocommerce-checkout #payment {
    background: #ffffff;
    border-radius: 8px;
    padding: 30px;
    box-shadow: 0 2px 8px var(--hoerner-shadow);
}

.woocommerce-checkout #payment ul.payment_methods {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
    border: none;
}

.woocommerce-checkout #payment ul.payment_methods li {
    margin-bottom: 12px;
    padding: 15px;
    border: 1px solid var(--hoerner-border);
    border-radius: 6px;
    background: #ffffff;
    transition: all 0.2s ease;
}

.woocommerce-checkout #payment ul.payment_methods li:hover {
    border-color: var(--hoerner-gold);
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method input[type="radio"] {
    margin-right: 12px;
}

.woocommerce-checkout #payment ul.payment_methods li label {
    font-weight: 500;
    color: var(--hoerner-charcoal);
    cursor: pointer;
}

/* Ausgewählte Zahlungsart */
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
    border-color: var(--hoerner-gold);
    background: rgba(201, 162, 39, 0.03);
}

/* Zahlungsarten-Logos */
.woocommerce-checkout #payment .payment_method_paypal img,
.woocommerce-checkout #payment .payment_method_klarna img,
.woocommerce-checkout #payment .payment_method_stripe img {
    height: 24px;
    margin-left: 10px;
    vertical-align: middle;
}

/* === ORDER REVIEW (Sticky) === */
.woocommerce-checkout-review-order {
    position: sticky;
    top: 100px;
    background: var(--hoerner-cream-light);
    border-radius: 8px;
    padding: 30px;
}

.woocommerce-checkout-review-order h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.4rem;
    color: var(--hoerner-charcoal);
    margin: 0 0 25px 0;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--hoerner-border);
}

/* Order Review Tabelle */
.woocommerce-checkout-review-order-table {
    width: 100%;
    border: none;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    border: none;
    border-bottom: 1px solid var(--hoerner-border);
    padding: 15px 0;
    font-size: 0.95rem;
}

.woocommerce-checkout-review-order-table th {
    background: transparent;
    color: var(--hoerner-gray-light);
    font-weight: 500;
    text-align: left;
}

.woocommerce-checkout-review-order-table .product-name {
    color: var(--hoerner-charcoal);
}

.woocommerce-checkout-review-order-table .product-total {
    text-align: right;
    color: var(--hoerner-gold);
    font-weight: 600;
}

.woocommerce-checkout-review-order-table tfoot th {
    color: var(--hoerner-gray);
}

.woocommerce-checkout-review-order-table tfoot td {
    text-align: right;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--hoerner-charcoal);
    border-bottom: none;
    padding-top: 20px;
}

.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount {
    color: var(--hoerner-gold);
    font-size: 1.3rem;
}

/* === BESTELLBUTTON - PREMIUM === */
#place_order {
    display: block;
    width: 100%;
    background: var(--hoerner-gold);
    color: #ffffff;
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-align: center;
    padding: 20px 30px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 25px;
}

#place_order:hover {
    background: var(--hoerner-gold-dark);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(201, 162, 39, 0.35);
}

#place_order:disabled {
    background: var(--hoerner-gray-light);
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Sicherheitshinweis unter Button */
.checkout-security-notice {
    text-align: center;
    margin-top: 15px;
    font-size: 0.85rem;
    color: var(--hoerner-gray-light);
}

/* === CHECKOUT TRUST-BADGES === */
.checkout-trust-badges {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid var(--hoerner-border);
}

.checkout-trust-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    color: var(--hoerner-gray);
}

.checkout-trust-badge-icon {
    color: var(--hoerner-gold);
}

/* === CROSS-SELLING BEREICH === */
.hoerner-cross-sells {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid var(--hoerner-border);
}

.hoerner-cross-sells h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.4rem;
    color: var(--hoerner-charcoal);
    text-align: center;
    margin-bottom: 30px;
}

.cross-sell-products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.cross-sell-product {
    background: #ffffff;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    transition: all 0.3s ease;
    border: 1px solid var(--hoerner-border);
}

.cross-sell-product:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    border-color: var(--hoerner-gold);
}

.cross-sell-product img {
    max-width: 100%;
    height: auto;
    margin-bottom: 15px;
}

.cross-sell-product .product-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1rem;
    color: var(--hoerner-charcoal);
    margin-bottom: 8px;
}

.cross-sell-product .price {
    color: var(--hoerner-gold);
    font-weight: 600;
    margin-bottom: 15px;
}

.cross-sell-product .add-to-cart-btn {
    background: transparent;
    border: 1px solid var(--hoerner-charcoal);
    color: var(--hoerner-charcoal);
    padding: 10px 20px;
    font-size: 0.9rem;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.cross-sell-product .add-to-cart-btn:hover {
    border-color: var(--hoerner-gold);
    color: var(--hoerner-gold);
}

/* === AJAX LOADING STATE === */
.woocommerce-cart-form.updating {
    opacity: 0.6;
    pointer-events: none;
    position: relative;
}

.woocommerce-cart-form.updating::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border: 3px solid var(--hoerner-border);
    border-top-color: var(--hoerner-gold);
    border-radius: 50%;
    animation: hoerner-spin 0.8s linear infinite;
}

@keyframes hoerner-spin {
    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

/* ==========================================================================
   MOBILE RESPONSIVE - WARENKORB & CHECKOUT
   ========================================================================== */

/* Tablet */
@media (max-width: 1024px) {
    .woocommerce-cart .woocommerce,
    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .cart_totals,
    .woocommerce-checkout-review-order {
        position: relative;
        top: 0;
    }

    .cross-sell-products {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile */
@media (max-width: 767px) {
    .woocommerce-cart .woocommerce {
        padding: 20px 15px;
    }

    .woocommerce-cart-form {
        padding: 20px;
    }

    /* Produktbild kleiner auf Mobile */
    .woocommerce-cart-form .product-thumbnail img {
        width: 80px;
        height: 80px;
    }

    /* Produktname */
    .woocommerce-cart-form .product-name a {
        font-size: 1rem;
    }

    /* Cart Totals */
    .cart_totals {
        padding: 20px;
    }

    /* Trust Badges vertikal */
    .cart-trust-badges {
        grid-template-columns: 1fr;
    }

    /* Sticky CTA am unteren Rand */
    .wc-proceed-to-checkout {
        position: sticky;
        bottom: 0;
        background: #ffffff;
        padding: 15px;
        margin: 0 -20px -20px -20px;
        box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1);
        z-index: 100;
        border-radius: 0;
    }

    .wc-proceed-to-checkout .checkout-button {
        border-radius: 4px;
    }

    /* Checkout Mobile */
    .woocommerce-checkout {
        padding: 20px 15px;
    }

    .woocommerce-billing-fields,
    .woocommerce-shipping-fields,
    .woocommerce-additional-fields,
    .woocommerce-checkout #payment {
        padding: 20px;
    }

    /* Größere Touch-Targets */
    .woocommerce-checkout input.input-text,
    .woocommerce-checkout select {
        font-size: 16px; /* Verhindert iOS Zoom */
        padding: 14px;
    }

    /* Cross-Sells */
    .cross-sell-products {
        grid-template-columns: 1fr 1fr;
        gap: 15px;
    }

    .cross-sell-product {
        padding: 15px;
    }

    /* Order Review Mobile */
    .woocommerce-checkout-review-order {
        padding: 20px;
    }

    /* Place Order Sticky */
    #place_order {
        position: sticky;
        bottom: 15px;
    }
}

/* === FOOTER === */
.footer-wrapper,
.footer {
    background: var(--hoerner-cream-light);
    border-top: 1px solid var(--hoerner-border);
    color: var(--hoerner-gray);
}

.footer-wrapper a,
.footer a {
    color: var(--hoerner-gray);
}

.footer-wrapper a:hover,
.footer a:hover {
    color: var(--hoerner-gold);
}

/* Footer Headings */
.footer h3,
.footer .widget-title {
    color: var(--hoerner-charcoal);
}

/* Copyright */
.absolute-footer {
    background: var(--hoerner-cream-light);
    border-top: 1px solid var(--hoerner-border);
    color: var(--hoerner-gray-light);
}

/* === TRUST BADGES === */
.trust-badge-icon,
.icon-box .icon {
    color: var(--hoerner-gold);
}

.icon-box-text {
    color: var(--hoerner-gray);
}

/* === BREADCRUMBS === */
.breadcrumbs,
.woocommerce-breadcrumb {
    color: var(--hoerner-gray-light);
}

.breadcrumbs a,
.woocommerce-breadcrumb a {
    color: var(--hoerner-gray);
}

.breadcrumbs a:hover,
.woocommerce-breadcrumb a:hover {
    color: var(--hoerner-gold);
}

/* === PAGINATION === */
.page-numbers {
    color: var(--hoerner-gray);
    border: 1px solid var(--hoerner-border);
    background: #ffffff;
}

.page-numbers:hover,
.page-numbers.current {
    background: var(--hoerner-gold);
    border-color: var(--hoerner-gold);
    color: #ffffff;
}

/* === MESSAGES === */
.woocommerce-message,
.woocommerce-info {
    background: var(--hoerner-cream-light);
    border-left-color: var(--hoerner-gold);
    color: var(--hoerner-charcoal);
}

.woocommerce-error {
    background: #fef2f2;
    border-left-color: #dc2626;
}

/* === TABLES === */
table {
    border-color: var(--hoerner-border);
}

table th {
    background: var(--hoerner-cream-light);
    color: var(--hoerner-charcoal);
}

table td {
    border-color: var(--hoerner-border);
}

/* === DROPDOWN MENUS === */
.nav-dropdown {
    background: #ffffff;
    border: 1px solid var(--hoerner-border);
    box-shadow: 0 8px 24px var(--hoerner-shadow-hover);
}

.nav-dropdown li a {
    color: var(--hoerner-charcoal);
}

.nav-dropdown li a:hover {
    color: var(--hoerner-gold);
    background: var(--hoerner-cream-light);
}

/* === WIDGETS === */
.widget {
    color: var(--hoerner-gray);
}

.widget-title {
    color: var(--hoerner-charcoal);
}

/* === SIDEBAR === */
.sidebar .widget {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 8px var(--hoerner-shadow);
}

/* === BLOG === */
.post-item {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 8px var(--hoerner-shadow);
}

.post-title a {
    color: var(--hoerner-charcoal);
}

.post-title a:hover {
    color: var(--hoerner-gold);
}

.post-meta {
    color: var(--hoerner-gray-light);
}

/* === ACCORDION & TABS === */
.accordion-title {
    color: var(--hoerner-charcoal);
    border-color: var(--hoerner-border);
}

.accordion-title:hover,
.accordion-title.active {
    color: var(--hoerner-gold);
}

/* === QUANTITY INPUTS === */
.quantity input {
    background: #ffffff;
    border: 1px solid var(--hoerner-border);
    color: var(--hoerner-charcoal);
}

.quantity .plus,
.quantity .minus {
    background: var(--hoerner-cream-light);
    color: var(--hoerner-charcoal);
}

.quantity .plus:hover,
.quantity .minus:hover {
    background: var(--hoerner-gold);
    color: #ffffff;
}

/* === STAR RATINGS === */
.star-rating span::before,
.star-rating::before {
    color: var(--hoerner-gold);
}

/* === LOADING/OVERLAY === */
.processing .blockUI.blockOverlay {
    background: var(--hoerner-cream) !important;
}

/* === MOBILE OPTIMIZATIONS === */
@media (max-width: 849px) {
    .mobile-sidebar {
        background: var(--hoerner-cream);
    }

    .mfp-content .off-canvas-center {
        background: var(--hoerner-cream);
    }

    .off-canvas-left .nav > li > a,
    .off-canvas-right .nav > li > a {
        color: var(--hoerner-charcoal);
    }
}

/* === UTILITY CLASSES === */
.text-gold {
    color: var(--hoerner-gold);
}

.bg-cream {
    background: var(--hoerner-cream);
}

.bg-cream-light {
    background: var(--hoerner-cream-light);
}

.border-warm {
    border-color: var(--hoerner-border);
}

/* === PRINT STYLES === */
@media print {
    body {
        background: #ffffff;
        color: #000000;
    }
}
