
@media (min-width: 1024px) {
    body.post-type-archive-product .fff-shop-hero {
        margin: 0 0 0.78rem;
    }

    body.post-type-archive-product .fff-shop-hero__text {
        display: none;
    }

    body.post-type-archive-product .fff-shop-hero__title {
        font-size: clamp(1.45rem, 2.1vw, 1.9rem);
        line-height: 1.02;
        margin-bottom: 0.1rem;
    }

    body.post-type-archive-product .fff-shop-hero__eyebrow {
        font-size: 0.78rem;
        letter-spacing: 0.14em;
    }

    body.post-type-archive-product .woocommerce-result-count {
        display: none;
    }

    body.post-type-archive-product .widget_product_categories,
    body.post-type-archive-product .wc-block-product-categories,
    body.post-type-archive-product .woocommerce .woocommerce-ordering {
        display: none !important;
    }

    body.post-type-archive-product .fff-shop-toolbar {
        display: flex;
        align-items: flex-start;
        gap: 0.4rem;
        flex-wrap: wrap;
        padding: 0.12rem 0 0.08rem;
        margin: 0 0 0.22rem;
        border-bottom: 1px solid rgba(28, 37, 54, 0.08);
    }

    body.post-type-archive-product .fff-shop-toolbar__count {
        width: 100%;
        text-align: center;
        font-size: 0.62rem;
        font-weight: 800;
        letter-spacing: 0.11em;
        text-transform: uppercase;
        color: #5b6577;
    }

    body.post-type-archive-product .fff-shop-toolbar__chips {
        display: flex;
        justify-content: center;
        gap: 0.35rem;
        overflow: visible;
        flex-wrap: wrap;
        padding-bottom: 0.08rem;
        flex: 1 1 100%;
    }

    body.post-type-archive-product .fff-shop-chip {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 1.45rem;
        padding: 0.2rem 0.46rem;
        border-radius: 999px;
        border: 1px solid rgba(28, 37, 54, 0.1);
        background: rgba(255, 255, 255, 0.82);
        color: #1c2536;
        font-size: 0.52rem;
        font-weight: 700;
        text-decoration: none;
        white-space: nowrap;
        transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
    }

    body.post-type-archive-product .fff-shop-chip:hover,
    body.post-type-archive-product .fff-shop-chip:focus-visible {
        transform: translateY(-1px);
        border-color: rgba(31, 58, 95, 0.22);
        color: #1f3a5f;
    }

    body.post-type-archive-product .fff-shop-chip.is-active {
        background: #1f3a5f;
        border-color: #1f3a5f;
        color: #fff;
        box-shadow: 0 10px 24px rgba(31, 58, 95, 0.16);
    }

    body.post-type-archive-product .widget_product_categories .widgettitle,
    body.post-type-archive-product .widget_product_categories .widget-title {
        display: none;
    }

    body.post-type-archive-product .widget_product_categories {
        display: none;
        background: rgba(255, 255, 255, 0.82);
        border: 1px solid rgba(28, 37, 54, 0.07);
        border-radius: 1.25rem;
        padding: 1rem 1rem 0.85rem;
        backdrop-filter: blur(14px);
        box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
    }

    body.post-type-archive-product .widget_product_categories::before {
        content: 'Kategorien';
        display: block;
        margin-bottom: 0.75rem;
        color: #5b6577;
        font-size: 0.66rem;
        font-weight: 800;
        letter-spacing: 0.18em;
        text-transform: uppercase;
    }

    body.post-type-archive-product .woocommerce-ordering {
        margin-bottom: 0.85rem;
    }

    body.post-type-archive-product .woocommerce-ordering select,
    body.post-type-archive-product .widget_product_categories select {
        width: 100%;
        background: #fff;
        border: 1px solid rgba(28, 37, 54, 0.12);
        border-radius: 0.95rem;
        color: #1c2536;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
    }

    body.post-type-archive-product .woocommerce .woocommerce-result-count,
    body.post-type-archive-product .woocommerce .woocommerce-ordering,
    body.post-type-archive-product .ast-woocommerce-container,
    body.post-type-archive-product .site-main,
    body.post-type-archive-product .woocommerce ul.products {
        background: transparent;
    }

    body.post-type-archive-product {
        background: transparent;
    }

    body.post-type-archive-product .site-main,
    body.post-type-archive-product .ast-woocommerce-container,
    body.post-type-archive-product .woocommerce,
    body.post-type-archive-product .woocommerce-page,
    body.post-type-archive-product .ast-container,
    body.post-type-archive-product .site-content {
        background: transparent !important;
    }

    body.post-type-archive-product {
        background: linear-gradient(180deg, #f7f3ee 0%, #f3efe8 100%);
    }

    body.post-type-archive-product .woocommerce ul.products {
        gap: 0.8rem;
    }

    body.post-type-archive-product .woocommerce ul.products li.product {
        position: relative;
        background: rgba(255, 255, 255, 0.74);
        border: 1px solid rgba(28, 37, 54, 0.07);
        border-radius: 1.15rem;
        padding: 0.7rem 0.7rem 0.85rem;
        box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
        backdrop-filter: blur(12px);
    }

    body.post-type-archive-product .woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
        position: relative;
        display: block;
        margin-bottom: 0.55rem;
        border-radius: 0.85rem;
        overflow: hidden;
        background: #f5f1ea;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a {
        position: relative;
        display: block;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .astra-shop-summary-wrap {
        padding: 0;
        font-size: 0.52rem !important;
        line-height: 1.08 !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 0.5rem !important;
        line-height: 1.05 !important;
        margin-bottom: 0.12rem;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .ast-loop-product__link .woocommerce-loop-product__title,
    body.post-type-archive-product .woocommerce ul.products li.product a .woocommerce-loop-product__title {
        font-size: 0.56rem !important;
        line-height: 1.1 !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .price {
        font-size: 0.46rem !important;
        line-height: 1.02 !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .price .woocommerce-Price-amount,
    body.post-type-archive-product .woocommerce ul.products li.product .price bdi,
    body.post-type-archive-product .woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol {
        font-size: 0.46rem !important;
        line-height: 1.02 !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .price del,
    body.post-type-archive-product .woocommerce ul.products li.product .price ins,
    body.post-type-archive-product .woocommerce ul.products li.product .price .amount {
        font-size: 0.46rem !important;
        line-height: 1.02 !important;
    }

    body.post-type-archive-product .fff-loop-badges {
        display: flex;
        flex-wrap: wrap;
        gap: 0.2rem;
        margin: 0.18rem 0 0.22rem;
    }

    body.post-type-archive-product .fff-loop-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 1.15rem;
        padding: 0.12rem 0.36rem;
        border-radius: 999px;
        font-size: 0.46rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        line-height: 1;
        text-transform: uppercase;
    }

    body.post-type-archive-product .fff-loop-badge--sale {
        background: #1f3a5f;
        color: #fff;
    }

    body.post-type-archive-product .fff-loop-badge--custom {
        background: #f4b860;
        color: #1c2536;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .astra-shop-summary-wrap {
        gap: 0.14rem;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .price del,
    body.post-type-archive-product .woocommerce ul.products li.product .price ins {
        font-size: inherit;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .price del {
        opacity: 0.55;
    }

    body.post-type-archive-product .woocommerce ul.products li.product:hover {
        transform: translateY(-3px);
        box-shadow: 0 22px 46px rgba(15, 23, 42, 0.1);
    }

    body.post-type-archive-product .site-main {
        background: linear-gradient(180deg, #f7f3ee 0%, #f3efe8 100%);
    }

    body.post-type-archive-product .woocommerce-pagination {
        margin-top: 0.6rem;
        padding-top: 0.4rem;
    }

    body.post-type-archive-product .woocommerce-pagination ul.page-numbers {
        display: flex;
        justify-content: center;
        gap: 0.35rem;
        flex-wrap: wrap;
        border: 0;
    }

    body.post-type-archive-product .woocommerce-pagination ul.page-numbers li {
        border: 0;
    }

    body.post-type-archive-product .woocommerce-pagination .page-numbers {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.75rem;
        height: 1.75rem;
        padding: 0 0.45rem;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.72);
        border: 1px solid rgba(28, 37, 54, 0.08);
        color: #1c2536;
        font-size: 0.58rem;
        font-weight: 700;
        text-decoration: none;
        box-shadow: 0 6px 14px rgba(15, 23, 42, 0.04);
    }

    body.post-type-archive-product .woocommerce-pagination .page-numbers.current {
        background: #1f3a5f;
        border-color: #1f3a5f;
        color: #fff;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .onsale {
        display: none !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .astra-shop-thumbnail-wrap > .onsale,
    body.post-type-archive-product .woocommerce ul.products li.product span.onsale,
    body.post-type-archive-product .woocommerce span.onsale {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        line-height: 0 !important;
    }
}

@media (max-width: 767.98px) {
    body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
    body.post-type-archive-product.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
    body.post-type-archive-product .woocommerce ul.products li.product .ast-loop-product__link .woocommerce-loop-product__title,
    body.post-type-archive-product.woocommerce-page ul.products li.product .ast-loop-product__link .woocommerce-loop-product__title {
        font-size: 15px !important;
        line-height: 1.28 !important;
        font-weight: 700 !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .price,
    body.post-type-archive-product.woocommerce-page ul.products li.product .price,
    body.post-type-archive-product .woocommerce ul.products li.product .price .woocommerce-Price-amount,
    body.post-type-archive-product.woocommerce-page ul.products li.product .price .woocommerce-Price-amount,
    body.post-type-archive-product .woocommerce ul.products li.product .price bdi,
    body.post-type-archive-product.woocommerce-page ul.products li.product .price bdi,
    body.post-type-archive-product .woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol,
    body.post-type-archive-product.woocommerce-page ul.products li.product .price .woocommerce-Price-currencySymbol,
    body.post-type-archive-product .woocommerce ul.products li.product .price del,
    body.post-type-archive-product.woocommerce-page ul.products li.product .price del,
    body.post-type-archive-product .woocommerce ul.products li.product .price ins,
    body.post-type-archive-product.woocommerce-page ul.products li.product .price ins {
        font-size: 13px !important;
        line-height: 1.2 !important;
        font-weight: 600 !important;
    }
}

/* Final mobile shop hotfixes (must stay at end of file). */
@media (max-width: 767.98px) {
    body.post-type-archive-product .widget_product_categories,
    body.post-type-archive-product .wc-block-product-categories,
    body.post-type-archive-product .wp-block-woocommerce-product-categories,
    body.post-type-archive-product .woocommerce .woocommerce-ordering {
        display: none !important;
    }

    body.post-type-archive-product .fff-shop-toolbar {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        margin: 0 0 14px !important;
        padding: 0 0 12px !important;
        border-bottom: 1px solid rgba(28, 37, 54, 0.12) !important;
    }

    body.post-type-archive-product .fff-shop-toolbar__chips {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        white-space: nowrap !important;
        padding: 0 2px 2px !important;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    body.post-type-archive-product .fff-shop-toolbar__chips::-webkit-scrollbar {
        display: none;
    }

    body.post-type-archive-product .fff-shop-chip {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        min-height: 32px !important;
        padding: 0 12px !important;
        border-radius: 999px !important;
        border: 1px solid rgba(28, 37, 54, 0.14) !important;
        background: #ffffff !important;
        color: #1c2536 !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        line-height: 1 !important;
    }

    body.post-type-archive-product .fff-shop-chip.is-active {
        background: #1f3a5f !important;
        border-color: #1f3a5f !important;
        color: #ffffff !important;
    }

    body.post-type-archive-product .fff-shop-toolbar__count {
        width: 100% !important;
        text-align: center !important;
        margin: 0 auto !important;
        color: #4f5b6b !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        letter-spacing: 0.04em !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product,
    body.post-type-archive-product.woocommerce-page ul.products li.product {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        background: #ffffff !important;
        border: 1px solid rgba(28, 37, 54, 0.13) !important;
        box-shadow: 0 12px 24px rgba(15, 23, 42, 0.1) !important;
        border-radius: 16px !important;
        padding: 10px !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
    body.post-type-archive-product.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap {
        flex: 0 0 96px !important;
        width: 96px !important;
        margin: 0 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        aspect-ratio: 1 / 1.26 !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .astra-shop-summary-wrap,
    body.post-type-archive-product.woocommerce-page ul.products li.product .astra-shop-summary-wrap {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        padding: 2px 2px 2px 10px !important;
        gap: 6px !important;
        justify-content: center !important;
    }

    body.post-type-archive-product .woocommerce span.onsale,
    body.post-type-archive-product.woocommerce-page span.onsale,
    body.post-type-archive-product .woocommerce ul.products li.product .onsale {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }

    body.post-type-archive-product .fff-loop-badges {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        margin: 2px 0 0 !important;
    }

    body.post-type-archive-product .fff-loop-badge {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 5px 8px !important;
        border-radius: 999px !important;
        font-size: 10px !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.08em !important;
        line-height: 1 !important;
    }

    body.post-type-archive-product .fff-loop-badge--sale {
        background: #1f3a5f !important;
        color: #ffffff !important;
    }

    body.post-type-archive-product .fff-loop-badge--custom {
        background: #f4b860 !important;
        color: #1c2536 !important;
    }

    body.post-type-archive-product .woocommerce nav.woocommerce-pagination {
        margin-top: 16px !important;
        padding-top: 2px !important;
    }

    body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul.page-numbers {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 8px !important;
        border: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul.page-numbers li {
        border: 0 !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul.page-numbers li .page-numbers {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 36px !important;
        min-height: 36px !important;
        padding: 0 11px !important;
        border-radius: 999px !important;
        border: 1px solid rgba(28, 37, 54, 0.14) !important;
        background: #ffffff !important;
        color: #1c2536 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        box-shadow: 0 4px 10px rgba(15, 23, 42, 0.05) !important;
        transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease !important;
    }

    body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul.page-numbers li .page-numbers:hover,
    body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul.page-numbers li .page-numbers:focus-visible {
        transform: translateY(-1px) !important;
        border-color: rgba(31, 58, 95, 0.28) !important;
        box-shadow: 0 8px 16px rgba(15, 23, 42, 0.1) !important;
    }

    body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul.page-numbers li .page-numbers.current {
        background: #1f3a5f !important;
        border-color: #1f3a5f !important;
        color: #ffffff !important;
        box-shadow: 0 10px 18px rgba(31, 58, 95, 0.22) !important;
    }
}

@media (max-width: 767.98px) {
    body.post-type-archive-product .fff-shop-toolbar {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        margin: 0 0 14px !important;
        padding: 0 0 10px !important;
        border-bottom: 1px solid rgba(28, 37, 54, 0.1) !important;
    }

    body.post-type-archive-product .fff-shop-toolbar__chips {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        overflow-x: auto !important;
        padding: 0 2px 2px !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    body.post-type-archive-product .fff-shop-toolbar__chips::-webkit-scrollbar {
        display: none;
    }

    body.post-type-archive-product .fff-shop-chip {
        min-height: 32px !important;
        padding: 0 12px !important;
        font-size: 11px !important;
    }

    body.post-type-archive-product .fff-shop-toolbar__count {
        width: 100% !important;
        text-align: center !important;
        margin: 0 auto !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        letter-spacing: 0.04em !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product,
    body.post-type-archive-product.woocommerce-page ul.products li.product {
        background: #ffffff !important;
        border: 1px solid rgba(28, 37, 54, 0.12) !important;
        box-shadow: 0 12px 26px rgba(15, 23, 42, 0.1) !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
    body.post-type-archive-product.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap {
        flex: 0 0 92px !important;
        width: 92px !important;
        aspect-ratio: 1 / 1.08 !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .astra-shop-summary-wrap,
    body.post-type-archive-product.woocommerce-page ul.products li.product .astra-shop-summary-wrap {
        padding: 2px 2px 2px 10px !important;
        gap: 6px !important;
    }
}

@media (max-width: 767.98px) {
    .post-type-archive-product .fff-shop-hero {
        padding: 18px 16px 16px;
        border-radius: 16px;
        margin-bottom: 14px;
    }

    .post-type-archive-product .fff-shop-hero__title {
        font-size: clamp(24px, 7vw, 31px);
        line-height: 1.08;
    }

    .post-type-archive-product .fff-shop-toolbar {
        gap: 10px;
        padding: 0 0 10px;
        margin: 0 0 12px;
    }

    .post-type-archive-product .fff-shop-toolbar__chips {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding: 0 2px 2px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .post-type-archive-product .fff-shop-toolbar__chips::-webkit-scrollbar {
        display: none;
    }

    .post-type-archive-product .fff-shop-chip {
        min-height: 34px;
        padding: 0 14px;
        font-size: 12px;
    }

    .post-type-archive-product .woocommerce ul.products,
    .post-type-archive-product.woocommerce-page ul.products {
        display: flex;
        flex-direction: column;
        gap: 12px;
        margin: 0;
    }

    .post-type-archive-product .woocommerce ul.products li.product,
    .post-type-archive-product.woocommerce-page ul.products li.product {
        width: 100% !important;
        margin: 0 !important;
        float: none !important;
        display: flex;
        align-items: stretch;
        border-radius: 16px;
        padding: 10px;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    }

    .post-type-archive-product .woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
    .post-type-archive-product.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap {
        flex: 0 0 112px;
        width: 112px;
        margin: 0;
        border-radius: 12px;
    }

    .post-type-archive-product .woocommerce ul.products li.product .astra-shop-summary-wrap,
    .post-type-archive-product.woocommerce-page ul.products li.product .astra-shop-summary-wrap {
        flex: 1 1 auto;
        min-width: 0;
        gap: 8px;
        padding: 2px 2px 2px 12px;
        justify-content: center;
    }

    .post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .post-type-archive-product.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
        font-size: 16px;
        line-height: 1.25;
        margin: 0;
    }

    .post-type-archive-product .woocommerce ul.products li.product .price,
    .post-type-archive-product.woocommerce-page ul.products li.product .price {
        font-size: 19px;
        line-height: 1.2;
        gap: 6px 10px;
        margin: 0;
    }

    .post-type-archive-product .woocommerce ul.products li.product .price del,
    .post-type-archive-product.woocommerce-page ul.products li.product .price del {
        font-size: 13px;
    }

    .post-type-archive-product .fff-loop-badges {
        margin-top: 2px;
        gap: 6px;
    }

    .post-type-archive-product .fff-loop-badge {
        font-size: 10px;
        letter-spacing: 0.08em;
        padding: 5px 8px;
    }

    .post-type-archive-product .woocommerce ul.products li.product .button,
    .post-type-archive-product.woocommerce-page ul.products li.product .button {
        margin-top: 4px;
        min-height: 34px;
        border-radius: 10px;
        font-size: 12px;
        line-height: 1.2;
        text-align: center;
    }
}
/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

@font-face {
    font-family: 'Lato',sans-serif;
    src: url('fonts/Lato-Regular.eot');
    src: url('fonts/Lato-Regular.eot?#iefix') format('embedded-opentype'),
        url('fonts/Lato-Regular.woff2') format('woff2'),
        url('fonts/Lato-Regular.woff') format('woff'),
        url('fonts/Lato-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Lato',sans-serif;
    src: url('fonts/Lato-Bold.eot');
    src: url('fonts/Lato-Bold.eot?#iefix') format('embedded-opentype'),
        url('fonts/Lato-Bold.woff2') format('woff2'),
        url('fonts/Lato-Bold.woff') format('woff'),
        url('fonts/Lato-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

a{color:#f9902c;}
.tribe-events-cal-links a {
    text-decoration: underline;
}
.top-table {
    border: 2px solid #000;
    float: left;
    width: 100%;
}
.top-table .topcol {
    width: 33.33%;
    float: left;
    text-align: center;
}
.top-table ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.top-table ul li:nth-child(1) {
    background: white;
    min-height: 100px;
    display: flex;
    align-items: center;
    border-right: 2px solid #000;
}
.top-table ul.ul1 li:nth-child(1) h2 {
    margin: 0;
    width: 100%;font-size:22px;
}
.top-table ul li:nth-child(1) img {
    margin: 0 auto;
    max-height: 50px;
}
.top-table ul li:nth-child(2) {
    background: #565759;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    padding: 13px 10px;
    font-weight: bold;color: #fff;
}
.top-table ul.ul1 li:nth-child(2) {
    background: #fb6801;
}
.top-table ul.ul2 li:nth-child(2) {
    background: #17956d;
}
.top-table ul li:nth-child(3) {
    background: #565759;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    padding: 13px 10px;
    font-weight: bold;
    color: #fff;
}
.top-table ul li:nth-child(3) sup {
    line-height: 0;
}
.tribe-common-h4 a {
    font-size: 1rem !important;
}
.tribe-common--breakpoint-medium.tribe-common .tribe-common-h4 {
    font-size: 1rem !important;
}



/* New Topline Css */

.top-line-section {
    background: #000;
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 5px 0;
}

.top-line-section .box {
    /*display: flex;
    align-items: center;*/
    margin: 0 3px;
    transition: background-color 2s;
}

/* Forced shop-card typography override (must be last to beat theme defaults). */
@media (min-width: 1024px) {
    body.post-type-archive-product.woocommerce ul.products li.product .astra-shop-summary-wrap,
    body.post-type-archive-product.woocommerce-page ul.products li.product .astra-shop-summary-wrap {
        font-size: 14px !important;
        line-height: 1.3 !important;
    }

    body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-loop-product__title,
    body.post-type-archive-product.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
    body.post-type-archive-product.woocommerce ul.products li.product .ast-loop-product__link .woocommerce-loop-product__title,
    body.post-type-archive-product.woocommerce-page ul.products li.product .ast-loop-product__link .woocommerce-loop-product__title {
        font-size: 15px !important;
        line-height: 1.28 !important;
        letter-spacing: 0 !important;
        margin: 0 0 6px !important;
    }

    body.post-type-archive-product.woocommerce ul.products li.product .price,
    body.post-type-archive-product.woocommerce-page ul.products li.product .price,
    body.post-type-archive-product.woocommerce ul.products li.product .price .woocommerce-Price-amount,
    body.post-type-archive-product.woocommerce-page ul.products li.product .price .woocommerce-Price-amount,
    body.post-type-archive-product.woocommerce ul.products li.product .price bdi,
    body.post-type-archive-product.woocommerce-page ul.products li.product .price bdi,
    body.post-type-archive-product.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol,
    body.post-type-archive-product.woocommerce-page ul.products li.product .price .woocommerce-Price-currencySymbol,
    body.post-type-archive-product.woocommerce ul.products li.product .price del,
    body.post-type-archive-product.woocommerce-page ul.products li.product .price del,
    body.post-type-archive-product.woocommerce ul.products li.product .price ins,
    body.post-type-archive-product.woocommerce-page ul.products li.product .price ins {
        font-size: 14px !important;
        line-height: 1.24 !important;
    }
}

.top-line-section .box .heading {
    font-weight: bold;
    color: #fff;
    font-size: 30px;
    line-height: initial;
    margin-right: 30px;
}

.top-line-section .box .buttons a.open-btn {
    background: #4B4B4B;
    color: #ACA4A4;
    font-weight: 600;
    /* text-transform: uppercase; */
    padding: 5px 5px;
    border-radius: 5px;
    width: 215px;
    display: inline-block;
    text-align: center;
    margin-right: 3px;
}

.top-line-section .box .buttons a.open-btn.active {
    background: #5C9311;
    color: #ffffff;
}

.top-line-section .box .buttons a.closed-btn {
    background: #4B4B4B;
    color: #ACA4A4;
    font-weight: 600;
    /* text-transform: uppercase; */
    padding: 14px 29px;
    border-radius: 5px;
    width: 215px;
    display: inline-block;
    text-align: center;
    margin-left: 3px;
}
.top-line-section .box .buttons a.closed-btn.active {
    background: #5C9311;
    color: #ffffff;
}

.top-line-section .box span.btn-box {
    background: #8E8E8E;
    color: #ffffff;
    font-weight: 600;
    /* text-transform: uppercase; */
    padding: 14px 29px;
    border-radius: 5px;
    width: 215px;
    display: inline-block;
    text-align: center;
    margin: 0 3px;
    transition: background-color 2s;
}

.top-line-section .box .icon {
  margin-right: 12px;
  width: 38px;
}

.topline_small{
  font-size: 8px;
}

.weather_small{
  font-size: 70%;
}

.blog.ast-theme-transparent-header #masthead {
  position: relative;
}
/* .blog.ast-theme-transparent-header #masthead .ast-primary-header-bar.ast-primary-header.main-header-bar {
  background: #000;
} */

/*
#fixed_weather_info {
	position: fixed;
    right: 0px;
    top: 30%;
	width: 48px;
	height: 48px;
	background: #5C9311;
	padding: 9px;
}
#fixed_weather_info img {
	width: 32px; height: 32px;
}
*/
.floating-sidbar {
    position: fixed;
    right: -250px;
    top: 30%;
    transition: 0.4s ease-in-out;
    z-index: 99;
    display: flex;
    flex-direction: row;
    background: #fff;
    padding: 0px;
    box-shadow: 2px 8px 12px #8684845c;
}

.floating-sidbar .video {
    padding-bottom: 145px;
    position: relative;
    overflow: hidden;
    display: inline-block;
    width: 250px;
}

.floating-sidbar .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.floating-sidbar span.arrow-click {
    position: absolute;
    left: -30px;
    top: 0;
    height: 5rem;
    width: 30px;
    background: #5C9311;
    padding: 0px 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.floating-sidbar ul {
    list-style: none;
    padding: 0;
    margin: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.floating-sidbar ul a {
    background: #000;
    padding: 10px 10px;
    display: inline-block;
}

.floating-sidbar ul a img {
    height: 20px;
    display: block;
    width: 100%;
}

.floating-sidbar .icons {
    margin-left: 5px;
}

.floating-sidbar.active {
    right: 0;
}

.get-in-touch-form .gform_wrapper.gravity-theme .gfield textarea.large {
    height: 100px;
}

.blog article.ast-article-post .post-content {
    position: relative;
}

.blog article.ast-article-post .post-content .ast-blog-featured-section.post-thumb {
    position: absolute;
    top: 0;
    left: 0;
    width: 240px;
    margin: 0;
}

.blog article.ast-article-post.has-post-thumbnail .post-content {
    padding-left: 310px;
}

.blog article.ast-article-post .post-content .entry-header h2.entry-title a {
    font-weight: 800;
}

.blog article.ast-article-post .post-content .entry-header {
    margin: 0;
}

.blog article.ast-article-post .post-content .entry-header .entry-meta {
    font-size: 14px;
    opacity: 0.6;
    margin-bottom: 9px;
}

.blog article.ast-article-post .post-content .entry-content p {
    line-height: 1.5;
}

.blog article.ast-article-post .post-content .ast-blog-featured-section.post-thumb img {
    border-radius: 10px;
}


.current-events {
    padding: 135px 0 75px;
}

.current-events .container {
  max-width: 1200px;
  margin: 0 auto;
}

.current-events .title {
    font-size: 30px;
    text-align: center;

}

.current-events-inr {
    position: relative;
    margin-top: 30px;
}

.current-events-col {
    padding: 0 14px;
}
.current-events-colbox {
    position: relative;
    overflow: hidden;
}
.current-events-colbox a {
    color: #777;
}

.current-events-col img {
    width: 100%;
    height: 404px;
    object-fit: cover;
    border-radius: 5px;
}

.current-events-colbox .date {
    font-size: 30px;
    line-height: 1;
    background: rgb(255 255 255/82%);
    padding: 20px 30px 20px;
    position: absolute;
    top: 40px;
    text-transform: uppercase;
    letter-spacing: 2px;
    min-width: 120px;
    text-align: center;
    transition: 1.5s;
    z-index: 1;
}
.current-events-colbox .date span {
    font-size: 20px;
    margin-top: 0;
    display: block;
}

.current-events-desc {
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
    background: rgb(255 255 255/82%);
    letter-spacing: .5px;
    padding: 35px 21px;
    display: flex;
    align-items: flex-end;
    transition: 1.1s;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    opacity: 0;
    visibility: hidden;
    font-size: 15px;
    line-height: 1.4;
}
.current-events-desc p {
    margin: 0;
}

.current-events-title {
    position: absolute;
    bottom: 30px;
    text-align: center;
    left: 0;
    right: 0;
    transition: .4s;
}

.current-events-title h4 {
    font-size: 24px;
    color: #777;
  /*  line-height: 1.2;*/
    margin: 0;
  /*  text-transform: uppercase;*/
  /*   letter-spacing: 2px;*/
    background: rgb(255 255 255/82%);
}

.current-events-colbox:hover .date {
    min-width: 100%;
    background: 0 0;
    top: 10px;
}

.current-events-colbox:hover .current-events-desc {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}

.current-events-colbox:hover .current-events-title {
    opacity: 0;
    visibility: hidden;
}

.current-events-slider .slick-arrow {
    bottom: -100px;
    width: auto;
    height: auto;
    font-size: 0;
    line-height: 0;
    position: absolute;
    display: block;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: 0 0;
    transform: none;
    left: 0;
    z-index: 1;
    top: inherit;
}
.current-events-slider .slick-arrow.slick-next {
    bottom: -100px;
    width: auto;
    height: auto;
    font-size: 0;
    line-height: 0;
    /*position: absolute;*/
    display: block;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: 0 0;
    transform: none;
    z-index: 1;
    top: inherit;
    left: inherit;
    right: 0;
}

.btn-indi {

  background-color: var(--e-global-color-7383f6d );
  font-weight: 900;
}

.all-events-btn {
    margin-top: 50px;
    text-align: center;
}

.all-events-btn a.btn.large-btn {
    font-size: 20px;
    padding: 5px 25px;
    min-width: 300px;
    background: #EE6E00;
    color: #fff;
    display: inline-block;
    border-radius: 5px;
    max-height: 48px;
    font-weight: 900;
}

.slick-arrow:before {
    color: #202020;
    opacity: 1;
    font-size: 55px;
    font-family: "Font Awesome 5 Free" !important;
}

.slick-arrow:before {
    font-size: 40px;
}

.slick-prev:before {
    content: "\f104";
}

.slick-next:before {
    content: "\f105";
}

.elementor-tab-content a.button-link {
    color: #ffffff;
    background-color: #F9902C;
    font-size: 14px;
    padding: 5px 20px;
    display: inline-block;
    font-weight: 600;
    margin-left: 5px;
}

.main-header-menu .menu-link, .main-header-menu > a {
  padding: 0 12px;
}

.top-line-section .box .buttons .nn_opn.close-btn {
  background: red;
  color: #fff;
  font-size: 11px;
  line-height: 11px;
  padding: 4px 16px;
}
.top-line-section .box .buttons .nn_opn.close-btn hr {
  margin: 3px 0;
  background-color: #fff;
}


.ast-primary-header-bar {
  background: rgba(0,0,0,0.07) ! important;
  background-image: none;
}

@media (min-width: 768px){
    .tribe-events-meta-group {
        padding: var(--tec-spacer-7) 0 var(--tec-spacer-3);
        width: 250px;
    }
}

@media (min-width: 991px){

    .header-main.fixed-header {
      position: fixed;
      top: 0;
      z-index: 99;
      width: 100%;
    }
    .header-main.fixed-header .ast-primary-header-bar.ast-primary-header.main-header-bar {
      background-color: rgba(0,0,0,0.9);
      padding: 0;
    }
    /* Padding auch ohne .fixed-header auf 0 setzen (Desktop) */
    .header-main .ast-primary-header-bar.ast-primary-header.main-header-bar {
      padding: 0 !important;
    }

        /* Keep store header spacing equal to normal Astra pages. */
        body.post-type-archive-product .header-main .ast-primary-header-bar.ast-primary-header.main-header-bar,
        body.post-type-archive-product .header-main.fixed-header .ast-primary-header-bar.ast-primary-header.main-header-bar {
            padding: 1em 0 !important;
        }
    /* Logo immer in der kleineren Größe (wie beim Scrollen) */
    .ast-theme-transparent-header .header-main.fixed-header #masthead .site-logo-img .transparent-custom-logo img,
    .ast-theme-transparent-header .header-main #masthead .site-logo-img .transparent-custom-logo img {
      max-width: 100px;
    }
}


@media (min-width: 1599px) and (max-width: 1900px) {
    .top-line-section .box .buttons a.open-btn {
        width: 180px;
        padding: 10px 21px;
    }
    .top-line-section .box span.btn-box {
        width: 180px;
        padding: 10px 21px;
    }
    .top-line-section .box .buttons a.closed-btn {
        width: 180px;
        padding: 10px 21px;
    }
}

@media (min-width: 1200px) and (max-width: 1599px) {
    .top-line-section .box .buttons a.open-btn {
        width: auto;
        padding: 7px 11px;
        font-size: 12px;
    }
    .top-line-section .box .buttons a.closed-btn {
        width: 130px;
        padding: 7px 11px;
        font-size: 12px;
    }
    .top-line-section .box .heading {
        font-size: 26px;
    }
    .top-line-section .box span.btn-box {
        width: auto;
        padding: 7px 9px;
        font-size: 12px;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .top-line-section .box span.btn-box {
        width: 130px;
        padding: 7px 11px;
        font-size: 14px;
        margin: 2px 0;
    }
    .top-line-section .box .buttons a.open-btn {
        width: 130px;
        padding: 7px 11px;
        font-size: 14px;
        margin-bottom: 4px;
    }
    .top-line-section .box .buttons a.closed-btn {
        width: auro;
        padding: 7px 9px;
        font-size: 12px;
    }
}

@media (max-width: 991px) {
    .top-line-section .box span.btn-box {
        width: 130px;
        padding: 7px 11px;
        font-size: 14px;
        margin: 2px 0;
    }
    .top-line-section .box .buttons a.open-btn {
        width: 130px;
        padding: 7px 11px;
        font-size: 14px;
        margin-bottom: 4px;
    }
    .top-line-section .box .buttons a.closed-btn {
        width: 130px;
        padding: 7px 11px;
        font-size: 14px;
    }
    #svg-container {
      min-height: 40vw;
    }
}

@media (max-width: 767px) {
    .top-line-section .box .heading {
        font-size: 22px;
        margin-right: 10px;
    }
    .top-line-section .box .buttons a.open-btn,
    .top-line-section .box .buttons a.closed-btn {
        font-size: 11px;
        width: 100px;
    }
    .top-line-section .box .icon {
        margin-right: 10px;
    }
    .top-line-section .box span.btn-box {
        font-size: 11px;
        width: 100px;
    }
    #svg-container {
      min-height: 350px;
    }

}

@media (max-width: 639px) {
    .top-line-section .box .icon {
        display: none;
    }
    .top-line-section .box .heading {
        display: none;
    }
    .top-line-section .box {
        display: flex;
        align-items: center;
        margin: 0 1%;
        text-align: center;
        justify-content: center;
    }

}

@media only screen and (max-width: 1024px) {
	.top-table ul li:nth-child(1) {
        min-height: 50px;
        padding: 5px;
    }
    .top-table ul li:nth-child(1) img {
        max-height: 30px;
    }
    .top-table ul li:nth-child(2) {
        background: #565759;
        border-top: 1px solid #000;
        border-right: 1px solid #000;
        padding: 5px 6px;
        font-size: 12px;
    }
    .top-table ul li:nth-child(3) {
        background: #565759;
        border-top: 1px solid #000;
        border-right: 1px solid #000;
        padding: 5px 6px;
        font-size: 12px;
    }
}
@media only screen and (max-width: 480px) {
    .top-table ul.ul1 li:nth-child(1) h2 {
        font-size: 15px;
    }
    .top-table ul li:nth-child(1) img {
        max-height: 25px;
    }
    .top-table ul li:nth-child(1) {
        min-height: 35px;
    }
    .top-table ul li:nth-child(2) {
        padding: 3px 2px;
        font-size: 11px;
    }
    .top-table ul li:nth-child(3) {
        padding: 3px 2px;
        font-size: 11px;
    }

}

/*******************************************************************
 * Mobile Menu by David Steinbach
 *******************************************************************/
.mobile_menu_container{

  height: 55px;
  display: flex;
  background: #F1F1F1;
  width: 100%;
  position: fixed;
  bottom: 0;
  z-index: 9;
  left: 0;
  right: 0;
}


 .bloc-icon {
  display: flex;
  justify-content: center;
  align-items: center;
}
.bloc-text {
 display: flex;
 justify-content: center;
 align-items: center;
}

.bloc-icon img {
  width: 30px;
}

.mobile_nav_table{
}

.m_nav_td{
  width:25%;
}

div#gdpr-cookie-consent-show-again{
  margin-bottom:55px !important;
}

/*******************************************************************
 * Typo Edit
 *******************************************************************/
.user_info {
	padding: 0 1.25rem;
	text-align: right;
}
.user_info a {
	color: inherit;
}

/*******************************************************************
 * Sidebar
 *******************************************************************/

@media (min-width: 922px){

	.floating-sidbar {
		right: -50rem;
	}

	.floating-sidbar .video {
		padding-bottom: 56.25%;
		width: 50rem;
	}
}

/*******************************************************************
 * Topbar
 *******************************************************************/
[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
	width:2rem;
	height:2rem;
}
header #ast-mobile-header > div.ast-main-header-wrap.main-header-bar-wrap > div > div > div.site-header-primary-section-right.site-header-section.ast-flex.ast-grid-right-section > div {
	outline:none !important;
}

@media (min-width: 922px){
	/*.user_info {
		padding: 0 1.25rem;
		position: absolute;
		top: 0.5rem; right: 0;
		max-width: 1240px;
		margin: 0 auto; z-index: 20000;
		left: 1rem; right: 1rem;
	}
	.user_info a {
		color: #FFFFFF;
	}*/

	.user_info {
		padding: 0 2.25rem;
		/*max-width: 1240px; */
		margin: 0 auto;
		height: 0;
		position: relative;
		overflow: visible;
		z-index: 2000;
	}
	.user_info a {
		color: #FFFFFF;
		display: inline-block;
		padding-top: 0.5rem;
	}
}

.woocommerce .button-group {
	margin: -0.25rem;
}

.button-group form {
	display: inline-block;
	margin: 0.25rem;
}
.button-group .button.disabled {
	cursor: not-allowed;
}
.woocommerce .button-group a.button,
.woocommerce .button-group .button{
	margin: 0.25rem;
}
.woocommerce .button-group .button:hover {
	color: inherit;
}

.tra_button_wrapper .button-group {
	pointer-events: none;
	opacity: 0.5;
}
.tra_button_wrapper .button-group.enabled {
	pointer-events: all;
	opacity: 1;
}
.button-group.enabled .button.disabled {
	opacity: 0.5;
}
.accept_tra_wrapper {
	padding-bottom: 1rem;
}
/*******************************************************************
 * David
 *******************************************************************/
 .last_weather_block{
   border-radius: 0 0.475rem 0.475rem 0;
}

#weatherGraph {
  background-color: #F5F5F5;
  padding: 0.5rem 0.5rem 2.5rem 0;
  margin: 0 0 1.8rem 0;
  height: 350px;
  border-radius: 0.475rem 0.475rem 0.475rem 0.475rem;

}

#svg-container {
  background-color:#BBBBBB;
  overflow: hidden;
  height: 30vw;
  width:100%;
  padding: 10px;
  border-radius: 0.475rem;
}

/*******************************************************************
 * Typo Wrapper Row Columns
 *******************************************************************/
.row {
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
}
.align-left {
    -webkit-box-pack:start;
    -webkit-justify-content:flex-start;
    -ms-flex-pack:start;
    justify-content:flex-start;
}
.align-right {
    -webkit-box-pack:end;
    -webkit-justify-content:flex-end;
    -ms-flex-pack:end;
    justify-content:flex-end;
}
.align-center {
    -webkit-box-pack:center;
    -webkit-justify-content:center;
    -ms-flex-pack:center;
    justify-content:center;
}
.align-justify {
    -webkit-box-pack:justify;
    -webkit-justify-content:space-between;
    -ms-flex-pack:justify;
    justify-content:space-between;
}
.align-spaced {
    -webkit-justify-content:space-around;
    -ms-flex-pack:distribute;
    justify-content:space-around;
}
.align-top {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.align-bottom {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.align-middle {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.column,
.columns {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
    min-width: 0;
}

.small-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.33333%;
    -ms-flex: 0 0 8.33333%;
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
}

.small-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
    -ms-flex: 0 0 16.66667%;
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
}
.small-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
}
.small-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
    -ms-flex: 0 0 33.33333%;
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
}
.small-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.66667%;
    -ms-flex: 0 0 41.66667%;
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
}
.small-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}
.small-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.33333%;
    -ms-flex: 0 0 58.33333%;
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
}
.small-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.66667%;
    -ms-flex: 0 0 66.66667%;
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
}
.small-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
}
.small-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.33333%;
    -ms-flex: 0 0 83.33333%;
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
}
.small-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.66667%;
    -ms-flex: 0 0 91.66667%;
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
}
.small-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}
.shrink {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    max-width: 100%;
}

@media print, screen and (min-width: 40em) {
    .medium-1 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
        max-width: 8.33333%;
    }

    .medium-2 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
        max-width: 16.66667%;
    }
    .medium-3 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }
    .medium-4 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
    }
    .medium-5 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
    }
    .medium-6 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .medium-7 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
        max-width: 58.33333%;
    }
    .medium-8 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
    }
    .medium-9 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }
    .medium-10 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
    }
    .medium-11 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
    }
    .medium-12 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .medium-shrink {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        max-width: 100%;
    }
    .medium-expand {
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
    }

}

