/**
Theme Name: BestorGrupp
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bestorgrupp
Template: astra
*/
.file-info {
    display: flex;
    align-items: center;
    gap: 5px; /* Small spacing between label and size */
}

.file-info strong {
    font-weight: bold;
}




/* ==========================================================
   BESTOR DESIGN SYSTEM — Phase 2
   Unified design tokens, button system, card system
   ========================================================== */

/* ----------------------------------------------------------
   2.1 Design Tokens (CSS Custom Properties)
   ---------------------------------------------------------- */
:root {
    /* Brand Colors */
    --bestor-red: #A23534;
    --bestor-red-hover: #8A2B2A;
    --bestor-red-light: #F2DFDF;
    --bestor-dark: #243038;
    --bestor-dark-mid: #384B57;

    /* Backgrounds */
    --bg-warm: #F5F2EC;
    --bg-surface: #FFFFFF;
    --bg-dark: #243038;
    --bg-dark-surface: #2D3A43;

    /* Text */
    --text-heading: #243038;
    --text-body: #535353;
    --text-secondary: #8A8A8A;
    --text-on-dark: #FFFFFF;
    --text-on-dark-muted: rgba(255, 255, 255, 0.7);

    /* Borders */
    --border-default: #E5E2DC;
    --border-strong: #C8C4BC;

    /* Functional */
    --color-success: #2D7D46;
    --color-warning: #D4850A;
    --color-error: #C34543;
    --color-info: #3B7EC0;

    /* Spacing */
    --space-xs: 0.5rem;
    --space-sm: 1rem;
    --space-md: 1.5rem;
    --space-lg: 2.5rem;
    --space-xl: 4rem;
    --space-2xl: 6rem;

    /* Radius */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-full: 9999px;

    /* Shadows */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
    --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);

    /* Transitions */
    --transition-fast: 150ms ease;
    --transition-base: 250ms ease;
    --transition-slow: 400ms ease;
}

/* ----------------------------------------------------------
   2.2 Global Overrides — Warm Background + Brand Red
   Override Astra's CSS variables to unify colors
   ---------------------------------------------------------- */

/* Override Astra global colors */
body {
    --ast-global-color-0: #A23534;  /* primary red (was #C34543) */
    --ast-global-color-1: #8A2B2A;  /* hover red (was #A03533) */
    --ast-global-color-4: #F5F2EC;  /* page bg (was #f4f5f6) */
    --ast-global-color-6: #F5F2EC;  /* duplicate bg (was #f4f5f6) */
}

/* Warm background for site */
body,
.ast-separate-container,
.ast-page-builder-template .entry-header {
    background-color: var(--bg-warm);
}

/* ----------------------------------------------------------
   2.4 Button System
   44px minimum height, brand red primary
   ---------------------------------------------------------- */

/* Primary buttons */
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button,
.elementor-button,
.ast-button,
a.ast-button {
    min-height: 44px;
    padding: 10px 24px;
    border-radius: var(--radius-md);
    font-weight: 600;
    font-size: 0.875rem;
    letter-spacing: 0.02em;
    transition: all var(--transition-fast);
    line-height: 1.4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Primary button colors (Astra handles via global vars, this ensures consistency) */
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.elementor-button:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

/* Ghost/outline buttons */
.woocommerce a.button.alt,
.woocommerce button.button.alt {
    background-color: var(--bestor-red);
    color: var(--text-on-dark);
    border: none;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
    background-color: var(--bestor-red-hover);
}

/* ----------------------------------------------------------
   2.5 Card System
   Warm borders, subtle shadow, hover lift
   ---------------------------------------------------------- */

/* WooCommerce product cards */
.ast-woocommerce-container .products .product,
.woocommerce ul.products li.product {
    background: var(--bg-surface);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    overflow: hidden;
    transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.ast-woocommerce-container .products .product:hover,
.woocommerce ul.products li.product:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    border-color: var(--border-strong);
}

/* Product card title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: var(--text-heading);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: var(--space-xs);
}

/* Product card category label */
.ast-woo-product-category {
    color: var(--bestor-red);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 4px;
    display: block;
}

/* Product card price */
.woocommerce ul.products li.product .price {
    color: var(--text-body);
    font-weight: 500;
}

/* Product card description — limit height to prevent overflow */
.ast-woo-shop-product-description {
    max-height: 80px;
    overflow: hidden;
    position: relative;
    font-size: 0.82rem;
    line-height: 1.5;
    color: var(--text-secondary);
    margin-top: var(--space-xs);
}

.ast-woo-shop-product-description::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 30px;
    background: linear-gradient(transparent, var(--bg-surface));
    pointer-events: none;
}

/* Hide inline images in product description on archive */
.ast-woo-shop-product-description img {
    display: none;
}

/* ----------------------------------------------------------
   Product Image Thumbnails
   ---------------------------------------------------------- */
.astra-shop-thumbnail-wrap {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    background: #f9f8f6;
}

.astra-shop-thumbnail-wrap img {
    transition: transform var(--transition-slow);
}

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

/* ----------------------------------------------------------
   Breadcrumbs
   ---------------------------------------------------------- */
.ast-breadcrumbs,
.woocommerce-breadcrumb {
    font-size: 0.82rem;
    color: var(--text-secondary);
    padding: var(--space-sm) 0;
}

.woocommerce-breadcrumb a {
    color: var(--bestor-red);
    text-decoration: none;
}

.woocommerce-breadcrumb a:hover {
    text-decoration: underline;
}

/* ----------------------------------------------------------
   Warm Borders Throughout
   ---------------------------------------------------------- */
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single {
    border-color: var(--border-default);
}

hr,
.wp-block-separator {
    border-color: var(--border-default);
}

/* ----------------------------------------------------------
   Out of Stock Badge
   ---------------------------------------------------------- */
.ast-shop-product-out-of-stock {
    background: var(--color-warning);
    color: var(--text-on-dark);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 4px 10px;
    border-radius: var(--radius-sm);
}

/* ----------------------------------------------------------
   Footer — Dark with Brand Accent
   ---------------------------------------------------------- */
.site-footer,
.ast-footer-overlay {
    border-top: 3px solid var(--bestor-red);
}

/* ----------------------------------------------------------
   Selection Color
   ---------------------------------------------------------- */
::selection {
    background-color: var(--bestor-red-light);
    color: var(--text-heading);
}

/* ----------------------------------------------------------
   Scrollbar (subtle, warm)
   ---------------------------------------------------------- */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-warm);
}

::-webkit-scrollbar-thumb {
    background: var(--border-strong);
    border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--bestor-dark-mid);
}


/* ==========================================================
   PHASE 4 — Product Card Enhancements
   ========================================================== */

/* ----------------------------------------------------------
   4.1 Brand Badge (top-left corner of product image)
   ---------------------------------------------------------- */
.astra-shop-thumbnail-wrap {
    position: relative;
}

.bestor-brand-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    background: var(--bg-surface);
    color: var(--text-heading);
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    z-index: 2;
    box-shadow: var(--shadow-sm);
    line-height: 1;
}

/* ----------------------------------------------------------
   4.2 Stock Status Badge (top-right corner)
   ---------------------------------------------------------- */
.bestor-stock-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    z-index: 2;
    line-height: 1;
}

.bestor-stock-badge::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    margin-right: 4px;
    vertical-align: middle;
}

.bestor-stock--instock {
    background: rgba(45, 125, 70, 0.1);
    color: var(--color-success);
}
.bestor-stock--instock::before {
    background: var(--color-success);
}

.bestor-stock--backorder {
    background: rgba(212, 133, 10, 0.1);
    color: var(--color-warning);
}
.bestor-stock--backorder::before {
    background: var(--color-warning);
}

.bestor-stock--outofstock {
    background: rgba(195, 69, 67, 0.1);
    color: var(--color-error);
}
.bestor-stock--outofstock::before {
    background: var(--color-error);
}

/* ----------------------------------------------------------
   4.3 Quote Link below Add-to-Cart
   ---------------------------------------------------------- */
.bestor-quote-link {
    display: block;
    text-align: center;
    font-size: 0.78rem;
    color: var(--bestor-red);
    text-decoration: none;
    padding: 6px 0;
    font-weight: 500;
    transition: color var(--transition-fast);
}

.bestor-quote-link:hover {
    color: var(--bestor-red-hover);
    text-decoration: underline;
}

/* ----------------------------------------------------------
   4.4 Annasta Filters — Horizontal Restyle for Desktop
   ---------------------------------------------------------- */

/* On desktop: make the filter trigger button look like a horizontal bar */
@media (min-width: 921px) {
    .awf-preset-wrapper.awf-left-popup-sidebar-mode {
        margin-bottom: var(--space-md);
    }

    /* Style the toggle button as a filter bar trigger */
    .awf-preset-wrapper .awf-togglable-preset-toggle-btn {
        display: inline-flex !important;
        align-items: center;
        gap: 8px;
        background: var(--bg-surface);
        border: 1px solid var(--border-default);
        border-radius: var(--radius-md);
        padding: 10px 20px;
        font-size: 0.875rem;
        font-weight: 600;
        color: var(--text-heading);
        cursor: pointer;
        transition: all var(--transition-fast);
        min-height: 44px;
    }

    .awf-preset-wrapper .awf-togglable-preset-toggle-btn:hover {
        border-color: var(--bestor-red);
        color: var(--bestor-red);
        box-shadow: var(--shadow-sm);
    }

    /* Filter popup panel styling */
    .awf-preset-wrapper.awf-left-popup-sidebar-mode .awf-preset-1-wrapper {
        border: 1px solid var(--border-default);
        border-radius: var(--radius-md);
        box-shadow: var(--shadow-lg);
        background: var(--bg-surface);
    }

    /* Filter item styling */
    .awf-filter-container {
        border-bottom: 1px solid var(--border-default);
        padding: var(--space-sm) var(--space-md);
    }

    .awf-filter-container:last-child {
        border-bottom: none;
    }

    .awf-filter-title {
        font-size: 0.82rem;
        font-weight: 600;
        color: var(--text-heading);
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }

    /* Active filter badges */
    .awf-active-badges-container {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        padding: var(--space-xs) 0;
    }

    .awf-active-badges-container .awf-active-badge {
        background: var(--bestor-red-light);
        color: var(--bestor-red);
        border: 1px solid var(--bestor-red);
        border-radius: var(--radius-full);
        padding: 4px 12px;
        font-size: 0.75rem;
        font-weight: 500;
    }

    /* Reset button */
    .awf-bottom-reset-btn-container .awf-reset-btn {
        color: var(--text-secondary);
        font-size: 0.82rem;
        text-decoration: underline;
    }
}

/* Mobile: filter popup fullscreen overlay */
@media (max-width: 921px) {
    .awf-preset-wrapper .awf-togglable-preset-toggle-btn {
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 100%;
        background: var(--bg-surface);
        border: 1px solid var(--border-default);
        border-radius: var(--radius-md);
        padding: 12px 20px;
        font-size: 0.875rem;
        font-weight: 600;
        color: var(--text-heading);
        min-height: 48px;
        margin-bottom: var(--space-sm);
    }

    /* Mobile filter panel */
    .awf-preset-wrapper.awf-left-popup-sidebar-mode .awf-preset-1-wrapper {
        background: var(--bg-surface);
        border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    }
}

/* ----------------------------------------------------------
   4.5 Sort Dropdown Styling
   ---------------------------------------------------------- */
.woocommerce-ordering select {
    background: var(--bg-surface);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    padding: 10px 16px;
    font-size: 0.82rem;
    color: var(--text-heading);
    min-height: 44px;
    cursor: pointer;
}

.woocommerce-ordering select:hover {
    border-color: var(--bestor-red);
}

/* ----------------------------------------------------------
   4.6 Result Count
   ---------------------------------------------------------- */
.woocommerce-result-count {
    font-size: 0.82rem;
    color: var(--text-secondary);
}

/* ----------------------------------------------------------
   4.7 Pagination Styling
   ---------------------------------------------------------- */
