/*
Theme Name: Shop Fotbal Copii – Blocksy Child
Theme URI: https://shopfotbalcopii.test/
Description: A child theme for the Shop Fotbal Copii website, built on Blocksy.
Author: Shop Fotbal Copii
Template: blocksy
Version: 1.1.32
Text Domain: shopfotbalcopii-blocksy-child
*/

/*
 * Shop Fotbal Copii design foundation
 *
 * The first seven sections follow a deliberate cascade-layer architecture.
 * The final Blocksy/WooCommerce section is intentionally unlayered: normal
 * unlayered declarations outrank normal layered declarations, which lets this
 * child theme override Blocksy without using a blanket !important strategy.
 */
@layer tokens, reset, base, layout, components, utilities, overrides;

@layer tokens {
    :root {
        /* 1) COLOR PRIMITIVES — extracted from fotbalcopii.ro */
        --color-white: #ffffff;
        --color-pale-ice: #fafdfb;
        --color-frosted-sky: #e3e8f3;
        --color-skyline-blue: #7690c7;
        --color-regal-blue: #2b3e88;
        --color-regal-blue-light: #4f5f9c;
        --color-leaf-green: #71be55;
        --color-leaf-green-dark: #4fae4a;
        --color-obsidian: #1d1e18;
        --color-charcoal: #222222;
        --color-moss-gray: #72736f;
        --color-danger: #d32f2f;
        /* 2) SEMANTIC COLOR TOKENS */
        --color-bg-page: var(--color-pale-ice);
        --color-bg-surface: var(--color-white);
        --color-bg-soft: var(--color-frosted-sky);
        --color-bg-brand: var(--color-regal-blue);
        --color-bg-brand-soft: #e9effa;
        --color-bg-accent: var(--color-leaf-green);
        --color-text-primary: var(--color-obsidian);
        --color-text-secondary: var(--color-charcoal);
        --color-text-muted: var(--color-moss-gray);
        --color-text-on-brand: var(--color-white);
        --color-border: #d9e1ef;
        --color-border-strong: var(--color-skyline-blue);
        --color-link: var(--color-regal-blue);
        --color-link-hover: var(--color-regal-blue-light);
        /* Calm blue focus feedback for forms; green stays reserved for commerce actions. */
        --color-focus-ring: rgb(118 144 199 / 0.28);
        --color-success: var(--color-leaf-green-dark);
        --color-warning: var(--color-danger);
        --color-error: var(--color-danger);
        /* 3) TYPOGRAPHY TOKENS */
        --font-family-body: "Inter", "Roboto", Arial, sans-serif;
        --font-family-heading: "Lora", Georgia, serif;
        --font-weight-regular: 400;
        --font-weight-medium: 500;
        --font-weight-semibold: 600;
        --font-weight-bold: 700;
        --line-height-body: 1.6;
        --line-height-heading-tight: 1.15;
        --line-height-heading-normal: 1.25;
        --letter-spacing-heading: -0.022em;
        --letter-spacing-label: 0.04em;
        --font-size-body-sm: 0.875rem;
        --font-size-body-md: 1rem;
        --font-size-body-lg: 1.125rem;
        --font-size-heading-1: clamp(2.5rem, 6vw, 3.815rem);
        --font-size-heading-2: clamp(2rem, 5vw, 3.052rem);
        --font-size-heading-3: clamp(1.75rem, 4vw, 2.441rem);
        --font-size-heading-4: clamp(1.5rem, 3vw, 1.953rem);
        --font-size-display: clamp(3rem, 7vw, 4.75rem);
        /* 4) SPACING TOKENS */
        --space-0: 0;
        --space-1: 0.25rem;
        --space-2: 0.5rem;
        --space-3: 0.75rem;
        --space-4: 1rem;
        --space-5: 1.5rem;
        --space-6: 2rem;
        --space-7: 3rem;
        --space-8: 4rem;
        --space-9: 6rem;
        /* 5) RADIUS TOKENS — rounded, but still sporty rather than toy-like */
        --radius-sm: 0.375rem;
        --radius-md: 0.625rem;
        --radius-lg: 1rem;
        --radius-pill: 999px;
        /* 6) ELEVATION TOKENS — blue-tinted, soft and upbeat */
        --shadow-sm: 0 2px 6px rgb(43 62 136 / 0.08);
        --shadow-md: 0 8px 22px rgb(43 62 136 / 0.12);
        --shadow-lg: 0 18px 44px rgb(43 62 136 / 0.16);
        /* 7) BORDER TOKENS */
        --border-width: 1px;
        --border-width-strong: 2px;
        /* 8) LAYOUT TOKENS */
        --container-max-width: 75rem;
        --container-padding-inline: clamp(1rem, 4vw, 2rem);
        --section-padding-block: clamp(3rem, 7vw, 6rem);
        --content-max-width: 65ch;
        /* 9) Z-INDEX TOKENS */
        --z-dropdown: 100;
        --z-sticky: 200;
        --z-modal: 300;
        --z-toast: 400;
        /* 10) MOTION TOKENS */
        --duration-fast: 140ms;
        --duration-normal: 220ms;
        --duration-slow: 360ms;
        --ease-standard: cubic-bezier(0.2, 0, 0, 1);
        --ease-emphasized: cubic-bezier(0.2, 0, 0, 1.15);
        /* 11) OPACITY TOKENS */
        --opacity-disabled: 0.55;
        --opacity-muted: 0.72;
        --opacity-overlay: 0.68;
        /* 12) COMPONENT TOKENS */
        --button-primary-bg: var(--color-regal-blue);
        --button-primary-bg-hover: var(--color-regal-blue-light);
        --button-primary-text: var(--color-white);
        --button-primary-border: var(--color-regal-blue);
        --button-accent-bg: var(--color-leaf-green);
        --button-accent-bg-hover: var(--color-leaf-green-dark);
        --button-accent-text: var(--color-obsidian);
        --button-accent-border: var(--color-leaf-green);
        --category-nav-bg: #2b3e88;
        --category-nav-bg-hover: #244895;
        --category-nav-border: #2b3e88;
        --card-bg: var(--color-bg-surface);
        --card-border: var(--color-border);
        --card-shadow: var(--shadow-sm);
        --input-bg: var(--color-bg-surface);
        --input-border: var(--color-border-strong);
        --input-border-focus: var(--color-regal-blue);
        --input-text: var(--color-text-primary);
        --input-placeholder: var(--color-text-muted);
        --notice-success-bg: var(--color-pale-ice);
        --notice-error-bg: var(--color-pale-ice);
    }
}

@layer reset {
    *, *::before, *::after {
        box-sizing: border-box;
    }
    html {
        text-size-adjust: 100%;
    }
    img, picture, video, canvas {
        display: block;
        max-inline-size: 100%;
        block-size: auto;
    }
    button, input, textarea, select {
        font: inherit;
    }
    textarea {
        resize: vertical;
    }
}

@layer base {
    html {
        scroll-behavior: smooth;
    }
    body {
        min-block-size: 100vh;
        font-family: var(--font-family-body);
        font-size: var(--font-size-body-md);
        font-weight: var(--font-weight-regular);
        line-height: var(--line-height-body);
        color: var(--color-text-primary);
        background: var(--color-bg-page);
        -webkit-font-smoothing: antialiased;
    }
    h1, h2, h3, h4, h5, h6, .entry-content :is(h1, h2, h3, h4, h5, h6) {
        font-family: var(--font-family-heading);
        font-weight: var(--font-weight-bold);
        line-height: var(--line-height-heading-tight);
        letter-spacing: var(--letter-spacing-heading);
        color: var(--color-text-primary);
    }
    h1 {
        font-size: var(--font-size-heading-1);
    }
    h2 {
        font-size: var(--font-size-heading-2);
    }
    h3 {
        font-size: var(--font-size-heading-3);
        line-height: var(--line-height-heading-normal);
    }
    h4 {
        font-size: var(--font-size-heading-4);
        line-height: var(--line-height-heading-normal);
    }
    h5 {
        font-size: clamp(1.25rem, 2vw, 1.563rem);
    }
    h6 {
        font-size: 1.25rem;
    }
    a {
        color: var(--color-link);
        text-underline-offset: 0.15em;
    }
    a:hover {
        color: var(--color-link-hover);
    }
    :focus-visible {
        outline: 3px solid var(--color-focus-ring);
        outline-offset: 3px;
    }
    ::selection {
        color: var(--color-white);
        background: var(--color-regal-blue);
    }
}

@layer layout {
    .container {
        width: min(100% - (2 * var(--container-padding-inline)), var(--container-max-width));
        margin-inline: auto;
    }
    .section {
        padding-block: var(--section-padding-block);
    }
    .content {
        max-inline-size: var(--content-max-width);
    }
    .flow > * + * {
        margin-block-start: var(--flow-space, var(--space-4));
    }
    .cluster {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--cluster-gap, var(--space-4));
    }
    .grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--grid-min, 16rem)), 1fr));
        gap: var(--grid-gap, var(--space-5));
    }
}

@layer components {
    .display, .hero-title {
        font-family: var(--font-family-heading);
        font-size: var(--font-size-display);
        font-weight: var(--font-weight-bold);
        line-height: var(--line-height-heading-tight);
        letter-spacing: var(--letter-spacing-heading);
    }
    .eyebrow {
        font-size: var(--font-size-body-sm);
        font-weight: var(--font-weight-bold);
        letter-spacing: var(--letter-spacing-label);
        color: var(--color-regal-blue);
        text-transform: uppercase;
    }
    .button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--space-2);
        min-block-size: 2.875rem;
        padding: 0.75rem 1.25rem;
        border: var(--border-width-strong) solid transparent;
        border-radius: var(--radius-md);
        font-weight: var(--font-weight-bold);
        line-height: 1.15;
        text-decoration: none;
        cursor: pointer;
        transition: color var(--duration-normal) var(--ease-standard), background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
    }
    .button:hover {
        transform: translateY(-2px);
    }
    .button:active {
        transform: translateY(0);
    }
    .button:disabled, .button[aria-disabled="true"] {
        opacity: var(--opacity-disabled);
        pointer-events: none;
    }
    .button--primary {
        color: var(--button-primary-text);
        background: var(--button-primary-bg);
        border-color: var(--button-primary-border);
        box-shadow: var(--shadow-sm);
    }
    .button--primary:hover {
        color: var(--button-primary-text);
        background: var(--button-primary-bg-hover);
        border-color: var(--button-primary-bg-hover);
    }
    .button--accent {
        color: var(--button-accent-text);
        background: var(--button-accent-bg);
        border-color: var(--button-accent-border);
        box-shadow: var(--shadow-sm);
    }
    .button--accent:hover {
        color: var(--button-accent-text);
        background: var(--button-accent-bg-hover);
        border-color: var(--button-accent-bg-hover);
    }
    .card {
        padding: var(--space-5);
        background: var(--card-bg);
        border: var(--border-width) solid var(--card-border);
        border-radius: var(--radius-lg);
        box-shadow: var(--card-shadow);
    }
    :where(input, textarea, select) {
        width: 100%;
        padding: 0.75rem 0.875rem;
        color: var(--input-text);
        background: var(--input-bg);
        border: var(--border-width) solid var(--input-border);
        border-radius: var(--radius-sm);
    }
    :where(input, textarea, select):focus {
        border-color: var(--input-border-focus);
        box-shadow: 0 0 0 2px var(--color-focus-ring);
    }
    :where(input, textarea)::placeholder {
        color: var(--input-placeholder);
    }
}

@layer utilities {
    .visually-hidden {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
        border: 0;
    }
    .text-muted {
        color: var(--color-text-muted);
    }
    .text-center {
        text-align: center;
    }
    .surface {
        color: var(--color-text-primary);
        background: var(--color-bg-surface);
    }
}

@layer overrides {
    @media (prefers-reduced-motion: reduce) {
        html {
            scroll-behavior: auto;
        }
        *, *::before, *::after {
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
            scroll-behavior: auto !important;
            transition-duration: 0.01ms !important;
        }
    }
}
/*
 * Blocksy + WooCommerce integration
 * Kept unlayered by design. These selectors are more specific than the
 * corresponding generic Blocksy/WooCommerce rules and load after Blocksy.
 */
:root {
    --theme-font-family: var(--font-family-body);
    --theme-heading-font-family: var(--font-family-heading);
    --theme-text-color: var(--color-text-primary);
    --theme-headings-color: var(--color-text-primary);
    --theme-link-initial-color: var(--color-link);
    --theme-link-hover-color: var(--color-link-hover);
    --theme-border-color: var(--color-border);
    --theme-palette-color-1: var(--color-regal-blue);
    --theme-palette-color-2: var(--color-regal-blue-light);
    --theme-palette-color-3: var(--color-obsidian);
    --theme-palette-color-4: var(--color-moss-gray);
    --theme-palette-color-5: var(--color-frosted-sky);
    --theme-palette-color-6: var(--color-pale-ice);
    --theme-palette-color-7: var(--color-white);
    /* Blocksy uses palette 8 as the default product-card/surface background. */
    --theme-palette-color-8: var(--color-white);
    --theme-button-background-initial-color: var(--button-primary-bg);
    --theme-button-background-hover-color: var(--button-primary-bg-hover);
    --theme-button-text-initial-color: var(--button-primary-text);
    --theme-button-text-hover-color: var(--button-primary-text);
    --theme-form-field-border-initial-color: var(--input-border);
    --theme-form-field-border-focus-color: var(--input-border-focus);
}
body,
body .entry-content,
body .woocommerce,
body .wc-block-components-sidebar {
    font-family: var(--font-family-body);
    color: var(--color-text-primary);
    background-color: var(--color-bg-page);
}
body :is(h1, h2, h3, h4, h5, h6, .entry-title, .page-title, .woocommerce-loop-product__title, .product_title) {
    font-family: var(--font-family-heading);
}
body .woocommerce :is(a.button, button.button, input.button, #respond input#submit),
body .add_to_cart_button.button,
body .single_add_to_cart_button.button,
body .wc-block-components-button:not(.is-link) {
    min-block-size: 2.875rem;
    padding: 0.75rem 1.25rem;
    color: var(--button-accent-text);
    background-color: var(--button-accent-bg);
    border: var(--border-width-strong) solid var(--button-accent-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    font-family: var(--font-family-body);
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-bold);
    line-height: 1.15;
    letter-spacing: 0;
    text-decoration: none;
    transition: color var(--duration-normal) var(--ease-standard), background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}
body .woocommerce :is(a.button, button.button, input.button, #respond input#submit):hover,
body .add_to_cart_button.button:hover,
body .single_add_to_cart_button.button:hover,
body .wc-block-components-button:not(.is-link):hover {
    color: var(--button-accent-text);
    background-color: var(--button-accent-bg-hover);
    border-color: var(--button-accent-bg-hover);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}
body .woocommerce :is(a.button, button.button, input.button, #respond input#submit):focus-visible,
body .add_to_cart_button.button:focus-visible,
body .single_add_to_cart_button.button:focus-visible,
body .wc-block-components-button:not(.is-link):focus-visible {
    outline: 3px solid var(--color-focus-ring);
    outline-offset: 3px;
}
/* The post-add-to-cart link uses the same outlined treatment as the
 * homepage's "Vezi toate produsele" CTA, without adding an arrow. */
body.single-product .ct-cart-actions .added_to_cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-block-size: 2.875rem;
    padding: .9rem 1.35rem;
    color: var(--color-obsidian) !important;
    background: transparent !important;
    border: 2px solid var(--color-leaf-green) !important;
    border-radius: var(--radius-md);
    box-shadow: none;
    font-family: var(--font-family-body);
    font-size: .9rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.15;
    text-decoration: none;
    transition: color var(--duration-normal) var(--ease-standard), background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}
body.single-product .ct-cart-actions .added_to_cart::after {
    width: 1.05rem;
    height: 1.05rem;
    flex: 0 0 1.05rem;
    content: "";
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15'%3E%3Cpath d='M14.1,1.6C14,0.7,13.3,0,12.4,0H2.7C1.7,0,1,0.7,0.9,1.6L0.1,13.1c0,0.5,0.1,1,0.5,1.3C0.9,14.8,1.3,15,1.8,15h11.4c0.5,0,0.9-0.2,1.3-0.6c0.3-0.4,0.5-0.8,0.5-1.3L14.1,1.6zM13.4,13.4c0,0-0.1,0.1-0.2,0.1H1.8c-0.1,0-0.2-0.1-0.2-0.1c0,0-0.1-0.1-0.1-0.2L2.4,1.7c0-0.1,0.1-0.2,0.2-0.2h9.7c0.1,0,0.2,0.1,0.2,0.2l0.8,11.5C13.4,13.3,13.4,13.4,13.4,13.4z M10,3.2C9.6,3.2,9.2,3.6,9.2,4v1.5c0,1-0.8,1.8-1.8,1.8S5.8,6.5,5.8,5.5V4c0-0.4-0.3-0.8-0.8-0.8S4.2,3.6,4.2,4v1.5c0,1.8,1.5,3.2,3.2,3.2s3.2-1.5,3.2-3.2V4C10.8,3.6,10.4,3.2,10,3.2z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15'%3E%3Cpath d='M14.1,1.6C14,0.7,13.3,0,12.4,0H2.7C1.7,0,1,0.7,0.9,1.6L0.1,13.1c0,0.5,0.1,1,0.5,1.3C0.9,14.8,1.3,15,1.8,15h11.4c0.5,0,0.9-0.2,1.3-0.6c0.3-0.4,0.5-0.8,0.5-1.3L14.1,1.6zM13.4,13.4c0,0-0.1,0.1-0.2,0.1H1.8c-0.1,0-0.2-0.1-0.2-0.1c0,0-0.1-0.1-0.1-0.2L2.4,1.7c0-0.1,0.1-0.2,0.2-0.2h9.7c0.1,0,0.2,0.1,0.2,0.2l0.8,11.5C13.4,13.3,13.4,13.4,13.4,13.4z M10,3.2C9.6,3.2,9.2,3.6,9.2,4v1.5c0,1-0.8,1.8-1.8,1.8S5.8,6.5,5.8,5.5V4c0-0.4-0.3-0.8-0.8-0.8S4.2,3.6,4.2,4v1.5c0,1.8,1.5,3.2,3.2,3.2s3.2-1.5,3.2-3.2V4C10.8,3.6,10.4,3.2,10,3.2z'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.single-product .ct-cart-actions .added_to_cart:hover {
    color: var(--color-obsidian) !important;
    background: var(--color-leaf-green) !important;
    border-color: var(--color-leaf-green) !important;
    box-shadow: var(--shadow-sm);
    transform: translateY(-2px);
}
body.single-product .ct-cart-actions .added_to_cart:focus-visible {
    outline: 3px solid var(--color-focus-ring);
    outline-offset: 3px;
}
/* Let multiple products in the off-canvas cart scan as distinct rows without
 * making the drawer feel like a stack of heavy cards. */
#woo-cart-panel .woocommerce-mini-cart > .woocommerce-mini-cart-item + .woocommerce-mini-cart-item {
    margin-block-start: 1rem;
    padding-block-start: 1rem;
    border-top: 1px solid rgb(43 62 136 / .13);
}
/* Keep product-card CTAs flush with the card footer in every interaction state.
 * Standalone WooCommerce buttons retain the shared lift animation above. */
body .woocommerce ul.products li.product .add_to_cart_button.button:hover,
body .woocommerce ul.products li.product .add_to_cart_button.button:focus-visible,
body.home .sf-product-showcase ul.products li.product .add_to_cart_button.button:hover,
body.home .sf-product-showcase ul.products li.product .add_to_cart_button.button:focus-visible {
    transform: none;
}
body .woocommerce :is(.checkout-button, .button.alt),
body .wc-block-cart__submit-button,
body .wc-block-components-checkout-place-order-button {
    color: var(--button-primary-text);
    background-color: var(--button-primary-bg);
    border-color: var(--button-primary-border);
}
body .woocommerce :is(.checkout-button, .button.alt):hover,
body .wc-block-cart__submit-button:hover,
body .wc-block-components-checkout-place-order-button:hover {
    color: var(--button-primary-text);
    background-color: var(--button-primary-bg-hover);
    border-color: var(--button-primary-bg-hover);
}
body .woocommerce :is(input.input-text, textarea, select),
body .wc-block-components-text-input input,
body .wc-block-components-combobox .wc-block-components-combobox-control input {
    color: var(--input-text);
    background-color: var(--input-bg);
    border: var(--border-width) solid var(--input-border);
    border-radius: var(--radius-sm);
}
body .woocommerce :is(input.input-text, textarea, select):focus,
body .wc-block-components-text-input input:focus,
body .wc-block-components-combobox .wc-block-components-combobox-control input:focus {
    border-color: var(--input-border-focus);
    box-shadow: 0 0 0 2px var(--color-focus-ring);
}
/* Keep the cart and checkout order-summary panels in step with the site's
 * standard large card corners. */
body.woocommerce-cart .cart_totals,
body.woocommerce-checkout .ct-order-review {
    border-radius: var(--radius-lg);
}
/* Notices use the site palette to communicate status without becoming banners. */
body.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice),
body .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice),
body .wc-block-components-notice-banner,
body :is(.ct-form-notification, .ct-form-notification-error) {
    position: relative;
    margin: 0 0 1.25rem;
    padding: 1rem 1.25rem 1rem 3.65rem;
    border: 1px solid var(--color-border);
    border-left: 4px solid var(--color-skyline-blue);
    border-radius: var(--radius-md);
    color: var(--color-text-secondary);
    background: #f4f7fc;
    box-shadow: 0 5px 16px rgb(43 62 136 / .07);
    font-size: var(--font-size-body-sm);
    line-height: 1.5;
}
body.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice)::before,
body .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice)::before {
    position: absolute;
    top: 50%;
    left: 1.15rem;
    margin: 0;
    color: var(--color-regal-blue);
    transform: translateY(-50%);
}
body.woocommerce :is(.woocommerce-message, .woocommerce-notice--success),
body .woocommerce :is(.woocommerce-message, .woocommerce-notice--success) {
    border-color: #b9dbad;
    border-left-color: var(--color-leaf-green);
    background: #f2f9ef;
}
body.woocommerce :is(.woocommerce-message, .woocommerce-notice--success)::before,
body .woocommerce :is(.woocommerce-message, .woocommerce-notice--success)::before {
    color: var(--color-leaf-green-dark);
}
body.woocommerce .woocommerce-error,
body .woocommerce .woocommerce-error,
body .wc-block-components-notice-banner.is-error,
body .ct-form-notification-error {
    border-color: #efb9b9;
    border-left-color: var(--color-danger);
    background: #fff3f3;
}
body.woocommerce .woocommerce-error::before,
body .woocommerce .woocommerce-error::before {
    color: var(--color-danger);
}
body .wc-block-components-notice-banner.is-success {
    border-color: #b9dbad;
    border-left-color: var(--color-leaf-green);
    background: #f2f9ef;
}
body.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice) a:not(.button),
body .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice) a:not(.button),
body :is(.ct-form-notification, .ct-form-notification-error) a {
    color: var(--color-regal-blue);
    font-weight: var(--font-weight-semibold);
    text-decoration-thickness: 1px;
    text-underline-offset: .16em;
}
body.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice) .button,
body .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice) .button {
    margin-left: 1rem;
}
body.woocommerce ul.woocommerce-error,
body .woocommerce ul.woocommerce-error {
    list-style: none;
}
body.woocommerce ul.woocommerce-error li + li,
body .woocommerce ul.woocommerce-error li + li {
    margin-top: .35rem;
}
@media (max-width: 600px) {
    body.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice),
    body .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice),
    body .wc-block-components-notice-banner,
    body :is(.ct-form-notification, .ct-form-notification-error) {
        padding: .9rem 1rem .9rem 3rem;
    }
    body.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice)::before,
    body .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice)::before {
        left: .95rem;
    }
    body.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice) .button,
    body .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice) .button {
        display: inline-flex;
        float: none;
        margin: .75rem 0 0;
    }
}
body .ct-woo-badges :is(.onsale, .out-of-stock-badge, .ct-woo-badge-new, .ct-woo-badge-featured) {
    min-width: auto;
    min-height: 1.75rem;
    padding: 0.35rem 0.625rem;
    border: 0;
    border-radius: var(--radius-pill);
    box-shadow: 0 3px 10px rgb(29 30 24 / 0.14);
    font-family: var(--font-family-body);
    font-size: 0.75rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    letter-spacing: var(--letter-spacing-label);
    text-transform: uppercase;
}
body .ct-woo-badges {
    --badge-top: 0.875rem;
    --badge-left: 0.875rem;
    gap: 0.5rem;
}
body .ct-woo-badges .onsale {
    color: var(--color-obsidian);
    background: var(--color-leaf-green);
}
body .ct-woo-badges .ct-woo-badge-new {
    color: var(--color-white);
    background: var(--color-regal-blue);
}
body .ct-woo-badges .ct-woo-badge-featured {
    color: var(--color-obsidian);
    background: #f4b942;
}
body .ct-woo-badges .out-of-stock-badge {
    color: var(--color-white);
    background: var(--color-danger);
}
body .woocommerce :is(.price, .amount) {
    color: var(--color-regal-blue);
    font-weight: var(--font-weight-bold);
}
/*
 * Catalog product cards
 *
 * The product name and price are the useful scan points on an archive page;
 * repeating the category beneath every title adds visual noise without helping
 * shoppers choose an item.  Keep the surface deliberately flat, then use the
 * familiar green commerce action as the single visual cue in the card footer.
 */