@media print, screen and (min-width: 64em) {
    .large-1 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
        max-width: 8.33333%;
    }

    .large-2 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
        max-width: 16.66667%;
    }
    .large-3 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }
    .large-4 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
    }
    .large-5 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
    }
    .large-6 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .large-7 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
        max-width: 58.33333%;
    }
    .large-8 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
    }
    .large-9 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }
    .large-10 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
    }
    .large-11 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
    }
    .large-12 {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .large-shrink {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        max-width: 100%;
    }
    .large-expand {
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
    }
}

/*******************************************************************
 * David
 *******************************************************************/
 .typo_wrapper img{
     max-width: 40%;
     height: auto;
 }


/*******************************************************************
 * Typo Wrapper
 *******************************************************************/
.typo_wrapper {
    text-align: center;
    font-size: 1.4rem;
    font-family: 'Lato',sans-serif;
}
.typo_wrapper .columns {
    margin-bottom: 0.5rem;
}

/*
.typo_wrapper > .row > .columns > .row > .columns > .row{
    position: relative;
}
.typo_wrapper > .row > .columns > .row > .columns > .row:after {
    content: ''; position: absolute;
    top: 0; left: 0; right: 0; bottom: 3rem;
    box-shadow: 0 0 0.375rem  rgba(0,0,0,0.25);
    height: auto; width: auto;
    pointer-events: none;
}
.typo_wrapper > .row > .columns > .row > .columns > .row > * {
    position: relative;
    z-index: 20;
}
*/

.typo_wrapper .orange_bg,
.typo_wrapper .grey_bg {
    padding: 0.8rem;
}
.typo_wrapper .orange_bg {
    background-color: #EE6E00;
    font-weight: 600;
    font-size: 1.025rem;
    border-radius: 0.475rem 0 0 0.475rem;
}
.typo_wrapper .grey_bg {
    background-color: #F5F5F5;
}


.typo_wrapper .h2 {
    font-size: 1.45rem;
    font-family: 'Lato',sans-serif;
    font-weight: 700;
}

.typo_wrapper h2.h2{
    text-transform: uppercase;
}

.typo_wrapper .text-left {
    text-align: left;
}


.box-home .elementor-widget-icon-box {
  height: 100%;
}
.box-home .elementor-widget-icon-box .elementor-widget-container {
  height: 100%;
}

@media screen and (min-width:40em){
    .typo_wrapper .columns {
        margin-bottom: 2rem;
    }

    .typo_wrapper .orange_bg,
    .typo_wrapper .grey_bg {
        padding: 3rem;
    }
}


@media screen and (min-width:64em){
    .typo_wrapper .columns {
        margin-bottom: 3rem;
    }

    .typo_wrapper .orange_bg,
    .typo_wrapper .grey_bg {
        padding: 4rem;
    }
}

.accept_tra_wrapper input {
    margin-right: 0.5rem;
}


.header-main .top-line-section {
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;

}
.header-main .top-line-section .box {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    max-width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
}
/*
.header-main .top-line-section .box > * {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    max-width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}
.header-main .top-line-section .box > * > *{
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    max-width: 100%;
    height: 100%;
}
*/


.topbar {
    background: #8e8e8e;
    padding: 3px 0;
    position: relative;
    top: 0; left: 0; width: 100%;
    z-index: 20000;
    pointer-events: none;
    -webkit-transform: translate(0,-100%);
    -moz-transform: translate(0,-100%);
    -ms-transform: translate(0,-100%);
    -o-transform: translate(0,-100%);
    transform: translate(0,-100%);
}
.topbar.opened {
    background: #00000070;
    pointer-events: all;
    -webkit-transform: translate(0,0);
    -moz-transform: translate(0,0);
    -ms-transform: translate(0,0);
    -o-transform: translate(0,0);
    transform: translate(0,0);
}

@media screen and (min-width: 922px){
    .topbar {
        pointer-events: all;
        -webkit-transform: translate(0,0);
        -moz-transform: translate(0,0);
        -ms-transform: translate(0,0);
        -o-transform: translate(0,0);
        transform: translate(0,0);
    }
}

.topbar > .row {
    max-width: 80rem;
    margin: 0 auto;
}

.topbar > .row > .columns > .row > .columns {
    padding: 3px;
}
.topbar a{
    display: block;
    height: 100%;
}

.topbar a > span {
    display: block;
    height: 100%;
}

.topbar img {
    max-width: 3rem;
}


.topbar span.btn-box {
    background: #8E8E8E;
    color: #ffffff;
    font-weight: 600;
    padding: 10px 10px;
    border-radius: 5px;
    text-align: center;
    transition: background-color 2s;
}




.woocommerce-MyAccount-navigation {
    padding-bottom: 2rem;
}