.woocommerce nav.woocommerce-pagination ul {
    border: none;
    display: flex;
    gap: 4px;
    justify-content: center;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: none;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span.current {
    min-width: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-md);
    font-size: 0.875rem;
    font-weight: 500;
    border: 1px solid var(--border-default);
    transition: all var(--transition-fast);
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
    background: var(--bestor-red-light);
    border-color: var(--bestor-red);
    color: var(--bestor-red);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--bestor-red);
    border-color: var(--bestor-red);
    color: var(--text-on-dark);
}


/* ==========================================================
   PHASE 5 — Single Product Page Enhancements
   ========================================================== */

/* ----------------------------------------------------------
   5.1 Brand Name (above title)
   ---------------------------------------------------------- */
.bestor-single-brand {
    margin-bottom: var(--space-xs);
}

.bestor-single-brand__name {
    display: inline-block;
    color: var(--bestor-red);
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 4px 12px;
    border: 1px solid var(--bestor-red);
    border-radius: var(--radius-sm);
}

/* ----------------------------------------------------------
   5.2 Key Benefits (below price)
   ---------------------------------------------------------- */
.bestor-benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: var(--space-md) 0;
    padding: var(--space-md) 0;
    border-top: 1px solid var(--border-default);
    border-bottom: 1px solid var(--border-default);
}

.bestor-benefit {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--text-body);
    background: var(--bg-warm);
    padding: 6px 12px;
    border-radius: var(--radius-full);
}

.bestor-benefit__icon {
    font-size: 0.75rem;
}

.bestor-benefit.benefit--instock {
    color: var(--color-success);
    background: rgba(45, 125, 70, 0.08);
}

.bestor-benefit.benefit--backorder {
    color: var(--color-warning);
    background: rgba(212, 133, 10, 0.08);
}

/* ----------------------------------------------------------
   5.3 Quote CTA Button (below add-to-cart)
   ---------------------------------------------------------- */
.bestor-single-quote-cta {
    margin-top: var(--space-md);
    padding-top: var(--space-md);
    border-top: 1px solid var(--border-default);
    text-align: center;
}

.bestor-quote-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 12px 24px;
    background: transparent;
    color: var(--bestor-red);
    border: 2px solid var(--bestor-red);
    border-radius: var(--radius-md);
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    transition: all var(--transition-fast);
}

.bestor-quote-btn:hover {
    background: var(--bestor-red);
    color: var(--text-on-dark);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

.bestor-quote-note {
    display: block;
    font-size: 0.75rem;
    color: var(--text-secondary);
    margin-top: 6px;
}

/* ----------------------------------------------------------
   5.4 Document Tab Content
   ---------------------------------------------------------- */
.bestor-doc-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bestor-doc-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: var(--bg-warm);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    transition: border-color var(--transition-fast);
}

.bestor-doc-item:hover {
    border-color: var(--bestor-red);
}

.bestor-doc-item__icon {
    font-size: 1.5rem;
    flex-shrink: 0;
}

.bestor-doc-item__info {
    flex: 1;
    min-width: 0;
}

.bestor-doc-item__title {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-heading);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bestor-doc-item__title:hover {
    color: var(--bestor-red);
}

.bestor-doc-item__meta {
    display: flex;
    gap: 6px;
    margin-top: 4px;
}

.bestor-doc-tag {
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--text-secondary);
    background: var(--bg-surface);
    padding: 2px 8px;
    border-radius: var(--radius-full);
    border: 1px solid var(--border-default);
}

.bestor-doc-item__download {
    flex-shrink: 0;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--bestor-red);
    text-decoration: none;
    padding: 6px 12px;
    border: 1px solid var(--bestor-red);
    border-radius: var(--radius-sm);
    transition: all var(--transition-fast);
}

.bestor-doc-item__download:hover {
    background: var(--bestor-red);
    color: var(--text-on-dark);
}

/* ----------------------------------------------------------
   5.5 Product Image 3D Tilt
   ---------------------------------------------------------- */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    perspective: 800px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img {
    will-change: transform;
    border-radius: var(--radius-md);
}

/* ----------------------------------------------------------
   5.6 Product Tabs Styling
   ---------------------------------------------------------- */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding: 0;
    margin: 0 0 var(--space-lg) 0;
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--border-default);
    overflow: visible;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: none;
    background: none;
    margin: 0;
    padding: 0;
    border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 12px 20px;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-secondary);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: all var(--transition-fast);
    white-space: nowrap;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--text-heading);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--bestor-red);
    border-bottom-color: var(--bestor-red);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none;
}

/* ----------------------------------------------------------
   5.7 Related Products
   ---------------------------------------------------------- */
.woocommerce div.product .related.products > h2,
.woocommerce div.product .upsells.products > h2 {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--text-heading);
    margin-bottom: var(--space-lg);
    padding-bottom: var(--space-sm);
    border-bottom: 2px solid var(--border-default);
}

/* ----------------------------------------------------------
   5.8 Product Summary Spacing
   ---------------------------------------------------------- */
.woocommerce div.product .product_title {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--text-heading);
    line-height: 1.2;
    margin-bottom: var(--space-sm);
}

.woocommerce div.product p.price {
    font-size: 1.25rem;
    color: var(--text-heading);
    font-weight: 600;
}

/* Stock text on single product */
.woocommerce div.product .stock {
    font-size: 0.82rem;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: var(--radius-sm);
    display: inline-block;
}

.woocommerce div.product .stock.in-stock {
    color: var(--color-success);
    background: rgba(45, 125, 70, 0.08);
}

.woocommerce div.product .stock.out-of-stock {
    color: var(--color-error);
    background: rgba(195, 69, 67, 0.08);
}


/* ==========================================================
   PHASE 6 — Brand Page Template
   ========================================================== */

.bestor-brand-page {
    background: var(--bg-warm);
}

.bestor-brand-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 2rem;
}

/* Section labels (numbered) */
.bestor-section-label {
    display: block;
    color: var(--bestor-red);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: var(--space-xs);
}

.bestor-section-title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--text-heading);
    margin-bottom: var(--space-xs);
}

.bestor-section-subtitle {
    font-size: 0.95rem;
    color: var(--text-secondary);
    margin-bottom: var(--space-lg);
}

/* Hero */
.bestor-brand-hero {
    position: relative;
    min-height: 400px;
    background-color: var(--bg-dark);
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
}

.bestor-brand-hero__overlay {
    width: 100%;
    background: linear-gradient(transparent 0%, rgba(36, 48, 56, 0.85) 100%);
    padding: var(--space-2xl) 2rem var(--space-xl);
}

.bestor-brand-hero__content {
    max-width: 1440px;
    margin: 0 auto;
}

.bestor-brand-hero__label {
    display: inline-block;
    color: var(--bestor-red);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    background: rgba(162, 53, 52, 0.15);
    padding: 4px 12px;
    border-radius: var(--radius-full);
    margin-bottom: var(--space-sm);
}

.bestor-brand-hero__title {
    font-size: 3rem;
    font-weight: 700;
    color: var(--text-on-dark);
    line-height: 1.1;
    margin-bottom: var(--space-sm);
}

.bestor-brand-hero__desc {
    font-size: 1.1rem;
    color: var(--text-on-dark-muted);
    max-width: 600px;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .bestor-brand-hero {
        min-height: 280px;
    }
    .bestor-brand-hero__title {
        font-size: 2rem;
    }
}

/* Brand Story */
.bestor-brand-story {
    padding: var(--space-xl) 0;
    background: var(--bg-surface);
}

.bestor-brand-story .bestor-brand-inner {
    max-width: 800px;
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--text-body);
}

/* Products Grid */
.bestor-brand-products {
    padding: var(--space-xl) 0;
}

.bestor-brand-products__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-md);
}

@media (max-width: 1024px) {
    .bestor-brand-products__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
    .bestor-brand-products__grid { grid-template-columns: repeat(2, 1fr); }
}

.bestor-brand-product-card {
    background: var(--bg-surface);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    overflow: hidden;
    transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.bestor-brand-product-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.bestor-brand-product-card__link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.bestor-brand-product-card__image {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    background: #f9f8f6;
}

.bestor-brand-product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-slow);
}

.bestor-brand-product-card:hover .bestor-brand-product-card__image img {
    transform: scale(1.03);
}

.bestor-brand-product-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: 3rem;
    background: var(--bg-warm);
}

.bestor-brand-product-card__info {
    padding: var(--space-sm);
}