body.woocommerce-page ul.products[data-products="type-2"] > li.product,
body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product {
    overflow: hidden;
    padding: 0 1.25rem 1.25rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg-surface);
    box-shadow: none;
    transition: border-color 280ms cubic-bezier(.22, 1, .36, 1), box-shadow 320ms cubic-bezier(.22, 1, .36, 1), transform 320ms cubic-bezier(.22, 1, .36, 1);
}
body.woocommerce-page ul.products[data-products="type-2"] > li.product:hover,
body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product:hover {
    border-color: var(--color-skyline-blue);
    transform: none;
    box-shadow: 0 10px 24px rgb(43 62 136 / .10);
}
/* The homepage showcase stacks its product rows without an exposed gap. */
body.woocommerce-page ul.products[data-products="type-2"] > li.product > figure,
body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product > figure {
    margin-inline: -1.25rem;
    margin-block: 0 1.125rem;
    border-bottom: 1px solid var(--color-bg-soft);
}
body.woocommerce-page ul.products[data-products="type-2"] > li.product > figure img,
body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product > figure img {
    transition: transform 420ms cubic-bezier(.22, 1, .36, 1) !important;
}
body.woocommerce-page ul.products[data-products="type-2"] > li.product:hover > figure img,
body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product:hover > figure img {
    transform: scale(1.012);
}
@media (prefers-reduced-motion: reduce) {
    body.woocommerce-page ul.products[data-products="type-2"] > li.product,
    body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product,
    body.woocommerce-page ul.products[data-products="type-2"] > li.product > figure img,
    body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product > figure img {
        transition-duration: 1ms !important;
    }
}
body.woocommerce-page ul.products[data-products="type-2"] > li.product .woocommerce-loop-product__title,
body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product .woocommerce-loop-product__title {
    margin-block: 0 0.625rem;
    /* Keep the title-to-footer breathing room without affecting image spacing. */
    padding-block-end: var(--space-3);
    font-size: 1.0625rem;
    font-weight: var(--font-weight-semibold);
    line-height: 1.45;
}
@media (max-width: 689.98px) {
    body.woocommerce-page ul.products[data-products="type-2"] > li.product .woocommerce-loop-product__title,
    body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product .woocommerce-loop-product__title {
        padding-block-end: var(--space-2);
    }
}
/* Category context remains available via filtering and the product page. */
body.woocommerce-page ul.products[data-products="type-2"] > li.product > .entry-meta,
body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product > .entry-meta {
    display: none;
}
body.woocommerce-page ul.products[data-products="type-2"] > li.product .ct-woo-card-actions,
body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product .ct-woo-card-actions {
    margin: auto -1.25rem -1.25rem;
    border-top: 1px solid var(--color-border);
    background: var(--color-bg-surface);
}
body.woocommerce-page ul.products[data-products="type-2"] > li.product .ct-woo-card-actions .price,
body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product .ct-woo-card-actions .price {
    display: flex;
    align-items: center;
    padding-inline: 1.25rem;
    color: var(--color-text-primary);
}
body.woocommerce-page ul.products[data-products="type-2"] > li.product .ct-woo-card-actions :is(.button, .added_to_cart),
body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product .ct-woo-card-actions :is(.button, .added_to_cart) {
    min-height: 3.4375rem;
    margin: 0;
    padding: 0.75rem 1rem;
    border: 0;
    border-radius: 0;
    color: var(--button-accent-text);
    background-color: var(--button-accent-bg);
    box-shadow: none;
    font-weight: var(--font-weight-bold);
    transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
}
body.woocommerce-page ul.products[data-products="type-2"] > li.product .ct-woo-card-actions :is(.button, .added_to_cart):hover,
body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product .ct-woo-card-actions :is(.button, .added_to_cart):hover {
    color: var(--button-accent-text);
    background-color: var(--button-accent-bg-hover);
    box-shadow: var(--shadow-md);
    transform: none;
}
body.woocommerce-page ul.products[data-products="type-2"] > li.product .ct-woo-card-actions :is(.button, .added_to_cart):focus-visible,
body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product .ct-woo-card-actions :is(.button, .added_to_cart):focus-visible {
    outline: 3px solid var(--color-focus-ring);
    outline-offset: -3px;
}

/* Reuse the catalogue card treatment in the single-product related slider. */
body.single-product .related.products .products[data-products="type-2"] > .flexy-item > .product {
    overflow: hidden;
    padding: 0 1.25rem 1.25rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg-surface);
    box-shadow: none;
    transition: border-color 280ms cubic-bezier(.22, 1, .36, 1), box-shadow 320ms cubic-bezier(.22, 1, .36, 1), transform 320ms cubic-bezier(.22, 1, .36, 1);
}
body.single-product .related.products .products[data-products="type-2"] > .flexy-item > .product:hover {
    border-color: var(--color-skyline-blue);
    box-shadow: 0 10px 24px rgb(43 62 136 / .10);
    transform: none;
}
body.single-product .related.products .products[data-products="type-2"] > .flexy-item > .product > figure {
    margin-inline: -1.25rem;
    margin-block: 0 1.125rem;
    border-bottom: 1px solid var(--color-bg-soft);
}
body.single-product .related.products .products[data-products="type-2"] > .flexy-item > .product > figure img {
    transition: transform 420ms cubic-bezier(.22, 1, .36, 1) !important;
}
body.single-product .related.products .products[data-products="type-2"] > .flexy-item > .product:hover > figure img {
    transform: scale(1.012);
}
body.single-product .related.products .products[data-products="type-2"] > .flexy-item > .product .woocommerce-loop-product__title {
    margin-block: 0 0.625rem;
    padding-block-end: var(--space-3);
    font-size: 1.0625rem;
    font-weight: var(--font-weight-semibold);
    line-height: 1.45;
}
body.single-product .related.products .products[data-products="type-2"] > .flexy-item > .product > .entry-meta {
    display: none;
}
body.single-product .related.products .products[data-products="type-2"] > .flexy-item > .product .ct-woo-card-actions {
    margin: auto -1.25rem -1.25rem;
    border-top: 1px solid var(--color-border);
    background: var(--color-bg-surface);
}
body.single-product .related.products .products[data-products="type-2"] > .flexy-item > .product .ct-woo-card-actions .price {
    display: flex;
    align-items: center;
    padding-inline: 1.25rem;
    color: var(--color-text-primary);
}
body.single-product .related.products .products[data-products="type-2"] > .flexy-item > .product .ct-woo-card-actions :is(.button, .added_to_cart) {
    min-height: 3.4375rem;
    margin: 0;
    padding: .75rem 1rem;
    border: 0;
    border-radius: 0;
    color: var(--button-accent-text);
    background-color: var(--button-accent-bg);
    box-shadow: none;
    font-weight: var(--font-weight-bold);
    transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
}
body.single-product .related.products .products[data-products="type-2"] > .flexy-item > .product .ct-woo-card-actions :is(.button, .added_to_cart):hover {
    color: var(--button-accent-text);
    background-color: var(--button-accent-bg-hover);
    box-shadow: var(--shadow-md);
    transform: none;
}
body.single-product .related.products .products[data-products="type-2"] > .flexy-item > .product .ct-woo-card-actions :is(.button, .added_to_cart):focus-visible {
    outline: 3px solid var(--color-focus-ring);
    outline-offset: -3px;
}
@media (max-width: 689.98px) {
    body.single-product .related.products .products[data-products="type-2"] > .flexy-item > .product .woocommerce-loop-product__title {
        padding-block-end: var(--space-2);
    }
}
@media (prefers-reduced-motion: reduce) {
    body.single-product .related.products .products[data-products="type-2"] > .flexy-item > .product,
    body.single-product .related.products .products[data-products="type-2"] > .flexy-item > .product > figure img {
        transition-duration: 1ms !important;
    }
}
/* Categories is the header's primary browse action, kept distinct from the standard menu links. */
body .ct-header [data-id="menu-tertiary"] {
    --menu-indicator-initial-color: var(--category-nav-bg);
    --menu-indicator-hover-color: var(--category-nav-bg-hover);
    --menu-indicator-active-color: var(--category-nav-bg-hover);
}

/* Mobile off-canvas navigation: a left-hand, easy-to-scan shopping menu. */
@media (max-width: 999.98px) {
	/* The compact utility row stays available, while the search field scrolls
	 * with the page to avoid occupying persistent vertical space. */
	#header {
		position: sticky;
		top: var(--admin-bar, 0px);
		z-index: var(--z-sticky);
		background: var(--color-bg-surface);
		box-shadow: 0 3px 12px rgb(43 62 136 / .10);
	}
	#header > [data-device="mobile"] {
		position: static;
	}
	#header > [data-device="mobile"] [data-row="middle"] {
		min-height: 4.75rem;
	}
	#header > [data-device="mobile"] .site-logo-container img {
		display: block;
		width: auto;
		height: 3rem;
		max-width: 5.4rem;
		max-height: 3rem;
	}
	#header > [data-device="mobile"] :is(.site-branding, .site-logo-container) {
		display: flex;
		align-items: center;
		height: 3rem;
	}
	#header > [data-device="mobile"] .ct-header-trigger {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.55rem;
		min-width: 2.55rem;
		height: 2.55rem;
		min-height: 2.55rem;
		padding: .45rem;
		border: 1px solid var(--color-regal-blue) !important;
		border-radius: var(--radius-sm);
		color: var(--color-white);
		background: var(--color-regal-blue) !important;
		box-shadow: 0 3px 8px rgb(43 62 136 / .2) !important;
		font-size: .7rem;
		font-weight: var(--font-weight-bold);
		letter-spacing: .07em;
		text-transform: uppercase;
		transition: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
	}
	#header > [data-device="mobile"] .ct-header-trigger .ct-label {
		display: none !important;
		color: var(--color-white) !important;
	}
	#header > [data-device="mobile"] .ct-header-trigger .ct-icon {
		display: block;
		width: 1.15rem;
		height: .9rem;
		fill: currentColor;
	}
	#header > [data-device="mobile"] .ct-header-trigger:is(:hover, :focus-visible) {
		border-color: var(--color-regal-blue-light) !important;
		background: var(--color-regal-blue-light) !important;
		box-shadow: 0 5px 12px rgb(43 62 136 / .26) !important;
		transform: translateY(-1px);
	}
	.sfc-mobile-header-search {
		display: block;
		padding: .4rem .75rem .25rem;
		border-bottom: 1px solid var(--color-border);
		background: var(--color-bg-surface);
	}
	.sfc-mobile-header-search__form {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		overflow: hidden;
		min-height: 2.5rem;
		border: 1.5px solid var(--color-regal-blue);
		border-radius: var(--radius-pill);
		background: var(--color-bg-surface);
		box-shadow: 0 2px 7px rgb(43 62 136 / .07);
		transition: box-shadow var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);
	}
	.sfc-mobile-header-search__form:focus-within {
		border-color: var(--color-regal-blue-light);
		box-shadow: 0 0 0 3px var(--color-focus-ring);
	}
	.sfc-mobile-header-search__form input[type="search"] {
		width: 100%;
		min-width: 0;
		height: 2.5rem;
		padding: 0 .2rem 0 .85rem;
		border: 0;
		outline: 0;
		color: var(--color-text-primary);
		background: transparent;
		box-shadow: none;
		font-family: var(--font-family-body);
		font-size: .9rem;
	}
	.sfc-mobile-header-search__form input[type="search"]::placeholder {
		color: var(--color-text-muted);
		opacity: 1;
	}
	.sfc-mobile-header-search__form button {
		display: grid;
		width: 2.35rem;
		height: 2.35rem;
		margin-right: .06rem;
		padding: 0;
		place-items: center;
		border: 0;
		border-radius: 50%;
		color: var(--color-regal-blue);
		background: transparent;
		cursor: pointer;
		transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);
	}
	.sfc-mobile-header-search__form button:hover {
		color: var(--color-white);
		background: var(--color-regal-blue);
	}
	.sfc-mobile-header-search__form button svg {
		width: 1.1rem;
		height: 1.1rem;
	}
	.sfc-mobile-header-search__form button:focus-visible {
		outline: 3px solid var(--color-focus-ring);
		outline-offset: -3px;
	}
    #offcanvas[data-behaviour="left-side"] .ct-panel-inner {
        width: min(90vw, 25rem);
        border-inline-end: 1px solid var(--color-border);
        background: linear-gradient(145deg, #ffffff 0%, #f7f9fe 100%);
        box-shadow: 18px 0 46px rgb(43 62 136 / .18);
    }
    #offcanvas .ct-panel-actions {
        min-height: 4.5rem;
        padding: 1.15rem 1.25rem .75rem;
        border-bottom: 1px solid var(--color-border);
    }
    #offcanvas .ct-toggle-close {
        display: grid;
        width: 2.5rem;
        height: 2.5rem;
        margin-inline-start: auto;
        place-items: center;
        border: 1px solid var(--color-border);
        border-radius: 50%;
        color: var(--color-regal-blue);
        background: var(--color-bg-surface);
        box-shadow: var(--shadow-sm);
        transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
    }
    #offcanvas .ct-toggle-close:hover {
        color: var(--color-white);
        background: var(--color-regal-blue);
        transform: rotate(90deg);
    }
    #offcanvas .ct-panel-content-inner {
        align-items: stretch;
        padding: 1rem 1.25rem 1.5rem;
    }
    #offcanvas .mobile-menu {
        width: 100%;
        margin: 0;
    }
    #offcanvas .mobile-menu > ul {
        border-top: 0;
    }
    #offcanvas .mobile-menu > ul > li {
        border-bottom: 1px solid var(--color-border);
    }
    #offcanvas .mobile-menu > ul > li > a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 3.65rem;
        padding: .65rem .1rem;
        color: var(--color-text-primary);
        font-size: 1.05rem;
        font-weight: var(--font-weight-bold);
        line-height: 1.2;
        text-decoration: none;
    }
    #offcanvas .mobile-menu > ul > li > a::after,
    #offcanvas .sfc-mobile-menu__link-arrow {
        width: .5rem;
        height: .5rem;
        flex: 0 0 .5rem;
        margin-inline-start: 1rem;
        border-top: 2px solid currentColor;
        border-inline-end: 2px solid currentColor;
        content: "";
        opacity: .68;
        transform: rotate(45deg);
        transition: opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
    }
    #offcanvas .mobile-menu > ul > li > a:is(:hover, :focus-visible) {
        color: var(--color-regal-blue);
    }
    #offcanvas .mobile-menu > ul > li > a:is(:hover, :focus-visible)::after {
        opacity: 1;
        transform: translateX(3px) rotate(45deg);
    }
    #offcanvas .mobile-menu > ul > li.current-menu-item > a {
        color: var(--color-regal-blue);
    }
    #offcanvas .sfc-mobile-menu__categories {
        padding: .65rem 0 1rem;
        border-bottom: 1px solid var(--color-border);
    }
    #offcanvas .sfc-mobile-menu__categories > p {
        margin: 0 0 .5rem;
        color: var(--color-text-muted);
        font-size: .7rem;
        font-weight: var(--font-weight-bold);
        letter-spacing: .11em;
        text-transform: uppercase;
    }
    #offcanvas .sfc-mobile-menu__categories ul {
        display: grid;
        gap: .35rem;
        padding: 0;
        margin: 0;
        list-style: none;
    }
    #offcanvas .sfc-mobile-menu__categories li {
        border: 0;
    }
    #offcanvas .sfc-mobile-menu__categories a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 2.65rem;
        padding: .55rem .75rem;
        border: 1px solid transparent;
        border-radius: var(--radius-sm);
        color: var(--color-text-secondary);
        background: var(--color-bg-surface);
        font-size: .875rem;
        font-weight: var(--font-weight-semibold);
        line-height: 1.25;
        text-decoration: none;
        box-shadow: 0 1px 3px rgb(43 62 136 / .04);
        transition: border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
    }
    #offcanvas .sfc-mobile-menu__categories a:is(:hover, :focus-visible) {
        border-color: #c7d4ee;
        color: var(--color-regal-blue);
        background: var(--color-bg-brand-soft);
        transform: translateX(3px);
    }
    #offcanvas .sfc-mobile-menu__categories a:is(:hover, :focus-visible) .sfc-mobile-menu__link-arrow {
        opacity: 1;
        transform: translateX(2px) rotate(45deg);
    }
    #offcanvas .sfc-mobile-menu__socials {
        margin-top: auto;
        padding-top: 1.4rem;
    }
    #offcanvas .sfc-mobile-menu__socials > p {
        margin: 0 0 .7rem;
        color: var(--color-text-muted);
        font-size: .7rem;
        font-weight: var(--font-weight-bold);
        letter-spacing: .11em;
        text-transform: uppercase;
    }
    #offcanvas .sfc-mobile-menu__social-links {
        display: flex;
        flex-wrap: wrap;
        gap: .55rem;
    }
    #offcanvas .sfc-mobile-menu__social-link {
        display: grid;
        width: 2.5rem;
        height: 2.5rem;
        place-items: center;
        border: 1px solid var(--color-regal-blue);
        border-radius: 50%;
        color: var(--color-white);
        background: var(--color-regal-blue);
        box-shadow: 0 3px 8px rgb(43 62 136 / .2);
        text-decoration: none;
        transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
    }
    #offcanvas .sfc-mobile-menu__social-link svg {
        width: 1.15rem;
        height: 1.15rem;
    }
    #offcanvas .sfc-mobile-menu__social-link:is(:hover, :focus-visible) {
        border-color: var(--color-regal-blue-light);
        color: var(--color-white);
        background: var(--color-regal-blue-light);
        transform: translateY(-2px);
    }
    #offcanvas :is(.ct-toggle-close, .mobile-menu a, .sfc-mobile-menu__social-link):focus-visible {
        outline: 3px solid var(--color-focus-ring);
        outline-offset: 3px;
    }
}

