/* =============================================================
   RIQUEZA WOO PRO — Professional WooCommerce Stylesheet
   Astra + Elementor compatible
   ============================================================= */

/* ────────────────────────────────────────────────────────────
   CSS CUSTOM PROPERTIES
   ──────────────────────────────────────────────────────────── */
:root {
    --rq-primary:       #111111;   /* near-black — headings, backgrounds */
    --rq-accent:        #c9a84c;   /* gold — prices, highlights only */
    --rq-accent-hover:  #b8943c;
    --rq-btn:           #000000;   /* pure black — ALL buttons */
    --rq-btn-hover:     #222222;   /* dark charcoal hover */
    --rq-danger:        #e74c3c;
    --rq-success:       #27ae60;
    --rq-warning:       #f39c12;
    --rq-light:         #f9f9f9;
    --rq-border:        #e8e8e8;
    --rq-text:          #333;
    --rq-text-muted:    #777;
    --rq-radius:        8px;
    --rq-radius-lg:     16px;
    --rq-shadow:        0 4px 20px rgba(0,0,0,0.08);
    --rq-shadow-hover:  0 8px 32px rgba(0,0,0,0.18);
    --rq-transition:    all 0.25s cubic-bezier(0.4,0,0.2,1);
    --rq-font:          inherit;
}

/* ════════════════════════════════════════════════════════════
   1. GLOBAL WOOCOMMERCE RESETS
   ════════════════════════════════════════════════════════════ */

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce button.button.alt {
    background:    var(--rq-btn) !important;
    color:         #fff !important;
    border:        2px solid var(--rq-btn) !important;
    border-radius: var(--rq-radius) !important;
    padding:       14px 32px !important;
    font-size:     0.95rem !important;
    font-weight:   600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    transition:    var(--rq-transition) !important;
    box-shadow:    0 2px 8px rgba(0,0,0,0.18) !important;
    cursor:        pointer !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover {
    background:   var(--rq-btn-hover) !important;
    border-color: var(--rq-btn-hover) !important;
    color:        #fff !important;
    transform:    translateY(-2px) !important;
    box-shadow:   var(--rq-shadow-hover) !important;
}

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb {
    font-size:   0.82rem;
    color:       var(--rq-text-muted);
    margin-bottom: 20px;
    padding:     10px 0;
    border-bottom: 1px solid var(--rq-border);
}
.woocommerce .woocommerce-breadcrumb a {
    color: var(--rq-text-muted);
    text-decoration: none;
    transition: color 0.2s;
}
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--rq-accent); }

/* ════════════════════════════════════════════════════════════
   2. SHOP / CATEGORY PAGE
   ════════════════════════════════════════════════════════════ */