.bestor-brand-product-card__title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-heading);
    line-height: 1.3;
    margin-bottom: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bestor-brand-product-card__cat {
    font-size: 0.72rem;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.bestor-brand-products__cta {
    text-align: center;
    margin-top: var(--space-lg);
}

/* Documents Section */
.bestor-brand-documents {
    padding: var(--space-xl) 0;
    background: var(--bg-surface);
}

/* Quote CTA Section */
.bestor-brand-cta {
    padding: var(--space-xl) 0;
    background: var(--bg-dark);
    text-align: center;
}

.bestor-brand-cta h2 {
    font-size: 2rem;
    color: var(--text-on-dark);
    margin-bottom: var(--space-sm);
}

.bestor-brand-cta p {
    color: var(--text-on-dark-muted);
    font-size: 1.05rem;
    margin-bottom: var(--space-lg);
}

.bestor-brand-cta .bestor-quote-btn {
    border-color: var(--text-on-dark);
    color: var(--text-on-dark);
}

.bestor-brand-cta .bestor-quote-btn:hover {
    background: var(--bestor-red);
    border-color: var(--bestor-red);
}

.bestor-brand-cta__contact {
    margin-top: var(--space-md);
    display: flex;
    gap: var(--space-lg);
    justify-content: center;
    font-size: 0.95rem;
}

.bestor-brand-cta__contact a {
    color: var(--text-on-dark);
    text-decoration: none;
}

.bestor-brand-cta__contact a:hover {
    text-decoration: underline;
}


/* ==========================================================
   PHASE 7 — Navigation & Header
   ========================================================== */

/* ----------------------------------------------------------
   7.1 Above-Header Info Bar
   ---------------------------------------------------------- */
.bestor-topbar {
    background: var(--bg-dark);
    color: var(--text-on-dark-muted);
    font-size: 0.78rem;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.bestor-topbar--hidden {
    transform: translateY(-100%);
    opacity: 0;
    height: 0;
    overflow: hidden;
    transition: transform 0.3s ease, opacity 0.3s ease, height 0.3s ease;
}

.bestor-topbar__inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 6px 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.bestor-topbar__left {
    display: flex;
    gap: 1.5rem;
    align-items: center;
}

.bestor-topbar__item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--text-on-dark-muted);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.bestor-topbar__item:hover {
    color: var(--text-on-dark);
}

.bestor-topbar__icon {
    font-size: 0.72rem;
}

.bestor-topbar__cta {
    display: inline-flex;
    align-items: center;
    padding: 4px 16px;
    background: var(--bestor-red);
    color: var(--text-on-dark) !important;
    text-decoration: none;
    border-radius: var(--radius-full);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    transition: background var(--transition-fast);
}

.bestor-topbar__cta:hover {
    background: var(--bestor-red-hover);
}

@media (max-width: 768px) {
    .bestor-topbar__hide-mobile {
        display: none;
    }
    .bestor-topbar__inner {
        padding: 6px 1rem;
    }
}

/* ----------------------------------------------------------
   7.2 Main Header Improvements
   ---------------------------------------------------------- */

/* Ensure header has enough z-index for sticky */
.ast-primary-header-bar {
    transition: box-shadow 0.3s ease;
    z-index: 999;
}

.bestor-header-sticky {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    box-shadow: var(--shadow-md);
    animation: slideDown 0.3s ease forwards;
}

@keyframes slideDown {
    from { transform: translateY(-100%); }
    to { transform: translateY(0); }
}

/* Menu link styling */
.ast-builder-menu-1 .menu-link {
    font-weight: 500;
    font-size: 0.875rem;
    transition: color var(--transition-fast);
}

.ast-builder-menu-1 .menu-link:hover,
.ast-builder-menu-1 .current-menu-item > .menu-link {
    color: var(--bestor-red) !important;
}

/* Submenu styling */
.ast-builder-menu-1 .sub-menu {
    background: var(--bg-surface);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
    padding: var(--space-xs) 0;
}

.ast-builder-menu-1 .sub-menu .menu-link {
    font-size: 0.82rem;
    padding: 8px 20px;
}

.ast-builder-menu-1 .sub-menu .menu-link:hover {
    background: var(--bg-warm);
}

/* Brands dropdown special styling */
.bestor-brands-menu .sub-menu {
    min-width: 200px;
}

/* ----------------------------------------------------------
   7.3 WooCommerce Cart Icon in Header
   ---------------------------------------------------------- */
.ast-site-header-cart .ast-addon-cart-wrap {
    transition: color var(--transition-fast);
}

.ast-site-header-cart .ast-addon-cart-wrap:hover {
    color: var(--bestor-red);
}

/* Cart count badge */
.ast-site-header-cart .count {
    background: var(--bestor-red) !important;
    color: var(--text-on-dark) !important;
    font-size: 0.65rem;
    min-width: 18px;
    height: 18px;
    line-height: 18px;
    border-radius: var(--radius-full);
}

/* ----------------------------------------------------------
   7.4 Mobile Navigation
   ---------------------------------------------------------- */
@media (max-width: 921px) {
    /* Mobile menu trigger */
    .ast-mobile-menu-trigger-minimal {
        min-height: 44px;
        min-width: 44px;
    }

    /* Mobile menu panel */
    .ast-mobile-popup-drawer .ast-mobile-popup-inner {
        background: var(--bg-surface);
    }

    /* Mobile menu items */
    .ast-mobile-popup-drawer .menu-item .menu-link {
        padding: 12px 20px;
        font-size: 1rem;
        font-weight: 500;
        border-bottom: 1px solid var(--border-default);
        min-height: 48px;
        display: flex;
        align-items: center;
    }

    .ast-mobile-popup-drawer .menu-item .menu-link:hover,
    .ast-mobile-popup-drawer .current-menu-item > .menu-link {
        color: var(--bestor-red);
        background: var(--bg-warm);
    }

    /* Mobile submenu toggle */
    .ast-mobile-popup-drawer .ast-menu-toggle {
        min-width: 48px;
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Mobile submenu items */
    .ast-mobile-popup-drawer .sub-menu .menu-link {
        padding-left: 40px;
        font-size: 0.9rem;
        color: var(--text-body);
    }

    .ast-mobile-popup-drawer .sub-menu .sub-menu .menu-link {
        padding-left: 60px;
        font-size: 0.85rem;
    }

    /* Close button */
    .menu-toggle-close {
        min-height: 48px;
        min-width: 48px;
    }
}

/* ----------------------------------------------------------
   7.5 Search Overlay
   ---------------------------------------------------------- */
.ast-search-menu-icon .search-field {
    border: 2px solid var(--border-default);
    border-radius: var(--radius-md);
    min-height: 44px;
    padding: 8px 16px;
    font-size: 0.95rem;
    transition: border-color var(--transition-fast);
}

.ast-search-menu-icon .search-field:focus {
    border-color: var(--bestor-red);
    outline: none;
    box-shadow: 0 0 0 3px var(--bestor-red-light);
}


/* ==========================================================
   PHASE 8 — Material Finder Wizard
   ========================================================== */
.bestor-wizard {
    min-height: 80vh;
    background: var(--bg-warm);
    padding: var(--space-xl) 0;
}

.bestor-wizard__inner {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 2rem;
}

/* Progress bar */
.bestor-wizard__progress {
    height: 4px;
    background: var(--border-default);
    border-radius: var(--radius-full);
    margin-bottom: var(--space-xl);
    overflow: hidden;
}

.bestor-wizard__progress-bar {
    height: 100%;
    background: var(--bestor-red);
    border-radius: var(--radius-full);
    width: 25%;
    transition: width 0.4s ease;
}

/* Step */
.bestor-wizard__step-num {
    display: inline-block;
    color: var(--bestor-red);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: var(--space-sm);
}

.bestor-wizard__title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--text-heading);
    margin-bottom: var(--space-xs);
}

.bestor-wizard__subtitle {
    font-size: 1rem;
    color: var(--text-secondary);
    margin-bottom: var(--space-lg);
}

/* Options grid (Step 1: 3x2) */
.bestor-wizard__options--grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-md);
}

@media (max-width: 768px) {
    .bestor-wizard__options--grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Options list */
.bestor-wizard__options--list {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

/* Option button */
.bestor-wizard__option {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: var(--space-md);
    background: var(--bg-surface);
    border: 2px solid var(--border-default);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all var(--transition-fast);
    text-align: center;
    font-family: inherit;
}

.bestor-wizard__options--list .bestor-wizard__option {
    flex-direction: row;
    text-align: left;
    padding: var(--space-sm) var(--space-md);
}

.bestor-wizard__option:hover {
    border-color: var(--bestor-red);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.bestor-wizard__option--selected {
    border-color: var(--bestor-red);
    background: var(--bestor-red-light);
}

.bestor-wizard__option-icon {
    font-size: 2rem;
}

.bestor-wizard__options--list .bestor-wizard__option-icon {
    font-size: 1.5rem;
    width: 48px;
    flex-shrink: 0;
    text-align: center;
}

.bestor-wizard__option-label {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-heading);
}

.bestor-wizard__option-desc {
    font-size: 0.78rem;
    color: var(--text-secondary);
    line-height: 1.4;
}

/* Back button */
.bestor-wizard__back {
    display: inline-block;
    margin-top: var(--space-lg);
    padding: 8px 0;
    background: none;
    border: none;
    color: var(--text-secondary);
    font-size: 0.875rem;
    cursor: pointer;
    font-family: inherit;
    transition: color var(--transition-fast);
}

.bestor-wizard__back:hover {
    color: var(--bestor-red);
}

/* Results */
.bestor-wizard__loading {
    text-align: center;
    padding: var(--space-xl);
    color: var(--text-secondary);
}

.bestor-wizard__empty {
    text-align: center;
    padding: var(--space-xl);
    color: var(--text-secondary);
}

.bestor-wizard__empty a {
    color: var(--bestor-red);
}

.bestor-wizard__products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-md);
}

@media (max-width: 768px) {
    .bestor-wizard__products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.bestor-wizard__product-card {
    background: var(--bg-surface);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    overflow: hidden;
    text-decoration: none;
    transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.bestor-wizard__product-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.bestor-wizard__product-img {
    aspect-ratio: 1;
    overflow: hidden;
    background: #f9f8f6;
}

.bestor-wizard__product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bestor-wizard__product-info {
    padding: var(--space-sm);
}

.bestor-wizard__product-info h3 {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-heading);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bestor-wizard__product-price {
    font-size: 0.75rem;
    color: var(--text-secondary);
    margin-top: 4px;
    display: block;
}

.bestor-wizard__result-actions {
    display: flex;
    gap: var(--space-md);
    align-items: center;
    justify-content: center;
    margin-top: var(--space-xl);
    flex-wrap: wrap;
}

.bestor-wizard__restart {
    background: none;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    padding: 12px 24px;
    color: var(--text-body);
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    font-family: inherit;
    min-height: 44px;
    transition: all var(--transition-fast);
}

.bestor-wizard__restart:hover {
    border-color: var(--text-heading);
    color: var(--text-heading);
}


/* ==========================================================
   PHASE 9 — Quote Request Page
   ========================================================== */
.bestor-quote-page {
    background: var(--bg-warm);
    padding: var(--space-xl) 0 var(--space-2xl);
}

.bestor-quote-page__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

.bestor-quote-page__header {
    text-align: center;
    margin-bottom: var(--space-xl);
}

.bestor-quote-page__title {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--text-heading);
    margin-bottom: var(--space-xs);
}

.bestor-quote-page__subtitle {
    font-size: 1.1rem;
    color: var(--text-secondary);
}

/* Layout: form + sidebar */
.bestor-quote-page__layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: var(--space-xl);
    align-items: start;
}

@media (max-width: 921px) {
    .bestor-quote-page__layout {
        grid-template-columns: 1fr;
    }
}

/* Form */
.bestor-quote-form {
    background: var(--bg-surface);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    padding: var(--space-lg);
}

.bestor-form-row {
    margin-bottom: var(--space-md);
}

.bestor-form-row--2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-md);
}

@media (max-width: 544px) {
    .bestor-form-row--2col {
        grid-template-columns: 1fr;
    }
}

.bestor-form-field label {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-heading);
    margin-bottom: 6px;
}

.bestor-form-field input,
.bestor-form-field select,
.bestor-form-field textarea {
    width: 100%;
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    font-size: 0.95rem;
    font-family: inherit;
    color: var(--text-heading);
    background: var(--bg-surface);
    transition: border-color var(--transition-fast);
}

.bestor-form-field input:focus,
.bestor-form-field select:focus,
.bestor-form-field textarea:focus {
    border-color: var(--bestor-red);
    outline: none;
    box-shadow: 0 0 0 3px var(--bestor-red-light);
}

.bestor-form-field textarea {
    resize: vertical;
    min-height: 120px;
}

.bestor-form-field--checkbox label {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    font-weight: 400;
    font-size: 0.82rem;
    color: var(--text-body);
    cursor: pointer;
}

.bestor-form-field--checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-height: auto;
    flex-shrink: 0;
    margin-top: 2px;
    accent-color: var(--bestor-red);
}

.bestor-form-submit {
    width: 100%;
    min-height: 48px;
    padding: 12px 24px;
    background: var(--bestor-red);
    color: var(--text-on-dark);
    border: none;
    border-radius: var(--radius-md);
    font-size: 1rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: all var(--transition-fast);
}

.bestor-form-submit:hover {
    background: var(--bestor-red-hover);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

.bestor-form-submit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: none;
}

.bestor-form-error {
    margin-top: var(--space-sm);
    padding: 12px 16px;
    background: rgba(195, 69, 67, 0.08);
    color: var(--color-error);
    border-radius: var(--radius-md);
    font-size: 0.875rem;
    font-weight: 500;
}

/* Success state */
.bestor-quote-success {
    text-align: center;
    padding: var(--space-2xl) var(--space-lg);
    background: var(--bg-surface);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
}

.bestor-quote-success__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(45, 125, 70, 0.1);
    color: var(--color-success);
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: var(--space-md);
}

.bestor-quote-success h2 {
    font-size: 1.5rem;
    color: var(--text-heading);
    margin-bottom: var(--space-sm);
}

.bestor-quote-success p {
    color: var(--text-body);
    font-size: 1rem;
}

.bestor-quote-success a {
    color: var(--bestor-red);
    font-weight: 600;
}

/* Sidebar */
.bestor-quote-sidebar-card {
    background: var(--bg-surface);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    padding: var(--space-md);
    margin-bottom: var(--space-md);
}

.bestor-quote-sidebar-card h3 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-heading);
    margin-bottom: var(--space-md);
    padding-bottom: var(--space-xs);
    border-bottom: 2px solid var(--bestor-red);
}

.bestor-quote-sidebar-item {
    display: flex;
    gap: 12px;
    padding: var(--space-xs) 0;
    font-size: 0.875rem;
    line-height: 1.5;
}

.bestor-quote-sidebar-item span:first-child {
    flex-shrink: 0;
    font-size: 1.1rem;
}

.bestor-quote-sidebar-item a {
    color: var(--bestor-red);
    text-decoration: none;
}

.bestor-quote-sidebar-item a:hover {
    text-decoration: underline;
}