@media (min-width: 1000px) {
	.sfc-mobile-header-search {
		display: none;
	}
}
body .ct-header [data-id="menu-tertiary"] > ul > li > a.ct-menu-link {
    border: 1px solid var(--category-nav-border);
    border-bottom: 0;
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    color: var(--color-white);
    background-color: var(--category-nav-bg);
    box-shadow: inset 0 -3px 0 transparent, 0 4px 12px rgb(49 86 179 / 0.14);
    transition: background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard);
}
body .ct-header [data-id="menu-tertiary"] > ul > li:hover > a.ct-menu-link,
body .ct-header [data-id="menu-tertiary"] > ul > li:focus-within > a.ct-menu-link,
body .ct-header [data-id="menu-tertiary"] > ul > li[class*="current-menu-"] > a.ct-menu-link {
    border-color: var(--category-nav-bg-hover);
    background-color: var(--category-nav-bg-hover);
    box-shadow: inset 0 -3px 0 var(--color-leaf-green), 0 6px 16px rgb(36 72 149 / 0.2);
}
/* Header contact stays available without competing with shopping actions. */
.ct-header .ct-header-cta[data-id="button"] > .ct-button-ghost {
    gap: .5rem;
    min-height: 2.5rem;
    padding: .25rem .85rem .25rem .3rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    color: var(--color-regal-blue);
    background: #f4f7fc;
    box-shadow: 0 2px 7px rgb(43 62 136 / .06);
    font-size: .8125rem;
    font-weight: var(--font-weight-semibold);
    line-height: 1;
    letter-spacing: .01em;
    transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}
.ct-header .ct-header-cta[data-id="button"] > .ct-button-ghost .ct-icon {
    width: 1.875rem;
    height: 1.875rem;
    flex: 0 0 1.875rem;
}
.ct-header .ct-header-cta[data-id="button"] > .ct-button-ghost .ct-icon path:first-child {
    fill: var(--color-regal-blue);
    transition: fill var(--duration-fast) var(--ease-standard);
}
.ct-header .ct-header-cta[data-id="button"] > .ct-button-ghost:hover {
    border-color: var(--color-regal-blue);
    color: var(--color-regal-blue);
    background: var(--color-bg-surface);
    box-shadow: 0 4px 10px rgb(43 62 136 / .12);
    transform: translateY(-1px);
}
.ct-header .ct-header-cta[data-id="button"] > .ct-button-ghost:hover .ct-icon path:first-child {
    fill: var(--color-regal-blue-light);
}
.ct-header .ct-header-cta[data-id="button"] > .ct-button-ghost:focus-visible {
    outline: 3px solid var(--color-focus-ring);
    outline-offset: 3px;
}
/* Categories mega menu — content comes from the "Categorii - Megamenu" block. */
@media (min-width: 1000px) {
    body .menu-item-995.ct-mega-menu-custom-width .sub-menu {
        --mega-menu-max-width: min(62.5rem, calc(100vw - 2rem));
        background: var(--color-bg-page);
    }
}
.sf-mega-menu {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
    padding: var(--space-4);
    margin-bottom: 0;
    font-family: var(--font-family-body);
}
.sf-mega-menu__group {
    padding: 1.25rem;
    background: var(--color-pale-ice);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
}
.sf-mega-menu h3.sf-mega-menu__title {
    margin: 0 0 0.875rem;
    font-family: var(--font-family-body);
    font-size: 1rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.25;
    letter-spacing: 0;
    color: var(--color-regal-blue);
}
.sf-mega-menu__links {
    display: grid;
    gap: 0.25rem;
}
.sf-mega-menu__item {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.625rem;
    border-radius: var(--radius-sm);
    color: var(--color-text-secondary);
    font-size: 0.875rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.35;
    text-decoration: none;
    transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}