/* ── Page banner (shop page — centered) ── */
.riqueza-shop-banner {
    background:    #f9fafb;
    border-bottom: 1px solid #f3f4f6;
    padding:       64px 0 48px;
    margin-bottom: 48px;
}
.riqueza-shop-breadcrumb {
    display:         flex;
    align-items:     center;
    gap:             8px;
    font-size:       0.65rem;
    font-weight:     700;
    text-transform:  uppercase;
    letter-spacing:  0.2em;
    color:           #9ca3af;
    margin-bottom:   16px;
    justify-content: center;
}
.riqueza-shop-breadcrumb a {
    color:           #9ca3af;
    text-decoration: none;
    transition:      color 0.2s;
}
.riqueza-shop-breadcrumb a:hover { color: #111827; }
.riqueza-shop-banner-title {
    font-family:    'Playfair Display', serif !important;
    font-size:      clamp(2rem, 4vw, 3rem) !important;
    font-weight:    700 !important;
    color:          #111827 !important;
    margin:         0 0 16px !important;
    line-height:    1.2 !important;
    text-transform: none !important;
    letter-spacing: -0.01em !important;
    text-align:     center;
}
.riqueza-shop-banner-desc {
    color:       #6b7280;
    font-size:   0.875rem;
    max-width:   560px;
    line-height: 1.7;
    margin:      0 auto;
    text-align:  center;
}

/* ── Category banner — two-column (image left, content right) ── */
.riqueza-shop-banner--category {
    background:    #fff;
    border-bottom: 1px solid #f3f4f6;
    padding:       0;
    margin-bottom: 48px;
    overflow:      hidden;
    margin-top:40px;
}
.riqueza-shop-banner--category .riqueza-shop-banner-inner {
    display:     grid;
    grid-template-columns: 1fr 2fr;
    align-items: center;
    min-height:  420px;
}

/* Left column: featured image */
.riqueza-shop-banner-image {
    position: relative;
    overflow: hidden;
}
.riqueza-shop-banner-image img {
    width:      100%;
    height:    420px;
    object-fit: contain;
    display:    block;
    border-radius: 2rem;
    transition: transform 0.6s ease;
}
.riqueza-shop-banner-image img:hover {
    transform: scale(1.03);
}
.riqueza-shop-banner-image-placeholder {
    width:      100%;
    height:     100%;
    min-height: 420px;
    background: #f3f4f6;
    border-radius: 0 2rem 2rem 0;
}

/* Right column: breadcrumb + title + description */
.riqueza-shop-banner--category .riqueza-shop-banner-content {
    display:         flex;
    flex-direction:  column;
    justify-content: center;
    padding:         56px 64px 56px 56px;
}
.riqueza-shop-banner--category .riqueza-shop-breadcrumb {
    justify-content: flex-start;
    margin-bottom:   20px;
}
.riqueza-shop-banner--category .riqueza-shop-banner-title {
    text-align: left;
    margin-bottom: 20px !important;
}
.riqueza-shop-banner--category .riqueza-shop-banner-desc {
    text-align: left;
    margin:     0;
    max-width:  480px;
}

/* ── Category Feature List (below description) ── */
.riqueza-cat-features {
    display:               grid;
    grid-template-columns: 1fr 1fr;
    gap:                   24px 40px;
    margin-top:            32px;
    max-width:             560px;
}
.riqueza-cat-feature-item {
    display:     flex;
    align-items: flex-start;
    gap:         12px;
}
.riqueza-cat-feature-icon {
    flex-shrink: 0;
    color:       #b8860b;
    margin-top:  2px;
}
.riqueza-cat-feature-icon svg {
    width:  22px;
    height: 22px;
}
.riqueza-cat-feature-text {
    display:        flex;
    flex-direction: column;
    gap:            4px;
}
.riqueza-cat-feature-title {
    font-size:   0.95rem;
    font-weight: 700;
    color:       #111827;
    line-height: 1.3;
}
.riqueza-cat-feature-desc {
    font-size:   0.82rem;
    color:       #6b7280;
    line-height: 1.5;
}

/* ── Responsive: tablet (≤ 900px) ── */
@media (max-width: 900px) {
    .riqueza-shop-banner--category .riqueza-shop-banner-inner {
        grid-template-columns: 1fr;
        min-height:            auto;
    }
    .riqueza-shop-banner-image {
        height: 280px;
    }
    .riqueza-shop-banner-image img,
    .riqueza-shop-banner-image-placeholder {
        border-radius: 0;
        height:        100%;
    }
    .riqueza-shop-banner--category .riqueza-shop-banner-content {
        padding: 40px 32px;
    }
    .riqueza-shop-banner--category .riqueza-shop-breadcrumb {
        justify-content: flex-start;
    }
    .riqueza-shop-banner--category .riqueza-shop-banner-title {
        font-size: clamp(1.75rem, 5vw, 2.5rem) !important;
    }
}
.riqueza-shop-banner-content p {
    margin: 0;
}
/* ── Responsive: mobile (≤ 600px) — feature list ── */
@media (max-width: 600px) {
    .riqueza-cat-features {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-top: 0px;
    }
}

/* ── Responsive: mobile (≤ 600px) ── */
@media (max-width: 600px) {
    .riqueza-shop-banner--category {
        margin-bottom: 32px;
    }
    .riqueza-shop-banner-image {
        height: 220px;
    }
    .riqueza-shop-banner--category .riqueza-shop-banner-content {
        padding: 28px 20px;
    }
    .riqueza-shop-banner--category .riqueza-shop-banner-title {
        font-size: 1.75rem !important;
        margin-bottom: 12px !important;
    }
    .riqueza-shop-banner--category .riqueza-shop-banner-desc {
        font-size: 0.85rem;
    }
}
.woocommerce nav.woocommerce-pagination ul, .woocommerce nav.woocommerce-pagination ul li{
    border: 0;
}
/* ── Shop 2-column layout (sidebar + main) ── */
.riqueza-shop-layout {
    display:     flex;
    gap:         48px;
    align-items: flex-start;
}
.riqueza-shop-sidebar {
    flex:       0 0 224px;
    width:      224px;
    position:   sticky;
    top:        100px;
}
.riqueza-shop-main {
    flex:      1 1 0;
    min-width: 0;
}

/* ── Sidebar blocks ── */
.riqueza-sidebar-block {
    margin-bottom: 40px;
}
.riqueza-sidebar-title {
    display:        flex;
    align-items:    center;
    justify-content: space-between;
    font-size:      0.65rem !important;
    font-weight:    700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
    color:          #111827 !important;
    margin-bottom:  24px !important;
    padding:        0 !important;
    border:         none !important;
}
.riqueza-sidebar-cats {
    list-style: none;
    padding:    0;
    margin:     0;
    display:    flex;
    flex-direction: column;
    gap:        12px;
}
.riqueza-sidebar-cat-link {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    font-size:       0.875rem;
    color:           #6b7280;
    text-decoration: none;
    font-weight:     400;
    transition:      color 0.2s;
}
.riqueza-sidebar-cat-link:hover,
.riqueza-sidebar-cat-link.active {
    color:       #111827;
    font-weight: 600;
}
.riqueza-sidebar-cat-count {
    font-size:      0.65rem;
    background:     #f3f4f6;
    color:          #9ca3af;
    padding:        2px 8px;
    border-radius:  40px;
    font-weight:    700;
}
.riqueza-sidebar-cat-link.active .riqueza-sidebar-cat-count {
    background: #111827;
    color:      #fff;
}

/* ── Toolbar (result count + sort + view toggle) ── */
.riqueza-shop-header {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    flex-wrap:       wrap;
    gap:             12px;
    margin-bottom:   40px;
    padding-bottom:  24px;
    border-bottom:   1px solid #f3f4f6;
    background:      transparent;
    border-radius:   0;
    border-top:      none;
    border-left:     none;
    border-right:    none;
}
.riqueza-shop-header .woocommerce-result-count {
    margin:    0 !important;
    float:     none !important;
    font-size: 0.7rem !important;
    color:     #9ca3af !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
}
.riqueza-shop-header .woocommerce-ordering {
    margin: 0 !important;
    float:  none !important;
}
.riqueza-shop-header .woocommerce-ordering select {
    border:         none !important;
    border-radius:  0 !important;
    padding:        4px 8px !important;
    font-size:      0.7rem !important;
    font-weight:    700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    background:     transparent !important;
    color:          #111827 !important;
    cursor:         pointer !important;
    outline:        none !important;
    box-shadow:     none !important;
}

/* View toggle */
.riqueza-view-toggle {
    display:    flex;
    gap:        4px;
    align-self: center;
    border:     1px solid #e5e7eb;
    border-radius: 6px;
    padding:    4px;
}
.riqueza-view-btn {
    width:         32px;
    height:        32px;
    border:        none;
    border-radius: 4px;
    background:    transparent;
    cursor:        pointer;
    display:       flex;
    align-items:   center;
    justify-content: center;
    transition:    background 0.15s;
    padding:       6px;
    color:         #9ca3af;
}
.riqueza-view-btn svg { width: 16px; height: 16px; display: block; }
.riqueza-view-btn.active { background: #f3f4f6; color: #111827; }
.riqueza-view-btn:hover { background: #f9fafb; color: #374151; }

/* ── Hide WooCommerce's native duplicate breadcrumb + page heading ── */
/* (we output our own riqueza-shop-banner above) */
.woocommerce-shop .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb,
.tax-product_tag .woocommerce-breadcrumb,
.woocommerce-shop .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header,
.tax-product_tag .woocommerce-products-header {
    display: none !important;
}

/* ── Product grid — 3 columns, CSS Grid ── */
/* NOTE: Astra removes the .woocommerce wrapper div, ul.products is a direct child */
.woocommerce-shop ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products {
    display:               grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap:                   32px 24px !important;
    float:                 none !important;
    padding:               0 !important;
    margin:                0 !important;
}

/* ── Product card — clean, no border/shadow on full card ── */
.woocommerce-shop ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product {
    border:        none !important;
    border-radius: 0 !important;
    box-shadow:    none !important;
    background:    transparent !important;
    padding:       0 !important;
    overflow:      visible !important;
    float:         none !important;
    /* Override Astra's ast-full-width / ast-grid-common-col */
    width:         auto !important;
    max-width:     none !important;
    flex:          none !important;
    margin:        0 !important;
}
.woocommerce-shop ul.products li.product:hover,
.tax-product_cat ul.products li.product:hover,
.tax-product_tag ul.products li.product:hover {
    transform:    none !important;
    box-shadow:   none !important;
    border-color: transparent !important;
}

/* ── Image area — rounded card with 4:5 aspect ratio ── */
.woocommerce-shop ul.products li.product .astra-shop-thumbnail-wrap,
.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap,
.tax-product_tag ul.products li.product .astra-shop-thumbnail-wrap {
    border-radius: 16px !important;
    background:    #F9F9F9 !important;
    border:        1px solid #f3f4f6 !important;
    overflow:      hidden !important;
    aspect-ratio:  4 / 5 !important;
    margin-bottom: 20px !important;
    position:      relative !important;
    display:       block !important;
    width:         100% !important;
}
/* Image fills container */
.woocommerce-shop ul.products li.product .astra-shop-thumbnail-wrap img,
.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap img,
.tax-product_tag ul.products li.product .astra-shop-thumbnail-wrap img {
    width:      100% !important;
    height:     100% !important;
    object-fit: cover !important;
    display:    block !important;
    transition: transform 0.7s ease !important;
    position:   static !important;
}
.woocommerce-shop ul.products li.product:hover .astra-shop-thumbnail-wrap img,
.tax-product_cat ul.products li.product:hover .astra-shop-thumbnail-wrap img,
.tax-product_tag ul.products li.product:hover .astra-shop-thumbnail-wrap img {
    transform: scale(1.08) !important;
}
/* Subtle dark overlay on hover */
.woocommerce-shop ul.products li.product .astra-shop-thumbnail-wrap::after,
.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap::after,
.tax-product_tag ul.products li.product .astra-shop-thumbnail-wrap::after {
    content:        '';
    position:       absolute;
    inset:          0;
    background:     rgba(0,0,0,0.06);
    opacity:        0;
    transition:     opacity 0.3s;
    pointer-events: none;
    z-index:        1;
}
.woocommerce-shop ul.products li.product:hover .astra-shop-thumbnail-wrap::after,
.tax-product_cat ul.products li.product:hover .astra-shop-thumbnail-wrap::after,
.tax-product_tag ul.products li.product:hover .astra-shop-thumbnail-wrap::after {
    opacity: 1;
}

/* ── Astra's ast-on-card-button = the <a> itself (not a wrapper) ── */
/* Hide SVG icon and show only the tooltip text */
.woocommerce-shop ul.products li.product a.ast-on-card-button,
.tax-product_cat ul.products li.product a.ast-on-card-button,
.tax-product_tag ul.products li.product a.ast-on-card-button {
    position:        absolute !important;
    bottom:          16px !important;
    left:            16px !important;
    right:           16px !important;
    z-index:         10 !important;
    opacity:         0 !important;
    transform:       translateY(8px) !important;
    transition:      opacity 0.3s, transform 0.3s !important;
    visibility:      visible !important;
    display:         flex !important;
    align-items:     center !important;
    justify-content: center !important;
    /* Button style */
    background:      #fff !important;
    color:           #111827 !important;
    border-radius:   12px !important;
    border:          none !important;
    padding:         13px 16px !important;
    font-size:       0.6rem !important;
    font-weight:     700 !important;
    letter-spacing:  0.2em !important;
    text-transform:  uppercase !important;
    text-decoration: none !important;
    box-shadow:      0 8px 32px rgba(0,0,0,0.18) !important;
    width:           auto !important;
    margin:          0 !important;
}
.woocommerce-shop ul.products li.product:hover a.ast-on-card-button,
.tax-product_cat ul.products li.product:hover a.ast-on-card-button,
.tax-product_tag ul.products li.product:hover a.ast-on-card-button {
    opacity:   1 !important;
    transform: translateY(0) !important;
}
.woocommerce-shop ul.products li.product a.ast-on-card-button:hover,
.tax-product_cat ul.products li.product a.ast-on-card-button:hover,
.tax-product_tag ul.products li.product a.ast-on-card-button:hover {
    background: rgba(0,0,0,0.08) !important;
    color:      #fff !important;
    transform:  translateY(0) !important;
}
/* Show tooltip text, hide SVG bag icon */
.woocommerce-shop ul.products li.product a.ast-on-card-button .ast-card-action-tooltip,
.tax-product_cat ul.products li.product a.ast-on-card-button .ast-card-action-tooltip,
.tax-product_tag ul.products li.product a.ast-on-card-button .ast-card-action-tooltip {
    display: block !important;
    clip:     auto !important;
    position: static !important;
    width:    auto !important;
    height:   auto !important;
}
.woocommerce-shop ul.products li.product a.ast-on-card-button .ahfb-svg-iconset,
.tax-product_cat ul.products li.product a.ast-on-card-button .ahfb-svg-iconset,
.tax-product_tag ul.products li.product a.ast-on-card-button .ahfb-svg-iconset {
    display: none !important;
}

/* ── Summary area ── */
.woocommerce-shop ul.products li.product .astra-shop-summary-wrap,
.tax-product_cat ul.products li.product .astra-shop-summary-wrap,
.tax-product_tag ul.products li.product .astra-shop-summary-wrap {
    padding:    0 !important;
    text-align: left !important;
}

/* Category label */
.woocommerce-shop ul.products li.product .ast-woo-product-category,
.tax-product_cat ul.products li.product .ast-woo-product-category,
.tax-product_tag ul.products li.product .ast-woo-product-category {
    font-size:      0.6rem !important;
    font-weight:    700 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color:          #9ca3af !important;
    margin-bottom:  6px !important;
    display:        block !important;
}

/* Product title */
.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
.woocommerce-shop ul.products li.product h2,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product h2,
.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
.tax-product_tag ul.products li.product h2 {
    font-family:    'Playfair Display', serif !important;
    font-size:      1rem !important;
    font-weight:    700 !important;
    color:          #111827 !important;
    margin:         0 0 8px !important;
    padding:        0 !important;
    line-height:    1.35 !important;
    text-transform: none !important;
}
.woocommerce-shop ul.products li.product:hover .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product:hover .woocommerce-loop-product__title,
.tax-product_tag ul.products li.product:hover .woocommerce-loop-product__title {
    text-decoration:       underline !important;
    text-underline-offset: 3px !important;
}

/* Price */
.woocommerce-shop ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.tax-product_tag ul.products li.product .price {
    color:       #111827 !important;
    font-size:   0.875rem !important;
    font-weight: 700 !important;
    margin:      0 !important;
    display:     block !important;
}
.woocommerce-shop ul.products li.product .price del,
.tax-product_cat ul.products li.product .price del,
.tax-product_tag ul.products li.product .price del {
    color:        #9ca3af !important;
    font-weight:  400 !important;
    margin-right: 4px !important;
}

/* Hide the standard ATC button inside summary (use on-card hover button instead) */
.woocommerce-shop ul.products li.product .astra-shop-summary-wrap .button,
.tax-product_cat ul.products li.product .astra-shop-summary-wrap .button,
.tax-product_tag ul.products li.product .astra-shop-summary-wrap .button {
    display: none !important;
}

/* Sale badge — white pill */
.woocommerce-shop ul.products li.product span.onsale,
.tax-product_cat ul.products li.product span.onsale,
.tax-product_tag ul.products li.product span.onsale {
    background:     #fff !important;
    color:          #111827 !important;
    border-radius:  40px !important;
    border:         1px solid #f3f4f6 !important;
    box-shadow:     0 1px 4px rgba(0,0,0,0.1) !important;
    font-size:      0.6rem !important;
    font-weight:    700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    padding:        4px 10px !important;
    min-height:     unset !important;
    min-width:      unset !important;
    line-height:    1.4 !important;
    top:            12px !important;
    left:           12px !important;
    right:          auto !important;
    z-index:        5 !important;
}

/* ── Pagination — circular buttons ── */
nav.woocommerce-pagination ul {
    border:          none !important;
    display:         flex !important;
    gap:             8px !important;
    flex-wrap:       wrap !important;
    margin-top:      48px !important;
    justify-content: center !important;
    padding:         0 !important;
}
nav.woocommerce-pagination ul li a,
nav.woocommerce-pagination ul li span {
    border:          1px solid #e5e7eb !important;
    border-radius:   50% !important;
    width:           40px !important;
    height:          40px !important;
    padding:         0 !important;
    display:         flex !important;
    align-items:     center !important;
    justify-content: center !important;
    font-size:       0.78rem !important;
    font-weight:     700 !important;
    color:           #6b7280 !important;
    background:      transparent !important;
    transition:      background 0.15s, border-color 0.15s, color 0.15s !important;
    min-width:       unset !important;
    text-align:      center !important;
    line-height:     1 !important;
}
nav.woocommerce-pagination ul li a:hover,
nav.woocommerce-pagination ul li span.current {
    background:   #111827 !important;
    border-color: #111827 !important;
    color:        #fff !important;
}

/* ── Quick View link (hidden — button is the on-card ATC) ── */
.riqueza-quick-view-btn { display: none !important; }

/* ── List view ── */
ul.products.riqueza-list-view {
    grid-template-columns: 1fr !important;
}
ul.products.riqueza-list-view li.product {
    display:     flex !important;
    align-items: center !important;
    gap:         24px !important;
}
ul.products.riqueza-list-view li.product .astra-shop-thumbnail-wrap {
    flex:         0 0 160px !important;
    width:        160px !important;
    aspect-ratio: 1 / 1 !important;
    margin:       0 !important;
}
ul.products.riqueza-list-view li.product .woocommerce-loop-product__title,
ul.products.riqueza-list-view li.product h2 {
    font-size: 1.2rem !important;
}

/* ════════════════════════════════════════════════════════════
   3. SINGLE PRODUCT PAGE
   ════════════════════════════════════════════════════════════ */

/* ── Two-column product layout ── */
.woocommerce div.product {
    display:        flex !important;
    flex-wrap:      wrap !important;
    gap:            0 !important;
    align-items:    flex-start !important;
}
.woocommerce div.product .woocommerce-product-gallery.images {
    flex:           0 0 50% !important;
    max-width:      50% !important;
    float:          none !important;
    width:          auto !important;
    padding-right:  40px !important;
    box-sizing:     border-box !important;
}
.woocommerce div.product div.summary {
    flex:           0 0 50% !important;
    max-width:      50% !important;
    float:          none !important;
    width:          auto !important;
    padding:        0 !important;
    box-sizing:     border-box !important;
}
/* Tabs and related sections span full width */
.woocommerce div.product .woocommerce-tabs,
.woocommerce .related,
.woocommerce .upsells {
    flex-basis: 100% !important;
    width:      100% !important;
}
@media (max-width: 768px) {
    .woocommerce div.product .woocommerce-product-gallery.images,
    .woocommerce div.product div.summary {
        flex:       0 0 100% !important;
        max-width:  100% !important;
        padding:    0 !important;
    }
    .woocommerce div.product .woocommerce-product-gallery.images {
        margin-bottom: 32px !important;
    }
}

/* Hide duplicate category link (Astra outputs it) */
.woocommerce div.product .summary .single-product-category {
    display: none !important;
}

/* ── Product gallery ── */
.woocommerce div.product .woocommerce-product-gallery {
    border:     none !important;
    background: transparent !important;
    margin:     0 !important;
    float:      none !important;
    width:      100% !important;
}

/* Fixed-height main image viewport — overrides FlexSlider JS inline height */
.woocommerce div.product .woocommerce-product-gallery .flex-viewport {
    height:        560px !important;
    border:        1px solid #f3f4f6 !important;
    background:    #f9fafb !important;
    overflow:      hidden !important;
}

/* Slider wrapper — keep full width so slides display correctly */
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    height: 100% !important;
}

/* Each slide */
.woocommerce div.product .woocommerce-product-gallery__image {
    height:   100% !important;
    overflow: hidden !important;
}

/* Main image fills the fixed-height viewport */
.woocommerce div.product .woocommerce-product-gallery__image > a {
    display:  block !important;
    height:   100% !important;
    overflow: hidden !important;
}
.woocommerce div.product .woocommerce-product-gallery__image img:not(.zoomImg) {
    object-fit:  cover !important;
    width:       100% !important;
    height:      100% !important;
    display:     block !important;
    max-width:   none !important;
}

/* Thumbnail strip */
.woocommerce div.product .flex-control-thumbs {
    display:    flex !important;
    gap:        8px !important;
    margin-top: 10px !important;
    padding:    0 !important;
    list-style: none !important;
}
.woocommerce div.product .flex-control-thumbs li {
    flex-shrink: 0 !important;
    margin:      0 !important;
}
.woocommerce div.product .flex-control-thumbs li img {
    width:         72px !important;
    height:        88px !important;
    object-fit:    cover !important;
    border:        1px solid #e5e7eb !important;
    border-radius: 0 !important;
    cursor:        pointer !important;
    opacity:       0.55 !important;
    transition:    opacity 0.2s, border-color 0.2s !important;
    display:       block !important;
}
.woocommerce div.product .flex-control-thumbs li img.flex-active,
.woocommerce div.product .flex-control-thumbs li img:hover {
    opacity:      1 !important;
    border-color: #111827 !important;
    border-width: 2px !important;
}

/* Gallery trigger (zoom icon) — small square top-right */
.woocommerce div.product .woocommerce-product-gallery__trigger {
    background:      rgba(255,255,255,0.9) !important;
    border:          1px solid #e5e7eb !important;
    border-radius:   0 !important;
    width:           34px !important;
    height:          34px !important;
    display:         none !important;
    align-items:     center !important;
    justify-content: center !important;
    top:             12px !important;
    right:           12px !important;
    z-index:         9 !important;

}

/* Hide prev/next arrows — thumbnails navigate */
.woocommerce div.product .woocommerce-product-gallery .flex-direction-nav {
    display: none !important;
}

/* Hide the breadcrumb inside summary (Astra puts it there; we already have page-level breadcrumb) */
.woocommerce div.product div.summary .woocommerce-breadcrumb {
    display: none !important;
}

/* ── Brand name ── */
.riqueza-product-brand {
    font-size:      0.65rem;
    font-weight:    700;
    letter-spacing: 0.2em;
    color:          #6b7280;
    text-transform: uppercase;
    margin:         0 0 8px !important;
}
.riqueza-product-brand a {
    color: #6b7280 !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}
.riqueza-product-brand a:hover { color: #111827 !important; }

/* ── Product title ── */
.woocommerce div.product .product_title {
    font-family:    'Playfair Display', serif !important;
    font-size:      2.4rem !important;
    font-weight:    700 !important;
    color:          #111827 !important;
    line-height:    1.15 !important;
    letter-spacing: -0.01em !important;
    margin-bottom:  16px !important;
    text-transform: none !important;
}

/* ── Star rating ── */
.woocommerce div.product .woocommerce-product-rating {
    display:     flex !important;
    align-items: center !important;
    gap:         8px !important;
    margin-bottom: 14px !important;
}
.woocommerce div.product .star-rating {
    font-size: 1rem !important;
    color:     #f5a623 !important;
}
.woocommerce div.product .woocommerce-review-link {
    font-size:   0.82rem !important;
    color:       var(--rq-text-muted) !important;
    text-decoration: none !important;
}

/* ── Price ── */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-family:  'Playfair Display', serif !important;
    font-size:    1.7rem !important;
    font-weight:  700 !important;
    color:        #111827 !important;
    margin-bottom: 24px !important;
    display:      flex !important;
    align-items:  baseline !important;
    gap:          10px !important;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
    color:       var(--rq-text-muted) !important;
    font-size:   1.1rem !important;
    font-weight: 400 !important;
    text-decoration: line-through !important;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
    text-decoration: none !important;
}

/* ── IN STOCK badge ── */
.riqueza-instock-badge {
    display:        inline-flex;
    align-items:    center;
    gap:            8px;
    background:     transparent;
    border:         1.5px solid #111827;
    color:          #111827;
    border-radius:  0;
    padding:        5px 12px;
    font-size:      0.7rem;
    font-weight:    700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-top:     16px;
    margin-bottom:  0;
    line-height:    1;
}
.riqueza-instock-badge svg { display: none; }
.riqueza-instock-badge::before {
    content:       '';
    display:       inline-block;
    width:         8px;
    height:        8px;
    border-radius: 50%;
    background:    #111827;
    flex-shrink:   0;
    animation:     rq-pulse 2s ease-in-out infinite;
}
@keyframes rq-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.4; transform: scale(0.8); }
}

/* ── Short description ── */
.woocommerce div.product .woocommerce-product-details__short-description {
    font-size:      0.95rem !important;
    line-height:    1.7 !important;
    color:          var(--rq-text) !important;
    margin-bottom:  20px !important;
    padding-bottom: 20px !important;
    border-bottom:  1px solid var(--rq-border) !important;
}

/* ── Variation attribute labels ── */
.woocommerce div.product form.cart .variations tr {
    display:       flex;
    flex-direction: column;
    margin-bottom: 14px;
}
.woocommerce div.product form.cart .variations td.label label {
    font-size:      0.72rem !important;
    font-weight:    800 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color:          var(--rq-primary) !important;
    margin-bottom:  8px !important;
    display:        block !important;
}
.woocommerce div.product form.cart .variations td.value {
    padding: 0 !important;
}
/* Style native WC variation select as pill row */
.woocommerce div.product form.cart .variations td.value select {
    border:        1.5px solid var(--rq-border) !important;
    border-radius: var(--rq-radius) !important;
    padding:       10px 14px !important;
    font-size:     0.9rem !important;
    font-weight:   600 !important;
    background:    #fff !important;
    color:         var(--rq-primary) !important;
    width:         100% !important;
    cursor:        pointer !important;
    transition:    border-color 0.2s !important;
}
.woocommerce div.product form.cart .variations td.value select:focus {
    border-color: var(--rq-primary) !important;
    outline:      none !important;
}

/* ── Quantity + ATC row ── */
.woocommerce div.product form.cart {
    display:    flex !important;
    flex-wrap:  wrap !important;
    gap:        10px !important;
    align-items: stretch !important;
    margin-top: 20px !important;
}

/* Guaranteed checkout + trust lines: force full-width row below the button */
.woocommerce div.product form.cart .riqueza-guaranteed-checkout,
.woocommerce div.product form.cart .riqueza-trust-lines {
    flex:        0 0 100% !important;
    width:       100% !important;
    max-width:   100% !important;
    margin-top:  4px !important;
}

.woocommerce div.product form.cart .quantity {
    flex-shrink: 0 !important;
    margin:      0 !important;
}
.woocommerce div.product form.cart .quantity input.qty {
    border:        1px solid #d1d5db !important;
    border-radius: 0 !important;
    height:        56px !important;
    width:         70px !important;
    font-size:     0.95rem !important;
    font-weight:   700 !important;
    text-align:    center !important;
    color:         #111827 !important;
    background:    #fff !important;
}
.woocommerce div.product form.cart .quantity input.qty:focus {
    border-color: #111827 !important;
    outline:      none !important;
}

/* ── Add to Cart button — full-width black sharp ── */
.woocommerce div.product form.cart .single_add_to_cart_button {
    flex:           1 !important;
    display:        inline-flex !important;
    align-items:    center !important;
    justify-content: center !important;
    gap:            10px !important;
    padding:        0 28px !important;
    height:         56px !important;
    font-size:      0.7rem !important;
    border-radius:  0 !important;
    background:     #111827 !important;
    color:          #fff !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    font-weight:    700 !important;
    transition:     background 0.2s, box-shadow 0.2s !important;
    border:         2px solid #111827 !important;
    box-shadow:     none !important;
    white-space:    nowrap !important;
    min-width:      0 !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button::before {
    content: '';
    display: inline-block;
    width:   18px;
    height:  18px;
    flex-shrink: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white' stroke-width='2'%3E%3Cpath d='M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 01-8 0'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
    background:   #374151 !important;
    border-color: #374151 !important;
    transform:    none !important;
    box-shadow:   none !important;
}

/* ── Guaranteed Safe Checkout box ── */
.riqueza-guaranteed-checkout {
    margin-top:    20px;
    border:        1px solid #e5e7eb;
    border-radius: 0;
    padding:       20px;
    background:    #f9fafb;
    text-align:    center;
}
.riqueza-guaranteed-title {
    display:        flex;
    align-items:    center;
    justify-content: center;
    gap:            6px;
    font-size:      0.65rem;
    font-weight:    700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color:          #6b7280;
    margin:         0 0 14px !important;
}
.riqueza-guaranteed-title svg { color: #6b7280; flex-shrink: 0; }
.riqueza-checkout-icons {
    display:         flex;
    flex-wrap:       wrap;
    gap:             6px;
    justify-content: center;
}
.riqueza-ci {
    background:    #fff;
    border:        1px solid #e5e7eb;
    border-radius: 0;
    padding:       4px 12px;
    font-size:     0.65rem;
    font-weight:   800;
    color:         #374151;
    letter-spacing: 0.05em;
    line-height:   1.6;
}
.riqueza-ci-visa    { color: #374151; }
.riqueza-ci-mc      { color: #374151; }
.riqueza-ci-amex    { color: #374151; }
.riqueza-ci-paypal  { color: #374151; }
.riqueza-ci-stripe  { color: #374151; }

/* ── Trust bullet lines ── */
.riqueza-trust-lines {
    list-style:     none !important;
    margin:         16px 0 0 !important;
    padding:        0 !important;
    display:        flex;
    flex-direction: column;
    gap:            10px;
    border-top:     1px solid #e5e7eb;
    padding-top:    16px !important;
}
.riqueza-trust-lines li {
    display:     flex;
    align-items: center;
    gap:         10px;
    font-size:   0.85rem;
    color:       #374151;
    font-weight: 400;
}
.riqueza-trust-lines li svg { color: #9ca3af; flex-shrink: 0; }

/* ── Stock urgency bar ── */
.riqueza-stock-urgency { margin: 12px 0; }
.riqueza-stock-text {
    font-size: 0.83rem;
    color:     var(--rq-danger);
    margin:    0 0 5px;
}
.riqueza-stock-bar {
    background:    var(--rq-border);
    border-radius: 40px;
    height:        5px;
    overflow:      hidden;
}
.riqueza-stock-fill {
    height:        100%;
    border-radius: 40px;
    transition:    width 0.6s ease;
}

/* ── Product meta (SKU, Category) ── */
.woocommerce div.product .product_meta {
    font-size:   0.82rem !important;
    color:       #6b7280 !important;
    margin-top:  0 !important;
    padding-top: 16px !important;
    border-top:  1px solid #e5e7eb !important;
    line-height: 2 !important;
    display:     flex !important;
    flex-direction: column !important;
    gap:         4px !important;
}
.woocommerce div.product .product_meta .sku_wrapper,
.woocommerce div.product .product_meta .posted_in,
.woocommerce div.product .product_meta .tagged_as {
    display:     flex !important;
    align-items: center !important;
    gap:         8px !important;
}
.woocommerce div.product .product_meta .sku_wrapper .label,
.woocommerce div.product .product_meta .posted_in::before,
.woocommerce div.product .product_meta .tagged_as::before {
    font-weight:    700 !important;
    color:          #111827 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-size:      0.7rem !important;
}
.woocommerce div.product .product_meta a {
    color:           #374151 !important;
    text-decoration: none !important;
    font-weight:     500 !important;
    font-size:       0.82rem !important;
}
.woocommerce div.product .product_meta a:hover {
    color:           #111827 !important;
    text-decoration: underline !important;
}


/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    padding:       0 !important;
    margin-bottom: 0 !important;
    border-bottom: 2px solid var(--rq-border) !important;
    display:       flex !important;
    gap:           4px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border:        none !important;
    border-radius: 0 !important;
    background:    transparent !important;
    margin:        0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-size:      0.7rem !important;
    font-weight:    700 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    padding:        16px 20px !important;
    color:          #9ca3af !important;
    border-bottom:  2px solid transparent !important;
    transition:     color 0.2s !important;
    display:        block !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: #111827 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color:          #111827 !important;
    border-bottom:  2px solid #111827 !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
    padding:       28px 0 !important;
    border:        none !important;
    margin:        0 !important;
}

/* Related / Upsells */
.woocommerce .related,
.woocommerce .upsells {
    margin-top: 80px !important;
}
.woocommerce .related h2,
.woocommerce .upsells h2 {
    font-family:    'Playfair Display', serif !important;
    font-size:      1.8rem !important;
    font-weight:    700 !important;
    color:          #111827 !important;
    margin-bottom:  32px !important;
    padding-bottom: 16px !important;
    border-bottom:  1px solid #e5e7eb !important;
    position:       relative;
    text-transform: none !important;
}
.woocommerce .related h2::after,
.woocommerce .upsells h2::after {
    display: none !important;
}

/* Related products grid — 4 columns */
.woocommerce .related ul.products,
.woocommerce .upsells ul.products {
    display:               grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap:                   32px !important;
    width:                 100% !important;
}
@media (max-width: 1024px) {
    .woocommerce .related ul.products,
    .woocommerce .upsells ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 640px) {
    .woocommerce .related ul.products,
    .woocommerce .upsells ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* Related product card (Astra wraps in ast-article-single) */
.woocommerce .related ul.products li.product,
.woocommerce .upsells ul.products li.product {
    border:         none !important;
    border-radius:  0 !important;
    background:     transparent !important;
    box-shadow:     none !important;
    padding:        0 !important;
    margin:         0 !important;
    display:        flex !important;
    flex-direction: column !important;
}

/* Astra image wrapper — fixed height, clip for zoom */
.woocommerce .related ul.products li.product .astra-shop-thumbnail-wrap,
.woocommerce .upsells ul.products li.product .astra-shop-thumbnail-wrap {
    overflow:   hidden !important;
    display:    block !important;
    position:   relative !important;
    background: #f9fafb !important;
    border:     1px solid #efefef !important;
    height:     300px !important;
}

/* The <a> link wrapping the image must also fill the container height */
.woocommerce .related ul.products li.product .astra-shop-thumbnail-wrap > a.woocommerce-LoopProduct-link,
.woocommerce .upsells ul.products li.product .astra-shop-thumbnail-wrap > a.woocommerce-LoopProduct-link {
    display:  block !important;
    height:   100% !important;
    overflow: hidden !important;
}

/* Main thumbnail image fills the fixed-height container */
.woocommerce .related ul.products li.product .astra-shop-thumbnail-wrap img.attachment-woocommerce_thumbnail,
.woocommerce .upsells ul.products li.product .astra-shop-thumbnail-wrap img.attachment-woocommerce_thumbnail {
    border-radius: 0 !important;
    border:        none !important;
    width:         100% !important;
    height:        100% !important;
    object-fit:    contain !important;
    object-position: center top !important;
    display:       block !important;
    transition:    transform 0.6s ease !important;
    background: #fff;
}
.woocommerce .related ul.products li.product:hover .astra-shop-thumbnail-wrap img.attachment-woocommerce_thumbnail,
.woocommerce .upsells ul.products li.product:hover .astra-shop-thumbnail-wrap img.attachment-woocommerce_thumbnail {
    transform: scale(1.05) !important;
}

/* Hide Astra's on-hover cart icon overlay */
.woocommerce .related ul.products li.product .ast-on-card-button,
.woocommerce .upsells ul.products li.product .ast-on-card-button {
    display: none !important;
}

/* Quick View link — fade in on hover */
.woocommerce .related ul.products li.product .riqueza-quick-view-btn,
.woocommerce .upsells ul.products li.product .riqueza-quick-view-btn {
    position:        absolute !important;
    bottom:          12px !important;
    left:            50% !important;
    transform:       translateX(-50%) translateY(8px) !important;
    opacity:         0 !important;
    background:      #fff !important;
    color:           #111827 !important;
    border:          1px solid #111827 !important;
    font-size:       0.6rem !important;
    font-weight:     700 !important;
    letter-spacing:  0.15em !important;
    text-transform:  uppercase !important;
    padding:         6px 14px !important;
    white-space:     nowrap !important;
    transition:      opacity 0.2s, transform 0.2s !important;
    text-decoration: none !important;
    z-index:         2 !important;
}
.woocommerce .related ul.products li.product:hover .riqueza-quick-view-btn,
.woocommerce .upsells ul.products li.product:hover .riqueza-quick-view-btn {
    opacity:   1 !important;
    transform: translateX(-50%) translateY(0) !important;
}

/* Astra summary text area */
.woocommerce .related ul.products li.product .astra-shop-summary-wrap,
.woocommerce .upsells ul.products li.product .astra-shop-summary-wrap {
    padding:        12px 0 0 !important;
    display:        flex !important;
    flex-direction: column !important;
    flex:           1 !important;
}

/* Category label — .ast-woo-product-category */
.woocommerce .related ul.products li.product .ast-woo-product-category,
.woocommerce .upsells ul.products li.product .ast-woo-product-category {
    font-size:      0.6rem !important;
    font-weight:    700 !important;
    letter-spacing: 0.2em !important;
    color:          #9ca3af !important;
    text-transform: uppercase !important;
    margin:         0 0 4px !important;
    display:        block !important;
}

/* Related product title */
.woocommerce .related ul.products li.product .woocommerce-loop-product__title,
.woocommerce .upsells ul.products li.product .woocommerce-loop-product__title {
    font-family:    'Playfair Display', serif !important;
    font-size:      1.05rem !important;
    font-weight:    700 !important;
    color:          #111827 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin:         0 0 6px !important;
    padding:        0 !important;
    line-height:    1.3 !important;
}

/* Related product price */
.woocommerce .related ul.products li.product .price,
.woocommerce .upsells ul.products li.product .price {
    font-size:   0.9rem !important;
    font-weight: 600 !important;
    color:       #111827 !important;
    margin:      0 0 14px !important;
    display:     block !important;
}

/* Related product ATC button — outlined, fills on hover */
.woocommerce .related ul.products li.product .astra-shop-summary-wrap .button,
.woocommerce .upsells ul.products li.product .astra-shop-summary-wrap .button {
    display:        block !important;
    width:          100% !important;
    background:     transparent !important;
    border:         1px solid #111827 !important;
    color:          #111827 !important;
    border-radius:  0 !important;
    font-size:      0.65rem !important;
    font-weight:    700 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    padding:        12px 16px !important;
    text-align:     center !important;
    box-shadow:     none !important;
    transition:     background 0.2s, color 0.2s !important;
    margin:     0 !important;
}
.woocommerce .related ul.products li.product .astra-shop-summary-wrap .button:hover,
.woocommerce .upsells ul.products li.product .astra-shop-summary-wrap .button:hover {
    background:  #111827 !important;
    color:       #fff !important;
    transform:   none !important;
    box-shadow:  none !important;
}

/* Sticky Add-to-Cart bar */
.riqueza-sticky-atc {
    position:   fixed;
    bottom:     0;
    left:       0;
    right:      0;
    z-index:    9999;
    background: var(--rq-primary);
    box-shadow: 0 -4px 24px rgba(0,0,0,0.18);
    padding:    14px 24px;
    transform:  translateY(100%);
    transition: transform 0.3s cubic-bezier(0.4,0,0.2,1);
}
.riqueza-sticky-atc.visible {
    transform: translateY(0);
}
.riqueza-sticky-atc-inner {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    max-width:       1200px;
    margin:          0 auto;
    gap:             20px;
}
.riqueza-sticky-atc-product {
    display:     flex;
    align-items: center;
    gap:         16px;
    flex:        1;
    overflow:    hidden;
}
.riqueza-sticky-thumb img {
    width:         50px;
    height:        50px;
    object-fit:    cover;
    border-radius: 6px;
}
.riqueza-sticky-title {
    color:         #fff;
    font-weight:   700;
    font-size:     0.95rem;
    white-space:   nowrap;
    overflow:      hidden;
    text-overflow: ellipsis;
}
.riqueza-sticky-price {
    color:       var(--rq-accent);
    font-weight: 700;
    font-size:   1.1rem;
    white-space: nowrap;
}
.riqueza-sticky-btn {
    background:    var(--rq-btn) !important;
    color:         #fff !important;
    border:        2px solid var(--rq-btn) !important;
    border-radius: var(--rq-radius) !important;
    padding:       12px 28px !important;
    font-weight:   700 !important;
    font-size:     0.88rem !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    cursor:        pointer !important;
    transition:    var(--rq-transition) !important;
    white-space:   nowrap !important;
}
.riqueza-sticky-btn:hover {
    background:   var(--rq-btn-hover) !important;
    border-color: var(--rq-btn-hover) !important;
    transform:    translateY(-1px) !important;
}

/* ════════════════════════════════════════════════════════════
   4. CART PAGE
   ════════════════════════════════════════════════════════════ */

/* ── Cart page title ── */
.woocommerce-cart .woocommerce > h1,
.woocommerce-cart .entry-title {
    font-family:    'Playfair Display', serif !important;
    font-size:      2.4rem !important;
    font-weight:    700 !important;
    color:          #111827 !important;
    margin-bottom:  32px !important;
    text-transform: none !important;
    letter-spacing: -0.01em !important;
}

/* Shipping progress — light card */
.riqueza-shipping-progress {
    background:    #f9fafb;
    border:        1px solid #f3f4f6;
    border-radius: 16px;
    padding:       20px 24px;
    margin-bottom: 32px;
    color:         #374151;
}
.riqueza-shipping-progress-msg {
    font-size:     0.875rem;
    font-weight:   500;
    margin-bottom: 12px;
    display:       flex;
    align-items:   center;
    gap:           8px;
    color:         #374151;
}
.riqueza-shipping-progress-msg strong { color: #111827; font-weight: 700; }
.riqueza-progress-success {
    color:       #16a34a;
    font-weight: 700;
    display:     flex;
    align-items: center;
    gap:         6px;
}
.riqueza-shipping-bar {
    background:    #e5e7eb;
    border-radius: 40px;
    height:        6px;
    overflow:      hidden;
}
.riqueza-shipping-fill {
    height:        100%;
    background:    #111827;
    border-radius: 40px;
    transition:    width 0.8s ease;
}

/* Continue shopping */
.riqueza-continue-shopping { margin-bottom: 20px; }
.riqueza-back-link {
    display:        inline-flex;
    align-items:    center;
    gap:            6px;
    font-size:      0.78rem;
    font-weight:    700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color:          #6b7280 !important;
    text-decoration: none !important;
    transition:     color 0.2s;
}
.riqueza-back-link svg { width: 14px; height: 14px; }
.riqueza-back-link:hover { color: #111827 !important; }

/* ── Cart table ── */
.woocommerce-cart table.woocommerce-cart-form__contents {
    border-radius: 0 !important;
    box-shadow:    none !important;
    border:        none !important;
    background:    transparent !important;
}

/* Table header */
.woocommerce-cart table.shop_table thead {
    background:    transparent !important;
    border-bottom: 1px solid #f3f4f6 !important;
}
.woocommerce-cart table.shop_table thead th {
    color:          #9ca3af !important;
    font-weight:    700 !important;
    font-size:      0.65rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
    padding:        0 16px 16px !important;
    border:         none !important;
    background:     transparent !important;
}

/* Table rows */
.woocommerce-cart table.shop_table tbody tr {
    border-bottom: 1px solid #f3f4f6 !important;
    transition:    background 0.15s !important;

}
.woocommerce-cart table.shop_table tbody tr:hover { background: transparent !important; }
.woocommerce-cart table.shop_table tbody td {
    padding:        20px 10px !important;
    border:         none !important;
    vertical-align: middle !important;
    background:     transparent !important;
    width: 0!important;
}

/* Cart product image */
.woocommerce-cart .product-thumbnail img {
    width:         88px !important;
    height:        88px !important;
    object-fit:    cover !important;
    border-radius: 12px !important;
    border:        1px solid #f3f4f6 !important;
    display:       block !important;
}

/* Cart product name */
.woocommerce-cart .product-name a {
    font-family:     'Playfair Display', serif !important;
    font-weight:     700 !important;
    color:           #111827 !important;
    text-decoration: none !important;
    font-size:       1rem !important;
    line-height:     1.3 !important;
}
.woocommerce-cart .product-name a:hover {
    text-decoration: underline !important;
    color:           #111827 !important;
}

/* Cart quantity input */
.woocommerce-cart .product-quantity .qty {
    border:        1px solid #e5e7eb !important;
    border-radius: 40px !important;
    padding:       8px 16px !important;
    width:         70px !important;
    text-align:    center !important;
    font-size:     0.9rem !important;
    font-weight:   600 !important;
    color:         #111827 !important;
    background:    #fff !important;
    box-shadow:    0 1px 4px rgba(0,0,0,0.06) !important;
    height:        auto !important;
}

/* Cart price */
.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal {
    font-weight: 500 !important;
    color:       #6b7280 !important;
    font-size:   0.9rem !important;
}
.woocommerce-cart .product-subtotal {
    color:       #111827 !important;
    font-weight: 700 !important;
}

/* Cart remove × */
.woocommerce-cart a.remove {
    background:      transparent !important;
    color:           #9ca3af !important;
    font-size:       1.1rem !important;
    line-height:     1 !important;
    border-radius:   50% !important;
    width:           28px !important;
    height:          28px !important;
    display:         flex !important;
    align-items:     center !important;
    justify-content: center !important;
    transition:      color 0.2s !important;
    border:          1px solid transparent !important;
}
.woocommerce-cart a.remove:hover {
    color:        #ef4444 !important;
    border-color: #fee2e2 !important;
    background:   #fff1f2 !important;
}

/* Coupon + actions row — layout handled by td.actions rule below */
.woocommerce-cart .woocommerce-cart-form .actions {
    background: transparent !important;
}
.woocommerce-cart .coupon {
    display: flex !important;
    gap:     0 !important;
}
.woocommerce-cart .coupon input.input-text {
    border:           1px solid #e5e7eb !important;
    border-right:     none !important;
    border-radius:    40px 0 0 40px !important;
    padding:          12px 20px !important;
    font-size:        0.85rem !important;
    height:           auto !important;
    background:       #f9fafb !important;
    color:            #111827 !important;
    min-width:        180px !important;
}
.woocommerce-cart .coupon input.input-text:focus {
    outline:    none !important;
    border-color: #111827 !important;
    background: #fff !important;
}
.woocommerce-cart .coupon .button {
    background:     #111827 !important;
    color:          #fff !important;
    border:         none !important;
    border-radius:  0 40px 40px 0 !important;
    padding:        12px 20px !important;
    font-size:      0.65rem !important;
    font-weight:    700 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    box-shadow:     none !important;
    transform:      none !important;
    cursor:         pointer !important;
}
.woocommerce-cart .coupon .button:hover {
    background:  #374151 !important;
    transform:   none !important;
    box-shadow:  none !important;
}
.site-content .ast-container {
         display: block!important;
    }
/* Update cart button */
.woocommerce-cart .woocommerce-cart-form .actions .button[name="update_cart"] {
    background:     transparent !important;
    border:         none !important;
    color:          #6b7280 !important;
    font-size:      0.65rem !important;
    font-weight:    700 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    padding:        12px 0 !important;
    box-shadow:     none !important;
    transform:      none !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}
.woocommerce-cart .woocommerce-cart-form .actions .button[name="update_cart"]:hover {
    color:     #111827 !important;
    transform: none !important;
}

/* ── Cart totals sidebar ── */
.woocommerce-cart .cart_totals {
    background:    #fff !important;
    border-radius: 24px !important;
    padding:       32px !important;
    border:        1px solid #f3f4f6 !important;
    box-shadow:    0 20px 60px rgba(0,0,0,0.08) !important;
}
.woocommerce-cart .cart_totals h2 {
    font-family:    'Playfair Display', serif !important;
    font-size:      1.3rem !important;
    font-weight:    700 !important;
    color:          #111827 !important;
    margin-bottom:  28px !important;
    padding-bottom: 0 !important;
    border-bottom:  none !important;
    text-transform: none !important;
}
.woocommerce-cart .cart_totals table {
    border: none !important;
    width:  100% !important;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    border:        none !important;
    padding:       12px 0 !important;
    font-size:     0.875rem !important;
    color:         #6b7280 !important;
    font-weight:   400 !important;
    border-bottom: 1px solid #f9fafb !important;
    background:    transparent !important;
}
/* Order total row */
.woocommerce-cart .cart_totals table tr.order-total th,
.woocommerce-cart .cart_totals table tr.order-total td {
    border-bottom:  none !important;
    border-top:     1px solid #f3f4f6 !important;
    padding-top:    20px !important;
    margin-top:     8px !important;
    font-size:      1.1rem !important;
    font-weight:    700 !important;
    color:          #111827 !important;
}
.woocommerce-cart .cart_totals table tr.order-total td .woocommerce-Price-amount {
    font-size: 1.4rem !important;
    font-weight: 700 !important;
}
/* Free shipping label */
.woocommerce-cart .cart_totals .woocommerce-shipping-totals td {
    color: #16a34a !important;
    font-weight: 600 !important;
}

/* Checkout button */
.woocommerce-cart .wc-proceed-to-checkout {
    padding: 0 !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    background:     #111827 !important;
    border:         none !important;
    border-radius:  16px !important;
    font-size:      0.7rem !important;
    font-weight:    700 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    padding:        20px 24px !important;
    box-shadow:     0 8px 24px rgba(0,0,0,0.15) !important;
    margin-top:     16px !important;
    display:        flex !important;
    align-items:    center !important;
    justify-content: center !important;
    gap:            8px !important;
    width:          100% !important;
    transition:     transform 0.15s, box-shadow 0.15s !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    background:  #111827 !important;
    box-shadow:  0 12px 32px rgba(0,0,0,0.2) !important;
    transform:   scale(1.015) !important;
}

/* ── Cart trust row ── */
.riqueza-cart-trust {
    display:        flex;
    flex-direction: row;
    gap:            14px;
    margin-top:     24px;
    padding-top:    24px;
    border-top:     1px solid #f3f4f6;
}
.riqueza-cart-trust span {
    display:         flex !important;
    align-items:     center !important;
    gap:             10px !important;
    font-size:       0.78rem !important;
    font-weight:     500 !important;
    color:           #374151 !important;
    text-decoration: none !important;
}
.riqueza-cart-trust svg {
    width:       16px !important;
    height:      16px !important;
    color:       #111827 !important;
    flex-shrink: 0 !important;
}

/* ── Shipping methods in cart totals sidebar ── */
/* Hide radio buttons */
.woocommerce-cart .cart_totals .woocommerce-shipping-methods input[type="radio"] {
    display: none !important;
}
/* Hide "Shipping to…" destination address */
.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
    display: none !important;
}
/* Clean list */
.woocommerce-cart .cart_totals .woocommerce-shipping-methods {
    list-style: none !important;
    padding:    0 !important;
    margin:     0 !important;
}
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li {
    padding:    4px 0 !important;
}
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li label {
    margin:      0 !important;
    font-size:   0.85rem !important;
    color:       #374151 !important;
    cursor:      default !important;
    font-weight: 400 !important;
}
/* "SHIPMENT 1" row header → discreet small uppercase */
.woocommerce-cart .cart_totals .woocommerce-shipping-totals th {
    font-size:      0.65rem !important;
    font-weight:    700 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color:          #9ca3af !important;
    padding-top:    20px !important;
}
/* Hide calculate shipping toggle & form */
.woocommerce-cart .cart_totals .shipping-calculator-button,
.woocommerce-cart .cart_totals .shipping-calculator-form {
    display: none !important;
}

/* ── Shipping methods in cart table ── */
.woocommerce-cart .woocommerce-shipping-methods {
    list-style: none !important;
    padding:    0 !important;
    margin:     0 !important;
}
.woocommerce-cart .woocommerce-shipping-methods li {
    padding:    6px 0 !important;
    display:    flex !important;
    align-items: center !important;
    gap:        8px !important;
    justify-content: right;
}
.cart-subtotal td[data-title="Subtotaal"] {
    text-align: right;
}
.order-total td[data-title="Totaal"] {
    text-align: right;
}
.woocommerce-cart .woocommerce-shipping-methods input[type="radio"] {
    display: none !important;
}
.woocommerce-cart .woocommerce-shipping-methods label {
    font-size:   0.875rem !important;
    color:       #374151 !important;
    font-weight: 500 !important;
    cursor:      pointer !important;
    margin:      0 !important;
}
/* Shipping section heading ("Shipment 1") */
.woocommerce-cart .woocommerce-shipping-totals th,
.woocommerce-cart .cart_totals .woocommerce-shipping-totals th {
    color:       #374151 !important;
    font-size:   0.78rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
}
/* Free / selected shipping label */
.woocommerce-cart .cart_totals .woocommerce-shipping-totals td {
    font-size:   0.875rem !important;
    color:       #16a34a !important;
    font-weight: 600 !important;
}

/* ── Hide shipping calculator (toggle + form) ── */
.woocommerce-cart .shipping-calculator-button,
.woocommerce-cart .shipping-calculator-form {
    display: none !important;
}

/* ── Remove button — Astra SVG icon ── */
.woocommerce-cart a.remove {
    line-height: 1 !important;
}
.woocommerce-cart a.remove .ahfb-svg-iconset,
.woocommerce-cart a.remove svg {
    display:       flex !important;
    align-items:   center !important;
    justify-content: center !important;
    width:         16px !important;
    height:        16px !important;
    color:         #9ca3af !important;
    fill:          currentColor !important;
    transition:    color 0.2s !important;
}
.woocommerce-cart a.remove:hover .ahfb-svg-iconset,
.woocommerce-cart a.remove:hover svg {
    color: #ef4444 !important;
    fill:  currentColor !important;
}

/* ── Actions TD (colspan=6) — flex layout ── */
.woocommerce-cart table.shop_table td.actions {
    display:         flex !important;
    align-items:     center !important;
    justify-content: space-between !important;
    gap:             16px !important;
    padding:         24px 16px !important;
    border-top:      1px solid #f3f4f6 !important;
    border-bottom:   none !important;
    background:      transparent !important;
}

/* ── Cart trust inside form ── */
.woocommerce-cart .woocommerce-cart-form .riqueza-cart-trust {
    margin-top:  32px !important;
    padding:     24px 16px !important;
    border-top:  1px solid #f3f4f6 !important;
}

/* ── Cart page 2-column layout (table left · totals right) ── */
.woocommerce-cart .woocommerce {
    display:     flex !important;
    flex-wrap:   wrap !important;
    align-items: flex-start !important;
    gap:         0 48px !important;
}
/* Full-width items that sit above the two columns */
.woocommerce-cart .woocommerce > .riqueza-shipping-progress,
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > .woocommerce-info,
.woocommerce-cart .woocommerce > .woocommerce-error,
.woocommerce-cart .woocommerce > .woocommerce-message {
    flex:  0 0 100% !important;
    width: 100% !important;
}
/* Left column — cart form (table + trust) */
.woocommerce-cart .woocommerce > form.woocommerce-cart-form {
    flex:      1 1 0 !important;
    min-width: 0 !important;
}
/* Right column — cart totals */
.woocommerce-cart .woocommerce > .cart-collaterals {
    flex:  0 0 380px !important;
    width: 380px !important;
}
/* Remove default float so our flex column is used */
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
    float: none !important;
    width: 100% !important;
}

/* ════════════════════════════════════════════════════════════
   5. CHECKOUT PAGE — Riqueza Editorial Style
      (Playfair Display headings · Inter body · sharp corners
       · pure black/white · minimalist dot stepper)
   ════════════════════════════════════════════════════════════ */

/* Base typography on checkout */
.woocommerce-checkout {
    font-family: 'Inter', sans-serif !important;
    color:       #111827 !important;
}

/* ── Page heading ── */
.woocommerce-checkout .woocommerce > h1,
.woocommerce-checkout .entry-title {
    font-family:    'Playfair Display', serif !important;
    font-size:      2.8rem !important;
    font-weight:    700 !important;
    text-align:     center !important;
    color:          #000 !important;
    margin-bottom:  48px !important;
    letter-spacing: -0.01em !important;
}

/* ── Minimalist dot stepper ── */
.riqueza-checkout-steps {
    max-width:     620px !important;
    margin:        0 auto 48px !important;
    padding:       0 16px !important;
    box-sizing:    border-box !important;
}
.riqueza-steps-row {
    display:     flex !important;
    align-items: flex-start !important;
    width:       100% !important;
    position:    relative !important;
}

/* Step: dot + label stacked */
.riqueza-dot-step {
    display:         flex !important;
    flex-direction:  column !important;
    align-items:     center !important;
    gap:             8px !important;
    flex:            0 0 auto !important;
    position:        relative !important;
    z-index:         1 !important;
}

/* Connector line — the horizontal bar between steps */
.riqueza-step-connector {
    display:    block !important;
    flex:       1 1 0% !important;
    height:     2px !important;
    min-height: 2px !important;
    max-height: 2px !important;
    align-self: flex-start !important;
    margin-top: 8px !important;       /* center on 18px dot */
    background: #e2e8f0 !important;
    border:     none !important;
    padding:    0 !important;
    z-index:    0 !important;
}
.riqueza-step-connector--completed {
    background: #111827 !important;
}

/* Dot circle */
.riqueza-dot {
    display:       block !important;
    width:         18px !important;
    height:        18px !important;
    border-radius: 50% !important;
    background:    #fff !important;
    border:        2px solid #cbd5e1 !important;
    position:      relative !important;
    flex-shrink:   0 !important;
    box-sizing:    border-box !important;
    transition:    background 0.25s, border-color 0.25s !important;
}
/* Completed — solid black fill */
.riqueza-dot-step--completed .riqueza-dot {
    background:   #111827 !important;
    border-color: #111827 !important;
}
/* Completed checkmark */
.riqueza-dot-step--completed .riqueza-dot::after {
    content:     '' !important;
    position:    absolute !important;
    top:         5px !important;
    left:        3px !important;
    width:       9px !important;
    height:      5px !important;
    border-left: 2px solid #fff !important;
    border-bottom: 2px solid #fff !important;
    transform:   rotate(-45deg) !important;
}
/* Active — white with black border + inner dot */
.riqueza-dot-step--active .riqueza-dot {
    background:   #fff !important;
    border-color: #111827 !important;
    border-width: 2px !important;
    box-shadow:   0 0 0 3px rgba(17,24,39,0.12) !important;
}
.riqueza-dot-step--active .riqueza-dot::after {
    content:       '' !important;
    position:      absolute !important;
    top:           50% !important;
    left:          50% !important;
    transform:     translate(-50%, -50%) !important;
    width:         7px !important;
    height:        7px !important;
    border-radius: 50% !important;
    background:    #111827 !important;
    border:        none !important;
}

/* Label */
.riqueza-dot-label {
    font-size:      9px !important;
    font-weight:    700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color:          #94a3b8 !important;
    white-space:    nowrap !important;
    line-height:    1 !important;
}
.riqueza-dot-step--completed .riqueza-dot-label { color: #374151 !important; }
.riqueza-dot-step--active    .riqueza-dot-label { color: #111827 !important; font-weight: 800 !important; }

/* ── Section headings inside checkout ── */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
    font-family:   'Playfair Display', serif !important;
    font-size:     1.5rem !important;
    font-weight:   700 !important;
    color:         #000 !important;
    margin-bottom: 24px !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
    letter-spacing: -0.01em !important;
}

/* ── Coupon notice (woo info bar) ── */
.woocommerce-checkout .woocommerce-info {
    background:    #f9fafb !important;
    border:        1px solid #e5e7eb !important;
    border-radius: 0 !important;
    padding:       14px 20px !important;
    font-size:     0.88rem !important;
    color:         #6b7280 !important;
    margin-bottom: 40px !important;
    box-shadow:    none !important;
}
.woocommerce-checkout .woocommerce-info a {
    color:           #000 !important;
    font-weight:     600 !important;
    text-decoration: underline !important;
}

/* ── Form field labels ── */
.woocommerce-checkout .woocommerce form .form-row label,
.woocommerce-checkout .form-row label {
    font-family:    'Inter', sans-serif !important;
    font-size:      11px !important;
    font-weight:    700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color:          #111827 !important;
    margin-bottom:  8px !important;
    display:        block !important;
}
.woocommerce-checkout .form-row .required { color: #9ca3af !important; }

/* ── Form inputs — sharp corners, thin 1px border, black focus ── */
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea,
.woocommerce-checkout .woocommerce form .input-text,
.woocommerce-checkout .woocommerce form select,
.woocommerce-checkout .woocommerce form textarea {
    font-family:   'Inter', sans-serif !important;
    border:        1px solid #e5e7eb !important;
    border-radius: 0 !important;
    padding:       14px 16px !important;
    font-size:     0.875rem !important;
    color:         #111827 !important;
    background:    #fff !important;
    height:        auto !important;
    transition:    border-color 0.15s, box-shadow 0.15s !important;
    width:         100% !important;
    box-shadow:    none !important;
}
.woocommerce-checkout .woocommerce form .input-text:focus,
.woocommerce-checkout .woocommerce form select:focus,
.woocommerce-checkout .woocommerce form textarea:focus {
    border-color: #000 !important;
    box-shadow:   0 0 0 1px #000 !important;
    outline:      none !important;
}

/* ══════════════════════════════════════════════════════════
   ORDER REVIEW SIDEBAR — full redesign
   ══════════════════════════════════════════════════════════ */

/* Sticky wrapper */
#order_review {
    position: sticky !important;
    top:      24px !important;
}

/* Panel card */
.woocommerce-checkout-review-order {
    background:    #fff !important;
    border:        1px solid #e5e7eb !important;
    border-radius: 0 !important;
    padding:       0 !important;
    box-shadow:    0 1px 8px rgba(0,0,0,0.06) !important;
    overflow:      hidden !important;
}

/* "Your Order" header bar */
.woocommerce-checkout #order_review_heading {
    font-family:    'Playfair Display', serif !important;
    font-size:      1.1rem !important;
    font-weight:    700 !important;
    color:          #fff !important;
    background:     #111827 !important;
    margin:         0 !important;
    padding:        18px 28px !important;
    border-bottom:  none !important;
    letter-spacing: 0.02em !important;
}

/* Table wrapper */
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
    margin:  0 !important;
    padding: 0 !important;
}
.woocommerce-checkout #order_review table.shop_table {
    border:  none !important;
    width:   100% !important;
    margin:  0 !important;
}

/* Hide the "Product / Subtotal" thead */
.woocommerce-checkout #order_review table.shop_table thead {
    display: none !important;
}

/* Product rows */
.woocommerce-checkout #order_review table.shop_table tbody tr {
    border-bottom: 1px solid #f1f5f9 !important;
}
.woocommerce-checkout #order_review table.shop_table tbody tr:last-child {
    border-bottom: none !important;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
    border:        none !important;
    padding:       14px 28px !important;
    font-size:     0.875rem !important;
    color:         #374151 !important;
    vertical-align: middle !important;
}
/* Product name cell */
.woocommerce-checkout #order_review table.shop_table .product-name {
    font-weight: 500 !important;
    color:       #111827 !important;
    font-size:   0.875rem !important;
    line-height: 1.4 !important;
}
.woocommerce-checkout #order_review table.shop_table .product-name .quantity {
    display:     inline !important;
    font-size:   0.8rem !important;
    color:       #6b7280 !important;
    font-weight: 400 !important;
    margin-left: 4px !important;
}
/* Price cell */
.woocommerce-checkout #order_review table.shop_table .product-total {
    text-align:  right !important;
    font-weight: 600 !important;
    color:       #111827 !important;
    white-space: nowrap !important;
}

/* Totals section (tfoot) */
.woocommerce-checkout #order_review table.shop_table tfoot {
    border-top: 2px solid #f1f5f9 !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr {
    border-bottom: 1px solid #f1f5f9 !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr:last-child {
    border-bottom: none !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot th {
    font-size:   0.8rem !important;
    font-weight: 600 !important;
    color:       #6b7280 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot td {
    text-align:  right !important;
    font-weight: 600 !important;
    color:       #111827 !important;
}
/* Grand total row */
.woocommerce-checkout #order_review table.shop_table tfoot .order-total {
    background: #f8fafc !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot .order-total th,
.woocommerce-checkout #order_review table.shop_table tfoot .order-total td {
    font-family:   'Playfair Display', serif !important;
    font-size:     1.5rem !important;
    font-weight:   700 !important;
    color:         #000 !important;
    border-top:    2px solid #e5e7eb !important;
    padding-top:   20px !important;
    padding-bottom: 20px !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot .order-total td * {
    font-family: 'Playfair Display', serif !important;
    font-size:   1.5rem !important;
    font-weight: 700 !important;
    color:       #000 !important;
}

/* Payment section wrapper inside sidebar */
.woocommerce-checkout #payment {
    background:    transparent !important;
    border-radius: 0 !important;
    border:        none !important;
    border-top:    1px solid #e5e7eb !important;
    overflow:      visible !important;
    padding:       28px !important;
}
/* Payment heading */
.woocommerce-checkout #payment > h3,
.woocommerce-checkout #payment .wc_payment_methods_heading {
    font-family:    'Playfair Display', serif !important;
    font-size:      1rem !important;
    font-weight:    700 !important;
    color:          #111827 !important;
    margin:         0 0 16px !important;
}