.bestor-quote-sidebar-benefits {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bestor-quote-sidebar-benefits li {
    padding: 6px 0;
    font-size: 0.875rem;
    color: var(--text-body);
    display: flex;
    align-items: center;
    gap: 8px;
}

.bestor-quote-sidebar-benefits li::before {
    content: '✓';
    color: var(--color-success);
    font-weight: 700;
    flex-shrink: 0;
}


/* ==========================================================
   PHASE 10 — Document Library
   ========================================================== */

/* Archive */
.bestor-doc-archive {
    background: var(--bg-warm);
    padding: var(--space-xl) 0 var(--space-2xl);
}

.bestor-doc-archive__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

.bestor-doc-archive__header {
    margin-bottom: var(--space-lg);
}

.bestor-doc-archive__header h1 {
    font-size: 2rem;
    color: var(--text-heading);
    margin-bottom: var(--space-xs);
}

.bestor-doc-archive__header p {
    color: var(--text-secondary);
}

/* Search + Filters */
.bestor-doc-filters {
    margin-bottom: var(--space-lg);
}

.bestor-doc-filters__search {
    display: flex;
    gap: 0;
    margin-bottom: var(--space-md);
}

.bestor-doc-search-input {
    flex: 1;
    min-height: 48px;
    padding: 10px 16px;
    border: 1px solid var(--border-default);
    border-right: none;
    border-radius: var(--radius-md) 0 0 var(--radius-md);
    font-size: 0.95rem;
    font-family: inherit;
    background: var(--bg-surface);
}

.bestor-doc-search-input:focus {
    border-color: var(--bestor-red);
    outline: none;
    box-shadow: 0 0 0 3px var(--bestor-red-light);
}

.bestor-doc-search-btn {
    min-height: 48px;
    padding: 10px 24px;
    background: var(--bestor-red);
    color: var(--text-on-dark);
    border: 1px solid var(--bestor-red);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    font-size: 0.875rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background var(--transition-fast);
}

.bestor-doc-search-btn:hover {
    background: var(--bestor-red-hover);
}

.bestor-doc-filters__bar {
    display: flex;
    gap: var(--space-sm);
    flex-wrap: wrap;
    align-items: center;
}

.bestor-doc-filters__bar select {
    min-height: 44px;
    padding: 8px 14px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    font-size: 0.82rem;
    font-family: inherit;
    background: var(--bg-surface);
    cursor: pointer;
    color: var(--text-heading);
}

.bestor-doc-filters__bar select:hover {
    border-color: var(--bestor-red);
}

.bestor-doc-filters__clear {
    font-size: 0.82rem;
    color: var(--text-secondary);
    text-decoration: underline;
}

.bestor-doc-filters__clear:hover {
    color: var(--bestor-red);
}

/* Active filter tags */
.bestor-doc-active-filters {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: var(--space-md);
}

.bestor-doc-active-tag {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    background: var(--bestor-red-light);
    color: var(--bestor-red);
    border: 1px solid var(--bestor-red);
    border-radius: var(--radius-full);
    font-size: 0.75rem;
    font-weight: 500;
}

/* Archive-specific list styling */
.bestor-doc-list--archive .bestor-doc-item {
    background: var(--bg-surface);
}

/* Tag variant for brand */
.bestor-doc-tag--brand {
    background: var(--bg-dark) !important;
    color: var(--text-on-dark) !important;
    border-color: var(--bg-dark) !important;
}

/* Pagination */
.bestor-doc-pagination {
    margin-top: var(--space-xl);
    text-align: center;
}

.bestor-doc-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 8px 14px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    color: var(--text-body);
    margin: 0 2px;
    transition: all var(--transition-fast);
}

.bestor-doc-pagination .page-numbers:hover {
    background: var(--bestor-red-light);
    border-color: var(--bestor-red);
    color: var(--bestor-red);
}

.bestor-doc-pagination .page-numbers.current {
    background: var(--bestor-red);
    border-color: var(--bestor-red);
    color: var(--text-on-dark);
}

/* Empty state */
.bestor-doc-empty {
    text-align: center;
    padding: var(--space-2xl);
    color: var(--text-secondary);
}

.bestor-doc-empty a {
    color: var(--bestor-red);
}

/* ---- Single Document ---- */
.bestor-doc-single {
    background: var(--bg-warm);
    padding: var(--space-xl) 0 var(--space-2xl);
}

.bestor-doc-single__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

.bestor-doc-breadcrumbs {
    font-size: 0.82rem;
    color: var(--text-secondary);
    margin-bottom: var(--space-lg);
}

.bestor-doc-breadcrumbs a {
    color: var(--bestor-red);
    text-decoration: none;
}

.bestor-doc-breadcrumbs a:hover {
    text-decoration: underline;
}

.bestor-doc-single__layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: var(--space-xl);
    align-items: start;
}

@media (max-width: 921px) {
    .bestor-doc-single__layout {
        grid-template-columns: 1fr;
    }
}

.bestor-doc-single__title {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--text-heading);
    margin-bottom: var(--space-sm);
    line-height: 1.3;
}

.bestor-doc-single__tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: var(--space-md);
}

.bestor-doc-single__download-bar {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    margin-bottom: var(--space-lg);
    padding: var(--space-md);
    background: var(--bg-surface);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
}

.bestor-doc-single__filesize {
    font-size: 0.82rem;
    color: var(--text-secondary);
}

.bestor-doc-single__viewer {
    margin-bottom: var(--space-lg);
}

.bestor-doc-single__content {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--text-body);
}

/* Sidebar links */
.bestor-doc-sidebar-brand {
    display: block;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--bestor-red);
    text-decoration: none;
    padding: 8px 0;
}

.bestor-doc-sidebar-brand:hover {
    text-decoration: underline;
}

.bestor-doc-sidebar-link {
    display: block;
    font-size: 0.82rem;
    color: var(--text-heading);
    text-decoration: none;
    padding: 6px 0;
    border-bottom: 1px solid var(--border-default);
    transition: color var(--transition-fast);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bestor-doc-sidebar-link:last-child {
    border-bottom: none;
}

.bestor-doc-sidebar-link:hover {
    color: var(--bestor-red);
}

.bestor-doc-sidebar-empty {
    font-size: 0.82rem;
    color: var(--text-secondary);
}


/* ==========================================================
   PHASE 11 — Mobile Optimization (390px / 412px / 768px)
   ========================================================== */

/* ----------------------------------------------------------
   11.1 Global Mobile Reset
   ---------------------------------------------------------- */
@media (max-width: 768px) {
    /* Tighter padding on mobile */
    .bestor-brand-inner,
    .bestor-doc-archive__inner,
    .bestor-doc-single__inner,
    .bestor-quote-page__inner,
    .bestor-wizard__inner {
        padding: 0 1rem;
    }

    /* Section spacing */
    .bestor-brand-products,
    .bestor-brand-documents,
    .bestor-brand-story {
        padding: var(--space-lg) 0;
    }

    /* Smaller headings */
    .bestor-section-title,
    .bestor-brand-hero__title,
    .bestor-quote-page__title {
        font-size: 1.5rem;
    }

    h1, .entry-title {
        font-size: 1.5rem;
    }

    h2 {
        font-size: 1.25rem;
    }
}

/* ----------------------------------------------------------
   11.2 Mobile Topbar
   ---------------------------------------------------------- */
@media (max-width: 544px) {
    .bestor-topbar__inner {
        padding: 4px 0.75rem;
        font-size: 0.72rem;
    }

    .bestor-topbar__left {
        gap: 0.75rem;
    }

    .bestor-topbar__cta {
        font-size: 0.65rem;
        padding: 3px 10px;
    }
}

/* ----------------------------------------------------------
   11.3 Mobile Product Cards
   ---------------------------------------------------------- */
@media (max-width: 544px) {
    /* Ensure 2 columns on small phones */
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }

    /* Compact card on mobile */
    .woocommerce ul.products li.product {
        border-radius: var(--radius-sm);
    }

    .astra-shop-summary-wrap {
        padding: 8px !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 0.78rem;
        line-height: 1.25;
    }

    .ast-woo-product-category {
        font-size: 0.62rem;
    }

    /* Smaller badges on mobile */
    .bestor-brand-badge {
        font-size: 0.55rem;
        padding: 2px 5px;
        top: 4px;
        left: 4px;
    }

    .bestor-stock-badge {
        font-size: 0.55rem;
        padding: 2px 5px;
        top: 4px;
        right: 4px;
    }

    /* Hide description on mobile cards */
    .ast-woo-shop-product-description {
        display: none;
    }

    /* Quote link smaller */
    .bestor-quote-link {
        font-size: 0.7rem;
        padding: 4px 0;
    }

    /* Price smaller */
    .woocommerce ul.products li.product .price {
        font-size: 0.78rem;
    }
}

/* ----------------------------------------------------------
   11.4 Mobile Product Page — Sticky Bottom CTA
   ---------------------------------------------------------- */
@media (max-width: 921px) {
    .bestor-mobile-cta {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 998;
        background: var(--bg-surface);
        border-top: 1px solid var(--border-default);
        box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1);
        padding: 10px 1rem;
        display: flex;
        gap: 8px;
    }

    .bestor-mobile-cta .bestor-mobile-cta__cart {
        flex: 1;
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--bestor-red);
        color: var(--text-on-dark);
        border: none;
        border-radius: var(--radius-md);
        font-size: 0.875rem;
        font-weight: 600;
        text-decoration: none;
    }

    .bestor-mobile-cta .bestor-mobile-cta__quote {
        flex: 1;
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: transparent;
        color: var(--bestor-red);
        border: 2px solid var(--bestor-red);
        border-radius: var(--radius-md);
        font-size: 0.875rem;
        font-weight: 600;
        text-decoration: none;
    }

    /* Add body padding to prevent content behind sticky CTA */
    body.single-product {
        padding-bottom: 70px;
    }
}

@media (min-width: 921px) {
    .bestor-mobile-cta {
        display: none !important;
    }
}

/* ----------------------------------------------------------
   11.5 Mobile Brand Page
   ---------------------------------------------------------- */
@media (max-width: 768px) {
    .bestor-brand-hero {
        min-height: 220px;
    }

    .bestor-brand-hero__title {
        font-size: 1.75rem;
    }

    .bestor-brand-hero__desc {
        font-size: 0.95rem;
    }

    .bestor-brand-products__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .bestor-brand-product-card__info {
        padding: 8px;
    }

    .bestor-brand-product-card__title {
        font-size: 0.78rem;
    }

    .bestor-brand-cta h2 {
        font-size: 1.5rem;
    }

    .bestor-brand-cta__contact {
        flex-direction: column;
        gap: var(--space-sm);
    }
}

/* ----------------------------------------------------------
   11.6 Mobile Document Library
   ---------------------------------------------------------- */
@media (max-width: 768px) {
    .bestor-doc-filters__bar {
        flex-direction: column;
    }

    .bestor-doc-filters__bar select {
        width: 100%;
    }

    .bestor-doc-item {
        flex-wrap: wrap;
        gap: 8px;
        padding: 10px 12px;
    }

    .bestor-doc-item__info {
        min-width: 0;
        flex-basis: calc(100% - 40px);
    }

    .bestor-doc-item__download {
        width: 100%;
        text-align: center;
        margin-top: 4px;
    }

    .bestor-doc-single__layout {
        grid-template-columns: 1fr;
    }

    .bestor-doc-single__title {
        font-size: 1.25rem;
    }

    .bestor-doc-single__viewer iframe {
        height: 400px;
    }
}

/* ----------------------------------------------------------
   11.7 Mobile Quote Request Page
   ---------------------------------------------------------- */
@media (max-width: 768px) {
    .bestor-quote-page__layout {
        grid-template-columns: 1fr;
    }

    .bestor-quote-form {
        padding: var(--space-md);
    }

    .bestor-form-row--2col {
        grid-template-columns: 1fr;
    }

    .bestor-quote-page__title {
        font-size: 1.75rem;
    }
}

/* ----------------------------------------------------------
   11.8 Mobile Material Wizard
   ---------------------------------------------------------- */
@media (max-width: 544px) {
    .bestor-wizard__title {
        font-size: 1.5rem;
    }

    .bestor-wizard__options--grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .bestor-wizard__option {
        padding: var(--space-sm);
    }

    .bestor-wizard__option-icon {
        font-size: 1.5rem;
    }

    .bestor-wizard__option-label {
        font-size: 0.875rem;
    }

    .bestor-wizard__option-desc {
        font-size: 0.7rem;
    }

    .bestor-wizard__products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .bestor-wizard__result-actions {
        flex-direction: column;
    }

    .bestor-wizard__result-actions .bestor-quote-btn {
        width: 100%;
    }
}