.sf-mega-menu__item:hover,
.sf-mega-menu__item:focus-visible {
    color: var(--color-regal-blue);
    background: var(--color-bg-brand-soft);
    transform: translateX(3px);
}
.sf-mega-menu__icon {
    display: grid;
    place-items: center;
    flex: 0 0 1.5rem;
    width: 1.5rem;
    height: 1.5rem;
    font-size: 1.05rem;
    line-height: 1;
}
/* Keep the compact sticky navigation clearly separated from page content. */
@media (min-width: 1000px) {
    #header [data-sticky^="yes"] {
        background: var(--color-bg-surface);
        border-bottom: 1px solid rgb(43 62 136 / 32%);
        box-shadow: 0 4px 10px rgb(43 62 136 / 10%);
    }
}
@media (max-width: 999.98px) {
    .sf-mega-menu {
        grid-template-columns: 1fr;
        padding: var(--space-3);
    }
}
/* Supporting navigation and utilities share a quieter, consistent interaction pattern. */
@media (min-width: 1000px) {
    body .ct-header [data-id="menu"] {
        --menu-items-spacing: 38px;
        --menu-indicator-hover-color: var(--color-regal-blue);
        --menu-indicator-active-color: var(--color-leaf-green);
    }
    body .ct-header [data-id="menu"] > ul > li > a.ct-menu-link {
        --theme-link-hover-color: var(--color-regal-blue);
    }
    body .ct-header [data-id="menu"] > ul > li[class*="current-menu-"] > a.ct-menu-link {
        --theme-link-initial-color: var(--color-regal-blue);
    }
    body .ct-header :is(.ct-account-item, .ct-header-wishlist, .ct-cart-item) {
        --theme-link-initial-color: var(--color-text-secondary);
        --theme-link-hover-color: var(--color-regal-blue);
        --theme-icon-color: currentColor;
        --theme-icon-hover-color: currentColor;
        position: relative;
        font-weight: var(--font-weight-medium);
        transition: color var(--duration-normal) var(--ease-standard);
    }
    body .ct-header :is(.ct-account-item, .ct-header-wishlist, .ct-cart-item)::after {
        position: absolute;
        inset-inline: 0.15rem;
        inset-block-end: -0.65rem;
        height: 2px;
        content: "";
        background: var(--color-leaf-green);
        border-radius: var(--radius-pill);
        transform: scaleX(0);
        transform-origin: center;
        transition: transform var(--duration-normal) var(--ease-standard);
    }
    body .ct-header :is(.ct-account-item, .ct-header-wishlist, .ct-cart-item):is(:hover, :focus-visible)::after {
        transform: scaleX(1);
    }
}
@media (max-width: 767px) {
    body .woocommerce :is(a.button, button.button, input.button, #respond input#submit),
    body .add_to_cart_button.button,
    body .single_add_to_cart_button.button,
    body .wc-block-components-button:not(.is-link) {
        width: 100%;
    }
}
/* Homepage hero directions — scoped to the two demo pages. */
.sf-hero-demo {
    overflow: hidden;
}
.sf-hero-demo .ct-container {
    max-width: none;
}
.sf-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    font-family: var(--font-family-body);
}
.sf-hero *, .sf-hero *::before, .sf-hero *::after {
    box-sizing: border-box;
}
.sf-hero__inner {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}
.sf-hero h1, .sf-hero p {
    margin: 0;
}
.sf-hero h1 {
    color: var(--color-obsidian);
    font-family: var(--font-family-body);
    font-size: clamp(2.85rem, 5.1vw, 4.85rem);
    font-weight: 800;
    letter-spacing: -0.065em;
    line-height: .99;
}
.sf-hero__content {
    min-width: 0;
}
.sf-hero__eyebrow {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-bottom: 1.25rem !important;
    color: #43526c;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.sf-hero__eyebrow span {
    width: 29px;
    height: 3px;
    background: var(--color-leaf-green);
}
.sf-highlight {
    position: relative;
    z-index: 0;
    display: inline-block;
    padding: 0 .11em;
}
.sf-highlight::before {
    position: absolute;
    z-index: -1;
    inset: 13% -2% 5%;
    content: '';
    transform: rotate(2.2deg);
}
.sf-highlight--blue::before {
    background: #7eb0ff;
}
.sf-hero__lead {
    max-width: 34rem;
    margin-top: 1.45rem !important;
    color: #354052;
    font-size: 1.02rem;
    line-height: 1.62;
}
.sf-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 2rem;
}
.sf-hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    min-height: 3.3rem;
    padding: .8rem 1.1rem;
    border: 2px solid transparent;
    border-radius: .55rem;
    font-size: .91rem;
    font-weight: 750;
    line-height: 1;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.sf-hero__button:hover {
    transform: translateY(-2px);
}
.sf-hero__button svg {
    width: 1.25rem;
    height: 1.25rem;
}
.sf-hero__button--primary {
    color: #fff;
    background: var(--color-regal-blue);
    box-shadow: 0 12px 20px rgb(43 62 136 / .18);
}
.sf-hero__button--primary:hover {
    color: #fff;
    background: #20306f;
}
.sf-hero__button--secondary {
    color: #23314a;
    border-color: #8fc972;
    background: #fff;
}
.sf-hero__button--secondary:hover {
    color: #23314a;
    background: #f4faef;
}
/* Direction one: the light editorial collage. */
.sf-hero--one {
    min-height: 650px;
    background: linear-gradient(112deg, #fff 0%, #fbfcff 55%, #edf4fb 100%);
}
.sf-hero__inner--one {
    display: grid;
    grid-template-columns: minmax(0, .94fr) minmax(420px, 1.06fr);
    align-items: center;
    min-height: 620px;
    gap: 2rem;
}
.sf-hero--one .sf-hero__content {
    padding: 4.6rem 0 5.4rem;
}
.sf-hero__proof {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-top: 1.45rem;
    color: #68758a;
    font-size: .78rem;
    font-weight: 600;
}
.sf-hero__proof-stars {
    color: #f5ba37;
    letter-spacing: .1em;
}
.sf-hero__collage {
    position: relative;
    align-self: stretch;
    min-height: 570px;
}
.sf-photo-card {
    position: absolute;
    overflow: hidden;
    padding: 7px;
    background: #fff;
    box-shadow: 0 12px 34px rgb(23 48 89 / .13);
}
.sf-photo-card--main {
    z-index: 2;
    top: 54px;
    left: 12%;
    width: min(49%, 286px);
}
.sf-photo-card--top {
    top: 8px;
    right: 4%;
    width: min(38%, 224px);
}
.sf-photo-card--bottom {
    z-index: 3;
    right: 9%;
    bottom: 31px;
    width: min(46%, 264px);
}
.sf-photo-placeholder {
    position: relative;
    display: grid;
    min-height: 100%;
    overflow: hidden;
    background: #dce9f6;
}
.sf-photo-placeholder svg {
    display: block;
    width: 100%;
    height: auto;
}
.sf-photo-placeholder span {
    position: absolute;
    right: .45rem;
    bottom: .4rem;
    left: .45rem;
    color: #fff;
    font-size: .59rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .04em;
    opacity: .82;
    text-align: center;
    text-shadow: 0 1px 4px rgb(0 0 0 / .55);
    text-transform: uppercase;
}
.sf-photo-placeholder--player {
    background: linear-gradient(180deg, #b5d4ee 0 49%, #79b85e 49% 100%);
}
.sf-photo-placeholder--team {
    background: #a9cf9a;
}
.sf-photo-placeholder--fan {
    background: #d6b283;
}
.sf-hero__star {
    position: absolute;
    z-index: 4;
    top: 8px;
    left: 3%;
    width: 53px;
    color: #99c85c;
}
.sf-hero__trophy {
    position: absolute;
    z-index: 4;
    right: 0;
    bottom: 66px;
    width: 63px;
    color: #69a6eb;
    transform: rotate(-10deg);
}
.sf-hero__ribbon {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 8%;
    width: 320px;
    color: #2d4995;
}
.sf-hero__ball-line {
    position: absolute;
    z-index: 1;
    top: 54px;
    left: 3.2%;
    width: 73px;
    color: #dce7f8;
}
.sf-hero__squiggle {
    position: absolute;
    z-index: 1;
    bottom: 42px;
    left: 0;
    width: 104px;
    color: #a7cf73;
}
.sf-hero__curve {
    position: absolute;
    z-index: 0;
    right: -6%;
    bottom: -89px;
    left: 26%;
    height: 204px;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
    background: #eff5fb;
    transform: rotate(-5deg);
}
/* Direction two: a bolder split between play and supporter culture. */
.sf-hero--two {
    min-height: 690px;
    color: #fff;
    background: #243e85;
}
.sf-hero--two::after {
    position: absolute;
    z-index: -1;
    top: 0;
    right: -5%;
    bottom: 0;
    width: 51%;
    content: '';
    background: #3155a9;
    clip-path: polygon(19% 0, 100% 0, 100% 100%, 0 100%);
}
.sf-hero__grid-pattern {
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .25;
    background-image: linear-gradient(rgb(255 255 255 / .16) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / .16) 1px, transparent 1px);
    background-size: 36px 36px;
    mask-image: linear-gradient(90deg, #000 0 44%, transparent 72%);
}
.sf-hero__arc {
    position: absolute;
    z-index: -1;
    top: -208px;
    right: -100px;
    width: 550px;
    color: #7abd58;
    opacity: .75;
}
.sf-hero__inner--two {
    display: grid;
    grid-template-columns: .93fr 1.07fr;
    align-items: center;
    min-height: 637px;
    gap: 1rem;
}
.sf-hero__content--two {
    padding: 4rem 0 6rem;
}
.sf-hero__eyebrow--light {
    color: #b7e184;
}
.sf-hero--two h1 {
    color: #fff;
    font-size: clamp(3.15rem, 6vw, 5.95rem);
    letter-spacing: -.075em;
}
.sf-hero--two h1 em {
    color: #aee06a;
    font-style: normal;
}
.sf-hero--two .sf-hero__lead {
    color: #e4ecff;
}
.sf-hero__button--lime {
    color: #1f356e;
    background: #aee06a;
}
.sf-hero__button--lime:hover {
    color: #1f356e;
    background: #c4ed8d;
    box-shadow: 0 12px 22px rgb(15 29 72 / .2);
}
.sf-hero__button--lime span {
    font-size: 1.35rem;
    line-height: 0;
}
.sf-hero__text-link {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    padding: .9rem .2rem;
    color: #fff;
    font-size: .9rem;
    font-weight: 700;
    text-decoration: none;
}
.sf-hero__text-link:hover {
    color: #c7ed96;
}
.sf-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: 2.8rem;
}
.sf-hero__chips span {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    padding: .4rem .63rem;
    border: 1px solid rgb(255 255 255 / .28);
    border-radius: 100px;
    color: #eaf0ff;
    font-size: .7rem;
    font-weight: 650;
}
.sf-hero__chips b {
    color: #aee06a;
}
.sf-hero__stage {
    position: relative;
    min-height: 490px;
}
.sf-product-card {
    position: absolute;
    display: grid;
    place-items: center;
    overflow: hidden;
    box-shadow: 0 22px 45px rgb(18 37 93 / .25);
}
.sf-product-card__label {
    position: absolute;
    z-index: 1;
    top: 1rem;
    left: 1rem;
    padding: .3rem .55rem;
    border-radius: 99px;
    color: #fff;
    background: rgb(33 55 120 / .9);
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.sf-product-card svg {
    width: 100%;
    height: auto;
}
.sf-product-card--jersey {
    z-index: 2;
    top: 54px;
    left: 15%;
    width: min(52%, 280px);
    min-height: 358px;
    background: linear-gradient(155deg, #7bb5e5, #e9f5ff);
    clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%);
}
.sf-product-card--jersey::after {
    position: absolute;
    z-index: -1;
    top: -120px;
    right: -100px;
    width: 260px;
    height: 260px;
    border: 30px solid rgb(255 255 255 / .25);
    border-radius: 50%;
    content: '';
}
.sf-product-card--scarf {
    right: 3%;
    bottom: 26px;
    width: min(50%, 290px);
    min-height: 225px;
    background: #263f83;
    transform: rotate(3deg);
}
.sf-hero__badge {
    position: absolute;
    z-index: 3;
    top: 16px;
    right: 8%;
    display: flex;
    align-items: center;
    gap: .4rem;
    width: 106px;
    height: 106px;
    padding: .9rem;
    border-radius: 50%;
    color: #203b7f;
    background: #b8e674;
    box-shadow: 0 10px 24px rgb(12 31 78 / .24);
    transform: rotate(10deg);
}
.sf-hero__badge svg {
    width: 31px;
}
.sf-hero__badge span {
    font-size: 1.1rem;
    font-weight: 850;
    line-height: .9;
}
.sf-hero__badge small {
    display: block;
    font-size: .52rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.sf-hero__ball {
    position: absolute;
    z-index: 4;
    bottom: 8px;
    left: 4%;
    width: 95px;
    filter: drop-shadow(0 9px 10px rgb(8 23 65 / .28));
}
.sf-hero__stage-copy {
    position: absolute;
    right: 7%;
    bottom: 1px;
    color: #bfd9fa;
    font-size: .76rem;
    letter-spacing: .13em;
    text-align: right;
    text-transform: uppercase;
}
.sf-hero__stage-copy strong {
    display: block;
    color: #fff;
    font-size: 1rem;
    letter-spacing: .08em;
}
.sf-hero__bottom-note {
    position: absolute;
    z-index: 4;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    min-height: 53px;
    color: #d7e5ff;
    background: rgb(17 35 88 / .48);
    font-size: .61rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.sf-hero__bottom-note svg {
    width: 86px;
}
@media (max-width: 860px) {
    .sf-hero__inner {
        width: min(100% - 34px, 660px);
    }
    .sf-hero__inner--one, .sf-hero__inner--two {
        grid-template-columns: 1fr;
    }
    .sf-hero--one {
        min-height: 0;
    }
    .sf-hero--one .sf-hero__content, .sf-hero__content--two {
        padding: 4.25rem 0 1.3rem;
    }
    .sf-hero__collage {
        width: min(100%, 570px);
        min-height: 485px;
        margin: 0 auto;
    }
    .sf-hero__curve {
        left: -16%;
        height: 190px;
    }
    .sf-hero--two {
        min-height: 0;
    }
    .sf-hero--two::after {
        top: 47%;
        left: 0;
        width: 100%;
        clip-path: none;
    }
    .sf-hero__stage {
        width: min(100%, 580px);
        min-height: 420px;
        margin: 0 auto 55px;
    }
}
@media (max-width: 520px) {
    .sf-hero__inner {
        width: min(100% - 28px, 480px);
    }
    .sf-hero__content, .sf-hero__collage, .sf-hero__stage {
        width: calc(100vw - 28px);
        max-width: calc(100vw - 28px);
    }
    .sf-hero h1 {
        max-inline-size: 100%;
        font-size: clamp(2.15rem, 10.7vw, 3.25rem);
        letter-spacing: -.07em;
        overflow-wrap: anywhere;
        white-space: normal;
    }
    .sf-hero__lead {
        max-inline-size: 100%;
        font-size: .9rem;
        overflow-wrap: break-word;
        white-space: normal;
    }
    .sf-hero__actions {
        margin-top: 1.55rem;
    }
    .sf-hero__button {
        width: 100%;
    }
    .sf-hero__text-link {
        width: 100%;
        justify-content: center;
    }
    .sf-hero__proof {
        font-size: .69rem;
    }
    .sf-hero__collage {
        min-height: 400px;
    }
    .sf-photo-card {
        padding: 5px;
    }
    .sf-photo-card--main {
        top: 28px;
        left: 0;
        width: 50%;
    }
    .sf-photo-card--top {
        top: 4px;
        right: 0;
        width: 39%;
    }
    .sf-photo-card--bottom {
        right: 6%;
        bottom: 21px;
        width: 47%;
    }
    .sf-hero__star {
        top: 0;
        left: -2px;
        width: 40px;
    }
    .sf-hero__trophy {
        right: -3px;
        bottom: 35px;
        width: 47px;
    }
    .sf-hero__ball-line {
        top: 31px;
        left: -18px;
        width: 54px;
    }
    .sf-hero__squiggle {
        width: 74px;
    }
    .sf-hero__ribbon {
        left: 4%;
        width: 220px;
    }
    .sf-hero--two h1 {
        font-size: clamp(2.6rem, 12vw, 3.45rem);
    }
    .sf-hero__chips {
        margin-top: 2rem;
    }
    .sf-hero__stage {
        min-height: 347px;
    }
    .sf-product-card--jersey {
        top: 30px;
        left: 5%;
        min-height: 280px;
    }
    .sf-product-card--scarf {
        right: 0;
        bottom: 10px;
        min-height: 175px;
    }
    .sf-hero__badge {
        top: 0;
        right: 0;
        width: 83px;
        height: 83px;
        padding: .6rem;
    }
    .sf-hero__badge svg {
        width: 23px;
    }
    .sf-hero__badge span {
        font-size: .88rem;
    }
    .sf-hero__ball {
        bottom: 0;
        left: 0;
        width: 66px;
    }
    .sf-hero__stage-copy {
        right: 2%;
        font-size: .57rem;
    }
    .sf-hero__stage-copy strong {
        font-size: .77rem;
    }
    .sf-hero__bottom-note {
        gap: .55rem;
        min-height: 43px;
        font-size: .47rem;
        letter-spacing: .08em;
    }
    .sf-hero__bottom-note svg {
        width: 47px;
    }
}
/* Gutenberg-native version of Demo Hero 2.
 * The composition is authored with core Group, Columns, Heading, Paragraph,
 * and Buttons blocks. The sport illustrations are CSS decoration, so editors
 * can change all marketing content without opening a theme template. */
.entry-content > .sf-gb-hero.sf-gb-hero--two,
.ct-content > .sf-gb-hero.sf-gb-hero--two,
.sf-gb-hero.sf-gb-hero--two {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: 100vw;
    margin: 0 0 0 -50vw !important;
    padding: 0;
    overflow: hidden;
    color: #fff;
    /* Gutenberg/Blocksy can inject a surface background on Group blocks. */
    background: #243e85 !important;
    background-color: #243e85 !important;
}
.sf-gb-hero--two,
.sf-gb-hero--two * {
    box-sizing: border-box;
}
.sf-gb-hero--two::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    content: '';
    background-image: linear-gradient(rgb(255 255 255 / .12) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / .12) 1px, transparent 1px);
    background-size: 36px 36px;
    mask-image: linear-gradient(90deg, #000 0 48%, transparent 75%);
}
.sf-gb-hero--two::after {
    position: absolute;
    inset: 0 -8% 0 auto;
    z-index: 0;
    width: 53%;
    content: '';
    background: #365aac;
    clip-path: polygon(19% 0, 100% 0, 100% 100%, 0 100%);
}
.sf-gb-hero__inner {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto !important;
    padding: 78px 0 72px;
}
.sf-gb-hero__columns {
    align-items: center !important;
    gap: clamp(1.5rem, 4vw, 4.8rem) !important;
}
.sf-gb-hero__copy {
    padding-bottom: 1rem;
}
.sf-gb-hero--two .sf-gb-hero__eyebrow {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin: 0 0 1.25rem;
    color: #b7e184;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.sf-gb-hero--two .sf-gb-hero__eyebrow::before {
    width: 29px;
    height: 3px;
    content: '';
    background: currentColor;
}
.sf-gb-hero--two .sf-gb-hero__title {
    margin: 0 !important;
    color: #fff;
    font-family: var(--font-family-body);
    font-size: clamp(3.15rem, 6vw, 5.95rem);
    font-weight: 800;
    letter-spacing: -.075em;
    line-height: .94;
}
.sf-gb-hero--two .sf-gb-hero__title strong {
    color: #aee06a;
    font-weight: inherit;
}
.sf-gb-hero--two .sf-gb-hero__lead {
    max-width: 34rem;
    margin: 1.6rem 0 0 !important;
    color: #e4ecff;
    font-size: 1.02rem;
    line-height: 1.62;
}
.sf-gb-hero--two .sf-gb-hero__buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .9rem;
    margin: 2rem 0 0 !important;
}
.sf-gb-hero--two .wp-block-button {
    margin: 0;
}
.sf-gb-hero--two .wp-block-button__link {
    padding: .9rem 1.15rem;
    border: 0;
    border-radius: .55rem;
    color: #1f356e;
    background: #aee06a;
    font-size: .91rem;
    font-weight: 750;
    transition: transform .18s ease, background-color .18s ease;
}
.sf-gb-hero--two .wp-block-button__link:hover {
    color: #1f356e;
    background: #c4ed8d;
    transform: translateY(-2px);
}
.sf-gb-hero--two .sf-gb-hero__supporter-link {
    display: inline-flex;
    align-items: center;
    margin: 0;
    color: #fff;
    font-size: .9rem;
    font-weight: 700;
    text-decoration: none;
}
.sf-gb-hero--two .sf-gb-hero__supporter-link:hover {
    color: #c7ed96;
}
.sf-gb-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin: 2.8rem 0 0 !important;
}
.sf-gb-hero__chips p {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    margin: 0 !important;
    padding: .4rem .63rem;
    border: 1px solid rgb(255 255 255 / .28);
    border-radius: 100px;
    color: #eaf0ff;
    font-size: .7rem;
    font-weight: 650;
}
@media (min-width: 861px) {
    .sf-gb-hero__chips p {
        gap: .5rem;
        padding: .5rem .78rem;
        font-size: .82rem;
    }
}
.sf-gb-hero__chips strong {
    color: #aee06a;
}
.sf-gb-stage {
    position: relative;
    min-height: 520px;
}
.sf-gb-stage__hero-image,
.sf-gb-stage__ball {
    position: absolute;
}
.sf-gb-stage__hero-image {
    z-index: 2;
    top: 114px;
    right: 3%;
    width: min(76%, 440px);
    margin: 0;
    transform: rotate(3.5deg);
    transform-origin: center;
}
.sf-gb-stage__hero-image .wp-block-image {
    width: 100%;
    margin: 0;
}
.sf-gb-stage__hero-image img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border: 6px solid #fff;
    border-radius: .45rem;
    box-shadow: 0 24px 48px rgb(12 31 78 / .34);
}
.sf-gb-stage__hero-image--secondary {
    z-index: 3;
    top: 24px;
    right: auto;
    left: 0;
    width: min(60%, 330px);
    transform: rotate(-4.5deg);
}
.sf-gb-stage__hero-image--secondary img {
    border-width: 5px;
    box-shadow: 0 20px 38px rgb(12 31 78 / .38);
}
.sf-gb-hero .sf-gb-stage__ball {
    z-index: 4;
    bottom: 120px;
    width: 85px;
    height: 85px;
    filter: drop-shadow(0 9px 10px rgb(8 23 65 / .28));
    animation: sf-hero-ball-spin 8s linear infinite;
}
.sf-gb-stage__ball .wp-block-image {
    width: 100%;
    height: 100%;
    margin: 0;
}
.sf-gb-stage__ball .wp-block-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
@keyframes sf-hero-ball-spin {
    to {
        transform: rotate(360deg);
    }
}
@layer overrides {
    @media (prefers-reduced-motion: reduce) {
        .sf-gb-hero .sf-gb-stage__ball {
            animation-duration: 35s !important;
            animation-iteration-count: infinite !important;
        }
    }
}
@media (min-width: 950px) and (max-width: 1080px) {
    .sf-gb-hero .sf-gb-stage__ball {
        z-index: 4;
        bottom: 160px;
        left: -5px;
        width: 75px;
        height: 75px;
    }
}
@media (min-width: 860px) and (max-width: 949px) {
    .sf-gb-hero .sf-gb-stage__ball {
        z-index: 4;
        bottom: 200px;
        left: -5px;
        width: 75px;
        height: 75px;
    }
}
.sf-gb-hero__footer {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    min-height: 53px;
    margin: 0 !important;
    color: #d7e5ff;
    background: rgb(17 35 88 / .48);
    font-size: .61rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.sf-gb-hero__footer p {
    margin: 0 !important;
}
.sf-gb-hero__footer::before {
    width: 78px;
    height: 1px;
    content: '';
    background: currentColor;
}
@media (max-width: 860px) {
    .sf-gb-hero--two::after {
        top: 47%;
        right: 0;
        width: 100%;
        clip-path: none;
    }
    .sf-gb-hero__inner {
        width: min(100% - 34px, 660px);
        padding: 4.25rem 0 0;
    }
    .sf-gb-hero__columns {
        display: grid !important;
        grid-template-columns: 1fr;
    }
    .sf-gb-stage {
        width: min(100%, 580px);
        min-height: 500px;
        margin: 0 auto 55px;
    }
    .sf-gb-stage__hero-image {
        top: 126px;
        right: 7%;
        width: min(74%, 440px);
    }
    .sf-gb-stage__hero-image--secondary {
        top: 26px;
        right: auto;
        left: 4%;
        width: min(54%, 310px);
    }
    .sf-gb-stage__ball {
        display: none;
    }
}
@media (max-width: 520px) {
    .sf-gb-hero__inner {
        width: min(100% - 28px, 480px);
    }
    .sf-gb-hero--two::after {
        top: 55%;
    }
    .sf-gb-hero__columns {
        row-gap: .85rem !important;
    }
    .sf-gb-hero__copy {
        padding-bottom: 0;
    }
    .sf-gb-hero--two .sf-gb-hero__title {
        font-size: clamp(2.6rem, 12vw, 3.45rem);
    }
    .sf-gb-hero--two .sf-gb-hero__lead {
        font-size: .9rem;
    }
    .sf-gb-hero--two .sf-gb-hero__buttons {
        display: grid;
        grid-template-columns: 1fr;
    }
    .sf-gb-hero--two .wp-block-button__link {
        display: block;
        width: 100%;
    }
    .sf-gb-hero--two .sf-gb-hero__supporter-link {
        justify-content: center;
    }
    .sf-gb-hero__chips {
        margin-top: .8rem !important;
    }
    .sf-gb-stage {
        width: 100%;
        min-height: 430px;
    }
    .sf-gb-stage__hero-image {
        top: 150px;
        right: 5%;
        width: 77%;
    }
    .sf-gb-stage__hero-image--secondary {
        top: 20px;
        right: auto;
        left: 5%;
        width: 60%;
    }
    .sf-gb-stage__hero-image img {
        border-width: 4px;
    }
    .sf-gb-stage__hero-image--secondary img {
        border-width: 4px;
    }
    .sf-gb-stage__ball {
        bottom: 190px;
        left: -1%;
        width: 70px;
        height: 70px;
    }
    .sf-gb-hero__footer {
        gap: .55rem;
        min-height: 43px;
        font-size: .47rem;
        letter-spacing: .08em;
    }
    .sf-gb-hero__footer::before {
        width: 38px;
    }
}
@media (min-width: 861px) {
    .sf-gb-stage__ball {
        bottom: 165px;
    }
}
/* Home "shop by need" review — two designs around WooCommerce's native,
 * server-rendered Product Categories List block. Category names, counts and
 * archive links therefore stay in sync with the catalogue automatically. */
.sf-shop-needs {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: 100vw;
    margin: 0 0 0 -50vw !important;
    overflow: hidden;
    font-family: var(--font-family-body);
}
.sf-shop-needs,
.sf-shop-needs * {
    box-sizing: border-box;
}
.sf-shop-needs__inner {
    position: relative;
    width: min(100% - (2 * var(--container-padding-inline)), var(--container-max-width));
    margin-inline: auto !important;
    padding-block: clamp(4.5rem, 8vw, 7rem);
}
.sf-shop-needs__eyebrow,
.sf-shop-needs__title,
.sf-shop-needs__intro {
    margin-block-start: 0 !important;
}
.sf-shop-needs__eyebrow {
    margin-block-end: .9rem !important;
    color: var(--color-leaf-green-dark);
    font-size: .73rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .14em;
    text-transform: uppercase;
}
.sf-shop-needs__title {
    margin-block-end: 1rem !important;
    font-family: var(--font-family-heading);
    font-size: clamp(2.25rem, 5vw, 3.65rem);
    letter-spacing: var(--letter-spacing-heading);
    line-height: 1.04;
}
.sf-shop-needs__intro {
    max-width: 43rem;
    margin-block-end: 0 !important;
    color: var(--color-text-muted);
    font-size: var(--font-size-body-md);
    line-height: 1.7;
}
.sf-shop-needs .wp-block-woocommerce-product-categories {
    margin-block: clamp(2.5rem, 5vw, 4rem) 0 !important;
}
.sf-shop-needs .wc-block-product-categories-list {
    padding: 0;
    margin: 0;
    list-style: none;
}
.sf-shop-needs .wc-block-product-categories-list--depth-0 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2.5vw, 1.65rem);
}
.sf-shop-needs .wc-block-product-categories-list-item {
    margin: 0;
    list-style: none;
}
.sf-shop-needs .wc-block-product-categories-list-item > a {
    color: var(--color-text-primary);
    font-weight: var(--font-weight-bold);
    text-decoration: none;
}
.sf-shop-needs .wc-block-product-categories-list-item-count::before {
    content: none;
}
.sf-shop-needs .wc-block-product-categories-list-item-count::after {
    content: ' produse';
}
/* Variant 01: the whole card is the parent-category link. */
.sf-shop-needs--variant-a {
    color: var(--color-text-primary);
    background: var(--color-bg-page);
}
.sf-shop-needs--variant-a::before {
    position: absolute;
    top: -13rem;
    left: -11rem;
    width: 30rem;
    height: 30rem;
    border: 1px solid rgb(113 190 85 / .2);
    border-radius: 50%;
    box-shadow: 0 0 0 54px rgb(113 190 85 / .055), 0 0 0 108px rgb(113 190 85 / .025);
    content: '';
}
.sf-shop-needs--variant-a .sf-shop-needs__intro {
    margin-inline: auto;
}
.sf-shop-needs--variant-a .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item {
    position: relative;
    display: flex;
    min-height: clamp(14.5rem, 25vw, 18rem);
    padding: clamp(1.4rem, 3vw, 2rem);
    flex-direction: column;
    justify-content: flex-end;
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    transition: border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-standard);
}
.sf-shop-needs--variant-a .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item::before {
    position: absolute;
    top: -4.4rem;
    right: -3.5rem;
    width: 12rem;
    height: 12rem;
    background: rgb(113 190 85 / .11);
    border-radius: 50%;
    content: '';
    transition: transform var(--duration-slow) var(--ease-standard);
}
.sf-shop-needs--variant-a .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:hover {
    border-color: var(--color-leaf-green);
    box-shadow: var(--shadow-md);
    transform: translateY(-4px);
}
.sf-shop-needs--variant-a .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:hover::before {
    transform: scale(1.12);
}
.sf-shop-needs--variant-a .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a {
    position: static;
    display: block;
    max-width: 15rem;
    padding-right: 1rem;
    font-family: var(--font-family-heading);
    font-size: clamp(1.35rem, 2.5vw, 1.75rem);
    line-height: 1.12;
}
.sf-shop-needs--variant-a .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a::before {
    position: absolute;
    inset: 0;
    z-index: 1;
    content: '';
}
.sf-shop-needs--variant-a .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a::after {
    position: absolute;
    top: 1.35rem;
    right: 1.35rem;
    z-index: 2;
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    color: var(--color-obsidian);
    background: var(--color-leaf-green);
    border-radius: 50%;
    content: '\2197';
    font-family: var(--font-family-body);
    font-size: 1.15rem;
    transition: background-color var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-standard);
}
.sf-shop-needs--variant-a .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:hover > a::after {
    background: var(--color-leaf-green-dark);
    transform: translate(2px, -2px);
}
.sf-shop-needs--variant-a .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a:focus-visible::before {
    border-radius: var(--radius-lg);
    outline: 3px solid var(--color-focus-ring);
    outline-offset: -5px;
}
.sf-shop-needs--variant-a .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > .wc-block-product-categories-list-item-count {
    position: relative;
    margin-block-start: .7rem;
    color: var(--color-regal-blue);
    font-size: .78rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .05em;
    text-transform: uppercase;
}
.sf-shop-needs--variant-a .wc-block-product-categories-list--depth-1 {
    display: none;
}
/* Preview: image-backed treatment for the first card only. */
.sf-shop-needs--variant-a .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:first-child {
    background-image: linear-gradient(180deg, rgb(255 255 255 / .12) 0%, rgb(255 255 255 / .42) 48%, rgb(255 255 255 / .96) 78%), url('/wp-content/uploads/2026/08/echipament-de-meci-fotbal-3-kids-sport-1-2.webp');
    background-position: center;
    background-size: cover;
}
.sf-shop-needs--variant-a .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:nth-child(2) {
    background-image: linear-gradient(180deg, rgb(255 255 255 / .12) 0%, rgb(255 255 255 / .42) 48%, rgb(255 255 255 / .96) 78%), url('/wp-content/uploads/2026/08/echipament-de-antrenament-fotbal-3-kids-sport-1-1.webp');
    background-position: center;
    background-size: cover;
}
.sf-shop-needs--variant-a .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:nth-child(3) {
    background-image: linear-gradient(180deg, rgb(255 255 255 / .12) 0%, rgb(255 255 255 / .42) 48%, rgb(255 255 255 / .96) 78%), url('/wp-content/uploads/2026/08/pentru-suporteri-fotbal-3-kids-sport-1-3.webp');
    background-position: center;
    background-size: cover;
}
.sf-shop-needs--variant-a .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a::after {
    box-sizing: border-box;
    border: 1px solid rgb(255 255 255 / .82);
    box-shadow: 0 6px 14px rgb(25 50 105 / .24);
}
/* Variant 03: a separate visual take on the same three category paths. */
.sf-shop-needs--variant-c {
    color: var(--color-text-primary);
    background: linear-gradient(135deg, #f7fbf5, #fff 48%, #f4f8ff);
}
.sf-shop-needs--variant-c::before {
    position: absolute;
    inset: 0;
    content: '';
    pointer-events: none;
    background: radial-gradient(circle at 8% 90%, rgb(113 190 85 / .13), transparent 19rem), radial-gradient(circle at 92% 10%, rgb(42 70 145 / .08), transparent 23rem);
}
.sf-shop-needs--variant-c .sf-shop-needs__visual-cards {
    display: grid;
    margin-top: clamp(2rem, 4vw, 3.5rem);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2.4vw, 1.7rem);
}
.sf-shop-needs__visual-card {
    position: relative;
    display: grid;
    height: clamp(20rem, 28vw, 23rem);
    padding: 0 !important;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(145deg, #edf5e9, #e4edf8);
    border: 1px solid rgb(42 70 145 / .13);
    border-radius: var(--radius-lg);
    box-shadow: 0 14px 30px rgb(30 50 106 / .12);
    transition: transform var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard);
}
.sf-shop-needs__visual-card::before {
    position: absolute;
    inset: 1rem;
    z-index: -1;
    border: 1px solid rgb(255 255 255 / .8);
    border-radius: calc(var(--radius-lg) - .35rem);
    content: '';
    background: radial-gradient(circle at 50% 84%, rgb(113 190 85 / .23), transparent 40%), linear-gradient(160deg, rgb(255 255 255 / .97), rgb(240 246 237 / .7));
}
.sf-shop-needs__visual-card:hover {
    border-color: var(--color-leaf-green);
    box-shadow: 0 20px 38px rgb(30 50 106 / .18);
    transform: translateY(-5px);
}
.sf-shop-needs__visual-card > .wp-block-image {
    position: absolute;
    inset: 1rem;
    z-index: 0;
    display: flex;
    margin: 0;
    align-items: end;
    justify-content: center;
}
.sf-shop-needs__visual-card > .wp-block-image > a {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: end;
    justify-content: center;
}
.sf-shop-needs__visual-card > .wp-block-image img {
    width: 100%;
    height: 100%;
    padding: 4.7rem 1rem 1rem;
    object-fit: contain;
    filter: drop-shadow(0 18px 16px rgb(16 38 92 / .22));
    transition: transform var(--duration-slow) var(--ease-standard);
}
.sf-shop-needs__visual-card:hover > .wp-block-image img {
    transform: scale(1.045) translateY(-3px);
}
.sf-shop-needs__visual-card-content {
    position: relative;
    z-index: 2;
    align-self: start;
    max-width: 92%;
    margin: 1.15rem 1.15rem 0 !important;
}
.sf-shop-needs__visual-card-content h3 {
    margin: 0 !important;
    font-family: var(--font-family-heading);
    font-size: clamp(1.25rem, 2vw, 1.55rem);
    line-height: 1.08;
}
.sf-shop-needs__visual-card-content h3 a {
    display: inline-block;
    padding: .52rem .7rem .58rem;
    color: #fff;
    background: rgb(31 53 110 / .92);
    border-radius: .4rem;
    box-shadow: 0 7px 16px rgb(15 32 79 / .26);
    text-decoration: none;
}
.sf-shop-needs__visual-card-content h3 a:hover {
    color: #fff;
    background: var(--color-regal-blue);
}
.sf-shop-needs__visual-card-content p {
    display: table;
    margin: .55rem 0 0 !important;
    padding: .32rem .52rem;
    color: #17306d;
    background: rgb(174 224 106 / .94);
    border-radius: var(--radius-pill);
    box-shadow: 0 5px 12px rgb(39 75 27 / .14);
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.sf-shop-needs__visual-card-content p strong {
    font-weight: 850;
}
/* Variant 02: editorial rows with the parent archive and its child categories. */
.sf-shop-needs--variant-b {
    color: var(--color-text-primary);
    background: var(--color-bg-surface);
    border-block: 1px solid var(--color-border);
}
.sf-shop-needs--variant-b::before {
    position: absolute;
    inset: 0;
    content: '';
    background: radial-gradient(circle at 86% 12%, rgb(113 190 85 / .15), transparent 22rem), linear-gradient(135deg, rgb(113 190 85 / .045), transparent 48%);
}
.sf-shop-needs--variant-b .sf-shop-needs__header {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr);
    gap: clamp(2rem, 7vw, 7rem);
    align-items: end;
}
.sf-shop-needs--variant-b .sf-shop-needs__header .sf-shop-needs__intro {
    justify-self: end;
}
.sf-shop-needs--variant-b .wc-block-product-categories-list--depth-0 {
    grid-template-columns: 1fr;
    gap: .8rem;
    counter-reset: need-category;
}
.sf-shop-needs--variant-b .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item {
    display: grid;
    min-height: 9.5rem;
    padding: clamp(1.25rem, 3vw, 1.8rem);
    grid-template-columns: minmax(15rem, .8fr) minmax(18rem, 1.25fr) auto;
    gap: clamp(1.25rem, 4vw, 3.5rem);
    align-items: center;
    background: rgb(255 255 255 / .86);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    backdrop-filter: blur(8px);
    counter-increment: need-category;
    transition: border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-standard);
}
.sf-shop-needs--variant-b .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:hover {
    border-color: var(--color-leaf-green);
    box-shadow: var(--shadow-md);
    transform: translateX(4px);
}
.sf-shop-needs--variant-b .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a {
    display: grid;
    grid-template-columns: 2.25rem 1fr 2.45rem;
    gap: .8rem;
    align-items: center;
    font-family: var(--font-family-heading);
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    line-height: 1.15;
}
.sf-shop-needs--variant-b .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a::before {
    align-self: start;
    color: var(--color-leaf-green-dark);
    content: '0' counter(need-category);
    font-family: var(--font-family-body);
    font-size: .7rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .08em;
}
.sf-shop-needs--variant-b .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a::after {
    display: grid;
    width: 2.45rem;
    height: 2.45rem;
    place-items: center;
    color: var(--color-obsidian);
    background: var(--color-leaf-green);
    border-radius: 50%;
    content: '\2192';
    font-family: var(--font-family-body);
    font-size: 1rem;
    transition: background-color var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-standard);
}
.sf-shop-needs--variant-b .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a:hover::after {
    background: var(--color-leaf-green-dark);
    transform: translateX(3px);
}
.sf-shop-needs--variant-b .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > .wc-block-product-categories-list-item-count {
    display: grid;
    width: 5.7rem;
    min-width: 5.7rem;
    min-height: 5.7rem;
    padding: .65rem;
    grid-column: 3;
    grid-row: 1;
    place-items: center;
    align-content: center;
    justify-self: end;
    color: var(--color-regal-blue);
    background: rgb(113 190 85 / .16);
    border-radius: 50%;
    font-size: 1.15rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.05;
    text-align: center;
}
.sf-shop-needs--variant-b .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > .wc-block-product-categories-list-item-count::after {
    display: block;
    margin-top: .2rem;
    content: 'produse';
    font-size: .58rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.sf-shop-needs--variant-b .wc-block-product-categories-list--depth-1 {
    display: flex;
    gap: .5rem;
    grid-column: 2;
    grid-row: 1;
    align-items: center;
    flex-wrap: wrap;
}
.sf-shop-needs--variant-b .wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item > a {
    display: inline-flex;
    padding: .48rem .72rem;
    color: var(--color-text-secondary);
    background: var(--color-bg-page);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    font-family: var(--font-family-body);
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.25;
}
.sf-shop-needs--variant-b .wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item > a:hover {
    color: var(--color-obsidian);
    background: rgb(113 190 85 / .14);
    border-color: var(--color-leaf-green);
}
.sf-shop-needs--variant-b .wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item-count {
    display: none;
}
@media (max-width: 940px) {
    .sf-shop-needs .wc-block-product-categories-list--depth-0 {
        grid-template-columns: 1fr;
    }
    .sf-shop-needs--variant-a .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item {
        min-height: 13rem;
    }
    .sf-shop-needs--variant-c .sf-shop-needs__visual-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .sf-shop-needs--variant-b .sf-shop-needs__header {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    .sf-shop-needs--variant-b .sf-shop-needs__header .sf-shop-needs__intro {
        justify-self: start;
    }
    .sf-shop-needs--variant-b .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item {
        grid-template-columns: minmax(14rem, .9fr) minmax(16rem, 1.1fr) auto;
    }
}
@media (max-width: 700px) {
    .sf-shop-needs__inner {
        padding-block: 4rem;
    }
    .sf-shop-needs--variant-c .sf-shop-needs__visual-cards {
        grid-template-columns: 1fr;
    }
    .sf-shop-needs__visual-card {
        height: 20rem;
    }
    .sf-shop-needs--variant-b .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item {
        grid-template-columns: 1fr auto;
        gap: 1rem;
    }
    .sf-shop-needs--variant-b .wc-block-product-categories-list--depth-1 {
        grid-column: 1 / -1;
        grid-row: 2;
    }
    .sf-shop-needs--variant-b .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > .wc-block-product-categories-list-item-count {
        grid-column: 2;
        grid-row: 1;
    }
}
@media (max-width: 460px) {
    .sf-shop-needs__title {
        font-size: 2.05rem;
    }
    .sf-shop-needs--variant-b .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item {
        padding: 1.1rem;
    }
    .sf-shop-needs--variant-b .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a {
        grid-template-columns: 1.7rem 1fr;
    }
    .sf-shop-needs--variant-b .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a::after {
        display: none;
    }
    .sf-shop-needs--variant-b .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > .wc-block-product-categories-list-item-count {
        width: 4.6rem;
        min-width: 4.6rem;
        min-height: 4.6rem;
        font-size: 1rem;
    }
}
/* Home product-grid review — two Gutenberg/WooCommerce-native directions.
 * Both variants inherit the existing Inter/Lora type system and store tokens.
 * The Product Collection blocks are ordered by publication date, newest first. */
.sf-product-showcase {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: 100vw;
    margin: 0 0 0 -50vw !important;
    overflow: hidden;
    font-family: var(--font-family-body);
}
.sf-product-showcase,
.sf-product-showcase * {
    box-sizing: border-box;
}
.sf-product-showcase__inner {
    width: min(100% - (2 * var(--container-padding-inline)), var(--container-max-width));
    margin-inline: auto !important;
    padding-block: clamp(4.5rem, 8vw, 7rem);
}
.sf-product-showcase__eyebrow,
.sf-product-showcase__title,
.sf-product-showcase__intro,
.sf-product-showcase__note {
    margin-block-start: 0 !important;
}
.sf-product-showcase__eyebrow {
    margin-block-end: .9rem !important;
    font-size: .73rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .14em;
    text-transform: uppercase;
}
.sf-product-showcase__title {
    margin-block-end: 1rem !important;
    font-family: var(--font-family-heading);
    font-size: clamp(2.25rem, 5vw, 3.65rem);
    letter-spacing: var(--letter-spacing-heading);
    line-height: 1.04;
}
.sf-product-showcase__intro {
    max-width: 42rem;
    margin-block-end: 0 !important;
    font-size: var(--font-size-body-md);
    line-height: 1.7;
}
.sf-product-showcase--variant-a {
    color: var(--color-text-primary);
    background: var(--color-bg-page);
}
.sf-product-showcase--variant-a::before {
    position: absolute;
    top: -12rem;
    right: -10rem;
    width: 28rem;
    height: 28rem;
    border: 1px solid var(--color-border);
    border-radius: 50%;
    box-shadow: 0 0 0 54px rgb(118 144 199 / .06), 0 0 0 108px rgb(118 144 199 / .035);
    content: '';
}
.sf-product-showcase--variant-a .sf-product-showcase__inner {
    position: relative;
}

/* Keep the hand-off from category cards to the latest-products section as tight
 * as the hero-to-category transition, without changing either section's content. */
.sf-shop-needs--variant-a .sf-shop-needs__inner {
    padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.sf-shop-needs--variant-a + .sf-product-showcase--variant-a .sf-product-showcase__inner {
    padding-top: clamp(2.5rem, 5vw, 4rem);
}

/* Match the compact hand-off used above this section before the benefits panel. */
body.home .sf-product-showcase--variant-a .sf-product-showcase__inner {
    padding-bottom: 2rem;
}

.sf-product-showcase--variant-a .sf-product-showcase__eyebrow {
    color: var(--color-leaf-green-dark);
}
.sf-product-showcase--variant-a .sf-product-showcase__intro {
    margin-inline: auto;
    color: var(--color-text-muted);
}
.sf-product-showcase__collection {
    margin-block-start: clamp(2.5rem, 5vw, 4rem) !important;
}
.sf-product-showcase .wc-block-product-template {
    gap: clamp(1rem, 2vw, 1.5rem) !important;
}
.sf-product-showcase--variant-a .wc-block-product-template {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.sf-product-showcase--variant-b .wc-block-product-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.sf-product-showcase .wc-block-product {
    display: flex;
    min-width: 0;
    padding: .75rem .75rem 1rem;
    flex-direction: column;
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    transition: border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-standard);
}
.sf-product-showcase .wc-block-product:hover {
    border-color: var(--color-border-strong);
    box-shadow: var(--shadow-md);
    transform: translateY(-4px);
}
.sf-product-showcase .wc-block-components-product-image {
    margin: 0 0 1rem !important;
    overflow: hidden;
    background: var(--color-bg-soft);
    border-radius: calc(var(--radius-lg) - .25rem);
}
.sf-product-showcase .wc-block-components-product-image img {
    transition: transform var(--duration-slow) var(--ease-standard);
}
.sf-product-showcase .wc-block-product:hover .wc-block-components-product-image img {
    transform: scale(1.025);
}
.sf-product-showcase .wp-block-post-title {
    padding-inline: .45rem;
    font-family: var(--font-family-heading);
    font-size: clamp(1rem, 1.5vw, 1.16rem) !important;
    font-weight: var(--font-weight-bold);
}
.sf-product-showcase .wp-block-post-title a {
    color: var(--color-text-primary);
    text-decoration: none;
}
.sf-product-showcase .wp-block-post-title a:hover {
    color: var(--color-regal-blue);
}
.sf-product-showcase .wp-block-woocommerce-product-price {
    padding-inline: .45rem;
    margin-block-end: .85rem;
    color: var(--color-regal-blue);
    font-weight: var(--font-weight-bold);
}
.sf-product-showcase .wp-block-woocommerce-product-button {
    padding-inline: .45rem;
    margin-block-start: auto;
}
.sf-product-showcase .wp-block-woocommerce-product-button .wp-block-button__link,
.sf-product-showcase .wp-block-woocommerce-product-button .wc-block-components-product-button__button {
    width: 100%;
    justify-content: center;
    color: var(--color-obsidian);
    background: var(--color-leaf-green);
    border-color: var(--color-leaf-green);
    box-shadow: var(--shadow-sm);
}
.sf-product-showcase .wp-block-woocommerce-product-button .wp-block-button__link:hover,
.sf-product-showcase .wp-block-woocommerce-product-button .wc-block-components-product-button__button:hover {
    color: var(--color-obsidian);
    background: var(--color-leaf-green-dark);
    border-color: var(--color-leaf-green-dark);
    box-shadow: var(--shadow-md);
}
.sf-product-showcase--variant-a .wc-block-product:hover {
    border-color: var(--color-leaf-green);
}
.sf-product-showcase__actions {
    margin-block-start: clamp(2rem, 4vw, 3rem) !important;
}
.sf-product-showcase__cta .wp-block-button__link {
    padding: .9rem 1.35rem;
    border: 2px solid transparent;
    border-radius: var(--radius-md);
    font-size: .9rem;
    font-weight: var(--font-weight-bold);
    text-decoration: none;
    transition: color var(--duration-normal) var(--ease-standard), background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}
.sf-product-showcase__cta .wp-block-button__link:hover {
    transform: translateY(-2px);
}
.sf-product-showcase--variant-a .sf-product-showcase__cta .wp-block-button__link {
    color: var(--color-obsidian);
    background: transparent;
    border-color: var(--color-leaf-green);
    box-shadow: none;
}
.sf-product-showcase--variant-a .sf-product-showcase__cta .wp-block-button__link:hover {
    color: var(--color-obsidian);
    background: var(--color-leaf-green);
    border-color: var(--color-leaf-green);
    box-shadow: var(--shadow-sm);
}
.sf-product-showcase--variant-b {
    color: var(--color-text-on-brand);
    background: var(--color-regal-blue);
}
.sf-product-showcase--variant-b::before {
    position: absolute;
    inset: 0;
    content: '';
    background-image: linear-gradient(rgb(255 255 255 / .08) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / .08) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(90deg, #000 0 35%, transparent 76%);
}
.sf-product-showcase--variant-b .sf-product-showcase__inner {
    position: relative;
}
.sf-product-showcase__split {
    align-items: center !important;
    gap: clamp(2rem, 6vw, 5.5rem) !important;
}
.sf-product-showcase--variant-b .sf-product-showcase__copy {
    padding: clamp(1.5rem, 4vw, 2.5rem);
    background: rgb(255 255 255 / .065);
    border: 1px solid rgb(255 255 255 / .16);
    border-radius: var(--radius-lg);
    box-shadow: 0 18px 44px rgb(17 30 64 / .18);
}
.sf-product-showcase--variant-b .sf-product-showcase__eyebrow {
    color: var(--color-leaf-green);
}
.sf-product-showcase--variant-b .sf-product-showcase__title {
    color: var(--color-white);
}
.sf-product-showcase--variant-b .sf-product-showcase__intro {
    color: var(--color-frosted-sky);
}
.sf-product-showcase__note {
    padding-block-start: 1.25rem;
    margin-block: 1.5rem 0 !important;
    color: var(--color-frosted-sky);
    border-top: 1px solid rgb(255 255 255 / .18);
    font-size: .82rem;
    line-height: 1.55;
}
.sf-product-showcase__note strong {
    color: var(--color-leaf-green);
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.sf-product-showcase--variant-b .sf-product-showcase__collection {
    margin-block-start: 0 !important;
}
.sf-product-showcase--variant-b .wc-block-product {
    box-shadow: 0 14px 34px rgb(17 30 64 / .2);
}
.sf-product-showcase--variant-b .sf-product-showcase__cta .wp-block-button__link {
    color: var(--color-obsidian);
    background: var(--color-leaf-green);
    border-color: var(--color-leaf-green);
    box-shadow: 0 10px 24px rgb(17 30 64 / .24);
}
.sf-product-showcase--variant-b .sf-product-showcase__cta .wp-block-button__link:hover {
    color: var(--color-obsidian);
    background: var(--color-leaf-green-dark);
    border-color: var(--color-leaf-green-dark);
    box-shadow: 0 14px 30px rgb(17 30 64 / .3);
}
@media (max-width: 900px) {
    .sf-product-showcase__split {
        display: grid !important;
        grid-template-columns: 1fr;
    }
    .sf-product-showcase--variant-b .sf-product-showcase__copy {
        max-width: 42rem;
    }
    .sf-product-showcase--variant-b .sf-product-showcase__collection {
        margin-block-start: 2rem !important;
    }
    .sf-product-showcase--variant-a .wc-block-product-template,
    .sf-product-showcase--variant-b .wc-block-product-template {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 600px) {
    .sf-product-showcase__inner {
        padding-block: 4rem;
    }
    .sf-product-showcase--variant-b .sf-product-showcase__copy {
        padding: 1.35rem;
    }
    .sf-product-showcase .wc-block-product {
        padding: .55rem .55rem .8rem;
    }
    .sf-product-showcase--variant-a .wc-block-product-template,
    .sf-product-showcase--variant-b .wc-block-product-template {
        grid-template-columns: 1fr !important;
    }
}
@media (min-width: 601px) {
    /* Give the catalogue CTA a calmer desktop hand-off to the benefits panel. */
    body.home .sf-product-showcase--variant-a .sf-product-showcase__inner {
        padding-bottom: 4rem;
    }
}

/* The homepage uses the catalogue renderer inside a shortcode. Reassert the
 * type-2 action layout here so its cart control reaches the card edges too. */
body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product .ct-woo-card-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
    padding: 0 !important;
    overflow: hidden;
}
body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product .ct-woo-card-actions .price {
    min-width: 0;
    margin: 0 !important;
}
body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product .ct-woo-card-actions :is(.button, .added_to_cart) {
    display: flex !important;
    width: 100% !important;
    height: 100%;
    margin: 0 !important;
    border-radius: 0 !important;
}
/* Blocksy's generic button hover runs after the card layout is calculated.
 * Force the homepage card CTA to stay at the footer edge in hover and focus. */
body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product .ct-woo-card-actions .add_to_cart_button.button:hover,
body.home .sf-product-showcase ul.products[data-products="type-2"] > li.product .ct-woo-card-actions .add_to_cart_button.button:focus-visible {
    transform: none !important;
    translate: none !important;
    align-self: stretch;
}
/* Modern footer direction — used only by the dedicated demo page. */
body.page-template-page-demo-footer .ct-footer {
    display: none;
}
.sf-footer-demo {
    overflow: hidden;
    font-family: var(--font-family-body);
}
.sf-footer-demo__intro {
    min-height: 335px;
    padding: clamp(4.5rem, 9vw, 7.5rem) 1.5rem 4.5rem;
    color: #fff;
    background: radial-gradient(circle at 82% 10%, rgb(113 190 85 / .36), transparent 20rem), linear-gradient(125deg, #182b61, #2d4d9f);
}
.sf-footer-demo__intro-inner {
    width: min(100%, 73rem);
    margin: 0 auto;
}
.sf-footer-demo__intro p, .sf-footer-demo__intro h1 {
    margin: 0;
}
.sf-footer-demo__eyebrow {
    margin-bottom: .9rem !important;
    color: #c6e99b;
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.sf-footer-demo__intro h1 {
    max-width: 760px;
    color: #fff;
    font-family: var(--font-family-body);
    font-size: clamp(2.5rem, 6vw, 5rem);
    font-weight: 800;
    letter-spacing: -.065em;
    line-height: .96;
}
.sf-footer-demo__intro h1 + p {
    max-width: 600px;
    margin-top: 1.3rem;
    color: #dce7fd;
    font-size: 1.05rem;
    line-height: 1.6;
}
.sf-footer-demo__scroll {
    display: inline-flex;
    gap: .65rem;
    margin-top: 2.2rem;
    color: #fff;
    font-size: .76rem;
    font-weight: 700;
}
.sf-footer-demo__scroll span {
    color: #aee06a;
    font-size: 1rem;
}
.sf-store-footer {
    color: #dce6f7;
    background: #111e40;
}
.sf-store-footer *, .sf-store-footer *::before, .sf-store-footer *::after {
    box-sizing: border-box;
}
.sf-store-footer__wrap {
    width: min(100% - 3rem, 73rem);
    margin: 0 auto;
}
.sf-store-footer__benefits {
    color: #21376f;
    background: #aee06a;
}
.sf-store-footer__benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.sf-footer-benefit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    min-height: 100px;
    padding: 1rem 1.4rem;
}
.sf-footer-benefit + .sf-footer-benefit {
    border-left: 1px solid rgb(28 53 108 / .18);
}
.sf-footer-benefit svg {
    flex: 0 0 2rem;
    width: 2rem;
    height: 2rem;
}
.sf-footer-benefit p {
    margin: 0;
    line-height: 1.25;
}
.sf-footer-benefit strong, .sf-footer-benefit span {
    display: block;
}
.sf-footer-benefit strong {
    font-size: .9rem;
    font-weight: 800;
}
.sf-footer-benefit span {
    margin-top: .2rem;
    font-size: .72rem;
    font-weight: 600;
    opacity: .8;
}
.sf-store-footer__main {
    position: relative;
    overflow: hidden;
    padding: clamp(3rem, 6vw, 5.4rem) 0 clamp(2.5rem, 5vw, 4rem);
}
.sf-store-footer__main::before {
    position: absolute;
    top: -14rem;
    right: -6rem;
    width: 29rem;
    height: 29rem;
    border: 1px solid rgb(174 224 106 / .14);
    border-radius: 50%;
    content: '';
    box-shadow: 0 0 0 42px rgb(174 224 106 / .04), 0 0 0 84px rgb(174 224 106 / .025);
}
.sf-store-footer__grid {
    position: relative;
    display: grid;
    grid-template-columns: 1.2fr .95fr .95fr 1.25fr;
    gap: clamp(1.75rem, 4vw, 4rem);
}
.sf-store-footer h2, .sf-store-footer p {
    margin: 0;
}
.sf-footer-brand__mark {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #fff;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-decoration: none;
}
.sf-footer-brand__mark span {
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    place-items: center;
    color: #233c7e;
    background: #aee06a;
    clip-path: polygon(50% 0, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
    font-size: .83rem;
    letter-spacing: -.05em;
}
.sf-footer-brand h2 {
    max-width: 270px;
    margin-top: 1.5rem;
    color: #fff;
    font-family: var(--font-family-body);
    font-size: 1.55rem;
    font-weight: 750;
    letter-spacing: -.04em;
    line-height: 1.08;
}
.sf-footer-brand p {
    max-width: 255px;
    margin-top: .9rem;
    color: #aebbd5;
    font-size: .83rem;
    line-height: 1.65;
}
.sf-footer-socials {
    display: flex;
    gap: .5rem;
    margin-top: 1.45rem;
}
.sf-footer-socials a {
    display: grid;
    width: 2.15rem;
    height: 2.15rem;
    place-items: center;
    border: 1px solid rgb(219 231 253 / .2);
    border-radius: 50%;
    color: #fff;
    transition: color .18s ease, background-color .18s ease, transform .18s ease;
}
.sf-footer-socials a:hover {
    color: #203970;
    background: #aee06a;
    transform: translateY(-2px);
}
.sf-footer-socials svg {
    width: 1rem;
    height: 1rem;
}

/* Native Gutenberg Social Links in the footer: light surface, regal-blue icon. */
#footer .wp-block-social-links {
    gap: .55rem;
}
#footer .wp-block-social-links .wp-social-link {
    display: grid;
    width: 2.2rem;
    height: 2.2rem;
    place-items: center;
    border: 1px solid var(--color-skyline-blue);
    border-radius: var(--radius-md);
    color: var(--color-regal-blue) !important;
    background: var(--color-bg-brand-soft) !important;
    box-shadow: 0 2px 7px rgb(10 29 76 / .16);
    transition: color var(--duration-normal) var(--ease-standard), background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), box-shadow var(--duration-normal) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}
#footer .wp-block-social-links .wp-social-link a {
    display: grid;
    width: 100%;
    height: 100%;
    padding: 0;
    place-items: center;
    color: inherit;
}
#footer .wp-block-social-links .wp-social-link svg {
    width: 1rem;
    height: 1rem;
    fill: currentColor;
}
#footer .wp-block-social-links .wp-social-link:hover {
    border-color: var(--color-regal-blue);
    color: var(--color-white) !important;
    background: var(--color-regal-blue) !important;
    box-shadow: var(--shadow-md);
    transform: translateY(-3px);
}
#footer .wp-block-social-links .wp-social-link a:focus-visible {
    outline: 3px solid var(--color-focus-ring);
    outline-offset: 3px;
}