/* ══════════════════════════════════════════════════════════
   PAYMENT METHODS — Professional Mollie/WooCommerce Design
   ══════════════════════════════════════════════════════════ */

/* Section heading above methods */
.woocommerce-checkout #payment::before {
    content:        'Betaalmethode';
    display:        block;
    font-family:    'Inter', sans-serif;
    font-size:      0.68rem;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color:          #6b7280;
    margin-bottom:  14px;
}

/* Methods list */
.woocommerce-checkout #payment ul.payment_methods {
    padding:        0 !important;
    border:         none !important;
    margin:         0 0 24px !important;
    list-style:     none !important;
    display:        flex !important;
    flex-direction: column !important;
    gap:            8px !important;
}

/* Each method card */
.woocommerce-checkout #payment .wc_payment_method {
    border:        1px solid #e5e7eb !important;
    border-radius: 6px !important;
    background:    #fff !important;
    overflow:      hidden !important;
    transition:    border-color 0.2s, box-shadow 0.2s !important;
}
.woocommerce-checkout #payment .wc_payment_method:hover {
    border-color: #9ca3af !important;
}
.woocommerce-checkout #payment .wc_payment_method:has(input:checked) {
    border-color: #111827 !important;
    box-shadow:   0 0 0 1.5px #111827 !important;
}