/* ----------------------------------------------------------
   11.9 Mobile Trust Numbers (Homepage)
   ---------------------------------------------------------- */
@media (max-width: 768px) {
    /* Trust numbers should be 2x2 grid on mobile */
    .bestor-brand-page .e-con-inner,
    [style*="background-color: #243038"] .e-con-inner {
        flex-wrap: wrap;
    }
}

/* ----------------------------------------------------------
   11.10 Mobile Footer
   ---------------------------------------------------------- */
@media (max-width: 544px) {
    .bestor-brand-cta .bestor-quote-btn {
        width: 100%;
    }
}

/* ----------------------------------------------------------
   11.11 Ensure all interactive elements meet 44px touch target
   ---------------------------------------------------------- */
@media (max-width: 921px) {
    /* Minimum touch targets */
    button, 
    a.button, 
    .menu-link, 
    input[type="submit"], 
    .bestor-doc-item__download,
    .bestor-doc-search-btn,
    .bestor-form-submit,
    .bestor-quote-btn,
    .bestor-wizard__option,
    .bestor-wizard__back,
    .bestor-wizard__restart,
    select {
        min-height: 44px;
    }

    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    textarea,
    select {
        font-size: 16px; /* Prevents iOS zoom on focus */
    }
}


/* ==========================================================
   PHASE 12 — Performance CSS
   ========================================================== */

img[loading="lazy"] {
    content-visibility: auto;
}

.woocommerce ul.products li.product img,
.bestor-brand-product-card__image img {
    aspect-ratio: 1;
    object-fit: cover;
    width: 100%;
    height: auto;
}


/* ==========================================================
   PHASE 14 — Quote Cart Styling
   ========================================================== */

/* Cart page header override */
.woocommerce-cart .entry-title,
.woocommerce-cart .page-title {
    font-size: 2rem;
    font-weight: 700;
}

/* Hide prices (replaced with "Hind päringu alusel") */
.bestor-price-hidden {
    font-size: 0.78rem;
    color: var(--text-secondary);
    font-style: italic;
}

/* Cart table styling */
.woocommerce-cart table.cart {
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.woocommerce-cart table.cart th {
    background: var(--bg-warm);
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary);
}

.woocommerce-cart table.cart td {
    border-top: 1px solid var(--border-default);
    vertical-align: middle;
}

.woocommerce-cart table.cart .product-name a {
    color: var(--text-heading);
    font-weight: 600;
    text-decoration: none;
}

.woocommerce-cart table.cart .product-name a:hover {
    color: var(--bestor-red);
}

/* Quantity input in cart */
.woocommerce-cart .quantity .qty {
    min-height: 44px;
    min-width: 60px;
    text-align: center;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
}

/* Remove item button */
.woocommerce-cart table.cart .remove {
    color: var(--color-error) !important;
    font-size: 1.5rem;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Custom cart actions (replaces totals) */
.bestor-cart-actions {
    text-align: center;
    padding: var(--space-xl) 0;
}

.bestor-cart-send-btn {
    display: inline-flex;
    min-width: 300px;
    font-size: 1.1rem;
}

.bestor-cart-actions__note {
    margin-top: var(--space-xs);
    font-size: 0.82rem;
    color: var(--text-secondary);
}

.bestor-cart-continue {
    display: inline-block;
    margin-top: var(--space-md);
    font-size: 0.875rem;
    color: var(--text-secondary);
    text-decoration: none;
}

.bestor-cart-continue:hover {
    color: var(--bestor-red);
}

/* Cart summary banner on quote form page */
.bestor-cart-summary-banner {
    background: var(--bg-dark);
    color: var(--text-on-dark);
    padding: var(--space-md) 0;
}

.bestor-cart-summary-banner__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

.bestor-cart-summary-banner h3 {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: var(--space-sm);
}

.bestor-cart-summary-list {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--space-sm) 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.bestor-cart-summary-list li {
    background: var(--bg-dark-surface);
    padding: 6px 14px;
    border-radius: var(--radius-full);
    font-size: 0.82rem;
}

.bestor-cart-variation {
    color: var(--text-on-dark-muted);
    font-size: 0.75rem;
}

.bestor-cart-summary-note {
    font-size: 0.75rem;
    color: var(--text-on-dark-muted);
}

/* Empty cart */
.woocommerce-cart .cart-empty {
    text-align: center;
    padding: var(--space-2xl);
    font-size: 1.1rem;
    color: var(--text-secondary);
}

.woocommerce-cart .return-to-shop a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 32px;
    background: var(--bestor-red);
    color: var(--text-on-dark);
    border-radius: var(--radius-md);
    font-weight: 600;
    text-decoration: none;
}

/* Mobile cart */
@media (max-width: 768px) {
    .woocommerce-cart table.cart .product-thumbnail {
        width: 60px;
    }

    .woocommerce-cart table.cart .product-thumbnail img {
        width: 60px;
    }

    .bestor-cart-send-btn {
        width: 100%;
        min-width: auto;
    }

    .bestor-cart-summary-list {
        flex-direction: column;
    }
}


/* ==========================================================
   PHASE 15 — Inventory & Stock
   ========================================================== */

/* Delivery tooltip on stock badges */
.bestor-stock-badge[title] {
    cursor: help;
}

/* Region Selector (fixed bottom-left) */
.bestor-region-selector {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 997;
}

body.single-product .bestor-region-selector {
    bottom: 80px; /* Above mobile sticky CTA */
}

.bestor-region-selector__trigger {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: var(--bg-surface);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-full);
    box-shadow: var(--shadow-md);
    font-size: 0.78rem;
    font-weight: 500;
    font-family: inherit;
    color: var(--text-heading);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.bestor-region-selector__trigger:hover {
    border-color: var(--bestor-red);
    box-shadow: var(--shadow-lg);
}

.bestor-region-selector__dropdown {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 0;
    background: var(--bg-surface);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
    min-width: 220px;
    overflow: hidden;
}

.bestor-region-selector__header {
    padding: 12px 16px;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid var(--border-default);
}

.bestor-region-selector__option {
    display: block;
    width: 100%;
    text-align: left;
    padding: 10px 16px;
    background: none;
    border: none;
    font-size: 0.875rem;
    font-family: inherit;
    color: var(--text-heading);
    cursor: pointer;
    transition: background var(--transition-fast);
}

.bestor-region-selector__option:hover {
    background: var(--bg-warm);
}

.bestor-region-selector__option--active {
    color: var(--bestor-red);
    font-weight: 600;
    background: var(--bestor-red-light);
}

/* Stock filter button on catalog */
.bestor-stock-filter {
    margin-bottom: var(--space-md);
}

.bestor-stock-filter__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: var(--bg-surface);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-full);
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--text-body);
    text-decoration: none;
    transition: all var(--transition-fast);
    min-height: 44px;
}

.bestor-stock-filter__btn:hover {
    border-color: var(--color-success);
    color: var(--color-success);
}

.bestor-stock-filter__btn--active {
    background: rgba(45, 125, 70, 0.08);
    border-color: var(--color-success);
    color: var(--color-success);
    font-weight: 600;
}

/* Delivery info on single product */
.bestor-delivery-info {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: var(--bg-warm);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    margin: var(--space-sm) 0;
}

.bestor-delivery-info__icon {
    font-size: 1.25rem;
    flex-shrink: 0;
}

.bestor-delivery-info__text {
    flex: 1;
    font-size: 0.875rem;
    line-height: 1.4;
}

.bestor-delivery-info__text strong {
    color: var(--text-heading);
}

.bestor-delivery-info__text span {
    color: var(--text-body);
}

.bestor-delivery-info__change {
    background: none;
    border: none;
    color: var(--bestor-red);
    font-size: 0.78rem;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    text-decoration: underline;
    flex-shrink: 0;
}

/* Mobile: region selector at bottom */
@media (max-width: 544px) {
    .bestor-region-selector {
        bottom: 10px;
        left: 10px;
    }

    body.single-product .bestor-region-selector {
        bottom: 80px;
    }

    .bestor-region-selector__trigger {
        font-size: 0.7rem;
        padding: 6px 12px;
    }
}


/* ==========================================================
   BUG FIXES — Post-Phase 15 Review
   ========================================================== */

/* --- Fix 11: Consistent button heights on product cards --- */
.woocommerce ul.products li.product,
.ast-woocommerce-container .products .product {
    display: flex;
    flex-direction: column;
}

.astra-shop-summary-wrap {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.astra-shop-summary-wrap .button,
.astra-shop-summary-wrap .add_to_cart_button,
.astra-shop-summary-wrap a.button {
    margin-top: auto;
}

/* --- Fix 9: Category boxes 3 columns on catalog page --- */
.woocommerce ul.products .product-category,
.elementor-widget-wc-categories .products li {
    min-height: 200px;
}

/* Override Elementor 6-col to 3-col for categories */
.elementor-grid-6.products {
    grid-template-columns: repeat(3, 1fr) !important;
}

@media (max-width: 768px) {
    .elementor-grid-6.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Category card image larger */
.woocommerce ul.products li.product-category img {
    aspect-ratio: 4/3;
    object-fit: cover;
    width: 100%;
}

.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
    font-size: 1.1rem;
    font-weight: 600;
    padding: 12px 8px;
}

/* --- Fix: Brand page, quote page, doc pages left-aligned → centered --- */
.bestor-brand-page,
.bestor-quote-page,
.bestor-doc-archive,
.bestor-doc-single {
    max-width: 100%;
}

.bestor-brand-inner,
.bestor-quote-page__inner,
.bestor-doc-archive__inner,
.bestor-doc-single__inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2rem;
    padding-right: 2rem;
}