/* Footer copyright strip — a light, clean closing edge to the dark footer. */
/* Blocksy inserts other nodes after the content groups, so target this footer
 * strip by its authored dark-background value rather than :last-child. */
#footer .wp-block-group[style*="background-color:#0b1530"] {
    color: var(--color-regal-blue) !important;
    background-color: var(--color-white) !important;
    border-top: 1px solid var(--color-border);
}
#footer .wp-block-group[style*="background-color:#0b1530"] :is(p, a) {
    color: var(--color-regal-blue) !important;
}
#footer .wp-block-group[style*="background-color:#0b1530"] a:hover {
    color: var(--color-regal-blue-light) !important;
}

/* Footer links are quiet by default, with a precise underline on intent. */
#footer .wp-block-list a,
#footer a[href^="tel:"],
#footer a[href^="mailto:"] {
    text-decoration: none;
    text-underline-offset: .18em;
    text-decoration-thickness: 1px;
}
#footer .wp-block-list a:hover,
#footer .wp-block-list a:focus-visible,
#footer a[href^="tel:"]:hover,
#footer a[href^="tel:"]:focus-visible,
#footer a[href^="mailto:"]:hover,
#footer a[href^="mailto:"]:focus-visible {
    text-decoration-line: underline;
}
/* Match the authored light-blue footer links above them. */
#footer .wp-block-list :is(
    a[href="/politica-de-confidentialitate/"],
    a[href="/plati-livrari-si-retur/"]
) {
    color: #dce6f7 !important;
}
.sf-store-footer h2 {
    margin-bottom: 1.1rem;
    color: #fff;
    font-family: var(--font-family-body);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.sf-footer-links ul {
    padding: 0;
    margin: 0;
    list-style: none;
}
.sf-footer-links li + li {
    margin-top: .65rem;
}
.sf-footer-links a {
    display: inline-flex;
    gap: .48rem;
    color: #ced9ed;
    font-size: .83rem;
    font-weight: 550;
    line-height: 1.35;
    text-decoration: none;
    transition: color .18s ease, transform .18s ease;
}
.sf-footer-links a span {
    color: #aee06a;
    font-size: .9rem;
    transition: transform .18s ease;
}
.sf-footer-links a:hover {
    color: #fff;
    transform: translateX(3px);
}
.sf-footer-links a:hover span {
    transform: translate(2px, -2px);
}
.sf-footer-contact > p {
    max-width: 210px;
    color: #aebbd5;
    font-size: .83rem;
    line-height: 1.55;
}
.sf-footer-contact__phone {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-top: 1rem;
    color: #fff;
    font-size: .92rem;
    font-weight: 750;
    text-decoration: none;
}
.sf-footer-contact__phone svg {
    width: 1.05rem;
    height: 1.05rem;
    color: #aee06a;
}
.sf-footer-contact__email {
    display: block;
    margin-top: .45rem;
    color: #aee06a;
    font-size: .79rem;
    text-decoration: none;
}
.sf-footer-trust__cards {
    display: grid;
    gap: .65rem;
}
.sf-trust-card {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 68px;
    padding: .55rem .7rem;
    border: 1px solid rgb(219 231 253 / .16);
    border-radius: .55rem;
    color: #fff;
    background: rgb(255 255 255 / .055);
    text-decoration: none;
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}
.sf-trust-card:hover {
    border-color: rgb(174 224 106 / .7);
    color: #fff;
    background: rgb(174 224 106 / .1);
    transform: translateY(-2px);
}
.sf-trust-card svg {
    flex: 0 0 2.65rem;
    width: 2.65rem;
    height: 2.65rem;
}
.sf-trust-card span {
    line-height: 1.2;
}
.sf-trust-card b, .sf-trust-card small {
    display: block;
}
.sf-trust-card b {
    font-size: .73rem;
    font-weight: 800;
}
.sf-trust-card small {
    margin-top: .14rem;
    color: #acb9d4;
    font-size: .62rem;
}
.sf-trust-card--payment {
    color: #aee06a;
}
.sf-trust-card--anpc {
    color: #91b8f3;
}
.sf-footer-trust__note {
    margin-top: .6rem !important;
    color: #8595b7;
    font-size: .58rem;
    line-height: 1.4;
}
.sf-store-footer__bottom {
    border-top: 1px solid rgb(219 231 253 / .12);
}
.sf-store-footer__bottom .sf-store-footer__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 72px;
}
.sf-store-footer__bottom p, .sf-store-footer__bottom a {
    color: #98a8c7;
    font-size: .69rem;
    font-weight: 600;
}
.sf-store-footer__bottom a {
    color: #cddbf2;
    text-decoration: none;
}
.sf-store-footer__bottom a span {
    margin-left: .25rem;
    color: #aee06a;
}
@media (max-width: 1024px) {
    .sf-store-footer__grid {
        grid-template-columns: 1.15fr .9fr 1fr;
    }
    .sf-footer-trust {
        grid-column: 2 / 4;
        max-width: 430px;
    }
    .sf-footer-trust__cards {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 720px) {
    .sf-store-footer__wrap {
        width: min(100% - 2.25rem, 36rem);
    }
    .sf-footer-demo__intro {
        padding-inline: 1.125rem;
    }
    .sf-footer-demo__intro h1 {
        font-size: clamp(2.35rem, 12vw, 3.8rem);
    }
    .sf-footer-benefit {
        justify-content: flex-start;
        min-height: 0;
        padding: 1rem 0;
    }
    .sf-footer-benefit + .sf-footer-benefit {
        border-top: 1px solid rgb(28 53 108 / .18);
        border-left: 0;
    }
    .sf-footer-benefit-grid {
        grid-template-columns: 1fr;
    }
    .sf-store-footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: 2.75rem 1.5rem;
    }
    .sf-footer-brand {
        grid-column: 1 / -1;
    }
    .sf-footer-brand p {
        max-width: 330px;
    }
    .sf-footer-trust {
        grid-column: 1 / -1;
        max-width: none;
    }
}
@media (max-width: 460px) {
    .sf-store-footer__grid {
        grid-template-columns: 1fr;
    }
    .sf-footer-trust {
        grid-column: auto;
    }
    .sf-footer-trust__cards {
        grid-template-columns: 1fr;
    }
    .sf-store-footer__bottom .sf-store-footer__wrap {
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        min-height: 90px;
    }
}
/*
 * About page demos
 * Core Gutenberg blocks only; all colors and typefaces reuse the existing
 * Shop Fotbal Copii design tokens declared at the top of this stylesheet.
 */