/* Method label row: radio + name + icon */
.woocommerce-checkout #payment .wc_payment_method > label {
    display:         flex !important;
    align-items:     center !important;
    gap:             12px !important;
    padding:         14px 16px !important;
    cursor:          pointer !important;
    font-family:     'Inter', sans-serif !important;
    font-size:       0.875rem !important;
    font-weight:     600 !important;
    color:           #111827 !important;
    letter-spacing:  0 !important;
    text-transform:  none !important;
    background:      transparent !important;
    border-bottom:   none !important;
    margin:          0 !important;
    width:           100% !important;
    box-sizing:      border-box !important;
}
/* Push icon to the right */
.woocommerce-checkout #payment .wc_payment_method > label .mollie-gateway-icon {
    margin-left:  auto !important;
    height:       24px !important;
    width:        auto !important;
    max-width:    80px !important;
    object-fit:   contain !important;
    border-radius: 3px !important;
}

/* ── Hide radio buttons — selection shown via card border ── */
.woocommerce-checkout #payment input[type="radio"],
.woocommerce-checkout #payment .input-radio {
    display: none !important;
}

/* ── Mollie card fields (payment_box) ── */
.woocommerce-checkout #payment .payment_box {
    padding:    0 16px 20px !important;
    background: #fafafa !important;
    border-top: 1px solid #f1f5f9 !important;
    margin-top: 0 !important;
}