/* Brand page products grid centering */
.bestor-brand-products__grid {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

/* Brand hero full width */
.bestor-brand-hero {
    width: 100%;
}

.bestor-brand-hero__content {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2rem;
    padding-right: 2rem;
}

/* Quote form centering */
.bestor-quote-page__layout {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

/* Document items full width within container */
.bestor-doc-list {
    width: 100%;
}

/* --- Fix 12: Wizard centering for desktop --- */
.bestor-wizard {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.bestor-wizard__inner {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
}

.bestor-wizard__options--grid {
    justify-items: center;
}

.bestor-wizard__results,
.bestor-wizard__result-actions {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

}

/* --- Fix: Add region display to topbar --- */
.bestor-topbar__region {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--text-on-dark-muted);
    font-size: 0.72rem;
    cursor: pointer;
    border: 1px solid rgba(255,255,255,0.2);
    padding: 2px 10px;
    border-radius: var(--radius-full);
    transition: border-color var(--transition-fast);
}

.bestor-topbar__region:hover {
    border-color: rgba(255,255,255,0.5);
}


/* ==========================================================
   ROUND 2 — VISUAL POLISH FIXES
   ========================================================== */

/* --- C3: Force 3-column categories on catalog (override Elementor 6-col) --- */
.elementor-widget-wc-categories ul.products.elementor-grid.columns-6,
.elementor-widget-wc-categories .products.elementor-grid-6 {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
}
@media (max-width: 768px) {
    .elementor-widget-wc-categories ul.products.elementor-grid.columns-6,
    .elementor-widget-wc-categories .products.elementor-grid-6 {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Bigger category cards */
.woocommerce ul.products li.product-category a {
    display: block;
}
.woocommerce ul.products li.product-category a img {
    aspect-ratio: 4/3;
    object-fit: cover;
    width: 100%;
    border-radius: var(--radius-md) var(--radius-md) 0 0;
}
.woocommerce ul.products li.product-category {
    background: var(--bg-surface);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    overflow: hidden;
    transition: transform var(--transition-base), box-shadow var(--transition-base);
}
.woocommerce ul.products li.product-category:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
}
.woocommerce ul.products li.product-category h2.woocommerce-loop-category__title {
    font-size: 1.1rem;
    font-weight: 600;
    padding: 14px 16px;
    color: var(--text-heading);
    text-align: center;
}

/* --- C4: Hide duplicate Astra overlay cart button (keep text button only) --- */
.astra-shop-thumbnail-wrap .ast-on-card-button {
    display: none !important;
}

/* --- H1+H2: Page centering for custom templates --- */
.page-template-page-brand .entry-content,
.page-template-page-quote-request .entry-content,
.page-template-page-material-finder .entry-content,
.post-type-archive-bestor_document .site-main,
.single-bestor_document .site-main {
    max-width: 100%;
    margin: 0;
    padding: 0;
}

/* Remove Astra container padding on custom template pages */
.page-template-page-brand .ast-container,
.page-template-page-quote-request .ast-container,
.page-template-page-material-finder .ast-container,
.post-type-archive-bestor_document .ast-container,
.single-bestor_document .ast-container {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

/* --- H4: Product card button alignment (force to bottom) --- */
.woocommerce ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
}
.woocommerce ul.products li.product .astra-shop-summary-wrap {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}
.woocommerce ul.products li.product .astra-shop-summary-wrap > a.button,
.woocommerce ul.products li.product .astra-shop-summary-wrap > .button {
    margin-top: auto !important;
    align-self: stretch;
}

/* --- H3: Document library polish --- */
.bestor-doc-archive__header {
    text-align: center;
    margin-bottom: var(--space-xl);
    padding-bottom: var(--space-md);
    border-bottom: 2px solid var(--bestor-red);
}

.bestor-doc-filters__search {
    max-width: 600px;
    margin: 0 auto var(--space-md);
}

.bestor-doc-filters__bar {
    justify-content: center;
}

.bestor-doc-list--archive {
    max-width: 900px;
    margin: 0 auto;
}

.bestor-doc-list--archive .bestor-doc-item {
    margin-bottom: 6px;
    border-left: 3px solid transparent;
    transition: border-color var(--transition-fast);
}

.bestor-doc-list--archive .bestor-doc-item:hover {
    border-left-color: var(--bestor-red);
}

.bestor-doc-pagination {
    padding-top: var(--space-xl);
    border-top: 1px solid var(--border-default);
}

/* Single document page polish */
.bestor-doc-single__main {
    background: var(--bg-surface);
    padding: var(--space-lg);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
}


/* R4-C: Hide duplicate below-footer */
.ast-below-footer-wrap,
.site-below-footer-wrap {
    display: none !important;
}

/* R4-A: Mobile trust numbers */
@media (max-width: 768px) {
    .elementor-widget-html div[style*="repeat(4"] {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .elementor-widget-html div[style*="1fr 2fr"] {
        grid-template-columns: 1fr !important;
    }
}


/* R4-G: Force document library centering */
.post-type-archive-bestor_document .site-content,
.post-type-archive-bestor_document .ast-container,
.post-type-archive-bestor_document #content,
.post-type-archive-bestor_document .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.single-bestor_document .site-content,
.single-bestor_document .ast-container,
.single-bestor_document #content,
.single-bestor_document .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Force center all custom template pages */
.page-template-page-brand .ast-container,
.page-template-page-quote-request .ast-container,
.page-template-page-material-finder .ast-container {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* R4-F: Fix grayscale category images on catalog */
.woocommerce ul.products li.product-category img {
    filter: none !important;
    -webkit-filter: none !important;
}


/* ==========================================================
   ROUND 5 FIXES
   ========================================================== */

/* Fix 2: Hide Elementor slider pagination dots */
.elementor-widget-slides .swiper-pagination,
.elementor-slides .swiper-pagination {
    display: none !important;
}

/* Fix 4: Make cart icon visible and prominent */
.ast-site-header-cart {
    display: flex !important;
    align-items: center;
}

.ast-site-header-cart .ast-cart-menu-wrap,
.ast-site-header-cart .ast-addon-cart-wrap {
    display: inline-flex !important;
    align-items: center;
    font-size: 1.2rem;
}

.ast-site-header-cart .count {
    background: var(--bestor-red) !important;
    color: #fff !important;
    font-size: 0.65rem !important;
    min-width: 18px !important;
    height: 18px !important;
    line-height: 18px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

/* Fix 5: Force full-width centering on doc archive and custom pages */
.post-type-archive-bestor_document #primary,
.post-type-archive-bestor_document .site-main,
.post-type-archive-bestor_document .ast-container {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Hide sidebar on doc archive (forced no-sidebar but CSS backup) */
.post-type-archive-bestor_document #secondary,
.post-type-archive-bestor_document .widget-area {
    display: none !important;
}

/* Same for quote page */
.page-template-page-quote-request #primary,
.page-template-page-quote-request .site-main,
.page-template-page-quote-request .ast-container {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}

/* ==========================================================
   HOMEPAGE — Framer Design Implementation
   Sections: Hero, Categories, Story, Brands, Stats, Project, CTA
   ========================================================== */

/* ----------------------------------------------------------
   Layout utilities
   ---------------------------------------------------------- */
.bestor-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}

@media (max-width: 768px) {
  .bestor-container {
    padding: 0 20px;
  }
}

.bestor-section {
  padding: 80px 0;
}

@media (max-width: 768px) {
  .bestor-section {
    padding: 50px 0;
  }
}

.bestor-label {
  display: block;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #888;
  margin-bottom: 16px;
}

.bestor-label--light {
  color: rgba(255, 255, 255, 0.6);
}

/* ----------------------------------------------------------
   SECTION 1: HERO
   ---------------------------------------------------------- */
.bestor-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}

.bestor-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.3) 40%, rgba(0,0,0,0.1) 100%);
  z-index: 1;
}

.bestor-hero__content {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px 80px;
  width: 100%;
}

.bestor-hero__title {
  font-family: 'Playfair Display', serif;
  font-size: 56px;
  font-weight: 600;
  color: #fff;
  line-height: 1.15;
  margin: 0 0 20px;
}

.bestor-hero__title em {
  font-style: italic;
}

.bestor-hero__subtitle {
  font-family: 'DM Sans', sans-serif;
  font-size: 18px;
  color: rgba(255, 255, 255, 0.8);
  max-width: 550px;
  line-height: 1.6;
  margin: 0 0 32px;
}

.bestor-hero__buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

/* Buttons */
.bestor-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  height: 48px;
  padding: 0 28px;
  border-radius: 24px;
  transition: all 0.25s ease;
  cursor: pointer;
  border: none;
}

.bestor-btn--ghost {
  color: #fff;
  border: 1.5px solid rgba(255, 255, 255, 0.6);
  background: transparent;
}

.bestor-btn--ghost:hover {
  background: #fff;
  color: #2B2B2B;
  border-color: #fff;
  transform: translateY(-1px);
}

.bestor-btn--filled {
  background: #fff;
  color: #2B2B2B;
}

.bestor-btn--filled:hover {
  background: #F5F2EC;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.bestor-btn--wide {
  width: 100%;
  justify-content: center;
}

.bestor-btn__arrow {
  transition: transform 0.15s ease;
}

.bestor-btn:hover .bestor-btn__arrow {
  transform: translateX(4px);
}

/* Hero responsive */
@media (max-width: 768px) {
  .bestor-hero__content {
    padding: 0 20px 50px;
  }
  .bestor-hero__title {
    font-size: 36px;
  }
  .bestor-hero__subtitle {
    font-size: 16px;
  }
  .bestor-hero__buttons {
    flex-direction: column;
  }
  .bestor-hero__buttons .bestor-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ----------------------------------------------------------
   SECTION 2: CATEGORIES
   ---------------------------------------------------------- */

/* Tier 1: Hero grid (2x2) */
.bestor-categories__hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}

.bestor-cat-card--hero {
  position: relative;
  display: block;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  text-decoration: none;
  color: #fff;
}

.bestor-cat-card--hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.bestor-cat-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  transition: background 0.3s ease;
  z-index: 1;
}

.bestor-cat-card--hero:hover .bestor-cat-card__overlay {
  background: rgba(0, 0, 0, 0.2);
}

.bestor-cat-card--hero:hover img {
  transform: scale(1.08);
}

.bestor-cat-card__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 24px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  z-index: 2;
}

.bestor-cat-card__title {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  font-weight: 600;
  margin: 0;
  color: #fff;
}

.bestor-cat-card__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.bestor-cat-card__arrow svg {
  width: 20px;
  height: 20px;
  transition: transform 0.3s ease;
}

.bestor-cat-card--hero:hover .bestor-cat-card__arrow {
  background: #fff;
  color: #2B2B2B;
}

.bestor-cat-card--hero:hover .bestor-cat-card__arrow svg {
  transform: rotate(45deg);
  stroke: #2B2B2B;
}

/* Tier 2: Secondary grid (4 columns) */
.bestor-categories__secondary-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.bestor-cat-card--secondary {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  background: #fff;
  border: 1px solid #E8E6E3;
  border-radius: 8px;
  text-decoration: none;
  color: #2B2B2B;
  transition: all 0.25s ease;
}

.bestor-cat-card--secondary:hover {
  border-color: #ccc;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.bestor-cat-card__thumb {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
}

.bestor-cat-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: #F5F2EC;
  border-radius: 6px;
  font-size: 18px;
  color: #888;
  flex-shrink: 0;
}

.bestor-cat-card__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.bestor-cat-card__name {
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #2B2B2B;
}

.bestor-cat-card__count {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: #888;
}

/* Categories responsive */
@media (max-width: 768px) {
  .bestor-categories__hero-grid {
    grid-template-columns: 1fr;
  }
  .bestor-categories__secondary-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .bestor-cat-card__title {
    font-size: 22px;
  }
}

@media (max-width: 480px) {
  .bestor-categories__secondary-grid {
    grid-template-columns: 1fr;
  }
}

/* ----------------------------------------------------------
   SECTION 3: STORY
   ---------------------------------------------------------- */
.bestor-story__inner {
  display: flex;
  gap: 60px;
  align-items: center;
}

.bestor-story__image {
  flex: 1;
  border-radius: 12px;
  overflow: hidden;
}

.bestor-story__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}

.bestor-story__text {
  flex: 1;
}

.bestor-story__text h2 {
  font-family: 'Playfair Display', serif;
  font-size: 36px;
  font-weight: 600;
  color: #2B2B2B;
  line-height: 1.2;
  margin: 0 0 20px;
}

.bestor-story__text p {
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  color: #535353;
  line-height: 1.65;
  margin: 0 0 16px;
}

.bestor-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #A23534;
  text-decoration: none;
  transition: gap 0.2s ease;
}

.bestor-link:hover {
  gap: 10px;
}

.bestor-link__arrow {
  transition: transform 0.15s ease;
}

.bestor-link:hover .bestor-link__arrow {
  transform: translateX(4px);
}

@media (max-width: 768px) {
  .bestor-story__inner {
    flex-direction: column;
    gap: 30px;
  }
  .bestor-story__text h2 {
    font-size: 28px;
  }
}

/* ----------------------------------------------------------
   SECTION 4: BRANDS
   ---------------------------------------------------------- */
.bestor-brands {
  padding: 40px 0;
}

.bestor-brands__strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 32px;
}

.bestor-brands__strip span {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: #999;
}

/* ----------------------------------------------------------
   SECTION 5: STATS
   ---------------------------------------------------------- */
.bestor-stats {
  padding: 60px 0;
}

.bestor-stats__grid {
  display: flex;
  justify-content: center;
  gap: 80px;
}

.bestor-stats__item {
  text-align: center;
}

.bestor-stats__number {
  font-family: 'Playfair Display', serif;
  font-size: 56px;
  font-weight: 600;
  color: #2B2B2B;
  line-height: 1;
}

.bestor-stats__suffix {
  font-family: 'Playfair Display', serif;
  font-size: 40px;
  font-weight: 600;
  color: #A23534;
}

.bestor-stats__label {
  display: block;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: #888;
  margin-top: 8px;
}

@media (max-width: 768px) {
  .bestor-stats__grid {
    gap: 40px;
  }
  .bestor-stats__number {
    font-size: 40px;
  }
}

@media (max-width: 480px) {
  .bestor-stats__grid {
    flex-direction: column;
    gap: 30px;
  }
}

/* ----------------------------------------------------------
   SECTION 6: FEATURED PROJECT
   ---------------------------------------------------------- */