.sf-about,
.sf-about * {
    box-sizing: border-box;
}
.sf-about {
    margin: 0 !important;
    color: var(--color-text-primary);
    background: var(--color-bg-page);
}
.sf-about .sf-about__inner {
    width: min(100% - (2 * var(--container-padding-inline)), var(--container-max-width));
    margin-inline: auto;
}
.sf-about .wp-block-columns {
    margin-bottom: 0;
}
.sf-about .wp-block-column > :first-child {
    margin-top: 0;
}
.sf-about .wp-block-column > :last-child {
    margin-bottom: 0;
}
.sf-about > .sf-about-story {
    margin-block-start: 0 !important;
}
.sf-about__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    margin: 0 0 1rem !important;
    color: var(--color-regal-blue);
    font-family: var(--font-family-body);
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-label);
    line-height: 1.3;
    text-transform: uppercase;
}
.sf-about__eyebrow::before {
    width: 2rem;
    height: 3px;
    content: '';
    background: var(--color-leaf-green);
}
.sf-about__title {
    max-width: 15ch;
    margin: 0 !important;
    font-size: clamp(2.7rem, 6vw, 5.25rem);
    line-height: 1.02;
}
.sf-about__title strong {
    color: var(--color-regal-blue);
    font-weight: inherit;
}
.sf-about__lead {
    max-width: 39rem;
    margin: 1.5rem 0 0 !important;
    color: var(--color-text-secondary);
    font-size: clamp(1rem, 1.4vw, 1.18rem);
    line-height: 1.7;
}
.sf-about .wp-block-buttons {
    gap: .75rem;
    margin-top: 2rem;
}
.sf-about .wp-block-button__link {
    min-height: 2.875rem;
    padding: .8rem 1.2rem;
    border: var(--border-width-strong) solid var(--button-accent-border);
    border-radius: var(--radius-md);
    color: var(--button-accent-text);
    background: var(--button-accent-bg);
    box-shadow: var(--shadow-sm);
    font-family: var(--font-family-body);
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    transition: color var(--duration-normal) var(--ease-standard), background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}
.sf-about .wp-block-button__link:hover {
    color: var(--button-accent-text);
    background: var(--button-accent-bg-hover);
    border-color: var(--button-accent-bg-hover);
    transform: translateY(-2px);
}
.sf-about .is-style-outline .wp-block-button__link {
    color: var(--color-regal-blue);
    background: transparent;
    border-color: var(--color-border-strong);
    box-shadow: none;
}
.sf-about .is-style-outline .wp-block-button__link:hover {
    color: var(--color-regal-blue);
    background: var(--color-bg-brand-soft);
    border-color: var(--color-regal-blue);
}
/* Keep the paired About hero actions visually equal, despite different labels. */
.sf-about-hero .wp-block-buttons > .wp-block-button {
    flex: 0 0 13.75rem;
}
.sf-about-hero .wp-block-buttons > .wp-block-button > .wp-block-button__link {
    display: inline-flex;
    width: 100%;
    min-height: 2.875rem !important;
    height: 2.875rem;
    padding-block: 0 !important;
    align-items: center;
    justify-content: center;
}
.sf-about-hero .is-style-outline .wp-block-button__link {
    color: var(--button-accent-text) !important;
    border-color: var(--color-leaf-green) !important;
}
.sf-about-hero .is-style-outline .wp-block-button__link:hover {
    color: var(--button-accent-text) !important;
    background: var(--button-accent-bg) !important;
    border-color: var(--button-accent-bg) !important;
}
.sf-about-photo {
    position: relative;
    display: grid;
    min-height: clamp(22rem, 45vw, 35rem);
    place-items: center;
    overflow: hidden;
    padding: 2rem;
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-bg-soft);
    box-shadow: var(--shadow-md);
}
.sf-about-photo::before,
.sf-about-photo::after {
    position: absolute;
    content: '';
    border-radius: 50%;
}
.sf-about-photo::before {
    top: -5rem;
    right: -4rem;
    width: 14rem;
    height: 14rem;
    border: var(--border-width-strong) solid var(--color-white);
}
.sf-about-photo::after {
    bottom: -3rem;
    left: -2rem;
    width: 9rem;
    height: 9rem;
    background: var(--color-leaf-green);
}
.sf-about-photo p {
    position: relative;
    z-index: 1;
    max-width: 16rem;
    margin: 0 !important;
    padding: .75rem 1rem;
    border: var(--border-width) dashed var(--color-border-strong);
    border-radius: var(--radius-md);
    color: var(--color-text-muted);
    background: var(--color-bg-surface);
    font-size: var(--font-size-body-sm);
    font-weight: var(--font-weight-semibold);
    line-height: 1.45;
    text-align: center;
}
.sf-about-photo--wide {
    min-height: clamp(20rem, 42vw, 34rem);
}
.sf-about-photo--compact {
    min-height: clamp(18rem, 34vw, 26rem);
    box-shadow: var(--shadow-sm);
}
.sf-about-hero,
.sf-about-story {
    position: relative;
    overflow: hidden;
    background: var(--color-bg-page);
}
.sf-about-hero::before,
.sf-about-story::before {
    position: absolute;
    content: '';
    border-radius: 50%;
    pointer-events: none;
}
.sf-about-hero::before {
    top: -13rem;
    left: -11rem;
    width: 30rem;
    height: 30rem;
    border: 1px solid rgb(113 190 85 / .2);
    box-shadow: 0 0 0 54px rgb(113 190 85 / .055), 0 0 0 108px rgb(113 190 85 / .025);
}
.sf-about-story::before {
    top: -14rem;
    right: -10rem;
    width: 28rem;
    height: 28rem;
    border: 1px solid var(--color-border);
    box-shadow: 0 0 0 54px rgb(118 144 199 / .06), 0 0 0 108px rgb(118 144 199 / .035);
}
.sf-about-hero > .sf-about__inner,
.sf-about-story > .sf-about__inner {
    position: relative;
}
.sf-about-hero {
    padding: clamp(4rem, 8vw, 7.5rem) 0;
}
.sf-about-hero .wp-block-columns {
    align-items: center !important;
    gap: clamp(2rem, 6vw, 6rem);
}
.sf-about-proof {
    padding: 1.5rem 0;
    border-block: var(--border-width) solid var(--color-border);
    background: var(--color-bg-page);
}
.sf-about-proof .wp-block-columns {
    gap: 0;
}
.sf-about-proof__item {
    min-height: 8rem;
    padding: 1.4rem clamp(1rem, 3vw, 2.5rem);
}
.sf-about-proof .wp-block-column + .wp-block-column .sf-about-proof__item {
    border-left: var(--border-width) solid var(--color-border);
}
.sf-about-proof__number {
    margin: 0 0 .45rem !important;
    color: var(--color-leaf-green-dark);
    font-size: .78rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-label);
}
.sf-about-proof h3 {
    margin: 0 !important;
    font-size: 1.35rem;
}
.sf-about-proof h3 + p {
    margin: .55rem 0 0 !important;
    color: var(--color-text-muted);
    font-size: .92rem;
    line-height: 1.55;
}
.sf-about-story {
    padding: var(--section-padding-block) 0;
}
.sf-about-story .wp-block-columns {
    align-items: center !important;
    gap: clamp(2.25rem, 6vw, 6rem);
}
.sf-about-story h2,
.sf-about-editorial h2,
.sf-about-values h2,
.sf-about-close h2 {
    margin: 0 !important;
    font-size: clamp(2.1rem, 4vw, 3.55rem);
}
.sf-about-story h2 {
    line-height: var(--line-height-heading-tight);
}
.sf-about-story h2 + p,
.sf-about-editorial h2 + p {
    margin: 1.25rem 0 0 !important;
    color: var(--color-text-secondary);
    line-height: 1.72;
}
.sf-about-story p + p,
.sf-about-editorial p + p {
    margin-top: 1rem !important;
}
.sf-about-cta {
    padding: 0 0 var(--section-padding-block);
}
.sf-about-cta__panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2rem;
    padding: clamp(2rem, 5vw, 4rem);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-bg-brand-soft);
}
.sf-about-cta h2 {
    max-width: 20ch;
    margin: 0 !important;
    font-size: clamp(1.9rem, 4vw, 3.15rem);
    line-height: var(--line-height-heading-tight);
}
.sf-about-cta p {
    max-width: 48rem;
    margin: .9rem 0 0 !important;
    color: var(--color-text-secondary);
}
.sf-about-cta .wp-block-buttons {
    margin: 0;
}
/* Variant two: a quieter editorial composition. */
.sf-about--two .sf-about-hero {
    padding-bottom: 2rem;
}
.sf-about--two .sf-about-hero__copy {
    max-width: 60rem;
}
.sf-about--two .sf-about__title {
    max-width: 18ch;
}
.sf-about--two .sf-about-photo--wide {
    margin-top: 3rem;
}
.sf-about-editorial {
    padding: var(--section-padding-block) 0;
    background: var(--color-bg-surface);
}
.sf-about-editorial .wp-block-columns {
    gap: clamp(2rem, 8vw, 8rem);
}
.sf-about-editorial__intro {
    color: var(--color-text-muted);
    font-size: 1.04rem;
    line-height: 1.75;
}
.sf-about-values {
    padding: var(--section-padding-block) 0;
}
.sf-about-values__header {
    max-width: 46rem;
}
.sf-about-values__grid {
    gap: 1rem;
    margin-top: 2.5rem;
}
.sf-about-value {
    height: 100%;
    padding: clamp(1.5rem, 3vw, 2.35rem);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-bg-surface);
    box-shadow: var(--shadow-sm);
}
.sf-about-value__number {
    margin: 0 0 1.4rem !important;
    color: var(--color-leaf-green-dark);
    font-size: .8rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-label);
}
.sf-about-value h3 {
    margin: 0 !important;
    font-size: 1.55rem;
}
.sf-about-value h3 + p {
    margin: .75rem 0 0 !important;
    color: var(--color-text-muted);
    line-height: 1.65;
}
.sf-about-manifesto {
    padding: clamp(3rem, 7vw, 5.5rem) 0;
    color: var(--color-text-on-brand);
    background: var(--color-obsidian);
}
.sf-about-manifesto blockquote {
    max-width: 55rem;
    padding: 0;
    margin: 0;
    border: 0;
}
.sf-about-manifesto blockquote p {
    margin: 0 !important;
    color: var(--color-white);
    font-family: var(--font-family-heading);
    font-size: clamp(2.2rem, 5vw, 4.6rem);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-heading);
    line-height: 1.05;
}
.sf-about-manifesto blockquote cite {
    display: block;
    margin-top: 1.3rem;
    color: var(--color-leaf-green);
    font-family: var(--font-family-body);
    font-size: var(--font-size-body-sm);
    font-style: normal;
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-label);
    text-transform: uppercase;
}
.sf-about-close {
    padding: var(--section-padding-block) 0;
    background: var(--color-bg-surface);
}
.sf-about-close .wp-block-columns {
    align-items: center !important;
    gap: clamp(2.25rem, 7vw, 7rem);
}
.sf-about-close h2 + p {
    margin: 1.1rem 0 0 !important;
    color: var(--color-text-secondary);
    line-height: 1.72;
}
@media (max-width: 781px) {
    .sf-about-hero .wp-block-columns,
    .sf-about-story .wp-block-columns,
    .sf-about-close .wp-block-columns {
        gap: 2.25rem;
    }
    .sf-about-hero {
        padding: 3.75rem 0;
    }
    .sf-about__title {
        font-size: clamp(2.55rem, 12vw, 4rem);
    }
    .sf-about-photo {
        min-height: 25rem;
    }
    .sf-about-photo--wide {
        min-height: 22rem;
    }
    .sf-about-photo--compact {
        min-height: 19rem;
    }
    .sf-about-proof .wp-block-column + .wp-block-column .sf-about-proof__item {
        border-top: var(--border-width) solid var(--color-border);
        border-left: 0;
    }
    .sf-about-cta__panel {
        grid-template-columns: 1fr;
    }
    .sf-about-cta .wp-block-buttons {
        margin-top: 0;
    }
}
@media (max-width: 479px) {
	/* Match the first content line on the compact About and Contact page
	 * openings, while keeping their generous desktop spacing independent. */
	.sf-about-hero {
		padding-top: 2.75rem;
	}
    .sf-about .wp-block-buttons,
    .sf-about .wp-block-button,
    .sf-about .wp-block-button__link {
        width: 100%;
    }
    .sf-about .wp-block-button__link {
        display: block;
        text-align: center;
    }
    .sf-about-photo {
        min-height: 21rem;
    }
    .sf-about__eyebrow {
        font-size: .75rem;
    }
    .sf-about-cta__panel {
        padding: 1.65rem;
    }
}