/* Mollie field wrapper grid: stack vertically, expiry+cvc side by side */
.woocommerce-checkout .mollie-components {
    display:               grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap:                   12px !important;
    padding-top:           16px !important;
}
/* Full-width fields */
.woocommerce-checkout .mollie-components > #cardHolder,
.woocommerce-checkout .mollie-components > #cardNumber {
    grid-column: 1 / -1 !important;
}

/* Field label */
.woocommerce-checkout .mollie-component-label {
    display:        block !important;
    font-family:    'Inter', sans-serif !important;
    font-size:      0.65rem !important;
    font-weight:    700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color:          #374151 !important;
    margin-bottom:  6px !important;
}

/* Mollie component container — style like an input */
.woocommerce-checkout .mollie-component {
    border:        1px solid #e5e7eb !important;
    border-radius: 4px !important;
    padding:       11px 12px !important;
    background:    #fff !important;
    cursor:        text !important;
    min-height:    42px !important;
    display:       flex !important;
    align-items:   center !important;
    transition:    border-color 0.15s, box-shadow 0.15s !important;
    position:      relative !important;
}
.woocommerce-checkout .mollie-component iframe {
    height:         20px !important;
    vertical-align: middle !important;
}

/* Mollie "Secure payments by" footer */
.woocommerce-checkout .mollie-components-description {
    grid-column:    1 / -1 !important;
    display:        flex !important;
    align-items:    center !important;
    gap:            6px !important;
    font-size:      0.7rem !important;
    color:          #9ca3af !important;
    margin-top:     4px !important;
    padding-top:    0 !important;
}
.woocommerce-checkout .mollie-components-description svg {
    flex-shrink: 0 !important;
    opacity:     0.5 !important;
}