.bestor-project__image {
  border-radius: 12px;
  overflow: hidden;
  margin: 16px 0 30px;
}

.bestor-project__image img {
  width: 100%;
  height: auto;
  display: block;
}

.bestor-project__details {
  display: flex;
  gap: 60px;
  align-items: flex-start;
}

.bestor-project__info {
  flex: 2;
}

.bestor-project__info h3 {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  font-weight: 600;
  color: #2B2B2B;
  margin: 0 0 12px;
}

.bestor-project__info p {
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  color: #535353;
  line-height: 1.65;
  margin: 0;
}

.bestor-project__meta {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.bestor-project__meta-item strong {
  display: block;
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  color: #2B2B2B;
}

@media (max-width: 768px) {
  .bestor-project__details {
    flex-direction: column;
    gap: 24px;
  }
}

/* ----------------------------------------------------------
   SECTION 7: CTA + CONTACT
   ---------------------------------------------------------- */
.bestor-cta {
  background: #243038;
  padding: 80px 0;
}

.bestor-cta__inner {
  display: flex;
  gap: 80px;
  align-items: flex-start;
}

.bestor-cta__text {
  flex: 1;
}

.bestor-cta__text h2 {
  font-family: 'Playfair Display', serif;
  font-size: 36px;
  font-weight: 600;
  color: #fff;
  line-height: 1.2;
  margin: 0 0 30px;
}

.bestor-cta__text h2 em {
  font-style: italic;
  color: #FFB84D;
}

.bestor-cta__contact p {
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.7);
  margin: 0 0 8px;
  line-height: 1.5;
}

.bestor-cta__contact strong {
  font-size: 20px;
  color: #fff;
}

.bestor-cta__form {
  flex: 1;
}

/* Form styling */
.bestor-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.bestor-form__field {
  position: relative;
}

.bestor-form__field input,
.bestor-form__field textarea {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1.5px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  padding: 16px 0 8px;
  outline: none;
  transition: border-color 0.2s ease;
}

.bestor-form__field textarea {
  resize: vertical;
  min-height: 60px;
}

.bestor-form__field input:focus,
.bestor-form__field textarea:focus {
  border-bottom-color: #A23534;
}

.bestor-form__field label {
  position: absolute;
  top: 16px;
  left: 0;
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.5);
  pointer-events: none;
  transition: all 0.2s ease;
}

.bestor-form__field input:focus ~ label,
.bestor-form__field input:not(:placeholder-shown) ~ label,
.bestor-form__field textarea:focus ~ label,
.bestor-form__field textarea:not(:placeholder-shown) ~ label {
  top: -2px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: rgba(255, 255, 255, 0.4);
}

.bestor-cta .bestor-btn--filled {
  background: #A23534;
  color: #fff;
  margin-top: 8px;
}

.bestor-cta .bestor-btn--filled:hover {
  background: #8A2B2A;
  box-shadow: 0 4px 16px rgba(162, 53, 52, 0.3);
}

@media (max-width: 768px) {
  .bestor-cta {
    padding: 50px 0;
  }
  .bestor-cta__inner {
    flex-direction: column;
    gap: 40px;
  }
  .bestor-cta__text h2 {
    font-size: 28px;
  }
}

/* ----------------------------------------------------------
   NAVBAR TRANSPARENCY OVER HERO
   ---------------------------------------------------------- */
.page-template-page-home .ast-primary-header-bar,
.page-template-page-home .ast-builder-menu-1 .main-header-menu,
.page-template-page-home .ast-builder-layout-element {
  background: transparent !important;
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

.page-template-page-home .ast-primary-header-bar {
  position: absolute;
  width: 100%;
  z-index: 100;
}

.page-template-page-home .ast-primary-header-bar a,
.page-template-page-home .ast-builder-menu-1 .menu-link {
  color: #fff !important;
  transition: color 0.3s ease;
}

.page-template-page-home .ast-site-identity .site-logo-img,
.page-template-page-home .ast-site-identity img {
  filter: brightness(0) invert(1);
  transition: filter 0.3s ease;
}

/* Scrolled state (added by JS) */
body.nav-scrolled .ast-primary-header-bar,
body.nav-scrolled .ast-builder-menu-1 .main-header-menu,
body.nav-scrolled .ast-builder-layout-element {
  background: #F5F2EC !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

body.nav-scrolled .ast-primary-header-bar a,
body.nav-scrolled .ast-builder-menu-1 .menu-link {
  color: #2B2B2B !important;
}

body.nav-scrolled .ast-site-identity .site-logo-img,
body.nav-scrolled .ast-site-identity img {
  filter: none;
}

/* ----------------------------------------------------------
   SCROLL REVEAL (initial hidden state)
   ---------------------------------------------------------- */
.bestor-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.bestor-reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Accessibility: respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .bestor-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .bestor-cat-card--hero img,
  .bestor-cat-card__arrow svg,
  .bestor-btn,
  .bestor-link {
    transition: none !important;
  }
}
/* ==========================================================
   PHASE 6 — Hover Interactions & Micro-animations
   Product cards, buttons, image reveals, form focus
   ========================================================== */

/* ----------------------------------------------------------
   Product Card Hover (WooCommerce product grid)
   ---------------------------------------------------------- */
.products .product .woocommerce-LoopProduct-link {
  display: block;
  overflow: hidden;
  border-radius: 8px;
}

.products .product .attachment-woocommerce_thumbnail,
.products .product img.wp-post-image {
  transition: transform 0.4s ease;
}

.products .product:hover .attachment-woocommerce_thumbnail,
.products .product:hover img.wp-post-image {
  transform: scale(1.05);
}

.products .product {
  transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.products .product:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

/* Product card CTA arrow animation */
.products .product .bestor-add-to-cart-link,
.products .product .button,
.bestor-link {
  position: relative;
}

.products .product .bestor-add-to-cart-link::after,
.products .product .button[class*="add_to_cart"]::after {
  content: ' \2192';
  display: inline-block;
  transition: transform 0.15s ease;
}

.products .product:hover .bestor-add-to-cart-link::after,
.products .product:hover .button[class*="add_to_cart"]::after {
  transform: translateX(4px);
}

/* Spec pills opacity boost on card hover */
.products .product .bestor-benefit-pill,
.products .product .bestor-stock-badge {
  transition: opacity 0.2s ease;
  opacity: 0.85;
}

.products .product:hover .bestor-benefit-pill,
.products .product:hover .bestor-stock-badge {
  opacity: 1;
}

/* ----------------------------------------------------------
   Global Button Hover Enhancements
   ---------------------------------------------------------- */

/* Primary CTA buttons (brand red) */
.bestor-btn--primary,
a.bestor-btn--primary,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.elementor-button {
  transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.bestor-btn--primary:hover,
a.bestor-btn--primary:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(162, 53, 52, 0.2);
}

/* Ghost/outline buttons */
.bestor-btn--ghost {
  transition: all 0.25s ease;
}

.bestor-btn--ghost:hover {
  transform: translateY(-1px);
}

/* All links with arrows */
.bestor-link:hover .bestor-link__arrow,
.bestor-btn:hover .bestor-btn__arrow {
  transform: translateX(4px);
}

/* ----------------------------------------------------------
   Image Reveal on Scroll (clip-path wipe)
   ---------------------------------------------------------- */
.bestor-image-reveal {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.8s cubic-bezier(0.65, 0, 0.35, 1);
}

.bestor-image-reveal.revealed {
  clip-path: inset(0 0 0 0);
}

/* Story section image slides from left */
.bestor-story__image.bestor-reveal {
  transform: translateX(-40px);
  opacity: 0;
  transition: transform 0.7s ease, opacity 0.7s ease;
}

.bestor-story__image.bestor-reveal.revealed {
  transform: translateX(0);
  opacity: 1;
}

/* ----------------------------------------------------------
   Category Card Secondary — Icon/thumb hover
   ---------------------------------------------------------- */
.bestor-cat-card--secondary .bestor-cat-card__thumb,
.bestor-cat-card--secondary .bestor-cat-card__icon {
  transition: transform 0.3s ease;
}

.bestor-cat-card--secondary:hover .bestor-cat-card__thumb,
.bestor-cat-card--secondary:hover .bestor-cat-card__icon {
  transform: scale(1.1);
}

/* ----------------------------------------------------------
   Form Field Interactions (global)
   ---------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="url"],
input[type="search"],
textarea,
select {
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus {
  border-color: #A23534;
  box-shadow: 0 0 0 2px rgba(162, 53, 52, 0.1);
  outline: none;
}

/* Submit button ripple-like press effect */
button[type="submit"]:active,
.bestor-btn:active {
  transform: scale(0.97);
}

/* ----------------------------------------------------------
   Navigation link hover underline
   ---------------------------------------------------------- */
.ast-builder-menu-1 .menu-link {
  position: relative;
}

.ast-builder-menu-1 .menu-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: #A23534;
  transition: width 0.25s ease, left 0.25s ease;
}

.ast-builder-menu-1 .menu-link:hover::after {
  width: 100%;
  left: 0;
}

/* On transparent nav (hero), underline is white */
.page-template-page-home .ast-builder-menu-1 .menu-link::after {
  background: #fff;
}

body.nav-scrolled .ast-builder-menu-1 .menu-link::after {
  background: #A23534;
}

/* ----------------------------------------------------------
   Skeleton loading placeholder (for AJAX product filters)
   ---------------------------------------------------------- */
@keyframes bestor-skeleton-pulse {
  0% { opacity: 0.6; }
  50% { opacity: 0.3; }
  100% { opacity: 0.6; }
}

.bestor-skeleton {
  background: #E8E6E3;
  border-radius: 8px;
  animation: bestor-skeleton-pulse 1.5s ease-in-out infinite;
}

.bestor-skeleton--card {
  height: 300px;
}

.bestor-skeleton--text {
  height: 16px;
  margin: 8px 0;
  width: 80%;
}

.bestor-skeleton--text-short {
  width: 50%;
}
/* ==========================================================
   PHASE 8 — Product Catalog Enhancements
   Category pills, grid/list toggle, stock filter restyle
   ========================================================== */

/* ----------------------------------------------------------
   Category Pills
   ---------------------------------------------------------- */
.bestor-category-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #E8E6E3;
}

.bestor-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border-radius: 24px;
  border: 1px solid #E8E6E3;
  background: transparent;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #535353;
  text-decoration: none;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.bestor-pill:hover {
  border-color: #2B2B2B;
  color: #2B2B2B;
}

.bestor-pill--active {
  background: #2B2B2B;
  color: #fff;
  border-color: #2B2B2B;
}

.bestor-pill--active:hover {
  background: #1a1a1a;
  color: #fff;
}

.bestor-pill__count {
  font-size: 11px;
  color: #999;
}

.bestor-pill--active .bestor-pill__count {
  color: rgba(255, 255, 255, 0.6);
}

/* Horizontal scroll on mobile */
@media (max-width: 768px) {
  .bestor-category-pills {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 12px;
  }
  .bestor-category-pills::-webkit-scrollbar {
    display: none;
  }
}

/* ----------------------------------------------------------
   Grid/List View Toggle
   ---------------------------------------------------------- */
.bestor-view-toggle {
  display: flex;
  gap: 4px;
  margin-left: auto;
}

.bestor-view-toggle__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #E8E6E3;
  border-radius: 6px;
  background: transparent;
  color: #999;
  cursor: pointer;
  transition: all 0.2s ease;
}

.bestor-view-toggle__btn:hover {
  border-color: #ccc;
  color: #2B2B2B;
}

.bestor-view-toggle__btn.active {
  background: #2B2B2B;
  color: #fff;
  border-color: #2B2B2B;
}