/* Footer benefits sit above the dark footer as a contained neutral panel, so
 * their reassurance message does not repeat either brand colour as a band. */
#footer .sfc-footer-benefits {
    padding: clamp(1rem, 2.5vw, 2rem) var(--container-padding-inline) !important;
    padding-bottom: clamp(3rem, 5vw, 4rem) !important;
    color: var(--color-text-primary) !important;
    background: transparent !important;
}
#footer > [data-block^="footer:"] {
    padding-top: 0 !important;
}
#footer .sfc-footer-benefits > .wp-block-columns {
    width: min(100%, var(--container-max-width));
    margin: 0 auto !important;
    gap: 0 !important;
    overflow: hidden;
    background: #f1f4f7;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: 0 8px 20px rgb(43 62 136 / .06);
}
#footer .sfc-footer-benefits .wp-block-column {
    min-width: 0;
    color: var(--color-text-primary);
}
#footer .sfc-footer-benefits .wp-block-column:not(:last-child) {
    border-right-color: var(--color-border) !important;
}
#footer .sfc-footer-benefits strong {
    color: var(--color-regal-blue);
}
#footer .sfc-footer-benefits span {
    color: var(--color-text-muted);
}
/* The About page ends directly above the main footer. */
body.page-id-1271 #footer .sfc-footer-benefits {
    display: none;
}
/* The compact contact page ends directly above the main footer. */
body.page-id-1275 #footer .sfc-footer-benefits {
    display: none;
}
/* Account-management pages do not need the shopping reassurance panel. */
body.woocommerce-account #footer .sfc-footer-benefits {
    display: none;
}
/* Search-result pages end directly above the main footer as well. */
body.search #footer .sfc-footer-benefits {
    display: none;
}
/* A 404 is informational rather than a shopping step. */
body.error404 #footer .sfc-footer-benefits {
    display: none;
}
body.error404 .sfc-404-page {
    max-width: 44rem;
    margin-inline: auto;
}
body.error404 .sfc-404-illustration {
    width: min(100%, 32rem);
    margin: 1.25rem auto 1.5rem;
    line-height: 0;
}
body.error404 .sfc-404-illustration img {
    display: block;
    width: 100%;
    height: auto;
}
/* Pagination is navigational, so it uses a neutral border rather than a CTA cue. */
body.woocommerce-page .page-numbers:is(.prev, .next) {
    border-color: var(--color-border);
}
body.woocommerce-page .page-numbers:is(.prev, .next):hover {
    border-color: var(--color-regal-blue);
    color: var(--color-obsidian);
}
@media (max-width: 689.98px) {
    body.error404 .sfc-404-illustration {
        width: min(100%, 26rem);
        margin-block: 1rem 1.25rem;
    }
}

/* Compact the official dispute-resolution badges while retaining a clear,
 * touch-friendly card around them. The image IDs come from the footer block. */
#footer .wp-block-group:has(> .wp-block-image > .wp-image-1313) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 8px;
    row-gap: 16px;
    padding: 12px !important;
}
#footer .wp-block-group:has(> .wp-block-image > .wp-image-1313) > p {
    flex-basis: 100%;
    margin-bottom: 0 !important;
}
#footer .wp-block-image:has(> .wp-image-1313),
#footer .wp-block-image:has(> .wp-image-1315) {
    flex: 1 1 calc((100% - 8px) / 2);
    min-width: 0;
    margin: 0 !important;
}
#footer .wp-image-1313,
#footer .wp-image-1315 {
    display: block;
    width: min(100%, 220px) !important;
    height: auto;
    margin-inline: 0;
}
#footer .wp-block-image:has(> .wp-image-1315):only-of-type {
    flex-basis: 100%;
}

/* Pair the linked dispute-resolution badge with its label, matching the
 * payment row. */
#footer .wp-block-group:has(> .wp-block-image .wp-image-1315) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
#footer .wp-block-group:has(> .wp-block-image .wp-image-1315) > p {
    flex: 1 1 0;
    min-width: 0;
    margin: 0 !important;
}
#footer .wp-block-group:has(> .wp-block-image .wp-image-1315) > .wp-block-image:has(.wp-image-1315) {
    flex: 0 1 220px;
    margin: 0 !important;
}

/* Keep the payment-provider mark paired with its payment label. */
#footer .wp-block-group:has(> .wp-block-image > .wp-image-1320) {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
}
#footer .wp-block-image:has(> .wp-image-1320) {
    flex: 0 0 120px;
    margin: 0 !important;
    padding: 8px 10px;
    border-radius: 4px;
    background: #fff;
}
#footer .wp-image-1320 {
    display: block;
    width: 100px !important;
    height: auto;
}

/* Keep the site footer as one continuous component: no blank block gap, no
 * persistent shortcut bar below it, and a light copyright row. */
#footer > [data-block^="footer:"] .entry-content > .wp-block-group {
    margin-block: 0 !important;
}
#footer > [data-block^="footer:"] {
    padding-bottom: 0 !important;
}
#footer > [data-block^="footer:"] .entry-content > .wp-block-group:last-child {
    color: var(--color-regal-blue) !important;
    background-color: var(--color-white) !important;
    border-top: var(--border-width) solid var(--color-border);
}
#footer > [data-block^="footer:"] .entry-content > .wp-block-group:last-child a {
    color: var(--color-regal-blue) !important;
}
.ct-shortcuts-bar {
    display: none !important;
}
@media (max-width: 781px) {
    #footer .sfc-footer-benefits > .wp-block-columns {
        display: grid;
        grid-template-columns: 1fr;
    }
    #footer .sfc-footer-benefits .wp-block-column:not(:last-child) {
        border-right: 0 !important;
        border-bottom: 1px solid var(--color-border);
    }
}
@media (max-width: 600px) {
    /* Give the latest-products heading enough room after the category cards. */
    body.home .sf-shop-needs--variant-a + .sf-product-showcase--variant-a {
        margin-top: 1.5rem;
    }
}
/* Contact demos: core Gutenberg blocks arranged with the existing shop tokens. */
.sf-contact, .sf-contact * {
    box-sizing: border-box;
}
.sf-contact {
    color: var(--color-text-primary);
    background: var(--color-bg-page);
}
.sf-contact .sf-contact__inner {
    width: min(100% - (2 * var(--container-padding-inline)), var(--container-max-width));
    margin-inline: auto;
}
.sf-contact .wp-block-columns {
    margin-bottom: 0;
}
.sf-contact .wp-block-column > :first-child {
    margin-top: 0;
}
.sf-contact .wp-block-column > :last-child {
    margin-bottom: 0;
}
.sf-contact a {
    overflow-wrap: anywhere;
}
.sf-contact__eyebrow {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin: 0 0 1rem !important;
    color: var(--color-regal-blue);
    font-size: .78rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-label);
    text-transform: uppercase;
}
.sf-contact__eyebrow::before {
    content: "";
    width: 1.75rem;
    height: 3px;
    border-radius: var(--radius-pill);
    background: var(--color-leaf-green);
}
.sf-contact__title {
    max-width: 15ch;
    margin: 0 !important;
    font-size: clamp(2.65rem, 6vw, 5.25rem);
    line-height: 1.02;
}
.sf-contact__lead {
    max-width: 56ch;
    margin: 1.35rem 0 0 !important;
    color: var(--color-text-secondary);
    font-size: clamp(1.03rem, 1.6vw, 1.2rem);
    line-height: 1.7;
}
.sf-contact .wp-block-button__link {
    min-height: 2.875rem;
    padding: .8rem 1.2rem;
    border: var(--border-width-strong) solid var(--color-regal-blue);
    border-radius: var(--radius-md);
    color: var(--color-white);
    background: var(--color-regal-blue);
    font-family: var(--font-family-body);
    font-size: .92rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    text-decoration: none;
    transition: transform var(--duration-fast) var(--ease-standard), background-color var(--duration-normal) var(--ease-standard), border-color var(--duration-normal) var(--ease-standard);
}
.sf-contact .wp-block-button__link:hover {
    color: var(--color-white);
    background: var(--color-regal-blue-light);
    border-color: var(--color-regal-blue-light);
    transform: translateY(-2px);
}
.sf-contact-card {
    height: 100%;
    padding: clamp(1.35rem, 3vw, 2rem);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-bg-surface);
    box-shadow: var(--shadow-sm);
}
.sf-contact-card__label {
    margin: 0 0 .65rem !important;
    color: var(--color-leaf-green-dark);
    font-size: .76rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-label);
    text-transform: uppercase;
}
.sf-contact-card h3 {
    margin: 0 !important;
    font-size: clamp(1.25rem, 2.1vw, 1.65rem);
}
.sf-contact-card h3 + p, .sf-contact-card p + p {
    margin-top: .6rem !important;
}
.sf-contact-card p {
    margin-bottom: 0;
    color: var(--color-text-muted);
}
.sf-contact-card a {
    color: var(--color-text-primary);
    font-weight: var(--font-weight-semibold);
    text-decoration-thickness: 1px;
}
.sf-contact-form-space {
    padding: clamp(1.6rem, 4vw, 2.6rem);
    border: var(--border-width-strong) dashed var(--color-border-strong);
    border-radius: var(--radius-lg);
    background: var(--color-bg-surface);
}
.sf-contact-form-space h2 {
    margin: 0 !important;
    font-size: clamp(1.75rem, 3vw, 2.55rem);
}
.sf-contact-form-space h2 + p {
    max-width: 60ch;
    margin: .75rem 0 0 !important;
    color: var(--color-text-muted);
}
.sf-contact-form-space__fields {
    gap: .7rem;
    margin-top: 1.5rem;
}
.sf-contact-form-space__field {
    margin: .7rem 0 0 !important;
    padding: .8rem 1rem;
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-sm);
    color: var(--color-text-muted);
    background: var(--color-bg-page);
    font-size: .88rem;
}
.sf-contact-form-space__field--message {
    min-height: 5.5rem;
}
.sf-contact-form-space__note {
    margin: 1rem 0 0 !important;
    color: var(--color-text-muted);
    font-size: .82rem;
}
.sf-contact-faq h2 {
    margin: 0 !important;
    font-size: clamp(2rem, 4vw, 3.25rem);
}
.sf-contact-faq__intro {
    max-width: 55ch;
    margin: .8rem 0 0 !important;
    color: var(--color-text-muted);
}
.sf-contact-faq__list {
    margin-top: 2rem;
}
.sf-contact-faq details {
    padding: 1.15rem 0;
    border-top: var(--border-width) solid var(--color-border);
}
.sf-contact-faq details:last-child {
    border-bottom: var(--border-width) solid var(--color-border);
}
.sf-contact-faq summary {
    color: var(--color-text-primary);
    font-weight: var(--font-weight-bold);
    cursor: pointer;
}
.sf-contact-faq details p {
    margin: .8rem 0 0 !important;
    color: var(--color-text-muted);
}
/* Variant 1: calm split hero and a compact card directory. */
.sf-contact--one .sf-contact-hero {
    padding: clamp(3.5rem, 8vw, 7rem) 0;
    background: var(--color-bg-surface);
}
.sf-contact--one .sf-contact-hero .wp-block-columns {
    align-items: center !important;
    gap: clamp(2rem, 6vw, 6rem);
}
.sf-contact--one .sf-contact-hero__aside {
    padding: clamp(1.5rem, 4vw, 2.75rem);
    border-left: .45rem solid var(--color-leaf-green);
    border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
    background: var(--color-bg-soft);
}
.sf-contact--one .sf-contact-hero__aside h2 {
    margin: 0 !important;
    font-size: clamp(1.55rem, 3vw, 2.25rem);
}
.sf-contact--one .sf-contact-hero__aside p {
    margin: .8rem 0 0 !important;
    color: var(--color-text-secondary);
}
.sf-contact--one .sf-contact-hero__aside .wp-block-buttons {
    margin-top: 1.35rem;
}
.sf-contact--one .sf-contact-directory {
    padding: var(--section-padding-block) 0;
}
.sf-contact--one .sf-contact-directory__head {
    max-width: 48rem;
}
.sf-contact--one .sf-contact-directory__head h2 {
    margin: 0 !important;
    font-size: clamp(2rem, 4vw, 3.25rem);
}
.sf-contact--one .sf-contact-directory__head p {
    margin: .8rem 0 0 !important;
    color: var(--color-text-muted);
}
.sf-contact--one .sf-contact-directory__grid {
    gap: 1rem;
    margin-top: 1rem;
}
.sf-contact--one .sf-contact-form {
    padding: 0 0 var(--section-padding-block);
}
.sf-contact--one .sf-contact-faq {
    padding: var(--section-padding-block) 0;
    background: var(--color-bg-surface);
}
/* Variant 2: dark editorial opening and numbered contact rows. */
.sf-contact--two .sf-contact-hero {
    padding: clamp(4rem, 9vw, 8rem) 0;
    color: var(--color-white);
    background: var(--color-obsidian);
}
.sf-contact--two .sf-contact__eyebrow {
    color: var(--color-leaf-green);
}
.sf-contact--two .sf-contact__title {
    max-width: 18ch;
    color: var(--color-white);
}
.sf-contact--two .sf-contact__lead {
    color: var(--color-frosted-sky);
}
.sf-contact--two .sf-contact-hero .wp-block-buttons {
    gap: .65rem;
    margin-top: 2rem;
}
.sf-contact--two .sf-contact-hero .wp-block-button__link {
    border-color: var(--color-leaf-green);
    color: var(--color-obsidian);
    background: var(--color-leaf-green);
}
.sf-contact--two .sf-contact-hero .wp-block-button__link:hover {
    border-color: var(--color-leaf-green-dark);
    background: var(--color-leaf-green-dark);
}
.sf-contact--two .sf-contact-directory {
    padding: var(--section-padding-block) 0;
    background: var(--color-bg-surface);
}
.sf-contact--two .sf-contact-directory > .sf-contact__inner > .wp-block-columns {
    gap: clamp(2rem, 7vw, 7rem);
}
.sf-contact--two .sf-contact-directory h2 {
    margin: 0 !important;
    font-size: clamp(2rem, 4vw, 3.25rem);
}
.sf-contact--two .sf-contact-directory__intro {
    position: sticky;
    top: 2rem;
}
.sf-contact--two .sf-contact-directory__intro p {
    margin: 1rem 0 0 !important;
    color: var(--color-text-muted);
}
.sf-contact-row {
    display: grid;
    grid-template-columns: 2.4rem 1fr;
    gap: 1rem;
    padding: 1.25rem 0;
    border-top: var(--border-width) solid var(--color-border);
}
.sf-contact-row:last-child {
    border-bottom: var(--border-width) solid var(--color-border);
}
.sf-contact-row__number {
    margin: .15rem 0 0 !important;
    color: var(--color-leaf-green-dark);
    font-size: .75rem;
    font-weight: var(--font-weight-bold);
}
.sf-contact-row h3 {
    margin: 0 !important;
    font-family: var(--font-family-body);
    font-size: 1rem;
    letter-spacing: 0;
}
.sf-contact-row h3 + p {
    margin: .35rem 0 0 !important;
}
.sf-contact-row p {
    color: var(--color-text-muted);
}
.sf-contact-row a {
    color: var(--color-regal-blue);
    font-weight: var(--font-weight-semibold);
}
.sf-contact--two .sf-contact-workspace {
    padding: var(--section-padding-block) 0;
}
.sf-contact--two .sf-contact-workspace > .sf-contact__inner > .wp-block-columns {
    align-items: flex-start !important;
    gap: clamp(2rem, 7vw, 7rem);
}
.sf-contact--two .sf-contact-faq__list {
    margin-top: 1.25rem;
}
@media (max-width: 781px) {
    .sf-contact__title {
        font-size: clamp(2.55rem, 12vw, 4rem);
    }
    .sf-contact--one .sf-contact-hero .wp-block-columns,
    .sf-contact--two .sf-contact-directory > .sf-contact__inner > .wp-block-columns,
    .sf-contact--two .sf-contact-workspace > .sf-contact__inner > .wp-block-columns {
        gap: 2.25rem;
    }
    .sf-contact--two .sf-contact-directory__intro {
        position: static;
    }
}
@media (max-width: 479px) {
    .sf-contact .wp-block-buttons, .sf-contact .wp-block-button, .sf-contact .wp-block-button__link {
        width: 100%;
    }
    .sf-contact .wp-block-button__link {
        display: block;
        text-align: center;
    }
    .sf-contact-form-space {
        padding: 1.35rem;
    }
    .sf-contact-row {
        grid-template-columns: 2rem 1fr;
        gap: .65rem;
    }
}

/* Compact contact page: an accessible directory and form share one focused workspace. */
.sf-contact--compact {
    background: var(--color-bg-page);
}
.sf-contact--compact .sf-contact-compact {
    padding: clamp(2.75rem, 6vw, 5.25rem) 0;
}
.sf-contact--compact .sf-contact-compact__layout {
    align-items: start !important;
    gap: clamp(2rem, 5vw, 5.5rem);
}
.sf-contact--compact .sf-contact-compact__title {
    max-width: 11ch;
    margin: 0 !important;
    font-size: clamp(2.45rem, 4.6vw, 4.25rem);
    line-height: 1.04;
}
.sf-contact--compact .sf-contact-compact__intro {
    max-width: 47ch;
    margin: 1rem 0 0 !important;
    color: var(--color-text-secondary);
    font-size: 1.05rem;
    line-height: 1.65;
}
.sf-contact-methods {
    display: grid;
    gap: .7rem;
    margin-top: 1.65rem;
}
.sf-contact-method {
    display: grid;
    grid-template-columns: 2.75rem 1fr;
    gap: .9rem;
    align-items: start;
    padding: 1rem 0;
    border-top: 1px solid var(--color-border);
}
.sf-contact-method:last-child {
    border-bottom: 1px solid var(--color-border);
}
.sf-contact-method__icon {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: 50%;
    color: var(--color-regal-blue);
    background: var(--color-bg-brand-soft);
}
.sf-contact-method__icon::before {
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    content: "";
    background: currentcolor;
    -webkit-mask: var(--sf-contact-icon) center / contain no-repeat;
    mask: var(--sf-contact-icon) center / contain no-repeat;
}
.sf-contact-method--phone {
    --sf-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.34 1.77.65 2.6a2 2 0 0 1-.45 2.11L8.04 9.7a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.83.31 1.7.53 2.6.65A2 2 0 0 1 22 16.9Z' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
}
.sf-contact-method--email {
    --sf-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m3 7 9 6 9-6' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
}
.sf-contact-method__content {
    min-width: 0;
}
.sf-contact-method__label {
    margin: .05rem 0 .25rem !important;
    color: var(--color-text-muted);
    font-size: .75rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-label);
    text-transform: uppercase;
}
.sf-contact-method__links {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .65rem;
}
.sf-contact-method__links a {
    color: var(--color-text-primary);
    font-weight: var(--font-weight-semibold);
    line-height: 1.45;
    text-decoration: none;
    text-decoration-color: rgb(43 62 136 / .28);
}
.sf-contact-method__links a:hover {
    color: var(--color-regal-blue);
    text-decoration: underline;
    text-decoration-color: currentcolor;
    text-underline-offset: .18em;
}
.sf-contact-method__separator {
    color: var(--color-text-muted);
    user-select: none;
}
.sf-contact-method__links--emails {
    display: grid;
    gap: .35rem;
}
.sf-contact-email-route {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin: 0 !important;
}
.sf-contact-method__links--emails span {
    color: var(--color-text-muted);
    font-size: .875rem;
    font-weight: var(--font-weight-regular);
}
.sf-contact-form-card {
    padding: clamp(1.4rem, 3.2vw, 2.3rem);
    border: 1px solid var(--color-border);
    border-top: .3rem solid var(--color-leaf-green);
    border-radius: var(--radius-lg);
    background: var(--color-bg-surface);
    box-shadow: var(--shadow-md);
}
.sf-contact-form-card h2 {
    margin: 0 !important;
    font-size: clamp(1.7rem, 2.7vw, 2.35rem);
}
.sf-contact-form-card__intro {
    margin: .55rem 0 1.25rem !important;
    color: var(--color-text-muted);
}
.sf-contact-form-card .ff-el-group {
    margin-bottom: .85rem;
}
.sf-contact-form-card .ff-el-input--label label {
    margin-bottom: .32rem;
    color: var(--color-text-secondary);
    font-family: var(--font-family-body);
    font-size: .82rem;
    font-weight: var(--font-weight-semibold);
}
.sf-contact-form-card .ff-el-form-control {
    min-height: 2.85rem;
    padding: .68rem .8rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    color: var(--color-text-primary);
    background: var(--color-bg-page);
    box-shadow: none;
}
.sf-contact-form-card textarea.ff-el-form-control {
    min-height: 7.25rem;
}
.sf-contact-form-card .ff-el-form-control:focus {
    border-color: var(--color-regal-blue);
    box-shadow: 0 0 0 3px var(--color-focus-ring);
}
.sf-contact-form-card .ff-btn-submit {
    min-height: 2.85rem;
    padding: .68rem 1.1rem;
    border: 2px solid var(--button-accent-border) !important;
    border-radius: var(--radius-md) !important;
    color: var(--button-accent-text) !important;
    background: var(--button-accent-bg) !important;
    box-shadow: var(--shadow-sm);
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-bold);
    transition: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}