/* Error messages under Mollie fields */
.woocommerce-checkout [id$="-errors"] {
    font-size:  0.72rem !important;
    color:      #ef4444 !important;
    margin-top: 4px !important;
    min-height: 0 !important;
}

/* ── Place Order section ── */
.woocommerce-checkout .form-row.place-order {
    padding:    0 !important;
    margin-top: 0 !important;
}

/* Privacy text */
.woocommerce-checkout .woocommerce-privacy-policy-text {
    font-size:   0.72rem !important;
    color:       #9ca3af !important;
    line-height: 1.6 !important;
    margin:      0 0 16px !important;
    text-align:  center !important;
}
.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color:           #6b7280 !important;
    text-decoration: underline !important;
    font-weight:     500 !important;
}

/* Place Order button */
.woocommerce-checkout #place_order {
    background:     #111827 !important;
    border:         none !important;
    border-radius:  6px !important;
    padding:        18px 32px !important;
    font-family:    'Inter', sans-serif !important;
    font-size:      0.72rem !important;
    font-weight:    700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color:          #fff !important;
    width:          100% !important;
    cursor:         pointer !important;
    transition:     background 0.2s, transform 0.15s !important;
    box-shadow:     0 2px 12px rgba(17,24,39,0.25) !important;
    display:        block !important;
    margin-bottom:  0 !important;
}
.woocommerce-checkout #place_order:hover {
    background:  #1f2937 !important;
    transform:   translateY(-1px) !important;
    box-shadow:  0 6px 20px rgba(17,24,39,0.30) !important;
}

/* ── Trust badges — 3-column below button ── */
.riqueza-checkout-trust {
    margin-top:            80px;
    padding-top:           16px;
    border-top:            1px solid #f1f5f9;
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    gap:                   0;
}

.riqueza-checkout-trust-item {
    display:        flex;
    flex-direction: column;
    align-items:    center;
    text-align:     center;
    gap:            6px;
    padding:        12px 4px;
    background:     transparent;
    border:         none;
    border-radius:  0;
}
.riqueza-checkout-trust-item + .riqueza-checkout-trust-item {
    border-left: 1px solid #f1f5f9;
}
.riqueza-checkout-trust-item svg {
    width:        18px;
    height:       18px;
    color:        #374151;
    flex-shrink:  0;
    stroke-width: 1.5;
}
.riqueza-checkout-trust-item span {
    font-size:      0.58rem;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color:          #6b7280;
    line-height:    1.3;
}

/* ════════════════════════════════════════════════════════════
   6. NOTICES
   ════════════════════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: var(--rq-radius) !important;
    border:        none !important;
    padding:       16px 20px 16px 52px !important;
    font-size:     0.92rem !important;
    margin-bottom: 20px !important;
    box-shadow:    var(--rq-shadow) !important;
}
.woocommerce-message {
    background: #eafaf1 !important;
    color:      #1a5c33 !important;
}
.woocommerce-info {
    background: #eaf4fd !important;
    color:      #154c79 !important;
}
.woocommerce-error {
    background: #fdecea !important;
    color:      #7b1515 !important;
}

/* ════════════════════════════════════════════════════════════
   6B. ASTRA-SPECIFIC OVERRIDES
   Target Astra's own WooCommerce wrapper classes & elements
   ════════════════════════════════════════════════════════════ */

/* Astra main WooCommerce container */
.ast-woocommerce-container {
    max-width: 100%;
}

/* Astra shop archive body class — ensure our header sits correctly */
.ast-woo-shop-archive .riqueza-shop-header {
    margin-top: 0;
}

/* Astra's native +/- quantity buttons */
.woocommerce .quantity .minus,
.woocommerce .quantity .plus {
    background:    var(--rq-light) !important;
    border:        2px solid var(--rq-border) !important;
    color:         var(--rq-primary) !important;
    font-size:     1.2rem !important;
    font-weight:   700 !important;
    width:         42px !important;
    height:        52px !important;
    display:       inline-flex !important;
    align-items:   center !important;
    justify-content: center !important;
    cursor:        pointer !important;
    transition:    var(--rq-transition) !important;
    line-height:   1 !important;
}
.woocommerce .quantity .minus {
    border-radius: var(--rq-radius) 0 0 var(--rq-radius) !important;
    border-right:  none !important;
}
.woocommerce .quantity .plus {
    border-radius: 0 var(--rq-radius) var(--rq-radius) 0 !important;
    border-left:   none !important;
}
.woocommerce .quantity .minus:hover,
.woocommerce .quantity .plus:hover {
    background:    var(--rq-accent) !important;
    border-color:  var(--rq-accent) !important;
    color:         #fff !important;
}