/* List view layout */
body.bestor-list-view .products {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

body.bestor-list-view .products .product {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 20px;
  width: 100% !important;
  margin: 0 !important;
  padding: 16px !important;
  border: 1px solid #E8E6E3;
  border-radius: 8px;
}

body.bestor-list-view .products .product .attachment-woocommerce_thumbnail,
body.bestor-list-view .products .product img.wp-post-image {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
}

body.bestor-list-view .products .product .woocommerce-loop-product__title {
  font-size: 15px !important;
  margin: 0 !important;
}

body.bestor-list-view .products .product .price {
  margin: 0 !important;
}

body.bestor-list-view .products .product .button,
body.bestor-list-view .products .product .bestor-add-to-cart-link {
  margin-left: auto;
  white-space: nowrap;
}

/* ----------------------------------------------------------
   Stock Filter Restyle (upgrade existing)
   ---------------------------------------------------------- */
.bestor-stock-filter {
  display: flex;
  align-items: center;
}

.bestor-stock-filter__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 24px;
  border: 1px solid #E8E6E3;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #535353;
  text-decoration: none;
  transition: all 0.2s ease;
}

.bestor-stock-filter__btn:hover {
  border-color: #A23534;
  color: #A23534;
}

.bestor-stock-filter__btn--active {
  background: #A23534;
  color: #fff;
  border-color: #A23534;
}

.bestor-stock-filter__btn--active:hover {
  background: #8A2B2A;
  color: #fff;
}

/* Catalog toolbar layout */
.woocommerce-notices-wrapper + .bestor-category-pills,
.woocommerce .bestor-category-pills {
  width: 100%;
}

.woocommerce-result-count,
.woocommerce-ordering {
  margin-bottom: 16px !important;
}
/* ==========================================================
   PHASE 9 — Blog / Ajakiri Page
   Page header, featured article, article grid, pagination
   ========================================================== */

/* ----------------------------------------------------------
   Page Header (reusable)
   ---------------------------------------------------------- */
.bestor-page-header {
  padding: 120px 0 40px;
  background: #F5F2EC;
}

.bestor-page-header__title {
  font-family: 'Playfair Display', serif;
  font-size: 48px;
  font-weight: 600;
  color: #2B2B2B;
  line-height: 1.15;
  margin: 0 0 16px;
}

.bestor-page-header__title em {
  font-style: italic;
  color: #A23534;
}

.bestor-page-header__subtitle {
  font-family: 'DM Sans', sans-serif;
  font-size: 18px;
  color: #535353;
  max-width: 550px;
  line-height: 1.6;
  margin: 0;
}

@media (max-width: 768px) {
  .bestor-page-header {
    padding: 100px 0 30px;
  }
  .bestor-page-header__title {
    font-size: 32px;
  }
}

/* ----------------------------------------------------------
   Featured Article (hero card)
   ---------------------------------------------------------- */
.bestor-featured-article__inner {
  display: flex;
  gap: 40px;
  align-items: stretch;
  text-decoration: none;
  color: inherit;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #E8E6E3;
  transition: box-shadow 0.3s ease;
}

.bestor-featured-article__inner:hover {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

.bestor-featured-article__image {
  flex: 3;
  overflow: hidden;
}

.bestor-featured-article__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.bestor-featured-article__inner:hover .bestor-featured-article__image img {
  transform: scale(1.03);
}

.bestor-featured-article__text {
  flex: 2;
  padding: 40px 40px 40px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.bestor-featured-article__text h2 {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  font-weight: 600;
  color: #2B2B2B;
  line-height: 1.3;
  margin: 0 0 16px;
}

.bestor-featured-article__text p {
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  color: #535353;
  line-height: 1.65;
  margin: 0 0 20px;
}

@media (max-width: 768px) {
  .bestor-featured-article__inner {
    flex-direction: column;
  }
  .bestor-featured-article__text {
    padding: 24px;
  }
  .bestor-featured-article__text h2 {
    font-size: 22px;
  }
}

/* ----------------------------------------------------------
   Article Grid (3 columns)
   ---------------------------------------------------------- */
.bestor-articles__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.bestor-article-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #E8E6E3;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.bestor-article-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

.bestor-article-card__image {
  overflow: hidden;
  aspect-ratio: 16 / 10;
}

.bestor-article-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.bestor-article-card:hover .bestor-article-card__image img {
  transform: scale(1.05);
}

.bestor-article-card__placeholder {
  width: 100%;
  height: 100%;
  background: #E8E6E3;
}

.bestor-article-card__content {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.bestor-article-card__cat {
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #A23534;
  margin-bottom: 8px;
}

.bestor-article-card__title {
  font-family: 'Playfair Display', serif;
  font-size: 18px;
  font-weight: 600;
  color: #2B2B2B;
  line-height: 1.3;
  margin: 0 0 8px;
}

.bestor-article-card__excerpt {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: #888;
  line-height: 1.5;
  margin: 0;
  flex: 1;
}

.bestor-article-card__date {
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  color: #bbb;
  margin-top: 12px;
}

@media (max-width: 768px) {
  .bestor-articles__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

@media (max-width: 480px) {
  .bestor-articles__grid {
    grid-template-columns: 1fr;
  }
}

/* ----------------------------------------------------------
   Pagination
   ---------------------------------------------------------- */
.bestor-pagination {
  display: flex;
  justify-content: center;
  gap: 4px;
  margin-top: 48px;
}

.bestor-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #535353;
  text-decoration: none;
  transition: all 0.2s ease;
  border: 1px solid #E8E6E3;
}

.bestor-pagination .page-numbers:hover {
  border-color: #2B2B2B;
  color: #2B2B2B;
}

.bestor-pagination .page-numbers.current {
  background: #2B2B2B;
  color: #fff;
  border-color: #2B2B2B;
}

.bestor-pagination .page-numbers.dots {
  border: none;
  color: #999;
}

/* ----------------------------------------------------------
   Empty state
   ---------------------------------------------------------- */
.bestor-empty {
  text-align: center;
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  color: #888;
  padding: 60px 0;
}
/* ==========================================================
   PHASE 10 — Cart Flyout Sidebar + Quote Flow
   ========================================================== */

/* ----------------------------------------------------------
   Cart Flyout Panel
   ---------------------------------------------------------- */
.bestor-cart-flyout {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
}

.bestor-cart-flyout.open {
  pointer-events: all;
}

.bestor-cart-flyout__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  transition: opacity 0.3s ease;
  backdrop-filter: blur(2px);
}

.bestor-cart-flyout.open .bestor-cart-flyout__backdrop {
  opacity: 1;
}

.bestor-cart-flyout__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: 400px;
  max-width: 90vw;
  height: 100%;
  background: #fff;
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12);
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
}

.bestor-cart-flyout.open .bestor-cart-flyout__panel {
  transform: translateX(0);
}

.bestor-cart-flyout__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #E8E6E3;
}

.bestor-cart-flyout__header h3 {
  font-family: 'Playfair Display', serif;
  font-size: 20px;
  font-weight: 600;
  margin: 0;
  color: #2B2B2B;
}

.bestor-cart-flyout__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  color: #888;
  cursor: pointer;
  border-radius: 8px;
  transition: background 0.2s ease, color 0.2s ease;
}

.bestor-cart-flyout__close:hover {
  background: #F5F2EC;
  color: #2B2B2B;
}

.bestor-cart-flyout__body {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
}

.bestor-cart-flyout__empty {
  text-align: center;
  color: #888;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  padding: 40px 0;
}

.bestor-cart-flyout__items {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.bestor-cart-flyout__item {
  display: flex;
  gap: 12px;
  align-items: center;
  padding-bottom: 16px;
  border-bottom: 1px solid #F0EDE8;
}

.bestor-cart-flyout__item-thumb img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 6px;
}

.bestor-cart-flyout__item-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.bestor-cart-flyout__item-name {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #2B2B2B;
}

.bestor-cart-flyout__item-meta {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: #888;
}

.bestor-cart-flyout__count {
  margin-top: 16px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: #888;
  text-align: center;
}

.bestor-cart-flyout__footer {
  padding: 20px 24px;
  border-top: 1px solid #E8E6E3;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}

.bestor-cart-flyout__viewcart {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: #888;
  text-decoration: underline;
}

/* ----------------------------------------------------------
   Header Cart Icon
   ---------------------------------------------------------- */
.bestor-header-cart {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: inherit;
  text-decoration: none;
}

.bestor-header-cart__count {
  position: absolute;
  top: 2px;
  right: 2px;
  min-width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #A23534;
  color: #fff;
  font-family: 'DM Sans', sans-serif;
  font-size: 10px;
  font-weight: 700;
  border-radius: 9px;
  padding: 0 4px;
}

/* ----------------------------------------------------------
   Checkout / Quote Page Styling
   ---------------------------------------------------------- */
.woocommerce-checkout .woocommerce {
  max-width: 1200px;
  margin: 0 auto;
}

.woocommerce-checkout #customer_details {
  display: flex;
  gap: 40px;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row input,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row textarea {
  border: 1px solid #E8E6E3;
  border-radius: 8px;
  padding: 12px 16px;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  transition: border-color 0.2s ease;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row input:focus,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row textarea:focus {
  border-color: #A23534;
  outline: none;
}

/* My Account page */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 12px 16px;
  border-radius: 8px;
  text-decoration: none;
  color: #535353;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  transition: background 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: #F5F2EC;
  color: #2B2B2B;
}

/* Login / Register forms */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  max-width: 400px;
  margin: 0 auto;
  padding: 40px;
  background: #fff;
  border: 1px solid #E8E6E3;
  border-radius: 12px;
}
/* ==========================================================
   PHASE 12 — Brands Hub + Referentsid + Kampaaniad
   ========================================================== */

/* ----------------------------------------------------------
   Brands Hub Grid
   ---------------------------------------------------------- */
.bestor-brands-hub__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.bestor-brand-card {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 32px;
  background: #fff;
  border: 1px solid #E8E6E3;
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  transition: all 0.25s ease;
}

.bestor-brand-card:hover {
  border-color: #ccc;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}

.bestor-brand-card__logo {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: #F5F2EC;
  border-radius: 12px;
  overflow: hidden;
}

.bestor-brand-card__logo img {
  max-width: 60px;
  max-height: 60px;
  object-fit: contain;
}

.bestor-brand-card__name-large {
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #2B2B2B;
}

.bestor-brand-card__info {
  flex: 1;
}

.bestor-brand-card__info h3 {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 600;
  color: #2B2B2B;
  margin: 0 0 6px;
}

.bestor-brand-card__info p {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: #888;
  line-height: 1.5;
  margin: 0;
}

.bestor-brand-card__arrow {
  color: #ccc;
  transition: color 0.2s ease, transform 0.2s ease;
  flex-shrink: 0;
}

.bestor-brand-card:hover .bestor-brand-card__arrow {
  color: #A23534;
  transform: translateX(4px);
}

@media (max-width: 768px) {
  .bestor-brands-hub__grid {
    grid-template-columns: 1fr;
  }
  .bestor-brand-card {
    padding: 20px;
  }
}

/* ----------------------------------------------------------
   Referentsid (Project Stories) — uses existing posts
   Restyle the category archive for Referentsid posts
   ---------------------------------------------------------- */
.category-referentsid .hentry,
.category-referentsid article {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #E8E6E3;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  margin-bottom: 24px;
}

.category-referentsid .hentry:hover,
.category-referentsid article:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

.category-referentsid .entry-title a {
  font-family: 'Playfair Display', serif;
  text-decoration: none;
  color: #2B2B2B;
  transition: color 0.2s ease;
}

.category-referentsid .entry-title a:hover {
  color: #A23534;
}

/* ----------------------------------------------------------
   Kampaaniatooted page enhancements
   ---------------------------------------------------------- */
.page-id-795 .woocommerce .products .product {
  position: relative;
}

.page-id-795 .woocommerce .products .product .onsale,
.bestor-sale-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #A23534;
  color: #fff;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 4px 12px;
  border-radius: 4px;
  z-index: 2;
}

/* Campaign countdown timer placeholder */
.bestor-countdown {
  display: flex;
  justify-content: center;
  gap: 24px;
  padding: 24px;
  margin-bottom: 32px;
  background: #243038;
  border-radius: 12px;
  color: #fff;
}

.bestor-countdown__item {
  text-align: center;
}

.bestor-countdown__number {
  font-family: 'Playfair Display', serif;
  font-size: 36px;
  font-weight: 600;
  display: block;
}

.bestor-countdown__label {
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: rgba(255, 255, 255, 0.6);
}