.sf-contact-form-card .ff-btn-submit:hover {
    border-color: var(--button-accent-bg-hover) !important;
    color: var(--button-accent-text) !important;
    background: var(--button-accent-bg-hover) !important;
    box-shadow: var(--shadow-md);
    transform: translateY(-1px);
}
@media (max-width: 781px) {
    .sf-contact--compact .sf-contact-compact__layout {
        gap: 2.5rem;
    }
    .sf-contact--compact .sf-contact-compact__title {
        max-width: 14ch;
    }
}
@media (max-width: 479px) {
    .sf-contact--compact .sf-contact-compact {
        padding: 3.375rem 0 3rem;
    }
    .sf-contact-method {
        grid-template-columns: 2.35rem 1fr;
        gap: .7rem;
        padding: .85rem 0;
    }
    .sf-contact-method__icon {
        width: 2.35rem;
        height: 2.35rem;
    }
    .sf-contact-form-card {
        padding: 1.25rem;
    }
}

/* Product-category archive context: an explicit destination and a compact,
 * navigable hierarchy for visitors arriving directly from search. */
body.tax-product_cat .woocommerce-products-header {
    margin-bottom: clamp(1.4rem, 3vw, 2.25rem);
}
body.tax-product_cat .sfc-category-context {
    position: relative;
    overflow: hidden;
    padding: clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 3.5vw, 2.5rem);
    border: 1px solid var(--color-border);
    border-left: 5px solid var(--color-leaf-green);
    border-radius: var(--radius-lg);
    background: linear-gradient(115deg, var(--color-bg-surface) 0%, var(--color-bg-surface) 58%, var(--color-bg-brand-soft) 100%);
    box-shadow: var(--shadow-sm);
}
body.tax-product_cat .sfc-category-context::after {
    position: absolute;
    inset: auto -3.2rem -5.5rem auto;
    width: 11rem;
    aspect-ratio: 1;
    border: 1.5rem solid rgb(113 190 85 / .12);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}
body.tax-product_cat .sfc-category-breadcrumbs {
    position: relative;
    z-index: 1;
    margin-bottom: .65rem;
    color: var(--color-text-muted);
    font-size: .8rem;
    font-weight: var(--font-weight-semibold);
    letter-spacing: .015em;
}
body.tax-product_cat .sfc-category-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .5rem;
    align-items: center;
    padding: 0;
    margin: 0;
    list-style: none;
}
body.tax-product_cat .sfc-category-breadcrumbs li {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}
body.tax-product_cat .sfc-category-breadcrumbs li + li::before {
    margin-right: .5rem;
    color: var(--color-skyline-blue);
    content: "›";
    font-size: 1.15em;
    font-weight: var(--font-weight-bold);
}
body.tax-product_cat .sfc-category-breadcrumbs a {
    color: var(--color-regal-blue);
    text-decoration: none;
    text-underline-offset: .2em;
}
body.tax-product_cat .sfc-category-breadcrumbs a:hover {
    color: var(--color-regal-blue-light);
    text-decoration: underline;
}
body.tax-product_cat .sfc-category-breadcrumbs [aria-current="page"] {
    color: var(--color-text-secondary);
}
body.tax-product_cat .sfc-category-context__title {
    position: relative;
    z-index: 1;
    max-width: 17ch;
    margin: 0 !important;
    color: var(--color-text-primary);
    font-size: clamp(1.9rem, 4vw, 3rem);
    line-height: 1.1;
}
@media (max-width: 479px) {
    body.tax-product_cat .sfc-category-context {
        padding: 1.1rem 1.15rem 1.25rem;
        border-left-width: 4px;
    }
    body.tax-product_cat .sfc-category-context__title {
        max-width: none;
        font-size: clamp(1.7rem, 8.5vw, 2.25rem);
    }
}

/* Keep the classic checkout acknowledgement and order action visually grouped. */
body .woocommerce-checkout-payment .place-order .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: .25rem;
}
body .woocommerce-checkout-payment .place-order .woocommerce-terms-and-conditions-wrapper .form-row {
    margin-bottom: 0;
}

/* Give checkout choices a clearer, tactile control without competing with the CTAs. */
body .woocommerce-checkout input.woocommerce-form__input-checkbox.input-checkbox,
body .woocommerce-checkout #ship-to-different-address-checkbox {
    appearance: none;
    inline-size: 1.125rem;
    block-size: 1.125rem;
    margin: 0 .7rem 0 0;
    border: 2px solid var(--color-skyline-blue);
    border-radius: .25rem;
    background-color: var(--color-bg-surface);
    background-position: center;
    background-repeat: no-repeat;
    background-size: .75rem;
    box-shadow: inset 0 0 0 1px rgb(43 62 136 / .04);
    cursor: pointer;
    vertical-align: 0;
    transition: border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
}
body .woocommerce-checkout input.woocommerce-form__input-checkbox.input-checkbox:hover,
body .woocommerce-checkout #ship-to-different-address-checkbox:hover {
    border-color: var(--color-regal-blue);
}
body .woocommerce-checkout input.woocommerce-form__input-checkbox.input-checkbox:checked,
body .woocommerce-checkout #ship-to-different-address-checkbox:checked {
    border-color: var(--color-regal-blue);
    background-color: var(--color-regal-blue);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2'/%3E%3C/svg%3E");
    box-shadow: none;
}
body .woocommerce-checkout input.woocommerce-form__input-checkbox.input-checkbox:focus-visible,
body .woocommerce-checkout #ship-to-different-address-checkbox:focus-visible {
    outline: 3px solid var(--color-focus-ring);
    outline-offset: 2px;
}

/* Treat the Blocksy account modal as the same friendly card used by the shop. */
#account-modal .ct-account-modal {
    overflow: hidden;
    border-radius: var(--radius-lg);
}
#account-modal .ct-account-modal > ul {
    gap: .3rem;
    padding: .35rem;
    border-bottom: 1px solid var(--color-border);
    background: #f4f7fc;
}
#account-modal .ct-account-modal > ul > li {
    height: 3.15rem;
    border: 1px solid transparent !important;
    border-radius: .625rem;
    color: var(--color-text-muted);
    background: transparent !important;
    opacity: 1;
}
#account-modal .ct-account-modal > ul > li:first-child {
    border-right: 1px solid transparent !important;
}
#account-modal .ct-account-modal > ul > li.active {
    border-color: var(--color-border) !important;
    color: var(--color-regal-blue);
    background: var(--color-bg-surface) !important;
    box-shadow: 0 2px 7px rgb(43 62 136 / .10);
}
#account-modal .ct-account-modal > ul > li:not(.active):hover {
    color: var(--color-regal-blue);
    background: #eaf0fa !important;
    opacity: 1;
}
#account-modal .login-remember :is(label, .ct-forgot-password) {
    color: var(--color-regal-blue);
    font-weight: var(--font-weight-semibold);
}
#account-modal .login-remember label {
    cursor: pointer;
}
#account-modal .login-remember .ct-forgot-password {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .16em;
}
#account-modal .login-remember :is(label, .ct-forgot-password):hover {
    color: var(--color-regal-blue-light);
}
#account-modal :is(.ct-account-login-submit, .ct-account-register-submit).ct-button {
    min-height: 2.875rem;
    border: 2px solid var(--button-accent-border);
    border-radius: var(--radius-md);
    color: var(--button-accent-text);
    background: var(--button-accent-bg);
    box-shadow: var(--shadow-sm);
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-bold);
}
#account-modal :is(.ct-account-login-submit, .ct-account-register-submit).ct-button:hover {
    border-color: var(--button-accent-bg-hover);
    color: var(--button-accent-text);
    background: var(--button-accent-bg-hover);
    box-shadow: var(--shadow-md);
    transform: translateY(-1px);
}
#account-modal :is(.ct-account-login-submit, .ct-account-register-submit).ct-button:focus-visible {
    outline: 3px solid var(--color-focus-ring);
    outline-offset: 3px;
}

/* Make the signed-in header menu read as a compact account card. */
.ct-header-account-dropdown {
    min-width: 17rem;
    padding: .55rem;
    border: 1px solid var(--color-border);
    border-radius: .875rem;
    background: var(--color-bg-surface);
    box-shadow: 0 16px 36px rgb(43 62 136 / .16);
}
.ct-header-account-dropdown .ct-header-account-user-info {
    margin: -.55rem -.55rem .45rem;
    padding: .85rem .9rem;
    border-bottom: 1px solid var(--color-border);
    background: #f4f7fc;
    border-radius: .82rem .82rem 0 0;
}
.ct-header-account-dropdown .ct-header-account-user-info .ct-menu-link {
    gap: .7rem;
}
.ct-header-account-dropdown .ct-header-account-user-info .ct-media-container img {
    width: 2.25rem !important;
    height: 2.25rem !important;
    border: 2px solid var(--color-bg-surface);
    box-shadow: 0 2px 7px rgb(43 62 136 / .14);
}
.ct-header-account-dropdown .ct-header-account-user-info b {
    color: var(--color-text-primary);
    font-size: .9rem;
}
.ct-header-account-dropdown .ct-header-account-user-info small {
    margin-top: .14rem;
    color: var(--color-text-muted);
    font-size: .75rem;
}
.ct-header-account-dropdown .ct-header-account-divider {
    display: none;
}
.ct-header-account-dropdown > .menu-item:not(.ct-header-account-user-info) > .ct-menu-link {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-height: 2.55rem;
    padding: .55rem .65rem;
    border-radius: var(--radius-sm);
    color: var(--color-text-secondary);
    font-size: .875rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.25;
    transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}
.ct-header-account-dropdown > .menu-item:not(.ct-header-account-user-info) > .ct-menu-link::before {
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    content: "";
    background: currentColor;
    -webkit-mask: var(--sfc-account-menu-icon) center / contain no-repeat;
    mask: var(--sfc-account-menu-icon) center / contain no-repeat;
}
.ct-header-account-dropdown > .menu-item:not(.ct-header-account-user-info) > .ct-menu-link:hover,
.ct-header-account-dropdown > .menu-item:not(.ct-header-account-user-info) > .ct-menu-link:focus-visible {
    color: var(--color-regal-blue);
    background: #edf2fc;
    transform: translateX(2px);
}
.ct-header-account-dropdown > .menu-item > .ct-menu-link[href$="/contul-meu/"],
.ct-header-account-dropdown > .menu-item > .ct-menu-link[href*="/wp-admin/"] {
    --sfc-account-menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0M12 13a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
}
.ct-header-account-dropdown > .menu-item > .ct-menu-link[href*="woo-wish-list"] {
    --sfc-account-menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.9-8.6a5.5 5.5 0 0 0-.1-7.8Z' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
}
.ct-header-account-dropdown > .menu-item > .ct-menu-link[href*="profile.php"] {
    --sfc-account-menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m19.4 15 .1 2.1-1.8 1.8-2.1-.1-1.5.9-.7 2h-2.6l-.7-2-1.5-.9-2.1.1-1.8-1.8.1-2.1-.9-1.5.9-1.5-.1-2.1 1.8-1.8 2.1.1 1.5-.9.7-2h2.6l.7 2 1.5.9 2.1-.1 1.8 1.8-.1 2.1.9 1.5-.9 1.5Z' fill='none' stroke='black' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
}
.ct-header-account-dropdown > .menu-item > .ct-menu-link[href*="action=logout"] {
    --sfc-account-menu-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 5H5v14h5M14 8l4 4-4 4M18 12H9' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
    margin-top: .2rem;
    color: var(--color-text-muted);
}
.ct-header-account-dropdown > .menu-item > .ct-menu-link[href*="action=logout"]:hover,
.ct-header-account-dropdown > .menu-item > .ct-menu-link[href*="action=logout"]:focus-visible {
    color: var(--color-danger);
    background: #fff3f3;
}

/* Legal and policy pages: a focused reading surface with a clear heading scale. */
body:is(.page-id-1365, .page-id-1363, .page-id-1347, .page-id-1376) #main > .ct-container-full {
    padding: clamp(1.5rem, 4vw, 4rem) var(--container-padding-inline) clamp(3rem, 6vw, 5.5rem);
}
body:is(.page-id-1365, .page-id-1363, .page-id-1347, .page-id-1376) #main > .ct-container-full > article {
    width: min(100%, 70rem);
    margin-inline: auto;
    padding: clamp(1.5rem, 3.5vw, 3.5rem);
    background: var(--color-bg-surface);
    border: 1px solid var(--color-border);
    border-top: 4px solid var(--color-regal-blue);
    border-radius: var(--radius-lg);
    box-shadow: 0 6px 18px rgb(43 62 136 / .035);
}
body:is(.page-id-1365, .page-id-1363, .page-id-1347, .page-id-1376) .hero-section {
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
    padding: 0 0 clamp(1.25rem, 2.5vw, 2rem);
    border-bottom: 1px solid var(--color-border);
    background: transparent;
}
body:is(.page-id-1365, .page-id-1363, .page-id-1347, .page-id-1376) .entry-header .page-title {
    max-inline-size: 20ch;
    margin: 0;
    color: var(--color-text-primary);
    font-size: clamp(2.25rem, 4.2vw, 3.5rem);
    line-height: 1.1;
}
body:is(.page-id-1365, .page-id-1363, .page-id-1347, .page-id-1376) #main article > .entry-content {
    max-inline-size: 100%;
}
body:is(.page-id-1365, .page-id-1363, .page-id-1347, .page-id-1376) #main article > .entry-content > :is(p, ul) {
    max-inline-size: 72ch;
}
body:is(.page-id-1365, .page-id-1363, .page-id-1347, .page-id-1376) #main article > .entry-content > p {
    line-height: 1.75;
}
body:is(.page-id-1365, .page-id-1363, .page-id-1347, .page-id-1376) #main article > .entry-content > h2 {
    margin-top: clamp(2rem, 4vw, 3.5rem);
    margin-bottom: 1rem;
    padding-left: 1rem;
    border-left: 4px solid var(--color-regal-blue-light);
    color: var(--color-text-primary);
    font-size: clamp(1.45rem, 2.5vw, 2.15rem);
    line-height: 1.2;
}
body:is(.page-id-1365, .page-id-1363, .page-id-1347, .page-id-1376) #main article > .entry-content > h2:first-child {
    margin-top: 0;
}
body:is(.page-id-1365, .page-id-1363, .page-id-1347, .page-id-1376) #main article > .entry-content > ul {
    margin-inline: 0;
    padding: 1rem 1.25rem 1rem 2.5rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: #f7f9fc;
    line-height: 1.7;
}
body:is(.page-id-1365, .page-id-1363, .page-id-1347, .page-id-1376) #main article > .entry-content > ul li + li {
    margin-top: .35rem;
}

/* Cookie consent: present Blocksy's type-2 notice as a compact footer companion
 * instead of a full-width utility strip. The component remains fully native—only
 * its visual treatment and responsive layout are overridden here. */
.cookie-notification[data-type="type-2"] {
    inset-inline-start: 50%;
    inset-inline-end: auto;
    bottom: max(1rem, env(safe-area-inset-bottom));
    width: min(calc(100% - 2rem), 1200px);
    padding: 0;
    color: var(--color-text-secondary);
    /* Blocksy loads the notice's configured background dynamically after theme CSS. */
    background: var(--color-bg-surface) !important;
    border: 2px solid var(--color-regal-blue);
    border-radius: var(--radius-md);
    box-shadow: 0 14px 34px rgb(43 62 136 / .18);
    transform: translateX(-50%);
}
.cookie-notification[data-type="type-2"] > .ct-container {
    width: 100%;
    min-height: 3.75rem;
    gap: clamp(.75rem, 1.5vw, 1.25rem);
    padding: .55rem clamp(1rem, 1.8vw, 1.25rem);
}
.cookie-notification[data-type="type-2"] .ct-cookies-content {
    display: block;
    color: var(--color-text-secondary);
    background: transparent !important;
    font-family: var(--font-family-body);
    flex: 1 1 auto;
    font-size: .78rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
}
/* Blocksy's rich-text control commonly wraps the message in a paragraph.
 * Flatten that wrapper so its link can participate as the second flex column. */
.cookie-notification[data-type="type-2"] .ct-cookies-content > :is(p, pre) {
    display: block;
    margin: 0;
    background: transparent !important;
}
.cookie-notification[data-type="type-2"] .ct-cookies-content :is(pre, code) {
    padding: 0;
    margin: 0;
    border: 0;
    color: inherit;
    background: transparent !important;
    box-shadow: none;
    font-family: inherit !important;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    white-space: normal;
}
.cookie-notification[data-type="type-2"] .ct-cookies-content br {
    display: none;
}
.cookie-notification[data-type="type-2"] .ct-cookies-content a {
    padding-inline-start: 0;
    border-inline-start: 0;
    color: var(--color-regal-blue);
    font-weight: var(--font-weight-bold);
    line-height: 1.25;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .18em;
    white-space: nowrap;
}
.cookie-notification[data-type="type-2"] .ct-cookies-content a:hover,
.cookie-notification[data-type="type-2"] .ct-cookies-content a:focus-visible {
    color: var(--color-regal-blue-light);
}
.cookie-notification[data-type="type-2"] .ct-button-group {
    flex: 0 0 auto;
    gap: .55rem;
}
.cookie-notification[data-type="type-2"] .ct-button-group .ct-button {
    min-height: 2.25rem;
    padding-inline: 1rem;
    border: 1px solid transparent;
    border-radius: var(--radius-pill);
    font-family: var(--font-family-body);
    font-size: .8125rem;
    font-weight: var(--font-weight-bold);
    letter-spacing: .01em;
    transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}
.cookie-notification[data-type="type-2"] .ct-cookies-accept-button {
    --theme-button-text-initial-color: var(--color-white);
    --theme-button-text-hover-color: var(--color-white);
    --theme-button-background-initial-color: var(--color-leaf-green);
    --theme-button-background-hover-color: var(--color-leaf-green-dark);
    border: 1px solid var(--color-leaf-green) !important;
    box-shadow: 0 3px 9px rgb(79 174 74 / .22);
}
.cookie-notification[data-type="type-2"] .ct-cookies-decline-button {
    --theme-button-text-initial-color: var(--color-regal-blue);
    --theme-button-text-hover-color: var(--color-regal-blue);
    --theme-button-background-initial-color: #f3f6fb;
    --theme-button-background-hover-color: var(--color-bg-brand-soft);
    border: 1px solid var(--color-border) !important;
}
.cookie-notification[data-type="type-2"] .ct-button-group .ct-button:hover {
    transform: translateY(-1px);
}
.cookie-notification[data-type="type-2"] .ct-button-group .ct-button:focus-visible {
    outline: 3px solid rgb(174 224 106 / .5);
    outline-offset: 3px;
}
/* Preserve the horizontal centering while Blocksy runs its fade transitions. */
.cookie-notification[data-type="type-2"].ct-fade-in-start,
.cookie-notification[data-type="type-2"].ct-fade-in-end,
.cookie-notification[data-type="type-2"].ct-fade-start,
.cookie-notification[data-type="type-2"].ct-fade-end {
    transform: translateX(-50%) translateY(15px);
}

@media (max-width: 689px) {
    .cookie-notification[data-type="type-2"] {
        width: min(calc(100% - 1.25rem), 32rem);
        bottom: max(.625rem, env(safe-area-inset-bottom));
        border-radius: var(--radius-md);
    }
    .cookie-notification[data-type="type-2"] > .ct-container {
        min-height: 0;
        gap: .8rem;
        padding: 1rem;
    }
    .cookie-notification[data-type="type-2"] .ct-cookies-content {
        font-size: .8125rem;
    }
    .cookie-notification[data-type="type-2"] .ct-cookies-content a {
        padding-inline-start: 0;
        border-inline-start: 0;
    }
    .cookie-notification[data-type="type-2"] .ct-button-group {
        width: 100%;
    }
    .cookie-notification[data-type="type-2"] .ct-button-group .ct-button {
        flex: 1 1 0;
        padding-inline: .75rem;
    }
}
/* The shopping reassurance strip is redundant beneath informational pages. */
body:is(.page-id-1365, .page-id-1363, .page-id-1347, .page-id-1376) #footer .sfc-footer-benefits {
    display: none;
}

@media (max-width: 767px) {
    body:is(.page-id-1365, .page-id-1363, .page-id-1347, .page-id-1376) #main > .ct-container-full {
        padding-inline: 1rem;
    }
    body:is(.page-id-1365, .page-id-1363, .page-id-1347, .page-id-1376) #main > .ct-container-full > article {
        padding: 1.25rem;
        border-top-width: 3px;
        border-radius: var(--radius-md);
    }
    body:is(.page-id-1365, .page-id-1363, .page-id-1347, .page-id-1376) .entry-header .page-title {
        font-size: clamp(2rem, 10vw, 2.6rem);
    }
    body:is(.page-id-1365, .page-id-1363, .page-id-1347, .page-id-1376) #main article > .entry-content > h2 {
        padding-left: .8rem;
        font-size: clamp(1.4rem, 7vw, 1.85rem);
    }
}