/* Astra's sticky add-to-cart bar (when user enables it in Customizer) */
.woocommerce .ast-sticky-add-to-cart {
    background:  var(--rq-primary) !important;
    box-shadow:  0 -4px 24px rgba(0,0,0,0.18) !important;
}
.woocommerce .ast-sticky-add-to-cart .button.alt {
    background:    var(--rq-btn) !important;
    border:        2px solid var(--rq-btn) !important;
    border-radius: var(--rq-radius) !important;
    font-weight:   700 !important;
    letter-spacing: 0.05em !important;
}
.woocommerce .ast-sticky-add-to-cart .button.alt:hover {
    background:   var(--rq-btn-hover) !important;
    border-color: var(--rq-btn-hover) !important;
}
.woocommerce .ast-sticky-add-to-cart .ast-sticky-add-to-cart-product-title {
    color:       #fff !important;
    font-weight: 700 !important;
}
.woocommerce .ast-sticky-add-to-cart .ast-sticky-add-to-cart-product-price {
    color: var(--rq-accent) !important;
}

/* Astra product category label on shop loop */
.ast-woo-product-category {
    color:       var(--rq-text-muted) !important;
    font-size:   0.78rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    display:     block !important;
    margin:      8px 16px 2px !important;
}

/* Astra modern add-to-cart button on loop */
.woocommerce ul.products li.product .ast-loop-add-to-cart-wrap .button {
    width:   calc(100% - 32px) !important;
    margin:  0 16px 16px !important;
}

/* ════════════════════════════════════════════════════════════
   6C. SIDEBAR / WIDGET AREA
   Astra sidebar: #secondary, .primary-sidebar, .widget-area
   ════════════════════════════════════════════════════════════ */

/* Sidebar container */
#secondary.widget-area,
.primary-sidebar,
.secondary-sidebar,
.ast-right-sidebar #secondary,
.ast-left-sidebar #secondary {
    padding: 0 !important;
}

/* Individual widget card */
#secondary .widget,
.primary-sidebar .widget,
.widget-area .widget {
    background:    #fff;
    border:        1px solid var(--rq-border);
    border-radius: var(--rq-radius-lg);
    padding:       24px 22px;
    margin-bottom: 24px !important;
    box-shadow:    var(--rq-shadow);
}

/* Widget title */
#secondary .widget-title,
#secondary .widgettitle,
.primary-sidebar .widget-title,
.primary-sidebar .widgettitle,
.widget-area .widget-title,
.widget-area .widgettitle {
    font-size:      0.7rem !important;
    font-weight:    800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color:          var(--rq-primary) !important;
    margin:         0 0 18px !important;
    padding-bottom: 12px !important;
    border-bottom:  2px solid var(--rq-border) !important;
    position:       relative !important;
}
#secondary .widget-title::after,
.primary-sidebar .widget-title::after {
    content:    '';
    position:   absolute;
    bottom:     -2px;
    left:       0;
    width:      36px;
    height:     2px;
    background: var(--rq-primary);
}

/* ── WooCommerce: Product Categories widget ── */
.woocommerce .widget_product_categories ul,
.widget.woocommerce.widget_product_categories ul {
    list-style: none !important;
    margin:     0 !important;
    padding:    0 !important;
}
.woocommerce .widget_product_categories ul li,
.widget.woocommerce.widget_product_categories ul li {
    border-bottom: 1px solid var(--rq-border) !important;
    margin:        0 !important;
}
.woocommerce .widget_product_categories ul li:last-child {
    border-bottom: none !important;
}
.woocommerce .widget_product_categories ul li a {
    display:         flex !important;
    align-items:     center !important;
    justify-content: space-between !important;
    padding:         10px 0 !important;
    font-size:       0.88rem !important;
    font-weight:     500 !important;
    color:           var(--rq-text) !important;
    text-decoration: none !important;
    transition:      color 0.2s !important;
}
.woocommerce .widget_product_categories ul li a:hover {
    color: var(--rq-primary) !important;
    font-weight: 700 !important;
}
.woocommerce .widget_product_categories .count {
    font-size:     0.75rem !important;
    color:         var(--rq-text-muted) !important;
    background:    var(--rq-light) !important;
    border:        1px solid var(--rq-border) !important;
    border-radius: 20px !important;
    padding:       2px 8px !important;
    font-weight:   600 !important;
}
.woocommerce .widget_product_categories .current-cat > a {
    color:       var(--rq-primary) !important;
    font-weight: 700 !important;
}