/* Premium login surface for the logged-out My Account view */
body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce {
    max-width: 680px !important;
    margin: 0 auto !important;
    padding: 0 24px 72px !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce h2 {
    margin: 0 !important;
    padding: 28px 32px 0 !important;
    border: 1px solid #dfe7e4 !important;
    border-bottom: 0 !important;
    border-radius: 18px 18px 0 0 !important;
    background: #ffffff !important;
    color: #173328 !important;
    font-size: 25px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login {
    max-width: none !important;
    margin: 0 !important;
    padding: 22px 32px 30px !important;
    border: 1px solid #dfe7e4 !important;
    border-top: 0 !important;
    border-radius: 0 0 18px 18px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 42px rgba(19, 38, 30, 0.09) !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login p.form-row {
    margin: 0 0 18px !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login label {
    display: block !important;
    margin: 0 0 7px !important;
    color: #52675c !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login .input-text {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    border: 1px solid #cbdcd1 !important;
    border-radius: 9px !important;
    background: #f8fbf9 !important;
    color: #173328 !important;
    box-shadow: none !important;
    font-size: 15px !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login .input-text:focus {
    border-color: #f9902c !important;
    outline: 3px solid rgba(249, 144, 44, 0.16) !important;
    background: #ffffff !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login .password-input {
    position: relative !important;
    display: block !important;
    width: 100% !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login .show-password-input {
    position: absolute !important;
    top: 50% !important;
    right: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 4px !important;
    border: 1px solid #cbdcd1 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: #52675c !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    transform: translateY(-50%) !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login .show-password-input::after {
    content: '\f06e' !important;
    font-family: 'Font Awesome 5 Free' !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login .show-password-input.display-password::after {
    content: '\f070' !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login .show-password-input:hover,
body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login .show-password-input:focus-visible {
    border-color: #f9902c !important;
    background: #fff8f0 !important;
    color: #df7918 !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login .form-row:last-of-type {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px 16px !important;
    margin-top: 4px !important;
    margin-bottom: 0 !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login .woocommerce-form__label-for-checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    color: #52675c !important;
    font-weight: 600 !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login input[type="checkbox"] {
    accent-color: #f9902c !important;
    margin: 0 !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login .woocommerce-form-login__submit {
    order: 3 !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 8px 0 0 !important;
    padding: 12px 20px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #f9902c !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    box-shadow: 0 8px 18px rgba(249, 144, 44, 0.2) !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login .woocommerce-form-login__submit:hover,
body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login .woocommerce-form-login__submit:focus-visible {
    background: #df7918 !important;
    color: #ffffff !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login p.lost_password {
    margin: 18px 0 0 !important;
    text-align: center !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login p.lost_password a {
    color: #52675c !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-decoration-color: #cbdcd1 !important;
    text-underline-offset: 3px !important;
}

body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login p.lost_password a:hover {
    color: #f9902c !important;
}

@media screen and (max-width: 767px) {
    body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce {
        padding-right: 14px !important;
        padding-left: 14px !important;
    }

    body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce h2,
    body.woocommerce-account.woocommerce-page:not(.logged-in) .woocommerce form.login {
        padding-right: 20px !important;
        padding-left: 20px !important;
    }
}

/* Checkout login form */
body.woocommerce-checkout:not(.logged-in) .woocommerce form.login {
    display: grid !important;
    grid-template-columns: minmax(0, 560px) !important;
    justify-content: center !important;
    max-width: 620px !important;
    margin: 18px auto 28px !important;
    visibility: hidden !important;
    opacity: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    transition: opacity 180ms ease, max-height 180ms ease !important;
}

body.woocommerce-checkout:not(.logged-in) .woocommerce form.login.is-visible {
    visibility: visible !important;
    opacity: 1 !important;
    max-height: 900px !important;
    pointer-events: auto !important;
}

body.woocommerce-checkout:not(.logged-in) .woocommerce form.login {
    gap: 16px !important;
    padding: 22px !important;
    border: 1px solid #dfe7e4 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(19, 38, 30, 0.06) !important;
}

body.woocommerce-checkout:not(.logged-in) .woocommerce form.login p.form-row {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
}

body.woocommerce-checkout:not(.logged-in) .woocommerce form.login label {
    display: block !important;
    margin: 0 0 7px !important;
    color: #52675c !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

body.woocommerce-checkout:not(.logged-in) .woocommerce form.login .input-text {
    width: 100% !important;
    min-height: 46px !important;
    padding: 11px 13px !important;
    border: 1px solid #cbdcd1 !important;
    border-radius: 8px !important;
    background: #f8fbf9 !important;
    color: #173328 !important;
    box-shadow: none !important;
    font-size: 14px !important;
}

body.woocommerce-checkout:not(.logged-in) .woocommerce form.login .input-text:focus {
    border-color: #f9902c !important;
    outline: 3px solid rgba(249, 144, 44, 0.16) !important;
    background: #ffffff !important;
}

body.woocommerce-checkout:not(.logged-in) .woocommerce form.login .password-input {
    position: relative !important;
    display: block !important;
    width: 100% !important;
}

body.woocommerce-checkout:not(.logged-in) .woocommerce form.login .show-password-input {
    position: absolute !important;
    top: 50% !important;
    right: 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 4px !important;
    border: 1px solid #cbdcd1 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: #52675c !important;
    font-size: 0 !important;
    line-height: 1 !important;
    transform: translateY(-50%) !important;
}

body.woocommerce-checkout:not(.logged-in) .woocommerce form.login .show-password-input::after {
    content: '\f06e' !important;
    font-family: 'Font Awesome 5 Free' !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

body.woocommerce-checkout:not(.logged-in) .woocommerce form.login .show-password-input.display-password::after {
    content: '\f070' !important;
}

body.woocommerce-checkout:not(.logged-in) .woocommerce form.login .show-password-input:hover,
body.woocommerce-checkout:not(.logged-in) .woocommerce form.login .show-password-input:focus-visible {
    border-color: #f9902c !important;
    background: #fff8f0 !important;
    color: #df7918 !important;
}

body.woocommerce-checkout:not(.logged-in) .woocommerce form.login p.form-row:last-of-type {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px 16px !important;
    margin-top: 2px !important;
}

body.woocommerce-checkout:not(.logged-in) .woocommerce form.login .woocommerce-form-login__submit {
    min-height: 44px !important;
    margin: 0 !important;
    padding: 11px 20px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #f9902c !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

body.woocommerce-checkout:not(.logged-in) .woocommerce form.login .woocommerce-form-login__submit:hover,
body.woocommerce-checkout:not(.logged-in) .woocommerce form.login .woocommerce-form-login__submit:focus-visible {
    background: #df7918 !important;
}

body.woocommerce-checkout:not(.logged-in) .woocommerce form.login .fff-checkout-login-close {
    justify-self: start !important;
    margin: 0 !important;
    padding: 7px 12px !important;
    border: 1px solid #cbdcd1 !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #52675c !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
}

body.woocommerce-checkout:not(.logged-in) .woocommerce form.login .fff-checkout-login-close:hover,
body.woocommerce-checkout:not(.logged-in) .woocommerce form.login .fff-checkout-login-close:focus-visible {
    border-color: #f9902c !important;
    color: #df7918 !important;
}

@media screen and (max-width: 767px) {
    body.woocommerce-checkout:not(.logged-in) .woocommerce form.login {
        grid-template-columns: 1fr !important;
        padding: 18px !important;
    }

    body.woocommerce-checkout:not(.logged-in) .woocommerce form.login p.form-row:last-of-type {
        grid-column: auto !important;
    }
}


/* .single-product .ast-primary-header-bar  * {
    color: #000 !important;
} */

.woocommerce-orders-table__cell-order-actions > * {
    min-width: 15rem;
    text-align: center;
}


@media screen and (max-width: 39.9375rem){
    .topbar .columns.icon {
        display: none;
    }
	.hide_on_small {
		display:none;
	}
  .typo_wrapper {
      font-size: 0.8rem;
  }
  typo_wrapper .h2 {
      font-size: 0.8rem;
  }


}


.tab_content {
    display: none;
}
.tab_content.active {
    display: block;
}

.tab_title {
    display: inline-block;
    margin: 3px;
    background-color: #F5F5F5;
    border-radius: 0.375rem;
    padding: 0.5rem 1.5rem;
    cursor: pointer;
}
.tab_title.active {
    background-color: #EE6E00;
    color: #FFFFFF;
}

.iframe_wrapper {
    position: relative;
    padding: 0 0 56.25%;
    width: 100%;
}
.iframe_wrapper iframe {
    position: absolute;
    top: 0; left: 0; bottom: 0; right: 0;
    width: 100%; height: 100%;
}

header.site-header {
    position: fixed !important;
    width: 100%;
    background: rgba(0,0,0,0.4);
}
.account-icon path,
.account-icon circle {
    fill: #FFFFFF;
}

.show_upper_topbar {
    display: inline-block;
    width: 2.5rem; height: 2.5rem;
    background-color: #F9902C;
    border-radius: 50%;
    color: #000;
    font-size: 1.5rem; text-align: center;
    line-height: 2.5rem;
    cursor: pointer;
}

header.site-header .menu-item > .menu-link {
    color: #FFFFFF;
}
header.site-header .sub-menu .menu-item > .menu-link {
    color: #000000;
}

.elementor-section {
    background-size: cover !important;
}

/* Produkt-Titel im Shop-Grid normalisieren */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
  font-size: clamp(15px, 2.2vw, 18px);
  line-height: 1.3;
  font-weight: 600;       /* etwas leichter als H2 global */
  margin: .4rem 0 .2rem;
}

/* Falls Astra/Theme H2 global aufbläst: nur im Produkt-Grid überschreiben */
.woocommerce ul.products li.product h2 {
  font-size: inherit;
  line-height: inherit;
  margin: inherit;
}

/* Optional: Einzelprodukt-Seite NICHT ändern */
.single-product .product .summary h1.product_title {
  font-size: clamp(22px, 2.6vw, 32px);
  line-height: 1.2;
}

/* Optional: Tablet/Desktop Feintuning */
@media (min-width: 768px){
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size: 17px;
  }
}
@media (min-width: 1024px){
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size: 18px;
  }
}

/* ========================================
   SCROLL TO TOP BUTTON (Global)
   ======================================== */

.scroll-to-top {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  width: 48px !important;
  height: 48px !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 0.3s ease;
  z-index: 9999 !important;
  color: #374151 !important;
}

.scroll-to-top:hover {
  background: #f9fafb;
  border-color: #d1d5db;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  transform: translateY(0);
}

.scroll-to-top:active {
  transform: scale(0.95);
}

.scroll-to-top.visible {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

.scroll-to-top svg {
  flex-shrink: 0;
}

/* Mobile Anpassungen */
@media (max-width: 768px) {
  .scroll-to-top {
    bottom: 80px !important; /* Über dem Bottom-Menü (ca. 56px + Abstand) */
    right: 20px !important;
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
  }
  
  .scroll-to-top svg {
    width: 22px;
    height: 22px;
  }
}

/* END SCROLL TO TOP BUTTON */

/* Homepage: quote block must not overlap intro content */
.home .elementor-10 .elementor-element.elementor-element-26c10f4 {
    margin-top: 20px !important;
}

@media (max-width: 1024px) {
    .home .elementor-10 .elementor-element.elementor-element-26c10f4 {
        margin-top: 12px !important;
    }
}

/* WooCommerce cart: keep checkout button away from the footer */
.woocommerce-cart .site-main,
.woocommerce-cart .content-area,
.woocommerce-cart .site-content,
.woocommerce-cart .woocommerce {
    padding-bottom: 48px;
}

.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart_totals,
.woocommerce-cart .wc-proceed-to-checkout {
    margin-bottom: 32px;
}

.fff-subscription-price-note th,
.fff-subscription-price-note td {
    vertical-align: top;
}

.fff-subscription-price-note__item {
    font-size: 14px;
    line-height: 1.5;
}

.fff-subscription-price-note__item + .fff-subscription-price-note__item {
    margin-top: 8px;
}

.fff-subscription-consents {
    margin: 24px 0 18px;
    padding: 18px 18px 8px;
    border: 1px solid #d7d7d7;
    border-radius: 6px;
    background: #fafafa;
}

.fff-subscription-consents h3 {
    margin: 0 0 14px;
    font-size: 18px;
}

.fff-subscription-consents__product {
    margin: 0 0 10px;
}

.fff-subscription-consent-row {
    margin-bottom: 12px;
}

.fff-subscription-consent-row label {
    line-height: 1.5;
}

/* Desktop webshop refresh */
.post-type-archive-product .woocommerce-products-header {
    margin: 0 0 28px;
}

.fff-shop-hero {
    padding: 34px 38px 30px;
    border: 1px solid #d9e2d8;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(255, 184, 77, 0.28), transparent 28%),
        linear-gradient(135deg, #f6faf5 0%, #ffffff 62%, #f4f7fb 100%);
    box-shadow: 0 18px 42px rgba(29, 47, 33, 0.08);
}

.fff-shop-hero__eyebrow {
    margin: 0 0 8px;
    color: #56705b;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.fff-shop-hero__title {
    margin: 0;
    color: #183227;
    font-size: clamp(34px, 4.2vw, 52px);
    line-height: 1.02;
    font-weight: 700;
}

.fff-shop-hero__text {
    max-width: 760px;
    margin: 14px 0 0;
    color: #50635a;
    font-size: 18px;
    line-height: 1.55;
}

@media (min-width: 1024px) {
    .post-type-archive-product .site-main {
        padding-top: 22px;
        padding-bottom: 42px;
    }

    .post-type-archive-product .ast-woocommerce-container {
        max-width: 1320px;
    }

    .post-type-archive-product .woocommerce-breadcrumb {
        margin-bottom: 18px;
        color: #708177;
        font-size: 13px;
    }

    .post-type-archive-product .woocommerce-breadcrumb a {
        color: #355846;
    }

    .post-type-archive-product .woocommerce-result-count,
    .post-type-archive-product .woocommerce-ordering {
        float: none;
        margin: 0;
    }

    .post-type-archive-product .woocommerce-notices-wrapper + .woocommerce-result-count {
        margin-top: 0;
    }

    .post-type-archive-product .woocommerce-result-count {
        color: #5f7167;
        font-size: 14px;
        line-height: 1.4;
    }

    .post-type-archive-product .woocommerce-ordering .orderby {
        min-width: 260px;
        height: 48px;
        padding: 0 42px 0 16px;
        border: 1px solid #c9d6cd;
        border-radius: 14px;
        background-color: #fff;
        color: #21372d;
        box-shadow: 0 8px 20px rgba(21, 34, 27, 0.05);
    }

    .post-type-archive-product .woocommerce ul.products,
    .post-type-archive-product.woocommerce-page ul.products {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 30px;
        margin: 26px 0 0;
    }

    .post-type-archive-product .woocommerce ul.products::before,
    .post-type-archive-product .woocommerce ul.products::after,
    .post-type-archive-product.woocommerce-page ul.products::before,
    .post-type-archive-product.woocommerce-page ul.products::after {
        display: none;
    }

    .post-type-archive-product .woocommerce ul.products li.product,
    .post-type-archive-product.woocommerce-page ul.products li.product {
        width: auto;
        margin: 0;
        float: none;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        position: relative;
        min-height: 100%;
        border: 1px solid #dde7df;
        border-radius: 22px;
        background: linear-gradient(180deg, #ffffff 0%, #fbfcfb 100%);
        box-shadow: 0 16px 34px rgba(26, 42, 31, 0.08);
        transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
    }

    .post-type-archive-product .woocommerce ul.products li.product:hover,
    .post-type-archive-product.woocommerce-page ul.products li.product:hover {
        transform: translateY(-4px);
        border-color: #c5d5c8;
        box-shadow: 0 24px 46px rgba(26, 42, 31, 0.12);
    }

    .post-type-archive-product .woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
    .post-type-archive-product.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap {
        position: relative;
        aspect-ratio: 4 / 4.8;
        overflow: hidden;
        background: linear-gradient(180deg, #f4f8f4 0%, #edf2ee 100%);
    }

    .post-type-archive-product .woocommerce ul.products li.product .astra-shop-thumbnail-wrap img,
    .post-type-archive-product.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.28s ease;
    }

    .post-type-archive-product .woocommerce ul.products li.product:hover .astra-shop-thumbnail-wrap img,
    .post-type-archive-product.woocommerce-page ul.products li.product:hover .astra-shop-thumbnail-wrap img {
        transform: scale(1.03);
    }

    .post-type-archive-product .woocommerce span.onsale,
    .post-type-archive-product.woocommerce-page span.onsale {
        top: 16px;
        left: 16px;
        right: auto;
        min-width: 0;
        min-height: 0;
        margin: 0;
        padding: 9px 12px;
        border-radius: 999px;
        background: #ffb347;
        color: #1e1b16;
        font-size: 12px;
        line-height: 1;
        font-weight: 700;
        box-shadow: 0 10px 20px rgba(61, 45, 15, 0.18);
    }

    .post-type-archive-product .woocommerce ul.products li.product .astra-shop-summary-wrap,
    .post-type-archive-product.woocommerce-page ul.products li.product .astra-shop-summary-wrap {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 12px;
        padding: 22px 24px 24px;
    }

    .post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .post-type-archive-product.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
        margin: 0;
        color: #183227;
        font-size: 22px;
        line-height: 1.2;
        font-weight: 700;
    }

    .post-type-archive-product .woocommerce ul.products li.product .price,
    .post-type-archive-product.woocommerce-page ul.products li.product .price {
        display: flex;
        align-items: flex-end;
        flex-wrap: wrap;
        gap: 8px 12px;
        color: #264a38;
        font-size: 26px;
        line-height: 1.1;
        font-weight: 700;
    }

    .post-type-archive-product .woocommerce ul.products li.product .price del,
    .post-type-archive-product.woocommerce-page ul.products li.product .price del {
        order: 2;
        color: #8a958d;
        font-size: 16px;
        opacity: 1;
    }

    .post-type-archive-product .woocommerce ul.products li.product .price ins,
    .post-type-archive-product.woocommerce-page ul.products li.product .price ins {
        order: 1;
        background: transparent;
        text-decoration: none;
    }

    .post-type-archive-product .woocommerce ul.products li.product .ast-loop-product__link,
    .post-type-archive-product.woocommerce-page ul.products li.product .ast-loop-product__link,
    .post-type-archive-product .woocommerce ul.products li.product .woocommerce-LoopProduct-link,
    .post-type-archive-product.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link {
        text-decoration: none;
    }
}

    /* Final mobile shop overrides: keep this block at the end. */
    @media (max-width: 767.98px) {
        body.post-type-archive-product .woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
        body.post-type-archive-product.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap {
            flex: 0 0 96px !important;
            width: 96px !important;
            aspect-ratio: 1 / 1.34 !important;
        }

        body.post-type-archive-product .woocommerce nav.woocommerce-pagination,
        body.post-type-archive-product .woocommerce .woocommerce-pagination {
            margin-top: 16px !important;
            padding-top: 0 !important;
        }

        body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul.page-numbers,
        body.post-type-archive-product .woocommerce .woocommerce-pagination ul.page-numbers {
            display: flex !important;
            justify-content: center !important;
            align-items: center !important;
            flex-wrap: wrap !important;
            gap: 8px !important;
            list-style: none !important;
            margin: 0 !important;
            padding: 0 !important;
            border: 0 !important;
            background: transparent !important;
        }

        body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul.page-numbers li,
        body.post-type-archive-product .woocommerce .woocommerce-pagination ul.page-numbers li {
            float: none !important;
            margin: 0 !important;
            padding: 0 !important;
            border: 0 !important;
            background: transparent !important;
        }

        body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul.page-numbers li > a,
        body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul.page-numbers li > span,
        body.post-type-archive-product .woocommerce .woocommerce-pagination ul.page-numbers li > a,
        body.post-type-archive-product .woocommerce .woocommerce-pagination ul.page-numbers li > span {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            min-width: 36px !important;
            height: 36px !important;
            padding: 0 11px !important;
            border-radius: 999px !important;
            border: 1px solid rgba(28, 37, 54, 0.14) !important;
            background: #ffffff !important;
            color: #1c2536 !important;
            font-size: 12px !important;
            font-weight: 700 !important;
            text-decoration: none !important;
            line-height: 1 !important;
            box-shadow: 0 4px 10px rgba(15, 23, 42, 0.05) !important;
        }

        body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul.page-numbers li > a:hover,
        body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul.page-numbers li > a:focus-visible,
        body.post-type-archive-product .woocommerce .woocommerce-pagination ul.page-numbers li > a:hover,
        body.post-type-archive-product .woocommerce .woocommerce-pagination ul.page-numbers li > a:focus-visible {
            transform: translateY(-1px) !important;
            border-color: rgba(31, 58, 95, 0.28) !important;
            box-shadow: 0 8px 16px rgba(15, 23, 42, 0.1) !important;
        }

        body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul.page-numbers li > .current,
        body.post-type-archive-product .woocommerce .woocommerce-pagination ul.page-numbers li > .current {
            background: #1f3a5f !important;
            border-color: #1f3a5f !important;
            color: #ffffff !important;
            box-shadow: 0 10px 18px rgba(31, 58, 95, 0.22) !important;
        }

        body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul.page-numbers li > .dots,
        body.post-type-archive-product .woocommerce .woocommerce-pagination ul.page-numbers li > .dots {
            min-width: 24px !important;
            border: 0 !important;
            box-shadow: none !important;
            background: transparent !important;
            color: #778093 !important;
            padding: 0 !important;
        }
    }

@media (max-width: 767.98px) {
    body.post-type-archive-product #secondary,
    body.post-type-archive-product .secondary,
    body.post-type-archive-product .widget-area {
        display: none !important;
    }

    body.post-type-archive-product #primary,
    body.post-type-archive-product .content-area,
    body.post-type-archive-product .ast-woocommerce-container,
    body.post-type-archive-product .site-main,
    body.post-type-archive-product .site-content,
    body.post-type-archive-product .ast-container {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    body.post-type-archive-product .woocommerce nav.woocommerce-pagination,
    body.post-type-archive-product .woocommerce .woocommerce-pagination {
        margin-bottom: 8px !important;
    }

    body.post-type-archive-product nav.woocommerce-pagination,
    body.post-type-archive-product .woocommerce-pagination,
    body.post-type-archive-product .ast-pagination {
        margin-top: 12px !important;
        margin-bottom: 8px !important;
        text-align: center !important;
    }

    body.post-type-archive-product nav.woocommerce-pagination ul,
    body.post-type-archive-product .woocommerce-pagination ul,
    body.post-type-archive-product .ast-pagination ul,
    body.post-type-archive-product ul.page-numbers {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    body.post-type-archive-product nav.woocommerce-pagination li,
    body.post-type-archive-product .woocommerce-pagination li,
    body.post-type-archive-product .ast-pagination li,
    body.post-type-archive-product ul.page-numbers li {
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    body.post-type-archive-product nav.woocommerce-pagination a,
    body.post-type-archive-product nav.woocommerce-pagination span,
    body.post-type-archive-product .woocommerce-pagination a,
    body.post-type-archive-product .woocommerce-pagination span,
    body.post-type-archive-product .ast-pagination a,
    body.post-type-archive-product .ast-pagination span,
    body.post-type-archive-product ul.page-numbers a,
    body.post-type-archive-product ul.page-numbers span {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 36px !important;
        height: 36px !important;
        padding: 0 11px !important;
        border-radius: 999px !important;
        border: 1px solid rgba(28, 37, 54, 0.14) !important;
        background: #ffffff !important;
        color: #1c2536 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        line-height: 1 !important;
        box-shadow: 0 4px 10px rgba(15, 23, 42, 0.05) !important;
    }

    body.post-type-archive-product nav.woocommerce-pagination .current,
    body.post-type-archive-product .woocommerce-pagination .current,
    body.post-type-archive-product .ast-pagination .current,
    body.post-type-archive-product ul.page-numbers .current {
        background: #1f3a5f !important;
        border-color: #1f3a5f !important;
        color: #ffffff !important;
        box-shadow: 0 10px 18px rgba(31, 58, 95, 0.22) !important;
    }

    body.post-type-archive-product nav.woocommerce-pagination .dots,
    body.post-type-archive-product .woocommerce-pagination .dots,
    body.post-type-archive-product .ast-pagination .dots,
    body.post-type-archive-product ul.page-numbers .dots {
        min-width: 24px !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        color: #778093 !important;
        padding: 0 !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product,
    body.post-type-archive-product.woocommerce-page ul.products li.product {
        position: relative !important;
        --fff-thumb-w: 96px;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .fff-loop-badges,
    body.post-type-archive-product.woocommerce-page ul.products li.product .fff-loop-badges {
        position: absolute !important;
        top: 16px !important;
        left: 16px !important;
        margin: 0 !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        z-index: 8 !important;
        pointer-events: none !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .fff-loop-badge,
    body.post-type-archive-product.woocommerce-page ul.products li.product .fff-loop-badge {
        box-shadow: 0 8px 14px rgba(15, 23, 42, 0.18) !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .fff-loop-badge--custom,
    body.post-type-archive-product.woocommerce-page ul.products li.product .fff-loop-badge--custom {
        max-width: calc(var(--fff-thumb-w) - 8px) !important;
        min-height: 20px !important;
        padding: 4px 5px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: clip !important;
        text-align: center !important;
        text-transform: none !important;
        letter-spacing: 0.02em !important;
        font-size: clamp(7px, 2.1vw, 9px) !important;
        line-height: 1.12 !important;
    }
}

@media (min-width: 768px) {
    body.post-type-archive-product .woocommerce ul.products li.product,
    body.post-type-archive-product.woocommerce-page ul.products li.product {
        position: relative !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .onsale,
    body.post-type-archive-product.woocommerce-page ul.products li.product .onsale,
    body.post-type-archive-product .woocommerce ul.products li.product span.onsale,
    body.post-type-archive-product.woocommerce-page ul.products li.product span.onsale,
    body.post-type-archive-product .woocommerce span.onsale,
    body.post-type-archive-product.woocommerce-page span.onsale {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .fff-loop-badges,
    body.post-type-archive-product.woocommerce-page ul.products li.product .fff-loop-badges {
        position: absolute !important;
        top: 14px !important;
        left: 14px !important;
        margin: 0 !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        z-index: 8 !important;
        pointer-events: none !important;
        max-width: calc(100% - 28px) !important;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .fff-loop-badge,
    body.post-type-archive-product.woocommerce-page ul.products li.product .fff-loop-badge {
        box-shadow: 0 8px 14px rgba(15, 23, 42, 0.18) !important;
    }
}

/* Single product: professional detail layout and predictable content order */
.single-product div.product {
    margin-top: 12px;
}

.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary {
    background: #ffffff;
    border: 1px solid #dfe7e4;
    border-radius: 18px;
    box-shadow: 0 16px 36px rgba(19, 38, 30, 0.08);
}

.single-product div.product .woocommerce-product-gallery {
    padding: 12px;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    border-radius: 14px;
    overflow: hidden;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
    border-radius: 14px;
}

.single-product div.product .summary {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.single-product .product .summary h1.product_title {
    order: 1;
    margin: 0;
    color: #163126;
    font-size: clamp(23px, 2.2vw, 33px);
    line-height: 1.1;
    font-weight: 700;
}

.single-product .product .summary .price {
    order: 2;
    margin: 0;
    color: #1f3a2d;
    font-size: clamp(20px, 1.95vw, 29px);
    line-height: 1.12;
    font-weight: 700;
}

.single-product .product .summary .woocommerce-product-details__short-description {
    order: 3;
    color: #4f635a;
    font-size: 15px;
    line-height: 1.55;
}

.single-product .product .summary form.cart {
    order: 4;
    margin: 0;
    padding: 14px;
    border-radius: 14px;
    border: 1px solid #e3ebe7;
    background: #f8fbf8;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.single-product .product .summary form.cart .quantity {
    margin: 0;
}

.single-product .product .summary form.cart .qty {
    min-width: 70px;
    height: 44px;
    border: 1px solid #cfd9d4;
    border-radius: 10px;
    background: #ffffff;
    text-align: center;
    font-weight: 700;
}

.single-product .product .summary form.cart .single_add_to_cart_button {
    min-height: 44px;
    border-radius: 10px;
    padding: 0 18px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.single-product .product .summary .single-product-category,
.single-product .product .summary .product_meta,
.single-product .product .summary .product_meta .posted_in,
.single-product .product .summary .product_meta .tagged_as,
.single-product .product .summary span.posted_in,
.single-product .product .summary span.tagged_as,
.single-product .product .summary .posted_in,
.single-product .product .summary .tagged_as,
.single-product .single-product-category,
.single-product .product_meta,
.single-product .product_meta .posted_in,
.single-product .product_meta .tagged_as,
.single-product span.posted_in,
.single-product span.tagged_as {
    display: none !important;
}

.single-product .product .summary .product_meta {
    order: 5;
    margin-top: 4px;
    color: #64796f;
}

.single-product .fff-single-product-back {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    margin: 0 0 10px;
}

.single-product .fff-single-product-back__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(31, 58, 95, 0.14);
    background: rgba(255, 255, 255, 0.88);
    color: #1f3a5f;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.single-product .fff-single-product-back__link:hover,
.single-product .fff-single-product-back__link:focus-visible {
    transform: translateY(-1px);
    background: #ffffff;
    color: #173328;
}

.single-product .summary .woocommerce-notices-wrapper {
    position: fixed;
    top: 92px;
    left: 12px;
    right: 12px;
    z-index: 20080;
    width: auto;
    margin: 0 !important;
    pointer-events: none;
}

.single-product .summary .woocommerce-message,
.single-product .summary .woocommerce-info,
.single-product .summary .woocommerce-error {
    margin: 0 !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(31, 58, 95, 0.12) !important;
    background: #f8fbf8 !important;
    color: #173328 !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    pointer-events: auto;
    position: relative;
    overflow: hidden;
}

.single-product .summary .woocommerce-message::before,
.single-product .summary .woocommerce-info::before,
.single-product .summary .woocommerce-error::before {
    display: none !important;
}

.single-product .summary .woocommerce-message a.button,
.single-product .summary .woocommerce-info a.button,
.single-product .summary .woocommerce-error a.button {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 8px 0 0 !important;
    padding: 7px 12px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(31, 58, 95, 0.16) !important;
    background: #ffffff !important;
    color: #1f3a5f !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.single-product .summary .fff-single-product-notice {
    padding-right: 38px !important;
}

.single-product .summary .fff-notice-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 22px;
    height: 22px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: rgba(23, 51, 40, 0.78);
    font-size: 22px;
    line-height: 1;
    font-weight: 400;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
    box-shadow: none;
    text-shadow: none;
}

.single-product .summary .fff-notice-close:hover,
.single-product .summary .fff-notice-close:focus-visible {
    background: rgba(31, 58, 95, 0.05);
    color: #173328;
    transform: scale(1.05);
}

.single-product .summary .woocommerce-message a.button:hover,
.single-product .summary .woocommerce-info a.button:hover,
.single-product .summary .woocommerce-error a.button:hover {
    background: #f7fafc !important;
    color: #173328 !important;
}

.single-product .summary .woocommerce-notices-wrapper .woocommerce-message a.button,
.single-product .summary .woocommerce-notices-wrapper .woocommerce-info a.button,
.single-product .summary .woocommerce-notices-wrapper .woocommerce-error a.button {
    width: auto !important;
    min-width: 0 !important;
}

@media (min-width: 768px) {
    .single-product .summary .woocommerce-notices-wrapper {
        top: 104px !important;
        left: 50% !important;
        right: auto !important;
        width: min(620px, calc(100% - 48px)) !important;
        transform: translateX(-50%) !important;
    }

    .single-product .summary .woocommerce-message,
    .single-product .summary .woocommerce-info,
    .single-product .summary .woocommerce-error {
        text-align: center !important;
    }

    .single-product .summary .woocommerce-message a.button,
    .single-product .summary .woocommerce-info a.button,
    .single-product .summary .woocommerce-error a.button {
        margin: 8px auto 0 !important;
    }

    .fff-mobile-cart-toggle {
        position: fixed !important;
        right: 24px !important;
        bottom: 24px !important;
        z-index: 20090 !important;
    }
}

.single-product .woocommerce-product-gallery__trigger {
    display: none !important;
}

@media (min-width: 1024px) {
    .single-product div.product div.images.woocommerce-product-gallery {
        width: 34% !important;
    }

    .single-product div.product div.summary.entry-summary {
        width: 62% !important;
    }
}

@media (max-width: 921px) {
    .single-product div.product .woocommerce-product-gallery,
    .single-product div.product .summary {
        border-radius: 14px;
    }

    .single-product div.product div.images.woocommerce-product-gallery {
        width: 66% !important;
        max-width: 420px;
        margin: 0 auto 12px;
        float: none !important;
    }

    .single-product div.product div.summary.entry-summary {
        width: 100% !important;
    }

    .single-product div.product .summary {
        padding: 16px;
        gap: 10px;
    }

    .single-product .product .summary h1.product_title {
        font-size: clamp(23px, 6.1vw, 31px);
    }

    .single-product .product .summary .price {
        font-size: clamp(21px, 5.4vw, 28px);
    }

    .single-product .product .summary .woocommerce-product-details__short-description {
        font-size: 15px;
        line-height: 1.5;
    }

    .single-product .product .summary form.cart {
        padding: 10px;
        gap: 8px;
    }

    .single-product .product .summary form.cart .qty {
        min-width: 60px;
        height: 40px;
    }

    .single-product .product .summary form.cart .single_add_to_cart_button {
        min-height: 40px;
        font-size: 14px;
        width: 100%;
    }
}

/* Single product sale badge: overlay on image, never in content flow */
.single-product div.product {
    position: relative;
}

.single-product div.product div.images.woocommerce-product-gallery {
    position: relative;
}

.single-product .fff-single-product-badges {
    position: absolute !important;
    top: 18px !important;
    left: 18px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    z-index: 21 !important;
    pointer-events: none !important;
    max-width: calc(100% - 36px) !important;
}

.single-product .fff-single-product-badges .fff-loop-badge {
    right: auto !important;
    margin: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    background: #1f3a5f !important;
    color: #ffffff !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    box-shadow: 0 8px 14px rgba(15, 23, 42, 0.2) !important;
}

.single-product .fff-single-product-badges .fff-loop-badge--sale {
    background: #1f3a5f !important;
    color: #ffffff !important;
}

.single-product .fff-single-product-badges .fff-loop-badge--custom {
    background: #f4b860 !important;
    color: #1c2536 !important;
}

.single-product div.product .onsale,
.single-product div.product span.onsale,
.single-product .woocommerce span.onsale {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Single product: related/upsell products block */
.single-product .related.products,
.single-product .up-sells.upsells.products {
    margin-top: 26px;
    padding: 18px 18px 14px;

.single-product .up-sells.upsells.products > h2,
.single-product .related.products > h2 {
    display: block !important;
    margin: 0 0 18px !important;
    color: #28483b !important;
    text-align: center !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

.single-product .up-sells.upsells.products > h2::after,
.single-product .related.products > h2::after {
    display: block !important;
    content: '' !important;
    width: 38px !important;
    height: 2px !important;
    margin: 9px auto 0 !important;
    background: #d8e2dc !important;
}

/* Compact recommendation slider dimensions */
.single-product .up-sells.upsells.products,
.single-product .related.products {
    height: 340px !important;
    min-height: 340px !important;
}

.single-product .up-sells.upsells.products ul.products,
.single-product .related.products ul.products {
    height: 245px !important;
}

.single-product .up-sells.upsells.products ul.products li.product,
.single-product .related.products ul.products li.product {
    height: 220px !important;
    min-height: 220px !important;
}

.single-product .up-sells.upsells.products ul.products li.product a img,
.single-product .related.products ul.products li.product a img {
    height: 115px !important;
    max-height: 115px !important;
}
    border: 1px solid #dfe7e4;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,0.24), rgba(248,251,249,0.7));
    box-shadow: 0 14px 30px rgba(19, 38, 30, 0.06);
}

.single-product .ast-woocommerce-container,
.single-product .site-main,
.single-product .site-content,
.single-product .ast-container {
    background: transparent !important;
}

.single-product .ast-article-single,
.single-product article.product,
.single-product div.product {
    background: inherit !important;
    border-radius: 20px !important;
}

.single-product article.product,
.single-product div.product {
    padding: 0 !important;
}

.single-product .related.products > h2,
.single-product .up-sells.upsells.products > h2 {
    margin: 0 0 14px;
    color: #173328;
    font-size: clamp(21px, 2.1vw, 30px);
    line-height: 1.15;
}

.single-product .related.products ul.products,
.single-product .up-sells.upsells.products ul.products {
    margin: 0 !important;
    gap: 16px !important;
    padding: 12px !important;
    border-radius: 12px !important;
    background: transparent !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    align-items: stretch !important;
}

.single-product .related.products ul.products li.product,
.single-product .up-sells.upsells.products ul.products li.product {
    position: relative !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid #dbe4df !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbf8 100%) !important;
    box-shadow: 0 8px 20px rgba(19, 38, 30, 0.07) !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.single-product .related.products ul.products li.product:hover,
.single-product .up-sells.upsells.products ul.products li.product:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(19, 38, 30, 0.11) !important;
}

.single-product .related.products ul.products li.product a,
.single-product .up-sells.upsells.products ul.products li.product a {
    display: block;
    text-decoration: none;
}

.single-product .related.products ul.products li.product a img,
.single-product .up-sells.upsells.products ul.products li.product a img {
    width: 100% !important;
    aspect-ratio: 1 / 1;
    max-height: 240px !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    background: #eef3ef;
}

.single-product .related.products ul.products li.product .onsale,
.single-product .related.products ul.products li.product span.onsale,
.single-product .up-sells.upsells.products ul.products li.product .onsale,
.single-product .up-sells.upsells.products ul.products li.product span.onsale {
    display: none !important;
    visibility: hidden !important;
}

.single-product .related.products ul.products li.product .fff-loop-badges,
.single-product .up-sells.upsells.products ul.products li.product .fff-loop-badges {
    position: absolute !important;
    top: 16px !important;
    left: 16px !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    z-index: 8 !important;
    pointer-events: none !important;
    max-width: calc(100% - 32px) !important;
}

.single-product .related.products ul.products li.product .fff-loop-badge,
.single-product .up-sells.upsells.products ul.products li.product .fff-loop-badge {
    padding: 5px 8px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    box-shadow: 0 8px 14px rgba(15, 23, 42, 0.18) !important;
}

.single-product .related.products ul.products li.product .fff-loop-badge--sale,
.single-product .up-sells.upsells.products ul.products li.product .fff-loop-badge--sale {
    background: #1f3a5f !important;
    color: #ffffff !important;
}

.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
.single-product .up-sells.upsells.products ul.products li.product .woocommerce-loop-product__title {
    font-size: 15px !important;
    line-height: 1.28 !important;
    margin-top: 11px !important;
    color: #173328 !important;
    font-weight: 700 !important;
    min-height: 2.6em;
}

.single-product .related.products ul.products li.product .price,
.single-product .up-sells.upsells.products ul.products li.product .price {
    display: block;
    margin-top: 6px;
    color: #1f3a5f !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

@media (max-width: 921px) {
    .single-product .related.products,
    .single-product .up-sells.upsells.products {
        padding: 14px 12px 10px;
        border-radius: 14px;
    }

    .single-product .related.products ul.products,
    .single-product .up-sells.upsells.products ul.products {
        gap: 12px !important;
        padding: 10px !important;
    }

    .single-product .related.products ul.products li.product a img,
    .single-product .up-sells.upsells.products ul.products li.product a img {
        max-height: 170px !important;
    }
}

/* Single product mobile refinement */
@media (max-width: 767.98px) {
    .single-product div.product {
        display: block !important;
    }

    .single-product div.product div.images.woocommerce-product-gallery,
    .single-product div.product div.summary.entry-summary {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        clear: both !important;
    }

    .single-product .ast-woocommerce-container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .single-product .ast-article-single,
    .single-product article.product,
    .single-product div.product {
        padding: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    .single-product div.product {
        margin-top: 8px;
    }

    .single-product div.product .woocommerce-product-gallery {
        width: min(100%, 220px) !important;
        max-width: 220px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 7px !important;
        border-radius: 13px !important;
        box-shadow: 0 8px 18px rgba(19, 38, 30, 0.08) !important;
        margin-bottom: 12px !important;
    }

    .single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
    .single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image,
    .single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 10px !important;
    }

    .single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
        display: block !important;
        height: auto !important;
        object-fit: cover !important;
    }

    .single-product div.product .summary {
        padding: 12px !important;
        border-radius: 13px !important;
        gap: 7px !important;
        box-shadow: 0 8px 18px rgba(19, 38, 30, 0.08) !important;
    }

    .single-product .product .summary h1.product_title {
        font-size: clamp(17px, 4.8vw, 21px) !important;
        line-height: 1.2 !important;
    }

    .single-product .product .summary .price {
        font-size: clamp(15px, 4.2vw, 19px) !important;
        line-height: 1.18 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        width: fit-content !important;
        padding: 4px 8px !important;
        border-radius: 10px !important;
        background: rgba(31, 58, 95, 0.08) !important;
        border: 1px solid rgba(31, 58, 95, 0.15) !important;
    }

    .single-product .product .summary .price del {
        font-size: 0.82em !important;
        opacity: 0.7 !important;
    }

    .single-product .product .summary .woocommerce-product-details__short-description {
        font-size: 12px !important;
        line-height: 1.5 !important;
    }

    .single-product .product .summary .product_meta {
        font-size: 10px;
        line-height: 1.32;
    }

    .single-product .product .summary .product_meta .posted_in {
        display: none !important;
    }

    .single-product .product .summary form.cart {
        padding: 9px !important;
        border-radius: 11px !important;
        gap: 8px !important;
        position: fixed !important;
        left: 10px !important;
        right: 10px !important;
        bottom: calc(62px + env(safe-area-inset-bottom)) !important;
        z-index: 20050 !important;
        background: rgba(248, 251, 248, 0.95) !important;
        backdrop-filter: blur(6px);
        border-color: rgba(31, 58, 95, 0.18) !important;
        box-shadow: 0 10px 20px rgba(15, 23, 42, 0.12) !important;
    }

    .single-product .product .summary {
        padding-bottom: 140px !important;
    }

    .single-product .product .summary form.cart .quantity {
        width: 100%;
    }

    .single-product .product .summary form.cart .qty {
        width: 100%;
        min-width: 0 !important;
        height: 38px !important;
        font-size: 14px !important;
    }

    .single-product .product .summary form.cart .single_add_to_cart_button {
        width: 100% !important;
        min-height: 40px !important;
        font-size: 11px !important;
        letter-spacing: 0.01em !important;
        border: 0 !important;
        border-radius: 11px !important;
        color: #ffffff !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        background: linear-gradient(135deg, #1f3a5f 0%, #2a5a8f 100%) !important;
        box-shadow: 0 10px 18px rgba(31, 58, 95, 0.25) !important;
    }

    .single-product .product .summary form.cart .single_add_to_cart_button:hover,
    .single-product .product .summary form.cart .single_add_to_cart_button:focus-visible {
        transform: translateY(-1px);
        box-shadow: 0 12px 22px rgba(31, 58, 95, 0.32) !important;
    }

    .single-product .fff-single-product-back {
        display: flex;
        justify-content: flex-end;
        width: 100%;
        margin: 0 0 10px;
    }

    .single-product .fff-single-product-back__link {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 8px 12px;
        border-radius: 999px;
        border: 1px solid rgba(31, 58, 95, 0.14);
        background: rgba(255, 255, 255, 0.88);
        color: #1f3a5f;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 0.03em;
        text-decoration: none;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
    }

    .single-product .fff-single-product-back__link:hover,
    .single-product .fff-single-product-back__link:focus-visible {
        transform: translateY(-1px);
        background: #ffffff;
        color: #173328;
    }

    .single-product .summary .woocommerce-notices-wrapper {
            position: fixed;
            top: 92px;
            left: 12px;
            right: 12px;
            z-index: 20080;
            width: auto;
            margin: 0 !important;
            pointer-events: none;
    }

    .single-product .summary .woocommerce-message,
    .single-product .summary .woocommerce-info,
    .single-product .summary .woocommerce-error {
        margin: 0 !important;
        padding: 10px 12px !important;
        border-radius: 12px !important;
        border: 1px solid rgba(31, 58, 95, 0.12) !important;
        background: #f8fbf8 !important;
        color: #173328 !important;
        box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08) !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
        pointer-events: auto;
        position: relative;
        overflow: hidden;
    }

    .single-product .summary .woocommerce-message::before,
    .single-product .summary .woocommerce-info::before,
    .single-product .summary .woocommerce-error::before {
        display: none !important;
    }

    .single-product .summary .woocommerce-message a.button,
    .single-product .summary .woocommerce-info a.button,
    .single-product .summary .woocommerce-error a.button {
        float: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 8px 0 0 !important;
        padding: 7px 12px !important;
        border-radius: 999px !important;
        border: 1px solid rgba(31, 58, 95, 0.16) !important;
        background: #ffffff !important;
        color: #1f3a5f !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        box-shadow: none !important;
    }

    .single-product .summary .fff-single-product-notice {
        padding-right: 44px !important;
    }

    .single-product .summary .fff-notice-close {
        position: absolute;
        top: 8px;
        right: 8px;
        width: 28px;
        height: 28px;
        border: 0;
        border-radius: 999px;
        background: rgba(31, 58, 95, 0.08);
        color: #1f3a5f;
        font-size: 20px;
        line-height: 28px;
        font-weight: 400;
        cursor: pointer;
    }

    .single-product .summary .fff-notice-close:hover,
    .single-product .summary .fff-notice-close:focus-visible {
        background: rgba(31, 58, 95, 0.14);
        color: #173328;
    }

    .single-product .summary .woocommerce-message a.button:hover,
    .single-product .summary .woocommerce-info a.button:hover,
    .single-product .summary .woocommerce-error a.button:hover {
        background: #f7fafc !important;
        color: #173328 !important;
    }

    .single-product .summary .woocommerce-notices-wrapper .woocommerce-message a.button,
    .single-product .summary .woocommerce-notices-wrapper .woocommerce-info a.button,
    .single-product .summary .woocommerce-notices-wrapper .woocommerce-error a.button {
        width: 100% !important;
    }

    .single-product .fff-single-product-back {
        margin-bottom: 12px;
    }

    .single-product .fff-single-product-badges {
        top: 12px !important;
        left: 12px !important;
        max-width: calc(100% - 24px) !important;
        gap: 4px !important;
    }

    .single-product .fff-single-product-badges .fff-loop-badge {
        font-size: 8px !important;
        padding: 4px 6px !important;
    }

    .single-product .related.products ul.products,
    .single-product .up-sells.upsells.products ul.products {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
        padding: 0 !important;
    }

    .single-product .related.products ul.products li.product,
    .single-product .up-sells.upsells.products ul.products li.product {
        padding: 12px !important;
    }

    .single-product .related.products ul.products li.product a,
    .single-product .up-sells.upsells.products ul.products li.product a {
        display: block;
    }

    .single-product .related.products ul.products li.product a img,
    .single-product .up-sells.upsells.products ul.products li.product a img {
        max-height: 220px !important;
    }

    .single-product .related.products ul.products li.product .woocommerce-loop-product__title,
    .single-product .up-sells.upsells.products ul.products li.product .woocommerce-loop-product__title {
        font-size: 14px !important;
        line-height: 1.3 !important;
        margin-top: 10px !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        min-height: 2.6em;
    }

    .single-product .related.products ul.products li.product .price,
    .single-product .up-sells.upsells.products ul.products li.product .price {
        font-size: 13px !important;
        line-height: 1.2 !important;
    }

    .single-product .related.products > h2,
    .single-product .up-sells.upsells.products > h2 {
        font-size: clamp(18px, 5.4vw, 23px) !important;
        margin-bottom: 10px !important;
    }
}

.fff-mobile-cart-toggle-slot {
    display: none;
}

.ast-button-wrap,
#ast-mobile-header .site-header-primary-section-right {
    position: relative;
}

.fff-mobile-cart-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    border: 1px solid rgba(31, 58, 95, 0.18);
    background: rgba(255, 255, 255, 0.96);
    color: #1f3a5f;
    box-shadow: 0 10px 18px rgba(15, 23, 42, 0.12);
    text-decoration: none;
    position: relative;
}

.fff-mobile-cart-toggle__icon svg {
    width: 20px;
    height: 20px;
    display: block;
}

.fff-mobile-cart-toggle__count {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 999px;
    background: #d72621;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    line-height: 18px;
    text-align: center;
    box-shadow: 0 6px 12px rgba(215, 38, 33, 0.24);
}

@media (min-width: 768px) {
    .fff-mobile-cart-toggle {
        display: inline-flex !important;
    }
}

@media (max-width: 767.98px) {
    .fff-mobile-cart-toggle {
        position: absolute;
        top: 50%;
        right: 3.35rem;
        transform: translateY(-50%);
        z-index: 10;
    }
}

/* Product recommendations: consistent card layout after all theme overrides */
.single-product .related.products,
.single-product .up-sells.upsells.products {
    margin-top: 34px !important;
    padding: 24px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid #e3e9e6 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.single-product .related.products > h2,
.single-product .up-sells.upsells.products > h2 {
    margin: 0 0 18px !important;
    color: #173328 !important;
    font-size: clamp(22px, 2.2vw, 30px) !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
}

.single-product .related.products ul.products,
.single-product .up-sells.upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .related.products ul.products li.product,
.single-product .up-sells.upsells.products ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid #dfe7e3 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 5px 16px rgba(23, 51, 40, 0.06) !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease !important;
}

.single-product .related.products ul.products li.product:hover,
.single-product .up-sells.upsells.products ul.products li.product:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 22px rgba(23, 51, 40, 0.11) !important;
}

.single-product .related.products ul.products li.product > a:first-child,
.single-product .up-sells.upsells.products ul.products li.product > a:first-child {
    display: block !important;
    min-width: 0 !important;
}

.single-product .related.products ul.products li.product a img,
.single-product .up-sells.upsells.products ul.products li.product a img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    max-height: none !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    background: #f3f6f4 !important;
}

.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
.single-product .up-sells.upsells.products ul.products li.product .woocommerce-loop-product__title {
    margin: 12px 2px 0 !important;
    min-height: 2.6em !important;
    color: #173328 !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.single-product .related.products ul.products li.product .price,
.single-product .up-sells.upsells.products ul.products li.product .price {
    margin: 7px 2px 2px !important;
    color: #1f3a5f !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

@media (max-width: 921px) {
    .single-product .related.products,
    .single-product .up-sells.upsells.products {
        margin-top: 28px !important;
        padding-top: 20px !important;
    }

    .single-product .related.products ul.products,
    .single-product .up-sells.upsells.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }
}

@media (max-width: 767.98px) {
    .single-product .related.products,
    .single-product .up-sells.upsells.products {
        margin-top: 24px !important;
        padding-top: 18px !important;
    }

    .single-product .related.products > h2,
    .single-product .up-sells.upsells.products > h2 {
        margin-bottom: 14px !important;
        font-size: 21px !important;
    }

    .single-product .related.products ul.products,
    .single-product .up-sells.upsells.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .single-product .related.products ul.products li.product,
    .single-product .up-sells.upsells.products ul.products li.product {
        padding: 7px !important;
        border-radius: 10px !important;
    }

    .single-product .related.products ul.products li.product .woocommerce-loop-product__title,
    .single-product .up-sells.upsells.products ul.products li.product .woocommerce-loop-product__title {
        margin: 9px 1px 0 !important;
        min-height: 2.6em !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
    }

    .single-product .related.products ul.products li.product .price,
    .single-product .up-sells.upsells.products ul.products li.product .price {
        margin: 5px 1px 1px !important;
        font-size: 12px !important;
    }
}

/* Final recommendation redesign: desktop and mobile use separate compositions */
.single-product .related.products,
.single-product .up-sells.upsells.products {
    margin: 42px 0 0 !important;
    padding: 30px 0 0 !important;
    border: 0 !important;
    border-top: 2px solid #173328 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.single-product .related.products > h2,
.single-product .up-sells.upsells.products > h2 {
    display: flex !important;
    align-items: baseline !important;
    gap: 12px !important;
    margin: 0 0 24px !important;
    color: #173328 !important;
    font-size: clamp(24px, 2.4vw, 34px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    font-weight: 700 !important;
}

.single-product .related.products > h2::after,
.single-product .up-sells.upsells.products > h2::after {
    content: '' !important;
    display: block !important;
    width: 42px !important;
    height: 3px !important;
    flex: 0 0 42px !important;
    background: #f9902c !important;
}

.single-product .related.products ul.products,
.single-product .up-sells.upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .related.products ul.products li.product,
.single-product .up-sells.upsells.products ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 0 16px !important;
    border: 1px solid #d9e2dd !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 7px 20px rgba(23, 51, 40, 0.07) !important;
    overflow: hidden !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.single-product .related.products ul.products li.product:hover,
.single-product .up-sells.upsells.products ul.products li.product:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 14px 30px rgba(23, 51, 40, 0.13) !important;
}

.single-product .related.products ul.products li.product > a:first-child,
.single-product .up-sells.upsells.products ul.products li.product > a:first-child {
    display: block !important;
    margin: 0 !important;
}

.single-product .related.products ul.products li.product a img,
.single-product .up-sells.upsells.products ul.products li.product a img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    max-height: none !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    background: #f1f5f2 !important;
}

.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
.single-product .up-sells.upsells.products ul.products li.product .woocommerce-loop-product__title {
    margin: 16px 16px 0 !important;
    min-height: 2.6em !important;
    color: #173328 !important;
    font-size: 16px !important;
    line-height: 1.28 !important;
    font-weight: 700 !important;
}

.single-product .related.products ul.products li.product .price,
.single-product .up-sells.upsells.products ul.products li.product .price {
    margin: 9px 16px 0 !important;
    color: #1f3a5f !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

@media (max-width: 921px) and (min-width: 768px) {
    .single-product .related.products ul.products,
    .single-product .up-sells.upsells.products ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
}

@media (max-width: 767.98px) {
    .single-product .related.products,
    .single-product .up-sells.upsells.products {
        margin: 30px 0 0 !important;
        padding: 22px 0 0 !important;
        border-top-width: 1px !important;
    }

    .single-product .related.products > h2,
    .single-product .up-sells.upsells.products > h2 {
        display: block !important;
        margin: 0 0 16px !important;
        font-size: 22px !important;
        line-height: 1.15 !important;
        letter-spacing: -0.01em !important;
    }

    .single-product .related.products > h2::after,
    .single-product .up-sells.upsells.products > h2::after {
        display: block !important;
        width: 32px !important;
        height: 3px !important;
        margin-top: 9px !important;
    }

    .single-product .related.products ul.products,
    .single-product .up-sells.upsells.products ul.products {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    .single-product .related.products ul.products li.product,
    .single-product .up-sells.upsells.products ul.products li.product {
        display: grid !important;
        grid-template-columns: 104px minmax(0, 1fr) !important;
        grid-template-rows: auto 1fr !important;
        width: 100% !important;
        max-width: none !important;
        column-gap: 14px !important;
        min-height: 120px !important;
        padding: 8px !important;
        border-radius: 12px !important;
        box-shadow: 0 4px 14px rgba(23, 51, 40, 0.07) !important;
    }

    .single-product .related.products ul.products li.product > a:first-child,
    .single-product .up-sells.upsells.products ul.products li.product > a:first-child {
        grid-row: 1 / span 2 !important;
        grid-column: 1 !important;
        align-self: stretch !important;
    }

    .single-product .related.products ul.products li.product a img,
    .single-product .up-sells.upsells.products ul.products li.product a img {
        width: 104px !important;
        height: 104px !important;
        aspect-ratio: 1 / 1 !important;
        border-radius: 8px !important;
    }

    .single-product .related.products ul.products li.product .woocommerce-loop-product__title,
    .single-product .up-sells.upsells.products ul.products li.product .woocommerce-loop-product__title {
        grid-column: 2 !important;
        margin: 7px 4px 0 0 !important;
        min-height: 0 !important;
        align-self: end !important;
        font-size: 14px !important;
        line-height: 1.28 !important;
    }

    .single-product .related.products ul.products li.product .price,
    .single-product .up-sells.upsells.products ul.products li.product .price {
        grid-column: 2 !important;
        margin: 7px 4px 0 0 !important;
        align-self: start !important;
        font-size: 13px !important;
    }
}

@media (min-width: 768px) {
    .single-product .related.products,
    .single-product .up-sells.upsells.products {
        margin-top: 30px !important;
        padding: 24px !important;
        border: 1px solid #dfe7e3 !important;
        border-radius: 16px !important;
        background: #f8faf9 !important;
        box-shadow: 0 8px 22px rgba(23, 51, 40, 0.05) !important;
    }

    .single-product .related.products > h2,
    .single-product .up-sells.upsells.products > h2 {
        margin-bottom: 18px !important;
        font-size: 27px !important;
        line-height: 1.2 !important;
        letter-spacing: 0 !important;
    }
}

@media (max-width: 767.98px) {
    .single-product .related.products,
    .single-product .up-sells.upsells.products {
        margin-top: 24px !important;
        padding: 18px 12px 14px !important;
        border: 1px solid #dfe7e3 !important;
        border-radius: 14px !important;
        background: #f8faf9 !important;
        box-shadow: 0 6px 18px rgba(23, 51, 40, 0.05) !important;
    }

    .single-product .related.products > h2,
    .single-product .up-sells.upsells.products > h2 {
        margin-bottom: 14px !important;
    }
}

/* Keep recommendation sections visually separate from the product detail panel */
.single-product .related.products,
.single-product .up-sells.upsells.products {
    position: relative !important;
    clear: both !important;
    isolation: isolate !important;
    background: #f6f8f7 !important;
    border: 1px solid #d5e0da !important;
    box-shadow: 0 10px 24px rgba(23, 51, 40, 0.07) !important;
}

.single-product .related.products > h2::after,
.single-product .up-sells.upsells.products > h2::after {
    display: none !important;
    content: none !important;
}

@media (min-width: 768px) {
    .single-product .related.products,
    .single-product .up-sells.upsells.products {
        margin-top: 42px !important;
    }
}

@media (max-width: 767.98px) {
    .single-product .related.products,
    .single-product .up-sells.upsells.products {
        margin-top: 30px !important;
    }
}

@media (min-width: 768px) {
    .single-product .related.products,
    .single-product .up-sells.upsells.products {
        width: calc(100% - 28px) !important;
        max-width: 980px !important;
        margin-top: 58px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 18px !important;
        border-radius: 14px !important;
    }

    .single-product .related.products > h2,
    .single-product .up-sells.upsells.products > h2 {
        margin-bottom: 14px !important;
        color: #28483b !important;
        font-size: 22px !important;
        line-height: 1.2 !important;
        font-weight: 500 !important;
        letter-spacing: 0 !important;
    }

    .single-product .related.products ul.products,
    .single-product .up-sells.upsells.products ul.products {
        gap: 14px !important;
    }

    .single-product .related.products ul.products li.product,
    .single-product .up-sells.upsells.products ul.products li.product {
        padding-bottom: 12px !important;
        border-radius: 11px !important;
    }

    .single-product .related.products ul.products li.product a img,
    .single-product .up-sells.upsells.products ul.products li.product a img {
        width: 88% !important;
        margin: 7px auto 0 !important;
        aspect-ratio: 0.92 / 1 !important;
        border-radius: 7px !important;
    }

    .single-product .related.products ul.products li.product .woocommerce-loop-product__title,
    .single-product .up-sells.upsells.products ul.products li.product .woocommerce-loop-product__title {
        margin-top: 10px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
    }

    .single-product .related.products ul.products li.product .price,
    .single-product .up-sells.upsells.products ul.products li.product .price {
        margin-top: 6px !important;
        font-size: 13px !important;
    }
}

/* Product copy order: short description, full description, then cart */
.woocommerce ul.products li.product .fff-loop-short-description,
.woocommerce-page ul.products li.product .fff-loop-short-description {
    display: -webkit-box !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: auto !important;
    margin: 7px 0 0 !important;
    color: #5c6d65 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    white-space: pre-line !important;
    overflow: visible !important;
}

.woocommerce ul.products li.product .fff-loop-short-description p,
.woocommerce-page ul.products li.product .fff-loop-short-description p {
    margin: 0 0 5px !important;
    color: #5c6d65 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
}

.woocommerce ul.products li.product .fff-loop-short-description h3,
.woocommerce-page ul.products li.product .fff-loop-short-description h3 {
    margin: 0 0 5px !important;
    color: #28483b !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.woocommerce ul.products li.product .fff-loop-short-description h5,
.woocommerce-page ul.products li.product .fff-loop-short-description h5 {
    margin: 0 0 5px !important;
    color: #365b4b !important;
    font-size: 13.5px !important;
    line-height: 1.28 !important;
    font-weight: 600 !important;
}

.woocommerce ul.products li.product .fff-loop-short-description h6,
.woocommerce-page ul.products li.product .fff-loop-short-description h6 {
    margin: 0 0 6px !important;
    color: #28483b !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

.woocommerce ul.products li.product .fff-loop-short-description ul,
.woocommerce ul.products li.product .fff-loop-short-description ol,
.woocommerce-page ul.products li.product .fff-loop-short-description ul,
.woocommerce-page ul.products li.product .fff-loop-short-description ol {
    margin: 0 0 6px 16px !important;
    padding: 0 !important;
    color: #5c6d65 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

.single-product .product .summary .woocommerce-product-details__short-description {
    order: 3 !important;
    margin: 0 !important;
}

.single-product .product .summary .fff-single-product-description {
    order: 4 !important;
    margin: 0 !important;
    padding: 14px 0 2px !important;
    border-top: 1px solid #e3ebe7 !important;
    color: #4f635a !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

.single-product .product .summary .fff-single-product-description p:first-child {
    margin-top: 0 !important;
}

.single-product .product .summary .fff-single-product-description p:last-child {
    margin-bottom: 0 !important;
}

.single-product .product .summary form.cart {
    order: 5 !important;
}

@media (max-width: 767.98px) {
    .woocommerce ul.products li.product .fff-loop-short-description,
    .woocommerce-page ul.products li.product .fff-loop-short-description {
        font-size: 12px !important;
    }

    .single-product .product .summary .fff-single-product-description {
        padding-top: 12px !important;
        font-size: 14px !important;
    }
}

/* Store overview cards: do not inherit the stretched archive-card layout */
.ast-woocommerce-container > ul.products {
    align-items: start !important;
}

.ast-woocommerce-container > ul.products > li.product {
    height: auto !important;
    min-height: 0 !important;
    align-self: start !important;
}

.ast-woocommerce-container > ul.products > li.product .astra-shop-summary-wrap {
    display: block !important;
    flex: none !important;
    gap: 0 !important;
    justify-content: flex-start !important;
    min-height: 0 !important;
    padding: 14px 16px 18px !important;
}

.ast-woocommerce-container > ul.products > li.product .woocommerce-loop-product__title {
    margin: 0 0 8px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
}

.ast-woocommerce-container > ul.products > li.product .price {
    display: block !important;
    margin-top: 12px !important;
    color: #1f3a5f !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.ast-woocommerce-container > ul.products > li.product .price .fff-loop-short-description {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    color: #4f635a !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    white-space: normal !important;
}

.ast-woocommerce-container > ul.products > li.product .price .fff-loop-short-description p,
.ast-woocommerce-container > ul.products > li.product .price .fff-loop-short-description h3,
.ast-woocommerce-container > ul.products > li.product .price .fff-loop-short-description h5,
.ast-woocommerce-container > ul.products > li.product .price .fff-loop-short-description h6 {
    margin: 0 0 5px !important;
    font-size: inherit !important;
    line-height: 1.35 !important;
}

.ast-woocommerce-container > ul.products > li.product .price .fff-loop-short-description h6 {
    color: #28483b !important;
    font-weight: 700 !important;
}

.ast-woocommerce-container > ul.products > li.product .price .fff-loop-short-description h5 {
    color: #365b4b !important;
    font-weight: 600 !important;
}

.ast-woocommerce-container > ul.products > li.product .price .fff-loop-short-description p {
    color: #5c6d65 !important;
    font-weight: 400 !important;
}

/* Separate recommendation sections clearly from the product detail box */
.single-product .up-sells.upsells.products {
    margin-top: 72px !important;
    border-top: 2px solid #d5e0da !important;
}

.single-product .related.products {
    margin-top: 56px !important;
    border-top: 2px solid #d5e0da !important;
}

/* Final compact professional recommendation panel */
.single-product .up-sells.upsells.products,
.single-product .related.products {
    height: 260px !important;
    min-height: 260px !important;
    padding: 0 14px 8px !important;
    overflow: hidden !important;
}

.single-product .up-sells.upsells.products > h2,
.single-product .related.products > h2 {
    margin: 0 -14px 10px !important;
    padding: 11px 14px 9px !important;
    background: #f3f7f4 !important;
    border-bottom: 1px solid #e0e9e3 !important;
    font-size: 19px !important;
    line-height: 1.15 !important;
}

.single-product .up-sells.upsells.products > h2::after,
.single-product .related.products > h2::after {
    width: 30px !important;
    height: 2px !important;
    margin-top: 6px !important;
}

.single-product .up-sells.upsells.products ul.products,
.single-product .related.products ul.products {
    height: 190px !important;
    padding-bottom: 2px !important;
}

.single-product .up-sells.upsells.products ul.products li.product,
.single-product .related.products ul.products li.product {
    flex: 0 0 190px !important;
    width: 190px !important;
    max-width: 190px !important;
    height: 200px !important;
    min-height: 200px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 12px !important;
}

.single-product .up-sells.upsells.products ul.products li.product a img,
.single-product .related.products ul.products li.product a img {
    width: 100% !important;
    height: 125px !important;
    max-height: 125px !important;
    margin: 0 !important;
    border-radius: 12px 12px 0 0 !important;
}

@media (max-width: 767.98px) {
    .single-product .up-sells.upsells.products,
    .single-product .related.products {
        height: 235px !important;
        min-height: 235px !important;
        padding: 0 10px 6px !important;
    }

    .single-product .up-sells.upsells.products > h2,
    .single-product .related.products > h2 {
        margin-left: -10px !important;
        margin-right: -10px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        font-size: 18px !important;
    }

    .single-product .up-sells.upsells.products ul.products,
    .single-product .related.products ul.products {
        height: 175px !important;
    }

    .single-product .up-sells.upsells.products ul.products li.product,
    .single-product .related.products ul.products li.product {
        height: 155px !important;
        min-height: 155px !important;
    }

    .single-product .up-sells.upsells.products ul.products li.product a img,
    .single-product .related.products ul.products li.product a img {
        height: 76px !important;
        max-height: 76px !important;
    }
}

body.woocommerce-account.logged-in.woocommerce-edit-address .woocommerce-MyAccount-content .fff-account-data-box--pilot .acf-form-submit input.acf-button.button.button-primary.button-large {
    background: #2f6f9f !important;
    color: #ffffff !important;
    border-color: #2f6f9f !important;
    box-shadow: 0 7px 16px rgba(47, 111, 159, 0.18) !important;
}

html body.woocommerce-edit-address .fff-account-data-box--pilot .acf-form-submit input.acf-button {
    background: #2f6f9f !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 7px 16px rgba(47, 111, 159, 0.18) !important;
}

html body.woocommerce-edit-address .fff-account-data-box--pilot .acf-form-submit input.acf-button:hover,
html body.woocommerce-edit-address .fff-account-data-box--pilot .acf-form-submit input.acf-button:focus-visible {
    background: #245878 !important;
    color: #ffffff !important;
}

    /* Premium account tile icon layer */
    .fff-account-tile__icon {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 38px !important;
        height: 38px !important;
        margin-bottom: 12px !important;
        border-radius: 10px !important;
        background: #eaf3ed !important;
        color: #28483b !important;
        font-family: "Font Awesome 5 Free" !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 900 !important;
    }

    .fff-account-tile__icon::before {
        content: '\f054' !important;
    }

    .fff-account-tile--edit-address .fff-account-tile__icon::before { content: '\f2bd' !important; }
    .fff-account-tile--meine-tickets .fff-account-tile__icon::before { content: '\f3ff' !important; }
    .fff-account-tile--orders .fff-account-tile__icon::before { content: '\f07a' !important; }
    .fff-account-tile--subscriptions .fff-account-tile__icon::before { content: '\f073' !important; }
    .fff-account-tile--tra .fff-account-tile__icon::before { content: '\f0e7' !important; }
    .fff-account-tile--ticket-uebersicht .fff-account-tile__icon::before { content: '\f002' !important; }
    .fff-account-tile--customer-logout .fff-account-tile__icon::before { content: '\f2f5' !important; }

    .fff-account-tile--tra .fff-account-tile__icon {
        background: #fff4e8 !important;
        color: #df7918 !important;
    }

    .fff-account-tile--customer-logout .fff-account-tile__icon {
        background: #fbe9e6 !important;
        color: #8a4d48 !important;
    }

    /* Premium Meine Daten view */
    body.woocommerce-edit-address .woocommerce-MyAccount-content {
        background: linear-gradient(145deg, #ffffff 0%, #fbfdfb 100%) !important;
    }

    body.woocommerce-edit-address .fff-account-data-grid {
        align-items: start !important;
    }

    body.woocommerce-edit-address .fff-account-data-box--details {
        background: #ffffff !important;
        box-shadow: 0 10px 24px rgba(19, 38, 30, 0.05) !important;
    }

    body.woocommerce-edit-address .fff-account-data-box--pilot,
    body.woocommerce-edit-address .fff-account-data-box--billing {
        min-height: 220px !important;
        background: linear-gradient(145deg, #f8fbf9 0%, #f1f6f3 100%) !important;
    }

    body.woocommerce-edit-address .fff-account-data-box h3::before {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 26px !important;
        height: 26px !important;
        margin-right: 8px !important;
        border-radius: 7px !important;
        background: #eaf3ed !important;
        color: #28483b !important;
        content: '\f2bd' !important;
        font-family: "Font Awesome 5 Free" !important;
        font-size: 12px !important;
        font-weight: 900 !important;
    }

    body.woocommerce-edit-address .fff-account-data-box--pilot h3::before { content: '\f559' !important; }
    body.woocommerce-edit-address .fff-account-data-box--billing h3::before { content: '\f3c5' !important; }

    body.woocommerce-edit-address .fff-account-data-box .password-input {
        position: relative !important;
        display: block !important;
        width: 100% !important;
    }

    body.woocommerce-edit-address .fff-account-data-box .password-input .input-text {
        width: 100% !important;
        padding-right: 54px !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-edit-address .fff-account-data-box .show-password-input {
        position: absolute !important;
        top: 50% !important;
        right: 10px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 34px !important;
        height: 30px !important;
        margin: 0 !important;
        padding: 4px !important;
        border: 1px solid #cbdcd1 !important;
        border-radius: 6px !important;
        background: #ffffff !important;
        color: #52675c !important;
        font-size: 0 !important;
        line-height: 1 !important;
        transform: translateY(-50%) !important;
    }

    body.woocommerce-edit-address .fff-account-data-box .show-password-input::after {
        content: '\f06e' !important;
        font-family: "Font Awesome 5 Free" !important;
        font-size: 14px !important;
        font-weight: 900 !important;
    }

    body.woocommerce-edit-address .fff-account-data-box .show-password-input.display-password::after {
        content: '\f070' !important;
    }

    body.woocommerce-edit-address .fff-account-data-box .show-password-input:hover,
    body.woocommerce-edit-address .fff-account-data-box .show-password-input:focus-visible {
        border-color: #f9902c !important;
        background: #fff8f0 !important;
        color: #df7918 !important;
    }

    body.woocommerce-edit-address .fff-account-data-box .acf-form {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    @media screen and (max-width: 767px) {
        .fff-account-tile {
            min-height: 140px !important;
        }

        body.woocommerce-edit-address .fff-account-data-box--pilot,
        body.woocommerce-edit-address .fff-account-data-box--billing {
            min-height: 0 !important;
        }
    }

    @media screen and (max-width: 767px) {
        body.woocommerce-account.logged-in:not(.woocommerce-dashboard) .woocommerce-MyAccount-navigation {
            padding: 8px !important;
            border-radius: 12px !important;
            background: #f8fbf9 !important;
            box-shadow: 0 10px 24px rgba(19, 38, 30, 0.07) !important;
        }

        body.woocommerce-account.logged-in:not(.woocommerce-dashboard) .woocommerce-MyAccount-navigation ul {
            display: none !important;
            grid-template-columns: 1fr !important;
            gap: 0 !important;
            margin: 6px 0 0 !important;
            padding-top: 6px !important;
            border-top: 1px solid #e7eeea !important;
        }

        body.woocommerce-account.logged-in:not(.woocommerce-dashboard) .woocommerce-MyAccount-navigation.is-open ul {
            display: grid !important;
        }

        .fff-account-nav-toggle {
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            width: 100% !important;
            min-height: 48px !important;
            padding: 10px 12px !important;
            border: 0 !important;
            border-radius: 8px !important;
            border: 1px solid #d8e6de !important;
            background: #eef5f0 !important;
            color: #28483b !important;
            font-size: 13px !important;
            font-weight: 800 !important;
            text-align: left !important;
        }

        .fff-account-nav-toggle span:last-child {
            color: #2f6f9f !important;
            font-size: 20px !important;
            line-height: 1 !important;
            transform: translateY(-2px) !important;
            transition: transform 160ms ease !important;
        }

        .woocommerce-MyAccount-navigation.is-open .fff-account-nav-toggle span:last-child {
            transform: rotate(180deg) translateY(2px) !important;
        }

        body.woocommerce-account.logged-in:not(.woocommerce-dashboard) .woocommerce-MyAccount-navigation a {
            display: flex !important;
            align-items: center !important;
            min-height: 50px !important;
            margin: 2px 0 !important;
            padding: 10px 12px !important;
            border-radius: 8px !important;
            font-size: 13px !important;
        }

        body.woocommerce-account.logged-in:not(.woocommerce-dashboard) .woocommerce-MyAccount-navigation li.is-active a {
            background: #eef5f0 !important;
            color: #173328 !important;
            box-shadow: inset 3px 0 0 #f9902c !important;
        }

        body.woocommerce-account.logged-in:not(.woocommerce-dashboard) .woocommerce-MyAccount-navigation-link--tra {
            margin-top: 8px !important;
            padding-top: 6px !important;
            border-top: 1px solid #e7eeea !important;
        }

        body.woocommerce-account.logged-in:not(.woocommerce-dashboard) .woocommerce-MyAccount-navigation-link--customer-logout {
            margin-top: 6px !important;
            padding-top: 6px !important;
            border-top: 1px solid #e7eeea !important;
        }

        body.woocommerce-account.logged-in:not(.woocommerce-dashboard) .woocommerce-MyAccount-navigation-link--customer-logout a {
            border-radius: 8px !important;
        }
    }

    @media screen and (min-width: 768px) {
        .fff-account-nav-toggle {
            display: none !important;
        }
    }

    .fff-pilot-data {
        display: grid !important;
        gap: 10px !important;
        margin: 0 !important;
    }

    .fff-pilot-data > div {
        display: flex !important;
        align-items: baseline !important;
        justify-content: space-between !important;
        gap: 16px !important;
        padding: 12px 0 !important;
        border-bottom: 1px solid #e1ebe5 !important;
    }

    .fff-pilot-data dt {
        color: #6a7d73 !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        letter-spacing: 0.04em !important;
        text-transform: uppercase !important;
    }

    .fff-pilot-data dd {
        margin: 0 !important;
        color: #173328 !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        text-align: right !important;
    }

    .fff-account-data-hint {
        margin: 14px 0 0 !important;
        color: #7a8b82 !important;
        font-size: 11px !important;
        line-height: 1.45 !important;
    }

    @media screen and (max-width: 767px) {
        body.woocommerce-account.logged-in .woocommerce {
            width: calc(100% + 28px) !important;
            max-width: none !important;
            margin-left: -14px !important;
            padding: 0 8px 48px !important;
        }

        body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
            padding: 18px 12px 22px !important;
        }

        body.woocommerce-edit-address .fff-account-data-grid {
            gap: 10px !important;
            margin-top: 16px !important;
        }

        body.woocommerce-edit-address .fff-account-data-box {
            padding: 14px !important;
            border-radius: 10px !important;
        }

        body.woocommerce-edit-address .fff-account-data-box h3 {
            margin-bottom: 11px !important;
            font-size: 15px !important;
        }

        body.woocommerce-edit-address .fff-account-data-box .woocommerce-form-row,
        body.woocommerce-edit-address .fff-account-data-box .form-row {
            margin-bottom: 10px !important;
        }

        body.woocommerce-edit-address .fff-account-data-box label,
        body.woocommerce-edit-address .fff-account-data-box .acf-label label {
            margin-bottom: 4px !important;
            font-size: 10px !important;
        }

        body.woocommerce-edit-address .fff-account-data-box input.input-text,
        body.woocommerce-edit-address .fff-account-data-box input[type="text"],
        body.woocommerce-edit-address .fff-account-data-box input[type="email"],
        body.woocommerce-edit-address .fff-account-data-box input[type="password"] {
            min-height: 40px !important;
            padding: 9px 10px !important;
        }

        .fff-pilot-data > div {
            gap: 10px !important;
            padding: 9px 0 !important;
        }

        .fff-pilot-data dt {
            font-size: 10px !important;
        }

        .fff-pilot-data dd {
            font-size: 13px !important;
        }
    }

    body.woocommerce-edit-address .fff-account-data-box--pilot,
    body.woocommerce-edit-address .fff-account-data-box--billing {
        min-height: 220px !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-account.logged-in .fff-account-data-box .woocommerce-form-row,
    body.woocommerce-account.logged-in .fff-account-data-box .form-row,
    body.woocommerce-account.logged-in .fff-account-data-box .acf-field {
        margin-bottom: 10px !important;
    }

    body.woocommerce-account.logged-in .fff-account-data-box input.input-text,
    body.woocommerce-account.logged-in .fff-account-data-box input[type="text"],
    body.woocommerce-account.logged-in .fff-account-data-box input[type="email"],
    body.woocommerce-account.logged-in .fff-account-data-box input[type="password"],
    body.woocommerce-account.logged-in .fff-account-data-box select,
    body.woocommerce-account.logged-in .fff-account-data-box textarea {
        min-height: 40px !important;
        padding: 8px 10px !important;
        font-size: 13px !important;
    }

    body.woocommerce-account.logged-in .fff-account-data-box label,
    body.woocommerce-account.logged-in .fff-account-data-box .acf-label label {
        margin-bottom: 4px !important;
        font-size: 10px !important;
    }

    @media screen and (max-width: 767px) {
        body.woocommerce-edit-address .fff-account-data-box--pilot,
        body.woocommerce-edit-address .fff-account-data-box--billing {
            min-height: 330px !important;
        }
    }

    body.woocommerce-edit-address .fff-account-data-box--pilot h3,
    body.woocommerce-edit-address .fff-account-data-box--billing h3 {
        margin-top: 0 !important;
        margin-bottom: 10px !important;
    }

    body.woocommerce-edit-address .fff-account-data-box--pilot .acf-form {
        margin: 0 !important;
        padding: 0 !important;
    }

    body.woocommerce-edit-address .fff-account-data-box--pilot .acf-fields {
        margin: 0 !important;
    }

    body.woocommerce-edit-address .fff-account-data-box--pilot .acf-field {
        margin-bottom: 8px !important;
        padding: 0 !important;
    }

    body.woocommerce-edit-address .fff-account-data-box--pilot .acf-form-submit {
        margin-top: 8px !important;
    }

    body.woocommerce-edit-address .fff-account-data-box--pilot .fff-account-data-hint {
        margin-top: 8px !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .woocommerce-MyAccount-content .fff-account-data-box--pilot form.acf-form {
        margin: 0 !important;
        padding: 0 !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-data-box--pilot h3,
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-data-box--billing h3 {
        margin-top: 0 !important;
        margin-bottom: 8px !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-data-box--pilot .acf-field {
        margin: 0 0 6px !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-data-box--pilot .acf-label {
        margin-bottom: 3px !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-data-box--pilot .acf-input input,
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-data-box--pilot .acf-input select {
        min-height: 32px !important;
        padding: 6px 8px !important;
        font-size: 12px !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-data-box--pilot .acf-form-submit {
        margin-top: 6px !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-summary {
        transition: opacity 180ms ease, transform 180ms ease !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor {
        max-height: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        transform: translateY(-6px) !important;
        transition: max-height 260ms ease, opacity 180ms ease, transform 260ms ease !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-data-box.is-editing .fff-account-summary {
        display: none !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-data-box.is-editing .fff-account-editor {
        max-height: 900px !important;
        opacity: 1 !important;
        transform: translateY(0) !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-data-edit-toggle,
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-data-cancel {
        min-height: 36px !important;
        padding: 8px 13px !important;
        border-radius: 8px !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        cursor: pointer !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-data-edit-toggle {
        border: 1px solid #2f6f9f !important;
        background: #2f6f9f !important;
        color: #ffffff !important;
        box-shadow: 0 7px 16px rgba(47, 111, 159, 0.18) !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-data-edit-toggle::before {
        margin-right: 7px !important;
        content: '\f044' !important;
        font-family: "Font Awesome 5 Free" !important;
        font-weight: 900 !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-data-cancel {
        margin-top: 8px !important;
        border: 1px solid #cbdcd1 !important;
        background: #ffffff !important;
        color: #52675c !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-data-edit-toggle:hover,
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-data-edit-toggle:focus-visible {
        background: #245878 !important;
        color: #ffffff !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-summary address,
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-summary .fff-pilot-data,
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-summary .fff-billing-data {
        color: #52675c !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-pilot-data > div {
        padding: 8px 0 !important;
        border-bottom: 0 !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-pilot-data dt {
        color: #6a7d73 !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-pilot-data dd {
        color: #173328 !important;
        font-size: 13px !important;
        font-weight: 700 !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-billing-data {
        display: grid !important;
        gap: 5px !important;
        margin: 12px 0 14px !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-billing-data > div {
        display: flex !important;
        align-items: baseline !important;
        justify-content: space-between !important;
        gap: 10px !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-billing-data dt {
        color: #6a7d73 !important;
        font-size: 11px !important;
        font-weight: 700 !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-billing-data dd {
        margin: 0 !important;
        color: #173328 !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        text-align: right !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor form .form-row,
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor form .form-row-wide,
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor form input.input-text,
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor form select,
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor form textarea {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor form .form-row {
        float: none !important;
        clear: both !important;
        margin-right: 0 !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor form h3 {
        display: none !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor form h2 {
        display: none !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor .acf-fields {
        display: block !important;
        width: 100% !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor .acf-field,
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor .form-row,
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor .form-row-wide {
        display: block !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor input.input-text,
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor input[type="text"],
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor input[type="email"],
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor input[type="tel"],
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor select,
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor textarea {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        background: #f8fbf9 !important;
        border: 1px solid #cbdcd1 !important;
        box-shadow: none !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor label,
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor .acf-label label {
        font-size: 11px !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor input[type="submit"],
    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor .fff-data-cancel {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 116px !important;
        min-width: 116px !important;
        height: 42px !important;
        min-height: 42px !important;
        margin-top: 8px !important;
        padding: 8px 12px !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor input[type="submit"] {
        border: 0 !important;
        background: #2f6f9f !important;
        color: #ffffff !important;
        box-shadow: 0 7px 16px rgba(47, 111, 159, 0.18) !important;
    }

    html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor .fff-data-cancel {
        border: 1px solid #cbdcd1 !important;
        background: #ffffff !important;
        color: #52675c !important;
    }

    /* Refined account actions */
    body.woocommerce-edit-address .fff-account-data-box .woocommerce-Button,
    body.woocommerce-edit-address .fff-account-data-box .acf-form-submit input[type="submit"],
    body.woocommerce-edit-address .fff-account-data-link {
        background: #2f6f9f !important;
        color: #ffffff !important;
        box-shadow: 0 7px 16px rgba(47, 111, 159, 0.18) !important;
    }

    body.woocommerce-edit-address .fff-account-data-box .woocommerce-Button:hover,
    body.woocommerce-edit-address .fff-account-data-box .woocommerce-Button:focus-visible,
    body.woocommerce-edit-address .fff-account-data-box .acf-form-submit input[type="submit"]:hover,
    body.woocommerce-edit-address .fff-account-data-box .acf-form-submit input[type="submit"]:focus-visible,
    body.woocommerce-edit-address .fff-account-data-link:hover,
    body.woocommerce-edit-address .fff-account-data-link:focus-visible {
        background: #245878 !important;
        color: #ffffff !important;
        transform: translateY(-1px) !important;
    }

    body.woocommerce-edit-address .fff-account-data-link::before {
        margin-right: 7px !important;
        content: '\f3c5' !important;
        font-family: "Font Awesome 5 Free" !important;
        font-weight: 900 !important;
    }

    body.woocommerce-edit-address .fff-account-data-box--pilot .acf-form-submit {
        margin-top: 16px !important;
    }

    body.woocommerce-edit-address .fff-account-data-box--pilot .acf-form-submit input[type="submit"] {
        min-height: 40px !important;
        padding: 10px 15px !important;
        border: 0 !important;
        border-radius: 8px !important;
        background: #2f6f9f !important;
        color: #ffffff !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        cursor: pointer !important;
    }

    body.woocommerce-edit-address .fff-account-data-box--pilot .acf-form-submit input[type="submit"]::before {
        content: '\f0c7' !important;
        font-family: "Font Awesome 5 Free" !important;
        font-weight: 900 !important;
    }

/* Absolute final geometry: card width and image width are identical */
body.single-product .ast-article-single .up-sells.upsells.products,
body.single-product .ast-article-single .related.products {
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    height: 340px !important;
    min-height: 340px !important;
}

body.single-product .ast-article-single .up-sells.upsells.products ul.products,
body.single-product .ast-article-single .related.products ul.products {
    height: 300px !important;
    min-height: 300px !important;
}

body.single-product .ast-article-single .up-sells.upsells.products ul.products li.product,
body.single-product .ast-article-single .related.products ul.products li.product {
    flex: 0 0 150px !important;
    width: 150px !important;
    max-width: 150px !important;
    height: 255px !important;
    min-height: 255px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    border: 1px solid #dfe7e4 !important;
    box-shadow: 0 10px 24px rgba(23, 51, 40, 0.08) !important;
}

body.single-product .ast-article-single .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap,
body.single-product .ast-article-single .related.products ul.products li.product .astra-shop-thumbnail-wrap,
body.single-product .ast-article-single .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap > a,
body.single-product .ast-article-single .related.products ul.products li.product .astra-shop-thumbnail-wrap > a {
    display: block !important;
    width: 150px !important;
    height: 180px !important;
    max-width: 150px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.single-product .ast-article-single .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap img,
body.single-product .ast-article-single .related.products ul.products li.product .astra-shop-thumbnail-wrap img {
    display: block !important;
    width: 150px !important;
    height: 180px !important;
    max-width: 150px !important;
    max-height: 180px !important;
    margin: 0 !important;
    object-fit: cover !important;
    border-radius: 14px 14px 0 0 !important;
}

body.single-product .ast-article-single .up-sells.upsells.products ul.products li.product .astra-shop-summary-wrap,
body.single-product .ast-article-single .related.products ul.products li.product .astra-shop-summary-wrap {
    display: block !important;
    padding: 14px 16px 16px !important;
}

body.single-product .ast-article-single .up-sells.upsells.products ul.products li.product .woocommerce-loop-product__title,
body.single-product .ast-article-single .related.products ul.products li.product .woocommerce-loop-product__title {
    margin: 0 0 10px !important;
    color: #173328 !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

body.single-product .ast-article-single .up-sells.upsells.products ul.products li.product .price,
body.single-product .ast-article-single .related.products ul.products li.product .price {
    display: block !important;
    margin: 0 10px !important;
    color: #1f3a5f !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
}

body.single-product .ast-article-single .up-sells.upsells.products ul.products li.product .woocommerce-loop-product__title,
body.single-product .ast-article-single .related.products ul.products li.product .woocommerce-loop-product__title {
    margin: 10px 10px 6px !important;
    color: #28483b !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
}

body.single-product .ast-article-single .up-sells.upsells.products ul.products li.product .price del,
body.single-product .ast-article-single .related.products ul.products li.product .price del {
    font-size: 11px !important;
    font-weight: 400 !important;
}

body.single-product .ast-article-single .up-sells.upsells.products ul.products li.product,
body.single-product .ast-article-single .related.products ul.products li.product {
    flex: 0 0 150px !important;
    width: 150px !important;
    max-width: 150px !important;
    height: 255px !important;
    min-height: 255px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.single-product .ast-article-single .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap,
body.single-product .ast-article-single .related.products ul.products li.product .astra-shop-thumbnail-wrap,
body.single-product .ast-article-single .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap > a,
body.single-product .ast-article-single .related.products ul.products li.product .astra-shop-thumbnail-wrap > a {
    display: block !important;
    width: 150px !important;
    height: 180px !important;
    max-width: 150px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.single-product .ast-article-single .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap img,
body.single-product .ast-article-single .related.products ul.products li.product .astra-shop-thumbnail-wrap img {
    display: block !important;
    width: 150px !important;
    height: 180px !important;
    max-width: 150px !important;
    max-height: 180px !important;
    margin: 0 !important;
    object-fit: cover !important;
    border-radius: 12px 12px 0 0 !important;
}

/* Cart: clear, calm webshop layout */
.woocommerce-cart .site-main {
    background: #f7faf8 !important;
}

.woocommerce-cart .entry-header,
.woocommerce-cart .woocommerce-products-header {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 34px 24px 18px !important;
}

.woocommerce-cart .entry-title {
    margin: 0 !important;
    color: #173328 !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}

.woocommerce-cart .woocommerce {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 24px 64px !important;
}

.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals {
    margin-top: 18px !important;
}

.woocommerce-cart .woocommerce-cart-form {
    padding: 22px !important;
    border: 1px solid #dfe7e4 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 30px rgba(19, 38, 30, 0.07) !important;
}

.woocommerce-cart table.shop_table {
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
    background: transparent !important;
}

.woocommerce-cart table.shop_table th {
    padding: 0 12px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #e4ebe7 !important;
    color: #61736a !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
}

.woocommerce-cart table.shop_table td {
    padding: 18px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf2ef !important;
    color: #28483b !important;
    vertical-align: middle !important;
}

.woocommerce-cart table.shop_table .product-remove {
    width: 34px !important;
    padding-left: 0 !important;
}

.woocommerce-cart table.shop_table .product-remove a {
    color: #9a6b69 !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

.woocommerce-cart table.shop_table .product-thumbnail {
    width: 92px !important;
}

.woocommerce-cart table.shop_table .product-thumbnail img {
    width: 76px !important;
    height: 92px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
}

.woocommerce-cart table.shop_table .product-name a {
    color: #173328 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal {
    color: #1f3a5f !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.woocommerce-cart table.shop_table .quantity .qty {
    width: 64px !important;
    min-height: 40px !important;
    border: 1px solid #cfd9d4 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    text-align: center !important;
    font-weight: 600 !important;
}

.woocommerce-cart .coupon {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
    margin-top: 18px !important;
}

.woocommerce-cart .coupon input.input-text {
    min-height: 42px !important;
    border: 1px solid #cfd9d4 !important;
    border-radius: 8px !important;
    padding: 0 12px !important;
}

.woocommerce-cart .coupon button,
.woocommerce-cart .button[name="update_cart"] {
    min-height: 42px !important;
    border-radius: 8px !important;
    padding: 0 16px !important;
    background: #eef4f0 !important;
    color: #28483b !important;
    font-weight: 600 !important;
}

.woocommerce-cart .cart-collaterals {
    float: none !important;
    width: 100% !important;
}

.woocommerce-cart .cart_totals {
    width: min(100%, 480px) !important;
    margin: 0 0 0 auto !important;
    padding: 22px !important;
    border: 1px solid #dfe7e4 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 30px rgba(19, 38, 30, 0.07) !important;
}

.woocommerce-cart .cart_totals h2 {
    margin: 0 0 16px !important;
    color: #173328 !important;
    font-size: 22px !important;
    font-weight: 600 !important;
}

.woocommerce-cart .cart_totals table {
    border: 0 !important;
    margin: 0 0 16px !important;
}

.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td {
    padding: 10px 0 !important;
    border: 0 !important;
    color: #52675c !important;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
    padding-top: 16px !important;
    border-top: 1px solid #e4ebe7 !important;
    color: #173328 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

.woocommerce-cart .coupon button,
.woocommerce-cart .actions .button[name="update_cart"] {
    min-height: 42px !important;
    height: 42px !important;
    border-radius: 8px !important;
    line-height: 1 !important;
}

.woocommerce-cart table.shop_table .product-quantity:not(:has(.quantity input:not([disabled]))) {
    display: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout {
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 50px !important;
    margin: 0 !important;
    border-radius: 10px !important;
    background: #1f3a5f !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.woocommerce-cart .cart-empty {
    max-width: 620px !important;
    margin: 28px auto 80px !important;
    padding: 48px 28px !important;
    border: 1px solid #dfe7e4 !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    color: #52675c !important;
    box-shadow: 0 12px 30px rgba(19, 38, 30, 0.07) !important;
    text-align: center !important;
    font-size: 16px !important;
}

.woocommerce-cart .return-to-shop {
    margin-top: 18px !important;
    text-align: center !important;
}

.woocommerce-cart .return-to-shop a.button {
    min-height: 44px !important;
    border-radius: 9px !important;
    background: #1f3a5f !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

@media (max-width: 767.98px) {
    .woocommerce-cart .entry-header,
    .woocommerce-cart .woocommerce-products-header {
        padding: 24px 14px 12px !important;
    }

    .woocommerce-cart .woocommerce {
        padding: 0 14px 48px !important;
    }

    .woocommerce-cart .woocommerce-cart-form {
        padding: 12px !important;
        border-radius: 14px !important;
    }

    .woocommerce-cart table.shop_table thead {
        display: none !important;
    }

    .woocommerce-cart table.shop_table,
    .woocommerce-cart table.shop_table tbody,
    .woocommerce-cart table.shop_table tr,
    .woocommerce-cart table.shop_table td {
        display: block !important;
        width: 100% !important;
    }

    .woocommerce-cart table.shop_table tr.cart_item {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 72px minmax(0, 1fr) auto !important;
        gap: 10px !important;
        padding: 14px 0 !important;
    }

    .woocommerce-cart table.shop_table td {
        padding: 0 !important;
        border: 0 !important;
    }

    .woocommerce-cart table.shop_table .product-remove {
        position: absolute !important;
        top: 10px !important;
        right: 0 !important;
        width: auto !important;
    }

    .woocommerce-cart table.shop_table .product-thumbnail {
        grid-column: 1 !important;
        grid-row: 1 / span 3 !important;
        width: 72px !important;
    }

    .woocommerce-cart table.shop_table .product-thumbnail img {
        width: 64px !important;
        height: 78px !important;
    }

    .woocommerce-cart table.shop_table .product-name {
        grid-column: 2 / span 2 !important;
        padding-right: 24px !important;
    }

    .woocommerce-cart table.shop_table .product-quantity {
        grid-column: 2 !important;
        margin-top: 10px !important;
    }

    .woocommerce-cart table.shop_table .product-subtotal {
        grid-column: 3 !important;
        align-self: end !important;
        text-align: right !important;
    }

    .woocommerce-cart .coupon {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
    }

    .woocommerce-cart .coupon input.input-text {
        width: 100% !important;
    }

    .woocommerce-cart .cart_totals {
        width: 100% !important;
        margin-top: 18px !important;
        padding: 18px !important;
    }
}

/* Cart premium finish: keep the cart focused on checkout */
.woocommerce-cart .fff-shop-hero,
.woocommerce-cart .woocommerce-products-header,
.woocommerce-cart .cross-sells,
.woocommerce-cart .cart-collaterals .cross-sells {
    display: none !important;
}

.woocommerce-cart .site-main {
    background: #f5f8f6 !important;
}

.woocommerce-cart .entry-header {
    padding-top: 36px !important;
    padding-bottom: 14px !important;
}

.woocommerce-cart .entry-title {
    color: #173328 !important;
    font-size: clamp(28px, 3vw, 40px) !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart-empty {
    border-color: #d9e5de !important;
    box-shadow: 0 16px 36px rgba(23, 51, 40, 0.08) !important;
}

.woocommerce-cart .woocommerce-cart-form {
    border-radius: 18px !important;
}

.woocommerce-cart .cart_totals h2 {
    color: #173328 !important;
    font-weight: 500 !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .return-to-shop a.button {
    background: #1f3a5f !important;
    color: #ffffff !important;
    box-shadow: 0 8px 16px rgba(31, 58, 95, 0.18) !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .return-to-shop a.button:hover {
    background: #173328 !important;
}

.woocommerce-cart .cart-empty {
    background: #ffffff !important;
    color: #52675c !important;
}

/* Cart premium interaction finish */
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart-empty {
    border-radius: 12px !important;
    box-shadow: 0 14px 34px rgba(23, 51, 40, 0.07) !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .return-to-shop a.button {
    background: #f9902c !important;
    color: #173328 !important;
    border: 1px solid #f9902c !important;
    border-radius: 7px !important;
    min-height: 52px !important;
    letter-spacing: 0.01em !important;
    transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus-visible,
.woocommerce-cart .return-to-shop a.button:hover,
.woocommerce-cart .return-to-shop a.button:focus-visible {
    background: #ffad55 !important;
    border-color: #ffad55 !important;
    color: #173328 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 8px 18px rgba(249, 144, 44, 0.22) !important;
}

.woocommerce-cart .button[name="update_cart"],
.woocommerce-cart .coupon button {
    background: #eef4f0 !important;
    border: 1px solid #cfded4 !important;
    color: #28483b !important;
    border-radius: 7px !important;
}

.woocommerce-cart .button[name="update_cart"]:hover,
.woocommerce-cart .button[name="update_cart"]:focus-visible,
.woocommerce-cart .coupon button:hover,
.woocommerce-cart .coupon button:focus-visible {
    background: #dcebe2 !important;
    border-color: #a9c5b3 !important;
    color: #173328 !important;
}

.woocommerce-cart .woocommerce-cart-form a:focus-visible,
.woocommerce-cart button:focus-visible,
.woocommerce-cart input:focus-visible {
    outline: 3px solid rgba(249, 144, 44, 0.42) !important;
    outline-offset: 2px !important;
}

.woocommerce-cart table.shop_table td {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

/* Cart spacing and totals refinement */
.woocommerce-cart .coupon,
.woocommerce-cart .actions {
    align-items: center !important;
}

.woocommerce-cart .coupon button,
.woocommerce-cart .button[name="update_cart"] {
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

.woocommerce-cart .cart_totals {
    padding: 18px !important;
}

.woocommerce-cart .cart_totals h2 {
    margin-bottom: 12px !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
}

.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td {
    padding: 7px 0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
    padding-top: 12px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
}

.woocommerce-cart .cart_totals tr.recurring-total {
    display: table-row !important;
    background: #eef5f0 !important;
    border-top: 1px solid #cbdcd1 !important;
    border-bottom: 1px solid #cbdcd1 !important;
}

.woocommerce-cart .cart_totals tr.recurring-total th,
.woocommerce-cart .cart_totals tr.recurring-total td {
    padding: 14px 10px !important;
    border: 0 !important;
    color: #28483b !important;
    text-align: center !important;
    vertical-align: middle !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
}

body.woocommerce-cart .cart_totals tr.recurring-totals {
    display: block !important;
    width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 14px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid #dfe7e4 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.woocommerce-cart .cart_totals tr.recurring-totals th,
body.woocommerce-cart .cart_totals tr.recurring-total th,
body.woocommerce-cart .cart_totals tr.recurring-total td {
    background: transparent !important;
    border: 0 !important;
    color: #52675c !important;
    text-align: center !important;
}

body.woocommerce-cart .cart_totals tr.recurring-total {
    display: table-row !important;
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #edf2ef !important;
    border-radius: 0 !important;
    background: transparent !important;
}

/* Final cart design system: two surfaces, one visual language */
body.woocommerce-cart {
    --fff-cart-radius: 16px;
    --fff-cart-border: #d9e5de;
    --fff-cart-shadow: 0 14px 34px rgba(23, 51, 40, 0.08);
}

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart_totals {
    border: 1px solid var(--fff-cart-border) !important;
    border-radius: var(--fff-cart-radius) !important;
    box-shadow: var(--fff-cart-shadow) !important;
}

body.woocommerce-cart .fff-recurring-summary {
    margin-top: 18px !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid #dfe7e4 !important;
    background: transparent !important;
}

body.woocommerce-cart .fff-recurring-summary__title {
    margin-bottom: 12px !important;
    color: #63786d !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
}

body.woocommerce-cart .fff-recurring-summary__group {
    min-height: 44px !important;
    border-bottom: 1px solid #edf2ef !important;
}

body.woocommerce-cart .fff-recurring-summary__label,
body.woocommerce-cart .fff-recurring-summary__values {
    color: #52675c !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
}

/* Checkout: same design system as the cart */
.woocommerce-checkout .elementor-element-1af1f79 {
    display: none !important;
}

.woocommerce-checkout .woocommerce {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 24px 64px !important;
}

.woocommerce-checkout .woocommerce::before {
    content: 'Kasse' !important;
    display: block !important;
    margin: 0 0 24px !important;
    padding: 26px 28px 24px !important;
    border: 1px solid rgba(31, 58, 95, 0.12) !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #f4f8f5 0%, #fbf5ea 100%) !important;
    color: #173328 !important;
    text-align: center !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
    font-weight: 500 !important;
    box-shadow: 0 10px 24px rgba(23, 51, 40, 0.07) !important;
}

.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.72fr) !important;
    gap: 24px !important;
    align-items: start !important;
}

.woocommerce-checkout .col2-set,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment {
    padding: 22px !important;
    border: 1px solid #d9e5de !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 34px rgba(23, 51, 40, 0.08) !important;
}

.woocommerce-checkout .col2-set {
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
}

.woocommerce-checkout #order_review_heading {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    color: #365247 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

.woocommerce-checkout #order_review {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: -24px 0 0 !important;
    border-top: 0 !important;
    border-radius: 0 0 16px 16px !important;
    box-shadow: 0 14px 34px rgba(23, 51, 40, 0.08) !important;
}

.woocommerce-checkout #payment {
    grid-column: 2 !important;
    grid-row: 3 !important;
    margin-top: 0 !important;
    background: #f8fbf9 !important;
}

.woocommerce-checkout h3 {
    color: #173328 !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
}

.woocommerce-checkout .form-row label {
    color: #52675c !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    min-height: 44px !important;
    border: 1px solid #cfded4 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #173328 !important;
}

.woocommerce-checkout #place_order {
    width: 100% !important;
    min-height: 52px !important;
    border: 1px solid rgba(249, 144, 44, 0.72) !important;
    border-radius: 8px !important;
    background: linear-gradient(180deg, #ffad55 0%, #f9902c 100%) !important;
    color: #173328 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    box-shadow: 0 10px 20px rgba(249, 144, 44, 0.22) !important;
}

/* Final premium checkout composition */
body.woocommerce-checkout {
    background: #f5f8f6 !important;
}

body.woocommerce-checkout .woocommerce::before {
    margin-bottom: 28px !important;
    border-color: #d9e5de !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #f1f7f3 0%, #fbf5ea 100%) !important;
    box-shadow: 0 14px 34px rgba(23, 51, 40, 0.08) !important;
    color: #173328 !important;
    font-size: 30px !important;
    font-weight: 500 !important;
}

body.woocommerce-checkout .col2-set,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #payment {
    border-color: #d9e5de !important;
    border-radius: 16px !important;
    box-shadow: 0 14px 34px rgba(23, 51, 40, 0.08) !important;
}

body.woocommerce-checkout .col2-set {
    padding: 26px !important;
    background: #ffffff !important;
}

body.woocommerce-checkout .col2-set h3,
body.woocommerce-checkout #order_review_heading {
    color: #28483b !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
}

body.woocommerce-checkout .form-row label {
    margin-bottom: 6px !important;
    color: #61736a !important;
    font-size: 11px !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .form-row textarea {
    border-color: #cfded4 !important;
    border-radius: 8px !important;
    color: #173328 !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease !important;
}

body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row select:focus,
body.woocommerce-checkout .form-row textarea:focus {
    border-color: #1f3a5f !important;
    box-shadow: 0 0 0 3px rgba(31, 58, 95, 0.12) !important;
    outline: 0 !important;
}

body.woocommerce-checkout #order_review_heading {
    padding: 22px 24px 12px !important;
    background: #f3f7f4 !important;
}

body.woocommerce-checkout #order_review {
    margin-top: -1px !important;
    padding: 20px 24px 24px !important;
    background: #ffffff !important;
}

body.woocommerce-checkout #order_review table.shop_table {
    border: 0 !important;
    margin: 0 !important;
}

body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td {
    padding: 10px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #edf2ef !important;
    color: #52675c !important;
    font-size: 13px !important;
}

body.woocommerce-checkout #order_review table.shop_table .order-total th,
body.woocommerce-checkout #order_review table.shop_table .order-total td {
    padding-top: 16px !important;
    border-bottom: 0 !important;
    color: #173328 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
}

body.woocommerce-checkout #payment {
    padding: 20px !important;
    background: #fbfdfb !important;
}

body.woocommerce-checkout #payment .wc_payment_methods {
    padding: 0 !important;
    border: 0 !important;
}

body.woocommerce-checkout #payment .wc_payment_method {
    margin: 0 0 8px !important;
    padding: 12px 14px !important;
    border: 1px solid #dfe7e4 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
}

body.woocommerce-checkout #payment .place-order {
    padding: 16px 0 0 !important;
    margin: 0 !important;
}

body.woocommerce-checkout #place_order {
    min-height: 54px !important;
    border-radius: 8px !important;
    background: linear-gradient(180deg, #ffad55 0%, #f9902c 100%) !important;
    color: #173328 !important;
    font-size: 15px !important;
    letter-spacing: 0.01em !important;
    box-shadow: 0 12px 24px rgba(249, 144, 44, 0.24) !important;
}

/* Final desktop checkout adjustments */
body.woocommerce-checkout .woocommerce::before {
    content: 'Check-out' !important;
}

body.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper .form-row,
body.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
body.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper .form-row-last {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
}

body.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper .form-row input.input-text,
body.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper .form-row select,
body.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper .form-row textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout #payment {
    margin-top: 24px !important;
}

body.woocommerce-checkout #payment::before {
    content: 'Zahlungsmittel' !important;
    display: block !important;
    margin: 0 0 14px !important;
    color: #28483b !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
}

body.woocommerce-checkout #payment .wc_payment_methods {
    margin-top: 0 !important;
}

/* Final checkout interaction layer */
body.woocommerce-checkout form.checkout .col2-set .woocommerce-billing-fields__field-wrapper .form-row,
body.woocommerce-checkout form.checkout .col2-set .woocommerce-billing-fields__field-wrapper .form-row-first,
body.woocommerce-checkout form.checkout .col2-set .woocommerce-billing-fields__field-wrapper .form-row-last {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
}

body.woocommerce-checkout form.checkout .col2-set .woocommerce-billing-fields__field-wrapper .form-row input.input-text,
body.woocommerce-checkout form.checkout .col2-set .woocommerce-billing-fields__field-wrapper .form-row select,
body.woocommerce-checkout form.checkout .col2-set .woocommerce-billing-fields__field-wrapper .form-row textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

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

body.woocommerce-checkout #payment .wc_payment_methods,
body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method {
    list-style: none !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
}


body.woocommerce-checkout .fff-checkout-consents {
    margin-top: 14px !important;
}

body.woocommerce-checkout #payment .place-order > .privacy_policy_text,
body.woocommerce-checkout #payment .place-order > .woocommerce-privacy-policy-text {
    margin: 0 0 14px !important;
    padding-top: 14px !important;
    border-top: 1px solid #edf2ef !important;
}

body.woocommerce-checkout #payment .privacy_policy_text,
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
    margin: 18px 0 14px !important;
    padding-top: 14px !important;
    border-top: 1px solid #edf2ef !important;
    color: #61736a !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}

body.woocommerce-checkout #payment .privacy_policy_text p,
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text p {
    margin: 0 !important;
}

body.woocommerce-checkout #payment .privacy_policy_text a,
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text a {
    color: #f9902c !important;
    font-weight: 600 !important;
}

/* Checkout totals and grouped consent area */
body.woocommerce-checkout #order_review table.shop_table .order-total th,
body.woocommerce-checkout #order_review table.shop_table .order-total td {
    font-size: 14px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

body.woocommerce-checkout .fff-subscription-consents {
    margin: 14px 0 0 !important;
    padding: 14px 16px 4px !important;
    border: 1px solid #dfe7e4 !important;
    border-radius: 10px !important;
    background: #f8fbf9 !important;
}

body.woocommerce-checkout .fff-subscription-consents h3 {
    display: none !important;
}

body.woocommerce-checkout .fff-subscription-consent-row,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    margin: 0 0 10px !important;
}

body.woocommerce-checkout .fff-subscription-consents .woocommerce-form__label,
body.woocommerce-checkout .fff-subscription-consents .woocommerce-terms-and-conditions-wrapper label {
    color: #52675c !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

/* Cart and checkout notices: match the add-to-cart feedback overlay */
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-notices-wrapper {
    position: fixed !important;
    top: 104px !important;
    left: 50% !important;
    z-index: 20080 !important;
    width: min(620px, calc(100% - 32px)) !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    pointer-events: none !important;
}

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info {
    position: relative !important;
    margin: 0 !important;
    padding: 14px 18px !important;
    border: 1px solid #d9e5de !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: #173328 !important;
    box-shadow: 0 14px 30px rgba(23, 51, 40, 0.14) !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    pointer-events: auto !important;
}

.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-error::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-error::before {
    display: none !important;
}

.woocommerce-cart .woocommerce-message a,
.woocommerce-cart .woocommerce-info a,
.woocommerce-checkout .woocommerce-message a,
.woocommerce-checkout .woocommerce-info a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 8px 0 0 !important;
    padding: 7px 12px !important;
    border: 1px solid #cbdcd1 !important;
    border-radius: 999px !important;
    background: #f3f7f4 !important;
    color: #28483b !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.woocommerce-cart .fff-cart-notice-undo,
.woocommerce-checkout .fff-cart-notice-undo {
    margin-left: 8px !important;
}

.woocommerce-cart .fff-cart-notice-close,
.woocommerce-checkout .fff-cart-notice-close {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #61786d !important;
    font-size: 22px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.woocommerce-cart .fff-cart-notice-close:hover,
.woocommerce-cart .fff-cart-notice-close:focus-visible,
.woocommerce-checkout .fff-cart-notice-close:hover,
.woocommerce-checkout .fff-cart-notice-close:focus-visible {
    background: #eef4f0 !important;
    color: #173328 !important;
}

.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-error {
    position: relative !important;
    margin: 0 !important;
    padding: 14px 18px !important;
    border: 1px solid #e4c3bf !important;
    border-radius: 12px !important;
    background: #fff8f7 !important;
    color: #8a4d48 !important;
    box-shadow: 0 14px 30px rgba(138, 77, 72, 0.12) !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    pointer-events: auto !important;
}

.woocommerce-cart .woocommerce-error li,
.woocommerce-checkout .woocommerce-error li {
    margin: 0 !important;
    list-style: none !important;
}

.woocommerce-cart .woocommerce-error li + li,
.woocommerce-checkout .woocommerce-error li + li {
    margin-top: 5px !important;
}

body.woocommerce-cart .cart-empty.woocommerce-info {
    position: static !important;
    width: auto !important;
    margin: 28px auto 20px !important;
    padding: 48px 28px !important;
    transform: none !important;
    border: 1px solid #dfe7e4 !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    color: #52675c !important;
    box-shadow: 0 12px 30px rgba(19, 38, 30, 0.07) !important;
    text-align: center !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
}

body.woocommerce-cart .cart-empty.woocommerce-info::before {
    display: none !important;
}

@media (max-width: 767.98px) {
    .woocommerce-cart .woocommerce-notices-wrapper,
    .woocommerce-checkout .woocommerce-notices-wrapper {
        top: 82px !important;
        width: calc(100% - 24px) !important;
    }
}
body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method {
    position: relative !important;
    margin-bottom: 8px !important;
}

/* Account login notices use the same dismissible overlay as store feedback */
body.woocommerce-account:not(.logged-in) .woocommerce-message,
body.woocommerce-account:not(.logged-in) .woocommerce-info,
body.woocommerce-account:not(.logged-in) .woocommerce-error {
    position: fixed !important;
    top: 104px !important;
    left: 50% !important;
    z-index: 20080 !important;
    width: min(620px, calc(100% - 32px)) !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    pointer-events: auto !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-message::before,
body.woocommerce-account:not(.logged-in) .woocommerce-info::before,
body.woocommerce-account:not(.logged-in) .woocommerce-error::before {
    display: none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-message,
body.woocommerce-account:not(.logged-in) .woocommerce-info {
    padding: 14px 48px 14px 18px !important;
    border: 1px solid #d9e5de !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: #173328 !important;
    box-shadow: 0 14px 30px rgba(23, 51, 40, 0.14) !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-error {
    padding: 14px 48px 14px 18px !important;
    border: 1px solid #e4c3bf !important;
    border-radius: 12px !important;
    background: #fff8f7 !important;
    color: #8a4d48 !important;
    box-shadow: 0 14px 30px rgba(138, 77, 72, 0.12) !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-error li {
    margin: 0 !important;
    list-style: none !important;
}

body.woocommerce-account:not(.logged-in) .fff-cart-notice-close {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #61786d !important;
    font-size: 22px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

body.woocommerce-account:not(.logged-in) .fff-cart-notice-close:hover,
body.woocommerce-account:not(.logged-in) .fff-cart-notice-close:focus-visible {
    background: #eef4f0 !important;
    color: #173328 !important;
}

/* Premium logged-in account dashboard */
body.woocommerce-account.logged-in .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(210px, 240px) minmax(0, 1fr) !important;
    gap: 28px !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 24px 80px !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
    align-self: start !important;
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px !important;
    border: 1px solid #dfe7e4 !important;
    border-radius: 14px !important;
    background: #f8fbf9 !important;
    box-shadow: 0 12px 28px rgba(19, 38, 30, 0.06) !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
    display: block !important;
    margin: 3px 0 !important;
    padding: 11px 12px !important;
    border-radius: 8px !important;
    color: #52675c !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: background-color 160ms ease, color 160ms ease !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:focus-visible {
    background: #173328 !important;
    color: #ffffff !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation-link--customer-logout a {
    margin-top: 14px !important;
    border-top: 1px solid #dfe7e4 !important;
    border-radius: 0 0 8px 8px !important;
    color: #a45a4f !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation-link--customer-logout a:hover,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation-link--customer-logout a:focus-visible {
    background: #fff3f1 !important;
    color: #8a4d48 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    min-width: 0 !important;
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 26px 30px 32px !important;
    border: 1px solid #dfe7e4 !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 42px rgba(19, 38, 30, 0.08) !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content > h2 {
    margin: 0 0 8px !important;
    color: #173328 !important;
    font-size: 26px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content > p:first-of-type {
    margin: 0 0 26px !important;
    color: #6a7d73 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .acf-form {
    margin: 0 0 30px !important;
    padding: 20px !important;
    border: 1px solid #e7eeea !important;
    border-radius: 12px !important;
    background: #f8fbf9 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .acf-fields {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .acf-field {
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .acf-label label {
    margin: 0 0 6px !important;
    color: #52675c !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .acf-input input,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .acf-input select,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .acf-input textarea {
    width: 100% !important;
    min-height: 42px !important;
    padding: 10px 12px !important;
    border: 1px solid #cbdcd1 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #173328 !important;
    box-sizing: border-box !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .acf-form-submit {
    margin-top: 18px !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .acf-form-submit input[type="submit"] {
    min-height: 42px !important;
    padding: 10px 18px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #f9902c !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content h3 {
    margin: 26px 0 12px !important;
    color: #28483b !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
}

body.woocommerce-account.logged-in .woocommerce-orders-table {
    width: 100% !important;
    margin: 0 !important;
    border: 1px solid #dfe7e4 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

body.woocommerce-account.logged-in .woocommerce-orders-table thead th {
    padding: 12px 14px !important;
    border: 0 !important;
    background: #f1f6f3 !important;
    color: #52675c !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

body.woocommerce-account.logged-in .woocommerce-orders-table tbody td {
    padding: 14px !important;
    border-top: 1px solid #e7eeea !important;
    color: #52675c !important;
    font-size: 13px !important;
    vertical-align: middle !important;
}

body.woocommerce-account.logged-in .woocommerce-orders-table tbody tr:hover {
    background: #fbfdfb !important;
}

body.woocommerce-account.logged-in .woocommerce-orders-table .button {
    min-width: 76px !important;
    padding: 8px 12px !important;
    border: 1px solid #cbdcd1 !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #28483b !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

@media screen and (max-width: 767px) {
    body.woocommerce-account.logged-in .woocommerce {
        display: block !important;
        padding: 0 14px 60px !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
        margin-bottom: 16px !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 4px !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation-link--customer-logout a {
        margin-top: 3px !important;
        border-top: 0 !important;
        border-radius: 8px !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
        padding: 22px 18px 26px !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-content .acf-fields {
        grid-template-columns: 1fr !important;
    }

    body.woocommerce-account.logged-in .woocommerce-orders-table {
        display: block !important;
        border: 0 !important;
        overflow: visible !important;
    }

    body.woocommerce-account.logged-in .woocommerce-orders-table thead {
        display: none !important;
    }

    body.woocommerce-account.logged-in .woocommerce-orders-table tbody,
    body.woocommerce-account.logged-in .woocommerce-orders-table tr,
    body.woocommerce-account.logged-in .woocommerce-orders-table td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-account.logged-in .woocommerce-orders-table tbody tr {
        margin: 0 0 10px !important;
        padding: 10px !important;
        border: 1px solid #dfe7e4 !important;
        border-radius: 10px !important;
        background: #ffffff !important;
    }

    body.woocommerce-account.logged-in .woocommerce-orders-table tbody td {
        display: flex !important;
        justify-content: space-between !important;
        gap: 12px !important;
        padding: 7px 4px !important;
        border: 0 !important;
    }
}

/* Account dashboard tiles and personal data sections */
body.woocommerce-account.logged-in.woocommerce-dashboard .woocommerce,
body.woocommerce-account.logged-in.woocommerce-dashboard .woocommerce-MyAccount-content {
    display: block !important;
}

body.woocommerce-account.logged-in.woocommerce-dashboard .woocommerce-MyAccount-navigation {
    display: none !important;
}

body.woocommerce-account.logged-in.woocommerce-dashboard .woocommerce-MyAccount-content {
    max-width: 920px !important;
    margin: 0 auto !important;
}

.fff-account-tiles {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 26px !important;
}

.fff-account-tile {
    position: relative !important;
    display: flex !important;
    min-height: 124px !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    padding: 20px !important;
    border: 1px solid #dfe7e4 !important;
    border-radius: 12px !important;
    background: #f8fbf9 !important;
    color: #173328 !important;
    text-decoration: none !important;
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease !important;
}

.fff-account-tile:hover,
.fff-account-tile:focus-visible {
    border-color: #f9902c !important;
    box-shadow: 0 12px 24px rgba(19, 38, 30, 0.09) !important;
    color: #173328 !important;
    transform: translateY(-2px) !important;
}

.fff-account-tile strong {
    color: #173328 !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
}

.fff-account-tile span {
    max-width: 88% !important;
    color: #6a7d73 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.fff-account-tile em {
    position: absolute !important;
    right: 18px !important;
    bottom: 17px !important;
    color: #f9902c !important;
    font-size: 20px !important;
    font-style: normal !important;
}

.fff-account-tile--customer-logout {
    border-color: #ead8d5 !important;
    background: #fff8f7 !important;
}

.fff-account-tile--customer-logout strong,
.fff-account-tile--customer-logout em {
    color: #8a4d48 !important;
}


.fff-account-data-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin-top: 24px !important;
}

.fff-account-data-box {
    min-width: 0 !important;
    padding: 20px !important;
    border: 1px solid #dfe7e4 !important;
    border-radius: 12px !important;
    background: #f8fbf9 !important;
}

body.woocommerce-edit-address .fff-account-data-grid {
    align-items: start !important;
}

body.woocommerce-edit-address .fff-account-data-box--pilot,
body.woocommerce-edit-address .fff-account-data-box--billing {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
}

body.woocommerce-edit-address .fff-account-data-box--pilot .fff-account-summary,
body.woocommerce-edit-address .fff-account-data-box--billing .fff-account-summary {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
}

body.woocommerce-edit-address #account_display_name_description,
body.woocommerce-edit-address #account_display_name_description em {
    display: block !important;
    margin-top: 4px !important;
    color: #7a8b82 !important;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

body.woocommerce-edit-address .fff-account-summary .fff-pilot-data,
body.woocommerce-edit-address .fff-account-summary .fff-billing-data {
    display: grid !important;
    gap: 0 !important;
    margin: 0 0 16px !important;
}

body.woocommerce-edit-address .fff-account-summary .fff-pilot-data {
    margin-bottom: 0 !important;
}

body.woocommerce-edit-address .fff-account-summary .fff-pilot-optional-data {
    margin-top: 0 !important;
}

body.woocommerce-edit-address .fff-account-summary .fff-pilot-data > div,
body.woocommerce-edit-address .fff-account-summary .fff-billing-data > div {
    display: grid !important;
    grid-template-columns: minmax(92px, 38%) minmax(0, 1fr) !important;
    align-items: baseline !important;
    gap: 12px !important;
    min-height: 0 !important;
    padding: 6px 0 !important;
    border: 0 !important;
}

body.woocommerce-edit-address .fff-account-summary .fff-pilot-data dt,
body.woocommerce-edit-address .fff-account-summary .fff-billing-data dt {
    color: #6a7d73 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body.woocommerce-edit-address .fff-account-summary .fff-pilot-data dd,
body.woocommerce-edit-address .fff-account-summary .fff-billing-data dd {
    margin: 0 !important;
    color: #173328 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    text-align: right !important;
    overflow-wrap: anywhere !important;
}

body.woocommerce-edit-address .fff-account-data-box--pilot .fff-data-edit-toggle,
body.woocommerce-edit-address .fff-account-data-box--billing .fff-data-edit-toggle {
    align-self: flex-start !important;
    margin-top: auto !important;
}

body.woocommerce-edit-address .fff-pilot-optional-data {
    display: grid !important;
    gap: 0 !important;
    margin: 0 !important;
}

body.woocommerce-edit-address .fff-pilot-optional-data > div {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 8px 0 !important;
}

body.woocommerce-edit-address .fff-pilot-optional-data dt {
    color: #6a7d73 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

body.woocommerce-edit-address .fff-pilot-optional-data dd {
    margin: 0 !important;
    color: #173328 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-align: right !important;
    overflow-wrap: anywhere !important;
}

body.woocommerce-checkout .fff-pilot-checkout-field input,
body.woocommerce-checkout .fff-pilot-checkout-field textarea,
body.woocommerce-checkout .fff-pilot-checkout-field select {
    width: 100% !important;
    box-sizing: border-box !important;
}

html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-data-grid {
    align-items: start !important;
}

html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-data-box--pilot,
html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-data-box--billing {
    align-self: start !important;
    min-height: 312px !important;
}

html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor form button,
html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor form .button,
html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor .fff-data-cancel {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 116px !important;
    min-width: 116px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin-top: 8px !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor form button,
html body.woocommerce-account.logged-in.woocommerce-edit-address .fff-account-editor form .button {
    border: 0 !important;
    background: #2f6f9f !important;
    color: #ffffff !important;
    box-shadow: 0 7px 16px rgba(47, 111, 159, 0.18) !important;
}

.fff-account-data-box--details {
    grid-column: 1 / -1 !important;
}

.fff-account-data-box h3 {
    margin: 0 0 16px !important;
    color: #28483b !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
}

.fff-account-data-box .woocommerce form {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.fff-account-data-box .woocommerce-form-row,
.fff-account-data-box .form-row {
    margin: 0 0 14px !important;
}

.fff-account-data-box label,
.fff-account-data-box .acf-label label {
    display: block !important;
    margin: 0 0 6px !important;
    color: #52675c !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

.fff-account-data-box input.input-text,
.fff-account-data-box input[type="text"],
.fff-account-data-box input[type="email"],
.fff-account-data-box input[type="password"],
.fff-account-data-box .acf-input input,
.fff-account-data-box .acf-input select {
    width: 100% !important;
    min-height: 42px !important;
    padding: 10px 12px !important;
    border: 1px solid #cbdcd1 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #173328 !important;
    box-sizing: border-box !important;
}

.fff-account-data-box .woocommerce-Button,
.fff-account-data-box .acf-form-submit input[type="submit"],
.fff-account-data-link {
    display: inline-block !important;
    min-height: 40px !important;
    margin-top: 4px !important;
    padding: 10px 16px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #f9902c !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.fff-account-data-box address {
    min-height: 72px !important;
    margin: 0 0 14px !important;
    color: #52675c !important;
    font-size: 13px !important;
    font-style: normal !important;
    line-height: 1.6 !important;
}

.fff-account-data-empty {
    min-height: 72px !important;
    margin: 0 0 14px !important;
    color: #6a7d73 !important;
    font-size: 13px !important;
}

body.woocommerce-account.logged-in .ticket-table {
    width: 100% !important;
    margin: 18px 0 0 !important;
    border: 1px solid #dfe7e4 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

body.woocommerce-account.logged-in .ticket-table th {
    padding: 12px 14px !important;
    border: 0 !important;
    background: #f1f6f3 !important;
    color: #52675c !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
}

body.woocommerce-account.logged-in .ticket-table td {
    padding: 14px !important;
    border: 0 !important;
    border-top: 1px solid #e7eeea !important;
    color: #52675c !important;
    font-size: 13px !important;
}

body.woocommerce-account.logged-in .ticket-table .download-btn {
    display: inline-block !important;
    padding: 8px 12px !important;
    border: 1px solid #cbdcd1 !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #28483b !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

body.woocommerce-account.logged-in .woocommerce-table--order-details,
body.woocommerce-account.logged-in .woocommerce-table--subscriptions,
body.woocommerce-account.logged-in .shop_table.subscription_details {
    width: 100% !important;
    border: 1px solid #dfe7e4 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

body.woocommerce-account.logged-in .woocommerce-table--order-details th,
body.woocommerce-account.logged-in .woocommerce-table--order-details td,
body.woocommerce-account.logged-in .woocommerce-table--subscriptions th,
body.woocommerce-account.logged-in .woocommerce-table--subscriptions td,
body.woocommerce-account.logged-in .shop_table.subscription_details th,
body.woocommerce-account.logged-in .shop_table.subscription_details td {
    padding: 13px 14px !important;
    border: 0 !important;
    border-top: 1px solid #e7eeea !important;
    color: #52675c !important;
    font-size: 13px !important;
}

body.woocommerce-account.logged-in .woocommerce-table--order-details thead th,
body.woocommerce-account.logged-in .woocommerce-table--subscriptions thead th,
body.woocommerce-account.logged-in .shop_table.subscription_details thead th {
    border-top: 0 !important;
    background: #f1f6f3 !important;
    color: #52675c !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
}

.fff-ticket-search {
    max-width: 640px !important;
    margin: 18px 0 0 !important;
}

.fff-ticket-search.is-loading {
    opacity: 0.58 !important;
    pointer-events: none !important;
}

.fff-ticket-overview-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.fff-ticket-overview-filters select,
.fff-ticket-overview-filters input {
    display: block;
    width: 100%;
    min-height: 44px;
    margin-top: 6px;
    padding: 8px 12px;
    border: 1px solid #cbdcd1;
    border-radius: 8px;
    background: #fff;
    color: #173328;
    font-size: 16px;
    box-sizing: border-box;
}

.fff-ticket-overview-day[hidden] {
    display: none !important;
}

@media screen and (max-width: 767px) {
    .fff-ticket-overview-filters {
        grid-template-columns: 1fr;
    }
}

.fff-ticket-search__error {
    margin: 14px 0 !important;
    padding: 11px 13px !important;
    border: 1px solid #e7b9b3 !important;
    border-radius: 8px !important;
    background: #fff5f3 !important;
    color: #8a4d48 !important;
    font-size: 13px !important;
}

.fff-ticket-search__form label {
    display: block !important;
    margin-bottom: 8px !important;
    color: #173328 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.fff-ticket-search__row {
    display: flex !important;
    gap: 10px !important;
}

.fff-ticket-search__row input[type="text"] {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid #cbdcd1 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #173328 !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
}

.fff-ticket-search__row input[type="text"]:focus {
    border-color: #f9902c !important;
    outline: 2px solid rgba(249, 144, 44, 0.2) !important;
    outline-offset: 1px !important;
}

.fff-ticket-search__row button {
    flex: 0 0 auto !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 22px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #28483b !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
}

.fff-ticket-search__row button:hover,
.fff-ticket-search__row button:focus-visible {
    background: #173328 !important;
}

.fff-ticket-search__exact {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin-top: 11px !important;
    color: #52675c !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    cursor: pointer !important;
}

.fff-ticket-search__exact input {
    width: 17px !important;
    height: 17px !important;
    margin: 0 !important;
    accent-color: #28483b !important;
}

.fff-ticket-search__heading {
    margin: 4px 0 16px !important;
    color: #173328 !important;
}

.fff-ticket-search__results {
    margin-top: 24px !important;
    padding: 20px !important;
    border: 1px solid #dfe7e4 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(19, 38, 30, 0.06) !important;
}

.fff-ticket-filter {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 14px !important;
}

.fff-ticket-filter label {
    color: #6a7d73 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.fff-ticket-filter select {
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 34px 0 11px !important;
    border: 1px solid #cbdcd1 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #173328 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.fff-ticket-filter select:focus {
    border-color: #f9902c !important;
    outline: 2px solid rgba(249, 144, 44, 0.2) !important;
    outline-offset: 1px !important;
}

.fff-ticket-search__back {
    display: inline-block !important;
    margin-top: 18px !important;
    color: #28483b !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.fff-ticket-search__back:hover,
.fff-ticket-search__back:focus-visible {
    text-decoration: underline !important;
}

.fff-ticket-filter--empty {
    margin: 0 !important;
}

.fff-ticket-filter--empty .fff-ticket-search__back {
    margin-top: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    cursor: pointer !important;
}

.fff-ticket-cards {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
}

.fff-ticket-card {
    display: block !important;
    padding: 16px !important;
    border: 1px solid #dfe7e4 !important;
    border-radius: 12px !important;
    background: #f8fbf9 !important;
    color: #173328 !important;
    text-decoration: none !important;
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease !important;
}

.fff-ticket-card-form {
    margin: 0 !important;
}

.fff-ticket-card-form .fff-ticket-card {
    width: 100% !important;
    text-align: left !important;
    font: inherit !important;
    cursor: pointer !important;
}

.fff-ticket-detail {
    max-width: 980px !important;
    margin: 18px auto 0 !important;
    padding: 22px !important;
    border: 1px solid #dfe7e4 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 24px rgba(19, 38, 30, 0.06) !important;
}

.fff-ticket-detail__header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid #e7eeea !important;
}

.fff-ticket-detail__eyebrow {
    display: block !important;
    margin-bottom: 6px !important;
    color: #6a7d73 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.fff-ticket-detail h2 {
    margin: 0 !important;
    color: #173328 !important;
    font-size: 1.45rem !important;
    line-height: 1.25 !important;
    text-transform: none !important;
}

.fff-ticket-detail__facts {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 20px 0 !important;
}

.fff-ticket-detail__facts div {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 180px minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: baseline !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #eef2ef !important;
}

.fff-ticket-detail__facts dt {
    margin-bottom: 4px !important;
    color: #6a7d73 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

.fff-ticket-detail__facts dd {
    margin: 0 !important;
    color: #173328 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    text-transform: none !important;
}

.fff-ticket-detail__profile {
    padding-top: 18px !important;
    border-top: 1px solid #e7eeea !important;
}

.fff-ticket-detail__profile h3 {
    margin: 0 !important;
    color: #173328 !important;
    font-size: 1.05rem !important;
}

.fff-ticket-detail__notice {
    margin: 0 !important;
    padding: 12px 14px !important;
    border-radius: 8px !important;
    background: #f8fbf9 !important;
    color: #52675c !important;
    font-size: 13px !important;
}

.fff-ticket-card:hover,
.fff-ticket-card:focus-visible {
    border-color: #f9902c !important;
    box-shadow: 0 12px 24px rgba(19, 38, 30, 0.09) !important;
    transform: translateY(-2px) !important;
}

.fff-ticket-card__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #e7eeea !important;
}

.fff-ticket-card__name {
    color: #173328 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-transform: none !important;
}

.fff-ticket-card__status {
    flex: 0 0 auto !important;
    padding: 4px 10px !important;
    border-radius: 999px !important;
    color: #173328 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
}

.fff-ticket-card__body {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 16px !important;
    margin: 0 !important;
}

.fff-ticket-card__body dt {
    margin: 0 0 2px !important;
    color: #6a7d73 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

.fff-ticket-card__body dd {
    margin: 0 !important;
    color: #173328 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    word-break: normal !important;
}

@media screen and (min-width: 640px) {
    .fff-ticket-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media screen and (min-width: 768px) {
    .fff-ticket-search {
        width: 100% !important;
        max-width: none !important;
    }

    .fff-ticket-search__heading {
        font-size: 1.5rem !important;
        line-height: 1.25 !important;
    }

    .fff-ticket-cards {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .fff-ticket-card {
        display: grid !important;
        grid-template-columns: minmax(145px, 0.62fr) minmax(0, 2.38fr) !important;
        align-items: center !important;
        gap: 16px !important;
        padding: 12px 16px !important;
        border-radius: 8px !important;
    }

    .fff-ticket-card__header {
        display: flex !important;
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 7px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .fff-ticket-card__name {
        display: block !important;
        max-width: 145px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: 13px !important;
    }

    .fff-ticket-card__body {
        grid-template-columns: minmax(0, 1.7fr) minmax(0, 1.35fr) minmax(76px, 0.7fr) minmax(92px, 0.8fr) !important;
        gap: 8px !important;
        align-items: center !important;
    }

    .fff-ticket-card__body > div {
        min-width: 0 !important;
    }

    .fff-ticket-card__body > div:last-child {
        min-width: 0 !important;
        padding-right: 2px !important;
    }

    .fff-ticket-card__body > div:last-child dd {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .fff-ticket-card__body > div:nth-child(2) dd {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .fff-ticket-card__body > div:first-child dd {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .fff-ticket-card__body dd {
        font-size: 12px !important;
    }

    .fff-ticket-card__number {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
}

@media screen and (max-width: 480px) {
    .fff-ticket-search__results {
        margin-top: 18px !important;
        padding: 14px !important;
        border-radius: 10px !important;
    }

    .fff-ticket-filter {
        align-items: stretch !important;
        flex-direction: column !important;
        gap: 6px !important;
    }

    .fff-ticket-filter select {
        width: 100% !important;
    }

    .fff-ticket-search__row {
        flex-wrap: wrap !important;
    }

    .fff-ticket-search__row button {
        flex: 1 1 100% !important;
    }

    .fff-ticket-card__body {
        grid-template-columns: 1fr !important;
    }

    .fff-ticket-detail {
        margin-top: 14px !important;
        padding: 15px !important;
        border-radius: 10px !important;
    }

    .fff-ticket-detail__header {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    .fff-ticket-detail h2 {
        font-size: 1.2rem !important;
    }

    .fff-ticket-detail__facts {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        padding: 16px 0 !important;
    }

    .fff-ticket-detail__facts div {
        display: block !important;
        padding: 10px 0 !important;
    }

    .fff-ticket-detail__facts dd {
        margin-top: 4px !important;
    }
}

@media screen and (max-width: 767px) {
    .fff-account-tiles,
    .fff-account-data-grid {
        grid-template-columns: 1fr !important;
    }

    .fff-account-data-box--details {
        grid-column: auto !important;
    }

    body.woocommerce-account.logged-in .ticket-table,
    body.woocommerce-account.logged-in .ticket-table thead,
    body.woocommerce-account.logged-in .ticket-table tbody,
    body.woocommerce-account.logged-in .ticket-table tr,
    body.woocommerce-account.logged-in .ticket-table td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-account.logged-in .ticket-table thead {
        display: none !important;
    }

    body.woocommerce-account.logged-in .ticket-table tr {
        margin: 0 0 10px !important;
        padding: 10px !important;
        border: 1px solid #dfe7e4 !important;
        border-radius: 10px !important;
    }

    body.woocommerce-account.logged-in .ticket-table td {
        display: flex !important;
        justify-content: space-between !important;
        padding: 7px 4px !important;
        border: 0 !important;
    }
}

body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method::before,
body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method::marker {
    display: none !important;
    content: none !important;
}

body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method input.input-radio {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #dfe7e4 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #28483b !important;
    cursor: pointer !important;
    transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease !important;
}

body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method label .mollie-gateway-icon {
    margin-left: auto !important;
    max-width: 34px !important;
    max-height: 24px !important;
}

/* Payment rows: aligned radio, label and provider icon */
body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    align-items: center !important;
    min-height: 54px !important;
}

body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method input.input-radio {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    margin: 0 !important;
}

body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method label {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid #edf2ef !important;
}

body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method label img {
    width: auto !important;
    max-width: 42px !important;
    max-height: 24px !important;
    margin-left: auto !important;
}

body.woocommerce-checkout #payment .wc_payment_methods {
    display: flex !important;
    flex-direction: column !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method label:hover,
body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method input.input-radio:focus-visible + label,
body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method input.input-radio:checked + label {
    border-color: #8eaf9a !important;
    background: #f3f7f4 !important;
    box-shadow: 0 4px 12px rgba(23, 51, 40, 0.08) !important;
}

/* Payment methods: visible radios, full-row click targets, compact list */
body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method input.input-radio {
    position: static !important;
    width: auto !important;
    height: auto !important;
    opacity: 1 !important;
    margin: 0 9px 0 0 !important;
    flex: 0 0 auto !important;
}

body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method label {
    justify-content: flex-start !important;
    min-height: 44px !important;
    padding: 10px 8px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf2ef !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method label:hover,
body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method input.input-radio:checked + label {
    border-color: #dfe7e4 !important;
    background: #f3f7f4 !important;
    box-shadow: none !important;
}

body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method {
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) !important;
    align-items: center !important;
    min-height: 46px !important;
    margin: 0 !important;
    border-bottom: 1px solid #edf2ef !important;
}

body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method input.input-radio {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
}

body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method label {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-height: 46px !important;
    padding: 0 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method:hover,
body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method:has(input.input-radio:checked) {
    background: #f3f7f4 !important;
}

/* Final checkout geometry and payment visibility */
body.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper {
    display: block !important;
    width: 100% !important;
}

body.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > .form-row,
body.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > .form-row.form-row-first,
body.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > .form-row.form-row-last,
body.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > .form-row.form-row-wide {
    display: block !important;
    float: none !important;
    clear: both !important;
    grid-column: 1 / -1 !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
}

body.woocommerce-checkout #payment .wc_payment_methods,
body.woocommerce-checkout #payment .wc_payment_method,
body.woocommerce-checkout #payment .wc_payment_method label {
    visibility: visible !important;
    opacity: 1 !important;
}

body.woocommerce-checkout #payment .wc_payment_method label {
    color: #28483b !important;
}

/* Final payment stack visibility and alignment */
body.woocommerce-checkout #payment {
    position: relative !important;
    z-index: 2 !important;
    overflow: visible !important;
}

body.woocommerce-checkout #payment .wc_payment_methods {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method,
body.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method label {
    position: relative !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Compact full-width billing form */
body.woocommerce-checkout .col2-set {
    padding: 20px !important;
}

body.woocommerce-checkout .col2-set h3 {
    margin: 0 0 14px !important;
}

body.woocommerce-checkout .col2-set .form-row,
body.woocommerce-checkout .col2-set .form-row-first,
body.woocommerce-checkout .col2-set .form-row-last {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
}

body.woocommerce-checkout .col2-set .form-row label {
    display: block !important;
    margin: 0 0 4px !important;
}

body.woocommerce-checkout .col2-set .form-row input.input-text,
body.woocommerce-checkout .col2-set .form-row select,
body.woocommerce-checkout .col2-set .form-row textarea {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 40px !important;
    padding: 8px 10px !important;
}

body.woocommerce-checkout .col2-set .form-row textarea {
    min-height: 82px !important;
}

body.woocommerce-checkout .fff-checkout-coupon {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: center !important;
    margin-top: 18px !important;
    padding: 14px 0 0 !important;
    border-top: 1px solid #edf2ef !important;
}

body.woocommerce-checkout .fff-checkout-coupon__label {
    grid-column: 1 / -1 !important;
    color: #63786d !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

body.woocommerce-checkout .fff-checkout-coupon__controls {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-column: 1 / -1 !important;
    gap: 8px !important;
}

body.woocommerce-checkout .fff-checkout-coupon input {
    min-height: 42px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border: 1px solid #cfded4 !important;
    border-radius: 8px !important;
    padding: 0 12px !important;
}

body.woocommerce-checkout .fff-checkout-coupon button {
    min-height: 42px !important;
    border: 1px solid #cbdcd1 !important;
    border-radius: 8px !important;
    padding: 0 16px !important;
    background: #f3f7f4 !important;
    color: #28483b !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

@media (max-width: 767.98px) {
    body.woocommerce-checkout .fff-checkout-coupon__controls {
        display: flex !important;
        flex-direction: column !important;
    }

    body.woocommerce-checkout .fff-checkout-coupon input,
    body.woocommerce-checkout .fff-checkout-coupon button {
        width: 100% !important;
    }
}

@media (min-width: 768px) {
    body.woocommerce-checkout .form-row-first,
    body.woocommerce-checkout .form-row-last {
        width: calc(50% - 8px) !important;
    }

    body.woocommerce-checkout .form-row-first {
        margin-right: 16px !important;
    }
}

@media (max-width: 767.98px) {
    body.woocommerce-checkout .woocommerce::before {
        margin-bottom: 18px !important;
        padding: 20px 16px !important;
        font-size: 25px !important;
    }

    body.woocommerce-checkout .col2-set,
    body.woocommerce-checkout #order_review_heading,
    body.woocommerce-checkout #order_review,
    body.woocommerce-checkout #payment {
        border-radius: 14px !important;
    }

    body.woocommerce-checkout .col2-set {
        padding: 18px !important;
    }

    body.woocommerce-checkout #order_review_heading {
        padding: 18px 18px 10px !important;
    }

    body.woocommerce-checkout #order_review,
    body.woocommerce-checkout #payment {
        padding: 16px 18px 18px !important;
    }
}

@media (max-width: 767.98px) {
    .woocommerce-checkout .woocommerce {
        padding: 0 12px 44px !important;
    }

    .woocommerce-checkout .woocommerce::before {
        margin-bottom: 18px !important;
        padding: 20px 16px !important;
        font-size: 25px !important;
    }

    .woocommerce-checkout form.checkout {
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
    }

    .woocommerce-checkout .col2-set,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review,
    .woocommerce-checkout #payment {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 16px !important;
        border-radius: 14px !important;
    }

    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review,
    .woocommerce-checkout #payment {
        margin: 0 !important;
    }
}

body.woocommerce-cart .coupon button,
body.woocommerce-cart .actions .button[name="update_cart"] {
    border: 1px solid #cbdcd1 !important;
    border-radius: 8px !important;
    background: #f3f7f4 !important;
    color: #28483b !important;
    font-weight: 600 !important;
    box-shadow: 0 3px 8px rgba(23, 51, 40, 0.05) !important;
}

body.woocommerce-cart .coupon button:hover,
body.woocommerce-cart .coupon button:focus-visible,
body.woocommerce-cart .actions .button[name="update_cart"]:hover,
body.woocommerce-cart .actions .button[name="update_cart"]:focus-visible {
    background: #e1eee6 !important;
    border-color: #9fbea9 !important;
    color: #173328 !important;
    transform: translateY(-1px) !important;
}

body.woocommerce-cart table.shop_table .product-remove a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: #f3f7f4 !important;
    color: #61786d !important;
    font-size: 18px !important;
    line-height: 1 !important;
    transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease !important;
}

body.woocommerce-cart table.shop_table .product-remove a:hover,
body.woocommerce-cart table.shop_table .product-remove a:focus-visible {
    background: #e8d9d7 !important;
    color: #8a4d48 !important;
    transform: scale(1.05) !important;
}

body.woocommerce-cart .cart_totals > h2 {
    margin-bottom: 16px !important;
    color: #365247 !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.woocommerce-cart .cart_totals {
    padding-bottom: 28px !important;
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
    margin-top: 22px !important;
    padding-top: 0 !important;
}

.woocommerce-cart .fff-recurring-summary {
    width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid #dfe7e4 !important;
}

.woocommerce-cart .fff-recurring-summary__title {
    margin: 0 0 10px !important;
    color: #365247 !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.woocommerce-cart .fff-recurring-summary__group {
    display: grid !important;
    grid-template-columns: minmax(0, 44%) minmax(0, 56%) !important;
    align-items: center !important;
    min-height: 48px !important;
    border-bottom: 1px solid #edf2ef !important;
}

.woocommerce-cart .fff-recurring-summary__label {
    color: #52675c !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
}

/* Final cart premium surface treatment */
.woocommerce-cart .fff-cart-header,
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart-empty {
    border-color: rgba(31, 58, 95, 0.12) !important;
    box-shadow: 0 18px 44px rgba(23, 51, 40, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

.woocommerce-cart .fff-cart-header {
    background: linear-gradient(135deg, #f4f8f5 0%, #fbf5ea 100%) !important;
}

.woocommerce-cart .fff-cart-header__eyebrow {
    color: #718178 !important;
    font-size: 10px !important;
    letter-spacing: 0.2em !important;
}

.woocommerce-cart .fff-cart-header__title {
    color: #173328 !important;
    font-size: 31px !important;
    font-weight: 500 !important;
}

.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart_totals {
    background: linear-gradient(180deg, #ffffff 0%, #fcfefd 100%) !important;
}

.woocommerce-cart .woocommerce-cart-form {
    padding: 24px !important;
}

.woocommerce-cart .cart_totals {
    padding: 22px !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    min-height: 52px !important;
    border: 1px solid rgba(249, 144, 44, 0.72) !important;
    background: linear-gradient(180deg, #ffad55 0%, #f9902c 100%) !important;
    color: #173328 !important;
    box-shadow: 0 12px 22px rgba(249, 144, 44, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.48) !important;
    font-weight: 700 !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus-visible {
    background: linear-gradient(180deg, #ffc277 0%, #ff9d3d 100%) !important;
    box-shadow: 0 14px 26px rgba(249, 144, 44, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
}

.woocommerce-cart .fff-recurring-summary__values {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 6px !important;
    color: #52675c !important;
    text-align: right !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
}

.woocommerce-cart .fff-recurring-summary__value {
    display: block !important;
    width: 100% !important;
    text-align: right !important;
}

.woocommerce-cart .fff-recurring-summary__note {
    display: grid !important;
    grid-template-columns: 44% 56% !important;
    gap: 0 !important;
    margin-top: 14px !important;
    padding-top: 12px !important;
    border-top: 1px solid #dfe7e4 !important;
    color: #52675c !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

.woocommerce-cart .fff-recurring-summary__note-label {
    color: #63786d !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.woocommerce-cart .fff-recurring-summary__note-value {
    text-align: right !important;
}

/* Cart and checkout totals: consistent left-aligned labels */
.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals .fff-recurring-summary__title,
.woocommerce-cart .cart_totals .fff-recurring-summary__label,
.woocommerce-cart .cart_totals .fff-recurring-summary__note-label,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout .fff-recurring-summary__title,
.woocommerce-checkout .fff-recurring-summary__label,
.woocommerce-checkout .fff-recurring-summary__note-label {
    text-align: left !important;
}

.woocommerce-checkout .fff-recurring-summary {
    width: 100% !important;
    margin: 16px 0 0 !important;
    padding: 14px 0 0 !important;
    border-top: 1px solid #dfe7e4 !important;
}

.woocommerce-checkout .fff-recurring-summary__title {
    margin-bottom: 10px !important;
    color: #365247 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}

.woocommerce-checkout .fff-recurring-summary__group,
.woocommerce-checkout .fff-recurring-summary__note {
    display: grid !important;
    grid-template-columns: minmax(0, 44%) minmax(0, 56%) !important;
    align-items: center !important;
    min-height: 42px !important;
    border-bottom: 1px solid #edf2ef !important;
}

.woocommerce-checkout .fff-recurring-summary__label,
.woocommerce-checkout .fff-recurring-summary__note-label {
    color: #52675c !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.woocommerce-checkout .fff-recurring-summary__values,
.woocommerce-checkout .fff-recurring-summary__note-value {
    color: #52675c !important;
    text-align: right !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.woocommerce-cart .fff-recurring-summary__values .first-payment-date {
    display: block !important;
    margin-top: 3px !important;
    color: #718178 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

/* Final table reset: keep recurring totals as a clean two-column summary */
body.woocommerce-cart .cart_totals table {
    display: table !important;
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
}

body.woocommerce-cart .cart_totals table tbody {
    display: table-row-group !important;
    width: 100% !important;
}

body.woocommerce-cart .cart_totals tr.recurring-totals,
body.woocommerce-cart .cart_totals tr.recurring-total {
    display: table-row !important;
    width: auto !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.woocommerce-cart .cart_totals tr.recurring-totals th,
body.woocommerce-cart .cart_totals tr.recurring-total th,
body.woocommerce-cart .cart_totals tr.recurring-total td {
    display: table-cell !important;
    box-sizing: border-box !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 10px 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #52675c !important;
    vertical-align: middle !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
}

body.woocommerce-cart .cart_totals tr.recurring-totals th {
    width: 100% !important;
    padding: 16px 0 10px !important;
    border-top: 1px solid #dfe7e4 !important;
    color: #365247 !important;
    text-align: center !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

body.woocommerce-cart .cart_totals tr.recurring-total th {
    width: 44% !important;
    text-align: left !important;
}

body.woocommerce-cart .cart_totals tr.recurring-total td {
    width: 56% !important;
    text-align: right !important;
}

body.woocommerce-cart .cart_totals tr.recurring-total + tr.recurring-total {
    border-top: 1px solid #edf2ef !important;
}

/* Keep recurring totals full-width inside the summary table */
.woocommerce-cart .cart_totals table {
    width: 100% !important;
    table-layout: fixed !important;
}

.woocommerce-cart .cart_totals tr.recurring-totals,
.woocommerce-cart .cart_totals tr.recurring-total {
    display: table-row !important;
    width: auto !important;
    margin: 0 !important;
}

.woocommerce-cart .cart_totals tr.recurring-totals th,
.woocommerce-cart .cart_totals tr.recurring-total th,
.woocommerce-cart .cart_totals tr.recurring-total td {
    display: table-cell !important;
    width: auto !important;
}

.woocommerce-cart .cart_totals tr.recurring-totals th {
    width: 100% !important;
    text-align: center !important;
}

/* Final recurring totals layout: full-width header and full-width rows */
.woocommerce-cart .cart_totals table,
.woocommerce-cart .cart_totals table tbody {
    display: block !important;
    width: 100% !important;
}

.woocommerce-cart .cart_totals tr.recurring-totals {
    display: block !important;
    width: 100% !important;
    margin: 16px 0 0 !important;
    border: 1px solid #cbdcd1 !important;
    border-radius: 10px 10px 0 0 !important;
    background: #eef5f0 !important;
}

.woocommerce-cart .cart_totals tr.recurring-totals th {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 48px !important;
    padding: 12px 16px !important;
    text-align: center !important;
}

.woocommerce-cart .cart_totals tr.recurring-total {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-left: 1px solid #cbdcd1 !important;
    border-right: 1px solid #cbdcd1 !important;
    background: #f8fbf9 !important;
}

.woocommerce-cart .cart_totals tr.recurring-total:last-of-type {
    border-bottom: 1px solid #cbdcd1 !important;
    border-radius: 0 0 10px 10px !important;
}

.woocommerce-cart .cart_totals tr.recurring-total th,
.woocommerce-cart .cart_totals tr.recurring-total td {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 56px !important;
    padding: 10px 14px !important;
    border: 0 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

/* Subscription totals: neutral block separated from the regular total */
.woocommerce-cart .cart_totals tr.recurring-totals {
    display: block !important;
    width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 14px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid #dfe7e4 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.woocommerce-cart .cart_totals tr.recurring-totals th {
    display: block !important;
    width: 100% !important;
    padding: 0 0 10px !important;
    border: 0 !important;
    background: transparent !important;
    color: #365247 !important;
    text-align: center !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

.woocommerce-cart .cart_totals tr.recurring-total {
    display: table-row !important;
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #edf2ef !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.woocommerce-cart .cart_totals tr.recurring-total th,
.woocommerce-cart .cart_totals tr.recurring-total td {
    display: table-cell !important;
    min-height: 0 !important;
    padding: 8px 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #52675c !important;
    text-align: center !important;
    vertical-align: middle !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
}

.woocommerce-cart .cart_totals tr.recurring-total th {
    letter-spacing: 0.01em !important;
}

/* WooCommerce Subscriptions: separate recurring-totals heading row */
.woocommerce-cart .cart_totals tr.recurring-totals {
    display: block !important;
    width: 100% !important;
    margin: 16px 0 0 !important;
    border: 1px solid #cbdcd1 !important;
    border-radius: 10px 10px 0 0 !important;
    background: #eef5f0 !important;
}

.woocommerce-cart .cart_totals tr.recurring-totals th {
    display: block !important;
    width: 100% !important;
    padding: 12px 10px !important;
    border: 0 !important;
    color: #28483b !important;
    text-align: center !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.woocommerce-cart .cart_totals tr.recurring-total {
    display: table-row !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f8fbf9 !important;
}

.woocommerce-cart .cart_totals tr.recurring-total th,
.woocommerce-cart .cart_totals tr.recurring-total td {
    padding: 9px 10px !important;
    border: 0 !important;
    color: #52675c !important;
    text-align: center !important;
    vertical-align: middle !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
}

/* Cart header and recurring totals: compact store-style presentation */
.woocommerce-cart .entry-header {
    max-width: 1180px !important;
    margin: 24px auto 0 !important;
    padding: 22px 24px !important;
    border: 1px solid #d9e5de !important;
    border-radius: 12px !important;
    background: #f3f7f4 !important;
    box-shadow: 0 8px 22px rgba(23, 51, 40, 0.05) !important;
    text-align: center !important;
}

.woocommerce-cart .entry-title {
    margin: 0 !important;
    color: #28483b !important;
    font-size: 28px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
}

.woocommerce-cart .elementor-element-1af1f79 {
    display: none !important;
}

.woocommerce-cart .woocommerce::before {
    content: 'Warenkorb' !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 24px !important;
    padding: 22px 24px !important;
    box-sizing: border-box !important;
    border: 1px solid #d9e5de !important;
    border-radius: 12px !important;
    background: #f3f7f4 !important;
    color: #28483b !important;
    box-shadow: 0 8px 22px rgba(23, 51, 40, 0.05) !important;
    text-align: center !important;
    font-size: 28px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
}

.woocommerce-cart .entry-header,
.woocommerce-cart .woocommerce::before {
    display: none !important;
}

.woocommerce-cart .fff-cart-header {
    position: relative !important;
    margin: 0 0 24px !important;
    padding: 26px 28px 24px !important;
    border: 1px solid rgba(31, 58, 95, 0.12) !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #eef5f0 0%, #f8f3e9 100%) !important;
    box-shadow: 0 10px 24px rgba(23, 51, 40, 0.07) !important;
    text-align: center !important;
    overflow: hidden !important;
}

.woocommerce-cart .fff-cart-header::after {
    display: none !important;
}

.woocommerce-cart .fff-cart-header__eyebrow {
    display: block !important;
    margin-bottom: 8px !important;
    color: #63786d !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
}

.woocommerce-cart .fff-cart-header__title {
    margin: 0 !important;
    color: #173328 !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
    font-weight: 500 !important;
}

@media (max-width: 767.98px) {
    .woocommerce-cart .fff-cart-header {
        margin: 0 0 18px !important;
        padding: 20px 16px 19px !important;
    }

    .woocommerce-cart .fff-cart-header__title {
        font-size: 25px !important;
    }
}

.woocommerce-cart .cart_totals tr.recurring-total {
    display: block !important;
    width: 100% !important;
    margin: 16px 0 !important;
    padding: 0 !important;
    border: 1px solid #cbdcd1 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #eef5f0 !important;
}

.woocommerce-cart .cart_totals tr.recurring-total th,
.woocommerce-cart .cart_totals tr.recurring-total td {
    display: block !important;
    width: 100% !important;
    height: 52px !important;
    padding: 14px 10px !important;
    border: 0 !important;
    color: #365247 !important;
    text-align: center !important;
    vertical-align: middle !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
}

@media (max-width: 767.98px) {
    .woocommerce-cart .entry-header {
        margin: 16px 14px 0 !important;
        padding: 18px 14px !important;
    }

    .woocommerce-cart .entry-title {
        font-size: 24px !important;
    }

    .woocommerce-cart .woocommerce::before {
        margin-bottom: 18px !important;
        padding: 18px 14px !important;
        font-size: 24px !important;
    }
}

/* Mobile cart: compact product row and clean stacked summary */
@media (max-width: 767.98px) {
    .woocommerce-cart .woocommerce {
        padding: 0 12px 42px !important;
    }

    .woocommerce-cart .woocommerce-cart-form {
        padding: 10px !important;
        border-radius: 14px !important;
    }

    .woocommerce-cart table.shop_table tr.cart_item {
        display: grid !important;
        grid-template-columns: 64px minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto !important;
        gap: 8px 10px !important;
        min-height: 0 !important;
        padding: 12px 2px !important;
        border-bottom: 1px solid #e5ece8 !important;
    }

    .woocommerce-cart table.shop_table tr.cart_item td {
        display: block !important;
        width: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .woocommerce-cart table.shop_table tr.cart_item .product-remove {
        position: absolute !important;
        top: 8px !important;
        right: 2px !important;
        z-index: 2 !important;
    }

    .woocommerce-cart table.shop_table tr.cart_item .product-thumbnail {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        width: 64px !important;
    }

    .woocommerce-cart table.shop_table tr.cart_item .product-thumbnail img {
        width: 58px !important;
        height: 72px !important;
        border-radius: 8px !important;
        object-fit: cover !important;
    }

    .woocommerce-cart table.shop_table tr.cart_item .product-name {
        grid-column: 2 / span 2 !important;
        padding-right: 22px !important;
    }

    .woocommerce-cart table.shop_table tr.cart_item .product-name a {
        display: block !important;
        color: #173328 !important;
        font-size: 14px !important;
        line-height: 1.25 !important;
        font-weight: 600 !important;
    }

    .woocommerce-cart table.shop_table tr.cart_item .product-quantity {
        grid-column: 2 !important;
        align-self: center !important;
    }

    .woocommerce-cart table.shop_table tr.cart_item .product-quantity .quantity .qty {
        width: 58px !important;
        min-height: 34px !important;
    }

    .woocommerce-cart table.shop_table tr.cart_item .product-subtotal {
        grid-column: 3 !important;
        align-self: center !important;
        color: #1f3a5f !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        text-align: right !important;
    }

    .woocommerce-cart .coupon,
    .woocommerce-cart .actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 8px !important;
        align-items: center !important;
        margin-top: 12px !important;
    }

    .woocommerce-cart .coupon input.input-text {
        min-width: 0 !important;
        width: 100% !important;
    }

    .woocommerce-cart .cart_totals {
        width: 100% !important;
        margin-top: 18px !important;
        padding: 18px !important;
        border-radius: 14px !important;
    }

    .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
        width: 100% !important;
        min-height: 48px !important;
    }

    .woocommerce-cart .fff-recurring-summary__group,
    .woocommerce-cart .fff-recurring-summary__note {
        grid-template-columns: 1fr !important;
        gap: 5px !important;
    }

    .woocommerce-cart .fff-recurring-summary__values,
    .woocommerce-cart .fff-recurring-summary__note-value {
        align-items: flex-start !important;
        text-align: left !important;
    }

    .woocommerce-cart .coupon {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .woocommerce-cart .coupon input.input-text,
    .woocommerce-cart .coupon button {
        width: 100% !important;
        box-sizing: border-box !important;
        min-height: 44px !important;
        margin: 0 !important;
    }

    .woocommerce-cart table.shop_table tr.cart_item .product-quantity:not(:has(.quantity input:not([disabled]))) {
        display: none !important;
    }

    .woocommerce-cart table.shop_table tr.cart_item .product-price {
        display: none !important;
    }

    .woocommerce-cart table.shop_table tr.cart_item .product-subtotal {
        grid-column: 3 !important;
        grid-row: 2 !important;
    }

    .woocommerce-cart .coupon,
    .woocommerce-cart .actions {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        gap: 8px !important;
        margin-top: 14px !important;
    }

    .woocommerce-cart .coupon input.input-text,
    .woocommerce-cart .coupon button,
    .woocommerce-cart .actions .button[name="update_cart"] {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 44px !important;
        height: 44px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        border-radius: 8px !important;
        font-size: 13px !important;
        line-height: 1 !important;
    }

    .woocommerce-cart .coupon input.input-text {
        display: block !important;
        padding: 0 12px !important;
        text-align: left !important;
    }

    .woocommerce-cart .cart_totals h2 {
        font-size: 18px !important;
    }

    .woocommerce-cart .cart_totals th,
    .woocommerce-cart .cart_totals td,
    .woocommerce-cart .fff-recurring-summary__label,
    .woocommerce-cart .fff-recurring-summary__values {
        font-size: 13px !important;
    }
}

@media (min-width: 768px) {
    .fff-mobile-cart-toggle {
        bottom: 84px !important;
    }
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    min-height: 46px !important;
    font-size: 14px !important;
}

.single-product .up-sells.upsells.products ul.products li.product,
.single-product .related.products ul.products li.product {
    flex: 0 0 196px !important;
    width: 196px !important;
    max-width: 196px !important;
    height: 220px !important;
    min-height: 220px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap,
.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap > a,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap > a,
.single-product .up-sells.upsells.products ul.products li.product .woocommerce-LoopProduct-link,
.single-product .related.products ul.products li.product .woocommerce-LoopProduct-link {
    display: block !important;
    width: 196px !important;
    height: 140px !important;
    max-width: 196px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap img,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap img {
    display: block !important;
    width: 196px !important;
    height: 140px !important;
    max-width: 196px !important;
    max-height: 140px !important;
    margin: 0 !important;
    object-fit: cover !important;
    border-radius: 12px 12px 0 0 !important;
}

/* Absolute final override: keep card and image widths identical */
.single-product .up-sells.upsells.products ul.products li.product,
.single-product .related.products ul.products li.product {
    flex: 0 0 196px !important;
    width: 196px !important;
    max-width: 196px !important;
    height: 220px !important;
    min-height: 220px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap,
.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap > a,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap > a,
.single-product .up-sells.upsells.products ul.products li.product .woocommerce-LoopProduct-link,
.single-product .related.products ul.products li.product .woocommerce-LoopProduct-link {
    display: block !important;
    width: 196px !important;
    height: 140px !important;
    max-width: 196px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap img,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap img {
    display: block !important;
    width: 196px !important;
    height: 140px !important;
    max-width: 196px !important;
    max-height: 140px !important;
    margin: 0 !important;
    object-fit: cover !important;
    border-radius: 12px 12px 0 0 !important;
}

/* Final override: card and image widths must be identical */
.single-product .up-sells.upsells.products ul.products li.product,
.single-product .related.products ul.products li.product {
    flex: 0 0 196px !important;
    width: 196px !important;
    max-width: 196px !important;
    height: 220px !important;
    min-height: 220px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap,
.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap > a,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap > a,
.single-product .up-sells.upsells.products ul.products li.product .woocommerce-LoopProduct-link,
.single-product .related.products ul.products li.product .woocommerce-LoopProduct-link {
    display: block !important;
    width: 196px !important;
    height: 140px !important;
    max-width: 196px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap img,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap img {
    display: block !important;
    width: 196px !important;
    height: 140px !important;
    max-width: 196px !important;
    max-height: 140px !important;
    margin: 0 !important;
    object-fit: cover !important;
    border-radius: 12px 12px 0 0 !important;
}

/* Final card geometry override: no side rail beside the image */
.single-product .up-sells.upsells.products ul.products li.product,
.single-product .related.products ul.products li.product {
    flex: 0 0 196px !important;
    width: 196px !important;
    max-width: 196px !important;
    height: 220px !important;
    min-height: 220px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap,
.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap > a,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap > a,
.single-product .up-sells.upsells.products ul.products li.product .woocommerce-LoopProduct-link,
.single-product .related.products ul.products li.product .woocommerce-LoopProduct-link {
    display: block !important;
    width: 196px !important;
    height: 140px !important;
    max-width: 196px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap img,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap img {
    display: block !important;
    width: 196px !important;
    height: 140px !important;
    max-width: 196px !important;
    max-height: 140px !important;
    margin: 0 !important;
    object-fit: cover !important;
    border-radius: 12px 12px 0 0 !important;
}

/* Recommendation cards: card width equals the image width exactly */
.single-product .up-sells.upsells.products ul.products li.product,
.single-product .related.products ul.products li.product {
    flex: 0 0 196px !important;
    width: 196px !important;
    max-width: 196px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap {
    width: 196px !important;
    height: 150px !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
}

.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap > a,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap > a,
.single-product .up-sells.upsells.products ul.products li.product .woocommerce-LoopProduct-link,
.single-product .related.products ul.products li.product .woocommerce-LoopProduct-link {
    display: block !important;
    width: 196px !important;
    height: 150px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap img,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap img {
    display: block !important;
    width: 196px !important;
    height: 150px !important;
    max-width: 196px !important;
    max-height: 150px !important;
    margin: 0 !important;
    object-fit: cover !important;
    border-radius: 12px 12px 0 0 !important;
    background: transparent !important;
}

/* Taller recommendation cards with the same narrow width */
.single-product .up-sells.upsells.products,
.single-product .related.products {
    height: 300px !important;
    min-height: 300px !important;
}

.single-product .up-sells.upsells.products ul.products,
.single-product .related.products ul.products {
    height: 230px !important;
    min-height: 230px !important;
}

.single-product .up-sells.upsells.products ul.products li.product,
.single-product .related.products ul.products li.product {
    height: 220px !important;
    min-height: 220px !important;
}

.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap,
.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap > a,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap > a,
.single-product .up-sells.upsells.products ul.products li.product .woocommerce-LoopProduct-link,
.single-product .related.products ul.products li.product .woocommerce-LoopProduct-link {
    height: 140px !important;
}

.single-product .up-sells.upsells.products ul.products li.product .astra-shop-thumbnail-wrap img,
.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap img {
    height: 140px !important;
    max-height: 140px !important;
}

/* Final card proportions: full-width imagery and no empty slider stage */
.single-product .up-sells.upsells.products,
.single-product .related.products {
    height: 230px !important;
    min-height: 230px !important;
    padding-bottom: 6px !important;
}

.single-product .up-sells.upsells.products ul.products,
.single-product .related.products ul.products {
    height: 170px !important;
    min-height: 170px !important;
    align-items: stretch !important;
}

.single-product .up-sells.upsells.products ul.products:not(:has(li:nth-child(2))),
.single-product .related.products ul.products:not(:has(li:nth-child(2))) {
    justify-content: center !important;
}

.single-product .up-sells.upsells.products ul.products li.product,
.single-product .related.products ul.products li.product {
    flex-basis: 190px !important;
    width: 190px !important;
    max-width: 190px !important;
    height: 160px !important;
    min-height: 160px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.single-product .up-sells.upsells.products ul.products li.product > a:first-child,
.single-product .related.products ul.products li.product > a:first-child,
.single-product .up-sells.upsells.products ul.products li.product .woocommerce-LoopProduct-link,
.single-product .related.products ul.products li.product .woocommerce-LoopProduct-link {
    display: block !important;
    width: 100% !important;
    height: 100px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .up-sells.upsells.products ul.products li.product a img,
.single-product .related.products ul.products li.product a img {
    display: block !important;
    width: 100% !important;
    height: 100px !important;
    max-height: 100px !important;
    margin: 0 !important;
    object-fit: cover !important;
    border-radius: 12px 12px 0 0 !important;
}

@media (max-width: 767.98px) {
    .single-product .up-sells.upsells.products,
    .single-product .related.products {
        height: 225px !important;
        min-height: 225px !important;
    }

    .single-product .up-sells.upsells.products ul.products,
    .single-product .related.products ul.products {
        height: 165px !important;
        min-height: 165px !important;
    }

    .single-product .up-sells.upsells.products ul.products li.product,
    .single-product .related.products ul.products li.product {
        flex-basis: 190px !important;
        width: 190px !important;
        max-width: 190px !important;
        height: 155px !important;
        min-height: 155px !important;
    }
}

/* Recommendation sections use fixed-height horizontal card sliders */
.single-product .up-sells.upsells.products,
.single-product .related.products {
    height: 430px !important;
    min-height: 430px !important;
    overflow: hidden !important;
}

.single-product .up-sells.upsells.products ul.products,
.single-product .related.products ul.products {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    height: 330px !important;
    margin: 0 !important;
    padding: 0 0 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity !important;
}

.single-product .up-sells.upsells.products ul.products li.product,
.single-product .related.products ul.products li.product {
    flex: 0 0 220px !important;
    width: 220px !important;
    max-width: 220px !important;
    height: 300px !important;
    min-height: 300px !important;
    scroll-snap-align: start !important;
}

.single-product .up-sells.upsells.products ul.products li.product a img,
.single-product .related.products ul.products li.product a img {
    height: 150px !important;
    max-height: 150px !important;
}

@media (max-width: 767.98px) {
    .single-product .up-sells.upsells.products,
    .single-product .related.products {
        height: 300px !important;
        min-height: 300px !important;
    }

    .single-product .up-sells.upsells.products ul.products,
    .single-product .related.products ul.products {
        height: 220px !important;
    }

    .single-product .up-sells.upsells.products ul.products li.product,
    .single-product .related.products ul.products li.product {
        flex-basis: 78% !important;
        width: 78% !important;
        max-width: 78% !important;
        height: 205px !important;
        min-height: 205px !important;
    }

    .single-product .up-sells.upsells.products ul.products li.product a img,
    .single-product .related.products ul.products li.product a img {
        height: 100px !important;
        max-height: 100px !important;
    }
}

@media (min-width: 768px) {
    .single-product .up-sells.upsells.products,
    .single-product .related.products {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .single-product .up-sells.upsells.products > h2,
    .single-product .related.products > h2 {
        margin-bottom: 14px !important;
        color: #365247 !important;
        font-size: 21px !important;
        line-height: 1.2 !important;
        font-weight: 500 !important;
        letter-spacing: 0 !important;
    }

    .single-product .up-sells.upsells.products ul.products,
    .single-product .related.products ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        max-width: 960px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Recommendation boxes should use the same visual language as the detail box */
.single-product .up-sells.upsells.products,
.single-product .related.products {
    padding: 20px !important;
    border: 1px solid #dfe7e4 !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 16px 36px rgba(19, 38, 30, 0.08) !important;
}

.single-product .up-sells.upsells.products > h2,
.single-product .related.products > h2 {
    display: block !important;
    margin-bottom: 16px !important;
    color: #28483b !important;
    text-align: center !important;
    font-size: 21px !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
}

.single-product .up-sells.upsells.products > h2::after,
.single-product .related.products > h2::after {
    display: block !important;
    content: '' !important;
    width: 38px !important;
    height: 2px !important;
    margin: 9px auto 0 !important;
    background: #d8e2dc !important;
}

/* Tighten the fixed slider box so it ends close beneath the cards */
.single-product .up-sells.upsells.products,
.single-product .related.products {
    height: 300px !important;
    min-height: 300px !important;
    padding: 16px 18px !important;
}

.single-product .up-sells.upsells.products ul.products,
.single-product .related.products ul.products {
    height: 220px !important;
    padding-bottom: 4px !important;
}

.single-product .up-sells.upsells.products ul.products li.product,
.single-product .related.products ul.products li.product {
    height: 190px !important;
    min-height: 190px !important;
}

.single-product .up-sells.upsells.products ul.products li.product a img,
.single-product .related.products ul.products li.product a img {
    height: 100px !important;
    max-height: 100px !important;
}

@media (max-width: 767.98px) {
    .single-product .up-sells.upsells.products,
    .single-product .related.products {
        height: 270px !important;
        min-height: 270px !important;
        padding: 14px 12px !important;
    }

    .single-product .up-sells.upsells.products ul.products,
    .single-product .related.products ul.products {
        height: 205px !important;
    }

    .single-product .up-sells.upsells.products ul.products li.product,
    .single-product .related.products ul.products li.product {
        height: 180px !important;
        min-height: 180px !important;
    }

    .single-product .up-sells.upsells.products ul.products li.product a img,
    .single-product .related.products ul.products li.product a img {
        height: 90px !important;
        max-height: 90px !important;
    }
}

.single-product .up-sells.upsells.products ul.products,
.single-product .related.products ul.products {
    gap: 14px !important;
}

.single-product .up-sells.upsells.products ul.products li.product,
.single-product .related.products ul.products li.product {
    border-radius: 12px !important;
    box-shadow: 0 6px 16px rgba(19, 38, 30, 0.06) !important;
}

.single-product .up-sells.upsells.products ul.products li.product a img,
.single-product .related.products ul.products li.product a img {
    aspect-ratio: 1 / 0.82 !important;
    object-fit: contain !important;
    height: 170px !important;
    max-height: 170px !important;
    border-radius: 10px 10px 0 0 !important;
}

.single-product .up-sells.upsells.products ul.products li.product .price,
.single-product .related.products ul.products li.product .price {
    display: block !important;
    margin: 0 16px !important;
    color: #1f3a5f !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.single-product .up-sells.upsells.products ul.products li.product .price > .fff-loop-short-description,
.single-product .related.products ul.products li.product .price > .fff-loop-short-description {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    color: #4f635a !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    white-space: normal !important;
}

.single-product .up-sells.upsells.products ul.products li.product .price > .fff-loop-short-description h3,
.single-product .up-sells.upsells.products ul.products li.product .price > .fff-loop-short-description h5,
.single-product .up-sells.upsells.products ul.products li.product .price > .fff-loop-short-description h6,
.single-product .up-sells.upsells.products ul.products li.product .price > .fff-loop-short-description p,
.single-product .related.products ul.products li.product .price > .fff-loop-short-description h3,
.single-product .related.products ul.products li.product .price > .fff-loop-short-description h5,
.single-product .related.products ul.products li.product .price > .fff-loop-short-description h6,
.single-product .related.products ul.products li.product .price > .fff-loop-short-description p {
    display: block !important;
    width: 100% !important;
    margin: 0 0 4px !important;
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    white-space: normal !important;
}

@media (min-width: 768px) {
    .single-product .up-sells.upsells.products,
    .single-product .related.products {
        padding: 20px !important;
    }

    .single-product .up-sells.upsells.products ul.products li.product a img,
    .single-product .related.products ul.products li.product a img {
        height: 170px !important;
        max-height: 170px !important;
    }
}

@media (max-width: 767.98px) {
    .single-product .up-sells.upsells.products,
    .single-product .related.products {
        padding: 16px 12px !important;
    }

    .single-product .up-sells.upsells.products > h2,
    .single-product .related.products > h2 {
        font-size: 21px !important;
    }
}

.single-product .product .summary form.cart {
    order: 4 !important;
}

.single-product .product .summary .fff-single-product-description {
    order: 5 !important;
}

.single-product .product .summary form.cart:not(:has(.quantity)) {
    justify-content: center !important;
}

.single-product .product .summary form.cart:not(:has(.quantity)) .single_add_to_cart_button {
    margin-left: auto !important;
    margin-right: auto !important;
}

.single-product .product .summary form.cart.fff-cart-no-quantity {
    justify-content: center !important;
}

.single-product .product .summary form.cart.fff-cart-no-quantity .single_add_to_cart_button {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 auto !important;
}

@media (min-width: 768px) {
    .single-product article.product,
    .single-product div.product {
        display: flow-root !important;
    }

    .single-product .up-sells.upsells.products,
    .single-product .related.products {
        clear: both !important;
    }

    .single-product .up-sells.upsells.products {
        margin-top: 0 !important;
        margin-bottom: 72px !important;
        transform: translateY(72px) !important;
    }

    .single-product .related.products {
        margin-top: 0 !important;
        margin-bottom: 56px !important;
        transform: translateY(56px) !important;
    }
}

@media (max-width: 767.98px) {
    .single-product .up-sells.upsells.products {
        margin-top: 56px !important;
        border-top-width: 2px !important;
    }

    .single-product .related.products {
        margin-top: 44px !important;
        border-top-width: 2px !important;
    }
}

.ast-woocommerce-container > ul.products > li.product > .fff-loop-short-description--fallback {
    display: block !important;
    margin: 0 16px 18px !important;
    color: #4f635a !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.ast-woocommerce-container > ul.products > li.product .astra-shop-summary-wrap > .fff-loop-short-description--fallback {
    margin: 0 0 10px !important;
}

.ast-woocommerce-container > ul.products > li.product > .fff-loop-short-description--fallback h3,
.ast-woocommerce-container > ul.products > li.product > .fff-loop-short-description--fallback h5,
.ast-woocommerce-container > ul.products > li.product > .fff-loop-short-description--fallback h6,
.ast-woocommerce-container > ul.products > li.product > .fff-loop-short-description--fallback p {
    display: block !important;
    margin: 0 0 5px !important;
    font-size: inherit !important;
    line-height: 1.35 !important;
}

.ast-woocommerce-container > ul.products > li.product .astra-shop-summary-wrap > .fff-loop-short-description--fallback h3,
.ast-woocommerce-container > ul.products > li.product .astra-shop-summary-wrap > .fff-loop-short-description--fallback h5,
.ast-woocommerce-container > ul.products > li.product .astra-shop-summary-wrap > .fff-loop-short-description--fallback h6,
.ast-woocommerce-container > ul.products > li.product .astra-shop-summary-wrap > .fff-loop-short-description--fallback p {
    display: block !important;
}

.ast-woocommerce-container > ul.products > li.product .fff-loop-short-description,
.ast-woocommerce-container > ul.products > li.product .price > .fff-loop-short-description,
.ast-woocommerce-container > ul.products > li.product .astra-shop-summary-wrap > .fff-loop-short-description {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
    white-space: normal !important;
    overflow: visible !important;
}

.ast-woocommerce-container > ul.products > li.product .fff-loop-short-description h3,
.ast-woocommerce-container > ul.products > li.product .fff-loop-short-description h5,
.ast-woocommerce-container > ul.products > li.product .fff-loop-short-description h6,
.ast-woocommerce-container > ul.products > li.product .fff-loop-short-description p,
.ast-woocommerce-container > ul.products > li.product .fff-loop-short-description ul,
.ast-woocommerce-container > ul.products > li.product .fff-loop-short-description ol {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    clear: both !important;
}

@media (max-width: 767.98px) {
    .ast-woocommerce-container > ul.products > li.product .astra-shop-summary-wrap {
        padding: 12px 16px 16px !important;
    }

    .ast-woocommerce-container > ul.products > li.product .woocommerce-loop-product__title {
        font-size: 18px !important;
    }

    .ast-woocommerce-container > ul.products > li.product .price,
    .ast-woocommerce-container > ul.products > li.product .price .fff-loop-short-description {
        font-size: 13px !important;
    }
}

/* Final recommendation panel treatment */
.single-product .up-sells.upsells.products,
.single-product .related.products {
    height: 260px !important;
    min-height: 260px !important;
    padding: 0 14px 8px !important;
    overflow: hidden !important;
}

.single-product .up-sells.upsells.products > h2,
.single-product .related.products > h2 {
    display: block !important;
    margin: 0 -14px 10px !important;
    padding: 11px 14px 9px !important;
    background: #f3f7f4 !important;
    border-bottom: 1px solid #e0e9e3 !important;
    color: #28483b !important;
    text-align: center !important;
    font-size: 19px !important;
    line-height: 1.15 !important;
    font-weight: 500 !important;
}

.single-product .up-sells.upsells.products > h2::after,
.single-product .related.products > h2::after {
    display: block !important;
    content: '' !important;
    width: 30px !important;
    height: 2px !important;
    margin: 6px auto 0 !important;
    background: #d8e2dc !important;
}

.single-product .up-sells.upsells.products ul.products,
.single-product .related.products ul.products {
    height: 190px !important;
    padding-bottom: 2px !important;
}

.single-product .up-sells.upsells.products ul.products li.product,
.single-product .related.products ul.products li.product {
    height: 170px !important;
    min-height: 170px !important;
    padding-bottom: 8px !important;
}

.single-product .up-sells.upsells.products ul.products li.product a img,
.single-product .related.products ul.products li.product a img {
    height: 86px !important;
    max-height: 86px !important;
}

@media (max-width: 767.98px) {
    .single-product .up-sells.upsells.products,
    .single-product .related.products {
        height: 235px !important;
        min-height: 235px !important;
        padding: 0 10px 6px !important;
    }

    .single-product .up-sells.upsells.products > h2,
    .single-product .related.products > h2 {
        margin-left: -10px !important;
        margin-right: -10px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        font-size: 18px !important;
    }

    .single-product .up-sells.upsells.products ul.products,
    .single-product .related.products ul.products {
        height: 175px !important;
    }

    .single-product .up-sells.upsells.products ul.products li.product,
    .single-product .related.products ul.products li.product {
        height: 155px !important;
        min-height: 155px !important;
    }

    .single-product .up-sells.upsells.products ul.products li.product a img,
    .single-product .related.products ul.products li.product a img {
        height: 76px !important;
        max-height: 76px !important;
    }
}


/* Abo-Ansichten im Konto */
body.woocommerce-account .fff-subscription-product {
    display: block !important;
    margin-top: 4px !important;
    color: #52675c !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

body.woocommerce-account .fff-subscription-title {
    margin: 0 0 14px !important;
    color: #173328 !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
}

body.woocommerce-account .fff-subscription-cancel-note {
    margin: 0 0 18px !important;
    padding: 12px 14px !important;
    border: 1px solid #e4d7bf !important;
    border-radius: 10px !important;
    background: #fdf8ef !important;
    color: #6f5a33 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}