/* ── WooCommerce: Price Filter widget ── */
.woocommerce .widget_price_filter .price_slider_wrapper {
    padding: 4px 0 !important;
}
.woocommerce .widget_price_filter .ui-slider {
    background:    var(--rq-border) !important;
    border-radius: 40px !important;
    height:        4px !important;
    margin:        16px 0 !important;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
    background:    var(--rq-primary) !important;
    border-radius: 40px !important;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
    background:    #fff !important;
    border:        2px solid var(--rq-primary) !important;
    border-radius: 50% !important;
    width:         18px !important;
    height:        18px !important;
    top:           -7px !important;
    cursor:        grab !important;
    box-shadow:    0 2px 6px rgba(0,0,0,0.15) !important;
    transition:    box-shadow 0.2s !important;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle:focus,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle:active {
    box-shadow:    0 0 0 3px rgba(0,0,0,0.12) !important;
    outline:       none !important;
    cursor:        grabbing !important;
}
.woocommerce .widget_price_filter .price_slider_amount {
    display:         flex !important;
    align-items:     center !important;
    justify-content: space-between !important;
    flex-wrap:       wrap !important;
    gap:             8px !important;
    margin-top:      12px !important;
}
.woocommerce .widget_price_filter .price_slider_amount .button {
    padding:       10px 20px !important;
    font-size:     0.78rem !important;
    font-weight:   700 !important;
    border-radius: var(--rq-radius) !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}
.woocommerce .widget_price_filter .price_slider_amount .price_label {
    font-size:   0.85rem !important;
    font-weight: 600 !important;
    color:       var(--rq-text) !important;
}
.woocommerce .widget_price_filter .price_slider_amount .price_label span {
    color: var(--rq-primary) !important;
}

/* ── WooCommerce: Layered Nav (Attribute/Tag filters) ── */
.woocommerce .widget_layered_nav ul,
.woocommerce .widget_layered_nav_filters ul {
    list-style: none !important;
    margin:     0 !important;
    padding:    0 !important;
}
.woocommerce .widget_layered_nav ul li {
    border-bottom: 1px solid var(--rq-border) !important;
    margin:        0 !important;
}
.woocommerce .widget_layered_nav ul li:last-child { border-bottom: none !important; }
.woocommerce .widget_layered_nav ul li a {
    display:         flex !important;
    align-items:     center !important;
    justify-content: space-between !important;
    padding:         9px 0 !important;
    font-size:       0.88rem !important;
    font-weight:     500 !important;
    color:           var(--rq-text) !important;
    text-decoration: none !important;
    transition:      color 0.2s !important;
    gap:             8px !important;
}
.woocommerce .widget_layered_nav ul li a::before {
    content:       '';
    display:       inline-block;
    width:         14px;
    height:        14px;
    min-width:     14px;
    border:        1.5px solid var(--rq-border);
    border-radius: 3px;
    transition:    border-color 0.15s, background 0.15s;
}
.woocommerce .widget_layered_nav ul li a:hover::before,
.woocommerce .widget_layered_nav ul li.chosen a::before {
    border-color: var(--rq-primary) !important;
    background:   var(--rq-primary) !important;
}
.woocommerce .widget_layered_nav ul li a:hover { color: var(--rq-primary) !important; }
.woocommerce .widget_layered_nav ul li.chosen a { color: var(--rq-primary) !important; font-weight: 700 !important; }
.woocommerce .widget_layered_nav .count {
    font-size:     0.72rem !important;
    color:         var(--rq-text-muted) !important;
    background:    var(--rq-light) !important;
    border:        1px solid var(--rq-border) !important;
    border-radius: 20px !important;
    padding:       2px 7px !important;
    margin-left:   auto !important;
}

/* ── WooCommerce: Active Filters widget ── */
.woocommerce .widget_layered_nav_filters ul {
    display:   flex !important;
    flex-wrap: wrap !important;
    gap:       6px !important;
}
.woocommerce .widget_layered_nav_filters ul li {
    border: none !important;
}
.woocommerce .widget_layered_nav_filters ul li a {
    display:        inline-flex !important;
    align-items:    center !important;
    gap:            5px !important;
    padding:        5px 10px !important;
    background:     var(--rq-primary) !important;
    color:          #fff !important;
    border-radius:  20px !important;
    font-size:      0.75rem !important;
    font-weight:    600 !important;
    text-decoration: none !important;
    transition:     background 0.2s !important;
}
.woocommerce .widget_layered_nav_filters ul li a:hover {
    background: var(--rq-btn-hover) !important;
    color:      #fff !important;
}
.woocommerce .widget_layered_nav_filters ul li a::before {
    content:   '×' !important;
    font-size: 1.1em !important;
    border:    none !important;
    background: transparent !important;
    border-radius: 0 !important;
    width:     auto !important;
    height:    auto !important;
    display:   inline !important;
    font-weight: 400 !important;
}

/* ── WooCommerce: Product Search widget ── */
.woocommerce .widget_product_search form {
    display: flex !important;
    gap:     0 !important;
}
.woocommerce .widget_product_search input[type="search"] {
    flex:          1 !important;
    border:        1.5px solid var(--rq-border) !important;
    border-right:  none !important;
    border-radius: var(--rq-radius) 0 0 var(--rq-radius) !important;
    padding:       10px 14px !important;
    font-size:     0.88rem !important;
    color:         var(--rq-text) !important;
    outline:       none !important;
    transition:    border-color 0.2s !important;
}
.woocommerce .widget_product_search input[type="search"]:focus {
    border-color: var(--rq-primary) !important;
}
.woocommerce .widget_product_search button[type="submit"],
.woocommerce .widget_product_search input[type="submit"] {
    background:    var(--rq-btn) !important;
    color:         #fff !important;
    border:        none !important;
    border-radius: 0 var(--rq-radius) var(--rq-radius) 0 !important;
    padding:       10px 16px !important;
    font-size:     0.82rem !important;
    font-weight:   700 !important;
    cursor:        pointer !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition:    background 0.2s !important;
}
.woocommerce .widget_product_search button[type="submit"]:hover {
    background: var(--rq-btn-hover) !important;
}

/* ── WooCommerce: Recent Products / Top Rated ── */
.woocommerce .widget_products ul,
.woocommerce .widget_top_rated_products ul,
.woocommerce .widget_recently_viewed_products ul,
.woocommerce .widget_recent_reviews ul {
    list-style: none !important;
    margin:     0 !important;
    padding:    0 !important;
}
.woocommerce .widget_products ul li,
.woocommerce .widget_top_rated_products ul li,
.woocommerce .widget_recently_viewed_products ul li,
.woocommerce .widget_recent_reviews ul li {
    display:       flex !important;
    align-items:   center !important;
    gap:           12px !important;
    padding:       10px 0 !important;
    border-bottom: 1px solid var(--rq-border) !important;
}
.woocommerce .widget_products ul li:last-child,
.woocommerce .widget_top_rated_products ul li:last-child,
.woocommerce .widget_recently_viewed_products ul li:last-child {
    border-bottom: none !important;
}
.woocommerce .widget_products ul li img,
.woocommerce .widget_top_rated_products ul li img,
.woocommerce .widget_recently_viewed_products ul li img {
    width:         56px !important;
    height:        56px !important;
    object-fit:    cover !important;
    border-radius: var(--rq-radius) !important;
    border:        1px solid var(--rq-border) !important;
    flex-shrink:   0 !important;
}
.woocommerce .widget_products .product-title,
.woocommerce .widget_top_rated_products .product-title,
.woocommerce .widget_recently_viewed_products .product-title {
    font-size:       0.88rem !important;
    font-weight:     600 !important;
    color:           var(--rq-primary) !important;
    text-decoration: none !important;
    display:         block !important;
    margin-bottom:   3px !important;
    line-height:     1.3 !important;
}
.woocommerce .widget_products .amount,
.woocommerce .widget_top_rated_products .amount,
.woocommerce .widget_recently_viewed_products .amount {
    font-size:   0.85rem !important;
    font-weight: 700 !important;
    color:       var(--rq-primary) !important;
}

/* ════════════════════════════════════════════════════════════
   7. CART DRAWER (SLIDE-IN CART)
   ════════════════════════════════════════════════════════════ */

/* Prevent body scroll when drawer is open */
body.riqueza-drawer-is-open {
    overflow: hidden;
}

/* ── CART DRAWER ─────────────────────────────────────────── */

/* Overlay */
.riqueza-cart-drawer-overlay {
    position:        fixed;
    inset:           0;
    background:      rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(3px);
    z-index:         10000;
    opacity:         0;
    visibility:      hidden;
    transition:      opacity 0.35s ease, visibility 0.35s ease;
}
.riqueza-cart-drawer-overlay.is-visible {
    opacity:    1;
    visibility: visible;
}

/* Drawer container */
.riqueza-cart-drawer {
    position:       fixed;
    top:            0;
    right:          0;
    bottom:         0;
    width:          100%;
    max-width:      440px;
    z-index:        10001;
    background:     #fff;
    box-shadow:     -8px 0 48px rgba(0,0,0,0.18);
    display:        flex;
    flex-direction: column;
    transform:      translateX(100%);
    transition:     transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.4s;
    visibility:     hidden;
}
.riqueza-cart-drawer.is-open {
    transform:  translateX(0);
    visibility: visible;
}

/* Header — dark bar */
.riqueza-cart-drawer-header {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    padding:         18px 24px;
    background:      #111;
    flex-shrink:     0;
}
.riqueza-cart-drawer-title {
    font-size:      0.95rem;
    font-weight:    700;
    color:          #fff;
    margin:         0;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    display:        flex;
    align-items:    center;
    gap:            8px;
}
.riqueza-drawer-count {
    font-size:   0.8rem;
    font-weight: 400;
    color:       rgba(255,255,255,0.55);
    letter-spacing: 0;
}
.riqueza-cart-drawer-close {
    background:  transparent;
    border:      none;
    padding:     6px;
    cursor:      pointer;
    color:       rgba(255,255,255,0.6);
    line-height: 1;
    border-radius: 50%;
    transition:  color 0.2s, transform 0.25s;
}
.riqueza-cart-drawer-close svg {
    width:   22px;
    height:  22px;
    display: block;
}
.riqueza-cart-drawer-close:hover {
    color:     #fff;
    transform: rotate(90deg);
}

/* Body — scrollable product list */
.riqueza-cart-drawer-body {
    flex-grow:                  1;
    overflow-y:                 auto;
    -webkit-overflow-scrolling: touch;
}
.riqueza-cart-drawer-body::-webkit-scrollbar       { width: 4px; }
.riqueza-cart-drawer-body::-webkit-scrollbar-track { background: #f5f5f5; }
.riqueza-cart-drawer-body::-webkit-scrollbar-thumb { background: #ddd; border-radius: 2px; }

.riqueza-cart-drawer .widget_shopping_cart_content {
    padding:        0;
    display:        flex;
    flex-direction: column;
    min-height:     100%;
}

/* Mini-cart item list */
.riqueza-cart-drawer .woocommerce-mini-cart {
    padding:    0 24px;
    margin:     0;
    list-style: none;
}
.riqueza-cart-drawer .woocommerce-mini-cart-item {
    padding:     20px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    display:     flex !important;
    align-items: flex-start !important;
    gap:         14px;
    position:    relative;
}
.riqueza-cart-drawer .woocommerce-mini-cart-item:last-child {
    border-bottom: none !important;
}

/* Product thumbnail */
.riqueza-cart-drawer .woocommerce-mini-cart-item img {
    width:       76px !important;
    height:      76px !important;
    object-fit:  cover;
    border-radius: 8px;
    border:      1px solid #efefef;
    flex-shrink: 0;
}

/* Product name link */
.riqueza-cart-drawer .woocommerce-mini-cart-item > a:first-of-type {
    font-size:       0.88rem;
    font-weight:     600;
    color:           #111 !important;
    line-height:     1.4;
    text-decoration: none;
    display:         block;
    margin-bottom:   4px;
    padding-right:   28px; /* room for remove button */
}
.riqueza-cart-drawer .woocommerce-mini-cart-item > a:first-of-type:hover {
    color: var(--rq-accent) !important;
}

/* Qty × price */
.riqueza-cart-drawer .woocommerce-mini-cart-item .quantity {
    font-size: 0.82rem;
    color:     #888;
    display:   block;
}
.riqueza-cart-drawer .woocommerce-mini-cart-item .quantity .amount {
    font-weight: 700;
    color:       #111;
}

/* Remove (×) button */
.riqueza-cart-drawer .woocommerce-mini-cart-item .remove_from_cart_button {
    position:        absolute;
    top:             20px;
    right:           10px;
    width:           22px;
    height:          22px;
    display:         flex;
    align-items:     center;
    justify-content: center;
    border-radius:   50%;
    background:      #f0f0f0;
    color:           #999;
    font-size:       1rem;
    line-height:     1;
    text-decoration: none;
    transition:      background 0.2s, color 0.2s;
}
.riqueza-cart-drawer .woocommerce-mini-cart-item .remove_from_cart_button:hover {
    background: #fee2e2;
    color:      #dc2626;
}

/* Empty cart message */
.riqueza-cart-drawer .woocommerce-mini-cart__empty-message {
    padding:    64px 24px;
    text-align: center;
    color:      #aaa;
    font-size:  0.95rem;
}

/* Totals row */
.riqueza-cart-drawer .woocommerce-mini-cart__total {
    padding:         20px 24px !important;
    margin:          0 !important;
    border-top:      2px solid #f0f0f0 !important;
    display:         flex !important;
    justify-content: space-between;
    align-items:     center;
    background:      #fafafa;
}
.riqueza-cart-drawer .woocommerce-mini-cart__total strong {
    font-size:      0.78rem;
    font-weight:    600;
    color:          #888;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.riqueza-cart-drawer .woocommerce-mini-cart__total .amount {
    font-size:   1.3rem;
    font-weight: 800;
    color:       #111;
}

/* Buttons footer */
.riqueza-cart-drawer .woocommerce-mini-cart__buttons {
    padding:        12px 24px 20px !important;
    display:        flex !important;
    flex-direction: column;
    gap:            10px;
    background:     #fafafa;
}

/* Checkout — primary black pill */
.riqueza-cart-drawer .woocommerce-mini-cart__buttons a.checkout {
    display:         block;
    width:           100%;
    text-align:      center;
    background:      #111;
    color:           #fff !important;
    padding:         14px 24px;
    border-radius:   6px;
    font-size:       0.92rem;
    font-weight:     700;
    letter-spacing:  0.05em;
    text-transform:  uppercase;
    text-decoration: none;
    border:          2px solid #111;
    transition:      background 0.2s, border-color 0.2s;
    box-sizing:      border-box;
}
.riqueza-cart-drawer .woocommerce-mini-cart__buttons a.checkout:hover {
    background:   #2a2a2a;
    border-color: #2a2a2a;
}

/* View cart — ghost */
.riqueza-cart-drawer .woocommerce-mini-cart__buttons a.button:not(.checkout) {
    display:         block;
    width:           100%;
    text-align:      center;
    background:      transparent;
    color:           #555 !important;
    padding:         12px 24px;
    border-radius:   6px;
    font-size:       0.88rem;
    font-weight:     600;
    text-decoration: none;
    border:          1.5px solid #ddd;
    transition:      border-color 0.2s, background 0.2s, color 0.2s;
    box-sizing:      border-box;
}
.riqueza-cart-drawer .woocommerce-mini-cart__buttons a.button:not(.checkout):hover {
    border-color: #111;
    color:        #111 !important;
    background:   #f5f5f5;
}

/* Trust strip at the very bottom */
.riqueza-cart-drawer-footer-trust {
    display:         flex;
    align-items:     center;
    justify-content: center;
    gap:             6px;
    padding:         10px 24px 16px;
    font-size:       0.72rem;
    color:           #aaa;
    background:      #fafafa;
    border-top:      1px solid #efefef;
}

/* ── WPR Mini Cart widget structure overrides ───────────────── */

/* Each list item: flex row */
.riqueza-cart-drawer .woocommerce-mini-cart-item {
    display:     flex !important;
    align-items: flex-start !important;
    gap:         14px;
    position:    relative;
}

/* Image wrapper */
.riqueza-cart-drawer .wpr-mini-cart-image {
    flex-shrink: 0;
    width:       76px;
}
.riqueza-cart-drawer .wpr-mini-cart-image a { display: block; }
.riqueza-cart-drawer .wpr-mini-cart-image img {
    width:         76px !important;
    height:        76px !important;
    object-fit:    cover;
    border-radius: 8px;
    border:        1px solid #efefef;
    display:       block;
    position: unset!important;
    object-fit: contain!important;
    transform:unset!important;
}

/* Text column */
.riqueza-cart-drawer .wpr-mini-cart-name-and-quantity {
    flex:      1;
    min-width: 0;
}
.riqueza-cart-drawer .wpr-mini-cart-product-name a {
    font-size:       0.88rem;
    font-weight:     600;
    color:           #111 !important;
    line-height:     1.4;
    text-decoration: none;
    display:         block;
    margin-bottom:   4px;
    padding-right:   28px;
}
.riqueza-cart-drawer .wpr-mini-cart-product-name a:hover { color: var(--rq-accent) !important; }
.riqueza-cart-drawer .wpr-mini-cart-quantity .quantity { font-size: 0.82rem; color: #888; }
.riqueza-cart-drawer .wpr-mini-cart-quantity .amount   { font-weight: 700; color: #111; }

/* Remove button — WPR wraps it in its own div */
.riqueza-cart-drawer .wpr-mini-cart-remove {
    position: absolute;
    top:      20px;
    right:    0;
}
.riqueza-cart-drawer .wpr-mini-cart-remove a {
    width:           24px;
    height:          24px;
    display:         flex !important;
    align-items:     center;
    justify-content: center;
    border-radius:   50%;
    background:      #f0f0f0;
    color:           #999 !important;
    text-decoration: none;
    transition:      background 0.2s, color 0.2s;
}
.riqueza-cart-drawer .wpr-mini-cart-remove a:hover { background: #fee2e2; color: #dc2626 !important; }
.riqueza-cart-drawer .wpr-mini-cart-remove a svg   { width: 12px; height: 12px; pointer-events: none; }
.riqueza-cart-drawer .wpr-mini-cart-remove a span  { display: flex; align-items: center; justify-content: center; }

/* WPR separator — hide it, we use border-bottom on items */
.riqueza-cart-drawer .wpr-mini-cart-separator { display: none; }

/* WPR total + buttons are <p> tags — force correct layout */
.riqueza-cart-drawer p.woocommerce-mini-cart__total {
    display:         flex !important;
    justify-content: space-between;
    align-items:     center;
}
.riqueza-cart-drawer p.woocommerce-mini-cart__buttons {
    display:        flex !important;
    flex-direction: column;
    gap:            10px;
}

/* ════════════════════════════════════════════════════════════
   8. RESPONSIVE
   ════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
    /* Shop sidebar collapses on tablet */
    .riqueza-shop-layout {
        flex-direction: column;
        gap: 32px;
    }
    .riqueza-shop-sidebar {
        flex:     0 0 auto !important;
        width:    100% !important;
        position: static !important;
    }
    .riqueza-shop-main { width: 100% !important; }
    .riqueza-sidebar-cats {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
    .riqueza-sidebar-cat-link {
        border:        1px solid #e5e7eb;
        border-radius: 40px;
        padding:       6px 14px;
        font-size:     0.75rem;
    }
    .riqueza-sidebar-cat-link.active {
        background:   #111827;
        border-color: #111827;
        color:        #fff !important;
    }
    .riqueza-sidebar-block { margin-bottom: 0; }
    .riqueza-sidebar-title { display: none !important; }
    /* 2-col grid on tablet */
    .woocommerce-shop .woocommerce ul.products,
    .tax-product_cat .woocommerce ul.products,
    .tax-product_tag .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    /* Shop banner */
    .riqueza-shop-banner { padding: 40px 0 32px; margin-bottom: 32px; }
    .riqueza-shop-banner-title { font-size: 2rem !important; }
    /* Cart 2-col → stack */
    .woocommerce-cart .woocommerce { flex-direction: column !important; }
    .woocommerce-cart .woocommerce > .cart-collaterals {
        flex: 0 0 100% !important; width: 100% !important;
    }
    /* Product page */
    .woocommerce div.product div.summary { padding: 24px 0 0 !important; }
    .woocommerce div.product .product_title { font-size: 1.7rem !important; }
    /* Sticky bar */
    .riqueza-sticky-atc-product .riqueza-sticky-thumb,
    .riqueza-sticky-atc-product .riqueza-sticky-title { display: none; }
    /* Checkout steps */
    .riqueza-checkout-steps { gap: 0; }
    .riqueza-step-line { min-width: 20px; }
    .riqueza-step span { font-size: 0.68rem; }
    .riqueza-trust-badges { gap: 8px; }
    .riqueza-cart-trust { gap: 12px; }
    .riqueza-cart-drawer { max-width: 100%; }
    .riqueza-cart-drawer-header { padding: 16px 20px; }
    .riqueza-cart-drawer .woocommerce-mini-cart { padding: 0 20px; }
    .riqueza-cart-drawer .woocommerce-mini-cart__total,
    .riqueza-cart-drawer .woocommerce-mini-cart__buttons { padding-left: 20px !important; padding-right: 20px !important; }
    /* 1-col shop grid on mobile */
    .woocommerce-shop .woocommerce ul.products,
    .tax-product_cat .woocommerce ul.products,
    .tax-product_tag .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }
}

@media (max-width: 480px) {
    .woocommerce-shop .woocommerce ul.products,
    .tax-product_cat .woocommerce ul.products,
    .tax-product_tag .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
    .riqueza-sticky-btn { padding: 12px 18px !important; }
    .riqueza-checkout-steps { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; }
    .riqueza-step-icon { width: 38px; height: 38px; }
    .riqueza-step-icon svg { width: 16px; height: 16px; }
}
