/* ============================================
   BACKDROP BANNERS THEME — Additional Styles
   Extends shared.css (design system)
   ============================================ */

/* ── INNER PAGE TEMPLATES ───────────────────── */

/* Page header (breadcrumb + h1 + intro) */
.pb-header { padding: var(--space-3xl) 0; background: linear-gradient(135deg, #F8FAFC 0%, #FFFFFF 100%); border-bottom: 1px solid var(--color-border-gray); }
.pb-header--center { text-align: center; }
.pb-header h1 { margin-bottom: var(--space-md); }
.pb-intro { font-size: var(--font-size-lg); line-height: var(--line-height-relaxed); color: var(--color-neutral-slate); max-width: 800px; margin-bottom: var(--space-xl); }
.pb-header--center .pb-intro { margin-left: auto; margin-right: auto; }
.pb-features { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.feature-pill { display: inline-flex; align-items: center; gap: var(--space-xs); padding: var(--space-xs) var(--space-md); background: var(--bg-light); border: 1px solid var(--color-border-gray); border-radius: var(--radius-full); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); color: var(--color-primary-black); }
.hero-badge-pill { display: inline-block; background: linear-gradient(135deg, #E91E8C, #7C3AED); color: #fff; font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); padding: var(--space-xs) var(--space-lg); border-radius: var(--radius-full); margin-bottom: var(--space-lg); }
.bg-light-section { background: var(--bg-light); }
.section-padding { padding: var(--space-4xl) 0; }
.container-narrow { max-width: 960px; margin: 0 auto; padding: 0 var(--space-md); }
.text-center { text-align: center; }
.section-header { margin-bottom: var(--space-3xl); }
.section-header h2 { margin-bottom: var(--space-sm); }
.section-header p { color: var(--color-neutral-slate); max-width: 640px; margin: 0 auto; }

/* CTA Band (bottom of inner pages) */
.cta-band { background: linear-gradient(135deg, #E91E8C 0%, #7C3AED 100%); padding: var(--space-4xl) 0; color: #fff; text-align: center; }
.cta-band h2 { color: #fff; margin-bottom: var(--space-md); }
.cta-band p { color: rgba(255,255,255,0.85); margin-bottom: var(--space-2xl); max-width: 600px; margin-left: auto; margin-right: auto; }
.btn-secondary { background: transparent; border: 2px solid var(--color-border-gray); color: var(--color-primary-black); padding: var(--space-md) var(--space-xl); border-radius: var(--radius-md); font-weight: var(--font-weight-semibold); cursor: pointer; transition: all var(--transition-fast); text-decoration: none; display: inline-block; }
.btn-secondary:hover { background: var(--color-primary-black); border-color: var(--color-primary-black); color: #fff; }
.btn-large { padding: var(--space-lg) var(--space-2xl); font-size: var(--font-size-lg); }
.btn-block { display: block; width: 100%; text-align: center; }

/* FAQ items (inner pages) */
.faq-accordion { display: flex; flex-direction: column; gap: var(--space-md); }
.faq-item-page { background: #fff; border: 1px solid var(--color-border-gray); border-radius: var(--radius-lg); padding: var(--space-xl); }
.faq-item-page h3 { font-size: var(--font-size-lg); color: var(--color-primary-black); margin-bottom: var(--space-sm); }
.faq-item-page p { color: var(--color-neutral-slate); margin: 0; line-height: var(--line-height-relaxed); }

/* Size grid (printed backdrops page) */
.size-grid-page { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: var(--space-md); }
.size-card-page { background: #fff; border: 2px solid var(--color-border-gray); border-radius: var(--radius-lg); padding: var(--space-xl); text-align: center; text-decoration: none; display: flex; flex-direction: column; gap: var(--space-xs); transition: all var(--transition-base); }
.size-card-page:hover { border-color: var(--color-accent-magenta); transform: translateY(-2px); box-shadow: var(--shadow-md); }
.size-card-page--cta { background: linear-gradient(135deg, #E91E8C 0%, #7C3AED 100%); border-color: transparent; color: #fff; }
.size-card-page--cta .sc-dims, .size-card-page--cta .sc-metric, .size-card-page--cta .sc-price { color: #fff; }
.sc-dims { font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); color: var(--color-primary-black); }
.sc-metric { font-size: var(--font-size-xs); color: var(--color-neutral-slate); }
.sc-price { font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); color: var(--color-accent-magenta); margin-top: var(--space-sm); }

/* Material cards (printed backdrops page) */
.material-cards { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xl); }
.material-card-page { background: #fff; border: 2px solid var(--color-border-gray); border-radius: var(--radius-xl); padding: var(--space-2xl); transition: all var(--transition-base); }
.material-card-page:hover { border-color: var(--color-accent-magenta); box-shadow: var(--shadow-lg); }
.mc-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: var(--space-xl); }
.mc-badge { display: inline-block; padding: 2px var(--space-sm); background: var(--bg-light); border-radius: var(--radius-full); font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); text-transform: uppercase; }
.mc-badge--premium { background: var(--color-accent-magenta); color: #fff; }
.mc-price { font-size: var(--font-size-3xl); font-weight: var(--font-weight-bold); color: var(--color-accent-magenta); }
.mc-price span { font-size: var(--font-size-sm); color: var(--color-neutral-slate); font-weight: var(--font-weight-normal); }
.mc-features { list-style: none; margin-bottom: var(--space-xl); }
.mc-features li { padding: var(--space-sm) 0; border-bottom: 1px solid var(--color-border-gray); color: var(--color-neutral-slate); position: relative; padding-left: var(--space-xl); }
.mc-features li::before { content: "✓"; position: absolute; left: 0; color: var(--color-accent-magenta); font-weight: bold; }

/* Pricing table (printed backdrops page) */
.pricing-tbl { background: #fff; border: 1px solid var(--color-border-gray); border-radius: var(--radius-lg); overflow: hidden; }
.pt-header { background: var(--color-primary-black); color: #fff; padding: var(--space-lg) var(--space-xl); display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--space-md); font-weight: var(--font-weight-semibold); }
.pt-row { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--space-md); padding: var(--space-lg) var(--space-xl); border-bottom: 1px solid var(--color-border-gray); align-items: center; }
.pt-row:last-child { border-bottom: none; }
.pt-row:nth-child(even) { background: var(--bg-light); }
.pt-price { font-weight: var(--font-weight-bold); color: var(--color-accent-magenta); }
.pt-row small { display: block; font-size: var(--font-size-xs); color: var(--color-neutral-slate); }

/* Specs grid (printed backdrops page) */
.specs-grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--space-xl); }
.spec-card-page { background: #fff; border: 1px solid var(--color-border-gray); border-radius: var(--radius-lg); padding: var(--space-xl); }
.spec-card-page h4 { color: var(--color-accent-magenta); margin-bottom: var(--space-md); font-size: var(--font-size-base); }
.spec-list-page { list-style: none; }
.spec-list-page li { padding: var(--space-sm) 0; border-bottom: 1px solid var(--color-border-gray); font-size: var(--font-size-sm); color: var(--color-neutral-slate); }
.spec-list-page li:last-child { border-bottom: none; }
.spec-list-page strong { color: var(--color-primary-black); }

/* Stands page */
.stands-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2xl); }
.stand-card { background: #fff; border: 1px solid var(--color-border-gray); border-radius: var(--radius-xl); overflow: hidden; display: flex; flex-direction: column; }
.stand-card__img-placeholder { background: var(--bg-light); padding: var(--space-3xl); display: flex; align-items: center; justify-content: center; }
.stand-card__body { padding: var(--space-2xl); display: flex; flex-direction: column; gap: var(--space-md); }
.stand-card__header { display: flex; justify-content: space-between; align-items: flex-start; }
.stand-card__header h3 { margin: 0 0 var(--space-xs); }
.stand-badge { display: inline-block; background: #D1FAE5; color: #065F46; font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); padding: 2px var(--space-sm); border-radius: var(--radius-full); }
.stand-price { font-size: var(--font-size-2xl); font-weight: var(--font-weight-bold); color: var(--color-accent-magenta); white-space: nowrap; }
.stand-price__note { display: block; font-size: var(--font-size-xs); color: var(--color-neutral-slate); font-weight: normal; }
.stand-features { list-style: none; }
.stand-features li { padding: var(--space-xs) 0; font-size: var(--font-size-sm); color: var(--color-neutral-slate); position: relative; padding-left: var(--space-xl); }
.stand-features li::before { content: "✓"; position: absolute; left: 0; color: var(--color-accent-magenta); font-weight: bold; }
.bundle-note { background: #FDF4FF; border: 1px solid #E9D5FF; border-radius: var(--radius-md); padding: var(--space-md); font-size: var(--font-size-sm); }
.bundle-note strong { display: block; color: var(--color-accent-purple); margin-bottom: var(--space-xs); }

/* Comparison table (stands page) */
.comparison-tbl { background: #fff; border: 1px solid var(--color-border-gray); border-radius: var(--radius-lg); overflow: hidden; }
.ctbl-header { background: var(--color-primary-black); color: #fff; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--space-md); padding: var(--space-lg) var(--space-xl); font-weight: var(--font-weight-semibold); }
.ctbl-row { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--space-md); padding: var(--space-md) var(--space-xl); border-bottom: 1px solid var(--color-border-gray); font-size: var(--font-size-sm); }
.ctbl-row:last-child { border-bottom: none; }
.ctbl-row:nth-child(even) { background: var(--bg-light); }

/* Setup steps (stands page) */
.setup-steps-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--space-xl); }
.setup-step-card { text-align: center; padding: var(--space-xl); }
.step-num { width: 48px; height: 48px; background: var(--gradient-brand, linear-gradient(135deg,#E91E8C,#7C3AED)); color: #fff; font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto var(--space-lg); }
.setup-step-card h4 { margin-bottom: var(--space-sm); }

/* Delivery page */
.delivery-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-xl); }
.delivery-card-page { background: #fff; border: 2px solid var(--color-border-gray); border-radius: var(--radius-xl); padding: var(--space-2xl); text-align: center; transition: all var(--transition-base); }
.delivery-card-page--featured { border-color: var(--color-accent-magenta); box-shadow: var(--shadow-lg); }
.delivery-card-page:hover { border-color: var(--color-accent-magenta); }
.dc-icon { font-size: 2.5rem; margin-bottom: var(--space-md); }
.dc-time { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary-black); margin-bottom: var(--space-sm); }
.dc-price { font-size: var(--font-size-3xl); font-weight: var(--font-weight-bold); color: var(--color-accent-magenta); margin-bottom: var(--space-md); }
.delivery-feature-list { list-style: none; display: flex; flex-direction: column; gap: var(--space-md); }
.delivery-feature-list li { padding: var(--space-md) var(--space-lg); background: #fff; border: 1px solid var(--color-border-gray); border-radius: var(--radius-md); position: relative; padding-left: var(--space-3xl); }
.delivery-feature-list li::before { content: "✓"; position: absolute; left: var(--space-lg); color: var(--color-accent-magenta); font-weight: bold; font-size: var(--font-size-lg); }
.info-cards-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: var(--space-xl); }
.info-card-page { background: #fff; border: 1px solid var(--color-border-gray); border-radius: var(--radius-lg); padding: var(--space-2xl); }
.info-card-page h3 { color: var(--color-accent-magenta); margin-bottom: var(--space-md); }

/* Contact page */
.contact-layout { display: grid; grid-template-columns: 1fr 1.5fr; gap: var(--space-4xl); align-items: start; }
.contact-methods { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-lg); }
.contact-card-page { background: #fff; border: 1px solid var(--color-border-gray); border-radius: var(--radius-xl); padding: var(--space-xl); }
.cc-icon { width: 48px; height: 48px; background: #FDF2FA; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: var(--space-md); color: var(--color-accent-magenta); }
.contact-card-page h3 { font-size: var(--font-size-base); margin-bottom: var(--space-sm); }
.cc-detail { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary-black); margin-bottom: var(--space-sm); }
.hours-list { display: flex; flex-direction: column; gap: var(--space-xs); }
.hours-row { display: flex; justify-content: space-between; font-size: var(--font-size-sm); padding: var(--space-xs) 0; border-bottom: 1px solid var(--color-border-gray); }
.contact-form-wrap h2 { margin-bottom: var(--space-sm); }
.bb-contact-form { display: flex; flex-direction: column; gap: var(--space-lg); }
.form-label { display: block; font-weight: var(--font-weight-medium); color: var(--color-primary-black); margin-bottom: var(--space-xs); font-size: var(--font-size-sm); }
.form-input { width: 100%; padding: var(--space-md); border: 2px solid var(--color-border-gray); border-radius: var(--radius-md); font-size: var(--font-size-base); font-family: inherit; outline: none; transition: border-color var(--transition-fast); background: #fff; }
.form-input:focus { border-color: var(--color-accent-magenta); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-lg); }
.form-group { display: flex; flex-direction: column; }
.contact-notice { padding: var(--space-md) var(--space-lg); border-radius: var(--radius-md); font-weight: var(--font-weight-medium); margin-bottom: var(--space-xl); }
.contact-notice--success { background: #D1FAE5; border: 1px solid #6EE7B7; color: #065F46; }
.contact-notice--error { background: #FEE2E2; border: 1px solid #FCA5A5; color: #991B1B; }

/* Event backdrops use-cases grid */
.usecases-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-xl); }
.usecase-card-page { background: #fff; border: 1px solid var(--color-border-gray); border-radius: var(--radius-xl); overflow: hidden; text-decoration: none; transition: all var(--transition-base); display: flex; flex-direction: column; }
.usecase-card-page:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); }
.uc-img-placeholder { height: 140px; background: linear-gradient(135deg, #E91E8C20, #7C3AED20); display: flex; align-items: center; justify-content: center; }
.uc-body { padding: var(--space-lg); flex: 1; display: flex; flex-direction: column; }
.uc-body h3 { font-size: var(--font-size-lg); color: var(--color-primary-black); margin-bottom: var(--space-sm); }
.uc-body p { font-size: var(--font-size-sm); color: var(--color-neutral-slate); flex: 1; }
.uc-link { color: var(--color-accent-magenta); font-weight: var(--font-weight-semibold); font-size: var(--font-size-sm); margin-top: var(--space-md); display: block; }

/* FAQ categories (faq page) */
.faq-cats { display: grid; grid-template-columns: repeat(6,1fr); gap: var(--space-md); margin-bottom: var(--space-2xl); }
.faq-cat-card { display: flex; flex-direction: column; align-items: center; text-align: center; padding: var(--space-lg); background: #fff; border: 2px solid var(--color-border-gray); border-radius: var(--radius-xl); text-decoration: none; transition: all var(--transition-fast); gap: var(--space-xs); }
.faq-cat-card:hover { border-color: var(--color-accent-magenta); }
.faq-cat-icon { font-size: 2rem; margin-bottom: var(--space-xs); }
.faq-cat-card strong { color: var(--color-primary-black); font-size: var(--font-size-sm); }
.faq-cat-card span { font-size: var(--font-size-xs); color: var(--color-neutral-slate); }

/* Free design service page */
.design-types-grid-page { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-xl); }
.design-type-card-page { background: #fff; border: 2px solid var(--color-border-gray); border-radius: var(--radius-xl); padding: var(--space-2xl); text-align: center; transition: all var(--transition-base); }
.design-type-card-page:hover { border-color: var(--color-accent-magenta); box-shadow: var(--shadow-lg); }
.dt-icon { font-size: 3rem; margin-bottom: var(--space-lg); }
.design-type-card-page h3 { margin-bottom: var(--space-md); }
.process-steps-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--space-xl); }
.process-step-card { text-align: center; padding: var(--space-xl); background: #fff; border-radius: var(--radius-xl); border: 1px solid var(--color-border-gray); }
.design-features-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: var(--space-xl); }
.design-feature-item { display: flex; gap: var(--space-lg); align-items: flex-start; }
.df-icon { font-size: 2rem; flex-shrink: 0; }
.design-feature-item h4 { margin-bottom: var(--space-xs); }

/* Wedding backdrops page */
.wedding-hero-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: var(--space-4xl); align-items: center; }
.wedding-features { list-style: none; display: flex; flex-direction: column; gap: var(--space-sm); margin-bottom: var(--space-2xl); }
.wedding-features li { display: flex; align-items: flex-start; gap: var(--space-sm); color: var(--color-neutral-slate); }
.wedding-features li::before { content: "✓"; color: var(--color-accent-magenta); font-weight: bold; flex-shrink: 0; }
.wedding-hero-visual { display: flex; justify-content: center; }
.wedding-visual-box { background: var(--bg-light); border-radius: var(--radius-xl); padding: var(--space-2xl); text-align: center; }
.wedding-visual-box p { font-size: var(--font-size-sm); color: var(--color-neutral-slate); margin-top: var(--space-md); margin-bottom: 0; }
.wedding-sizes-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-xl); }
.wedding-size-card { background: #fff; border: 2px solid var(--color-border-gray); border-radius: var(--radius-xl); padding: var(--space-2xl); text-align: center; transition: all var(--transition-base); }
.wedding-size-card:hover { border-color: var(--color-accent-magenta); box-shadow: var(--shadow-lg); }
.wedding-size-card--featured { border-color: var(--color-accent-magenta); }
.wsc-icon { font-size: 2.5rem; margin-bottom: var(--space-md); }
.wedding-size-card h3 { margin-bottom: var(--space-sm); }
.wsc-price { font-size: var(--font-size-lg); font-weight: var(--font-weight-bold); color: var(--color-accent-magenta); margin: var(--space-md) 0 var(--space-xl); }
.wedding-styles-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-xl); }
.wedding-style-card { padding: var(--space-xl); background: #fff; border: 1px solid var(--color-border-gray); border-radius: var(--radius-xl); text-align: center; }
.ws-icon { font-size: 2rem; margin-bottom: var(--space-md); }
.wedding-style-card h4 { margin-bottom: var(--space-sm); }
.wedding-why-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--space-xl); }
.wedding-why-card { text-align: center; padding: var(--space-xl); }
.ww-icon { font-size: 2.5rem; margin-bottom: var(--space-md); }
.wedding-why-card h4 { margin-bottom: var(--space-sm); }

/* Configurator page header */
.configurator-page-header { padding: var(--space-2xl) 0; background: linear-gradient(135deg, #F8FAFC 0%, #FFFFFF 100%); border-bottom: 1px solid var(--color-border-gray); }
.configurator-intro { font-size: var(--font-size-lg); color: var(--color-neutral-slate); max-width: 600px; margin-top: var(--space-md); }
.config-trust-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--space-xl); text-align: center; }
.config-trust-item { display: flex; flex-direction: column; align-items: center; gap: var(--space-sm); }
.config-trust-item h4 { margin: 0; font-size: var(--font-size-base); }
.config-trust-item p { font-size: var(--font-size-sm); color: var(--color-neutral-slate); margin: 0; }

/* ── HERO ──────────────────────────────────── */
.hero {
    padding: var(--space-4xl) 0;
    background: linear-gradient(135deg, #F8FAFC 0%, #FFFFFF 100%);
    border-bottom: 1px solid var(--color-border-gray);
    overflow: hidden;
}

.hero-content {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: var(--space-4xl);
    align-items: center;
}

.hero-subtitle {
    font-size: var(--font-size-lg);
    color: var(--color-neutral-slate);
    line-height: var(--line-height-relaxed);
    margin-bottom: var(--space-xl);
}

.hero-features {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    margin-bottom: var(--space-xl);
}

.feature-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-sm);
    background-color: #DCFCE7;
    color: #166534;
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-full);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
}

.hero-ctas {
    display: flex;
    gap: var(--space-md);
    margin-bottom: var(--space-xl);
    flex-wrap: wrap;
}

.hero-trust {
    display: flex;
    gap: var(--space-xl);
    flex-wrap: wrap;
}

.trust-stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.trust-stat strong {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary-black);
}

.trust-stat span {
    font-size: var(--font-size-sm);
    color: var(--color-neutral-slate);
}

.hero-image-placeholder {
    background: linear-gradient(135deg, var(--color-accent-magenta) 0%, var(--color-accent-purple) 100%);
    border-radius: var(--radius-xl);
    aspect-ratio: 4/3;
    display: flex;
    align-items: center;
    justify-content: center;
}

.image-placeholder-text {
    color: rgba(255,255,255,0.9);
    font-weight: var(--font-weight-semibold);
    text-align: center;
    line-height: 1.8;
    font-size: var(--font-size-lg);
}

/* ── QUICK CONFIGURATOR (homepage) ─────────── */
.quick-config {
    padding: var(--space-3xl) 0;
    background: var(--color-primary-black);
}

.quick-config-card {
    background: var(--color-primary-white);
    border-radius: var(--radius-xl);
    padding: var(--space-2xl);
    box-shadow: var(--shadow-xl);
}

.quick-config-card h2 { margin-bottom: var(--space-sm); }
.quick-config-card .subtitle { margin-bottom: var(--space-xl); }

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--space-lg);
    margin-bottom: var(--space-xl);
}

.form-group label {
    display: block;
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary-black);
    margin-bottom: var(--space-sm);
    font-size: var(--font-size-sm);
}

.input-group {
    position: relative;
}

.input-group input,
.form-group select {
    width: 100%;
    padding: var(--space-md);
    font-size: var(--font-size-base);
    border: 2px solid var(--color-border-gray);
    border-radius: var(--radius-md);
    font-family: var(--font-family-base);
    transition: border-color var(--transition-fast);
    background: var(--color-primary-white);
}

.input-group input:focus,
.form-group select:focus { outline: none; border-color: var(--color-accent-magenta); }

.input-suffix {
    position: absolute;
    right: var(--space-md);
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-neutral-slate);
    font-weight: var(--font-weight-medium);
    pointer-events: none;
}

.quick-price-display {
    background: linear-gradient(135deg, var(--bg-light) 0%, #fff 100%);
    padding: var(--space-xl);
    border-radius: var(--radius-lg);
    text-align: center;
    margin-bottom: var(--space-xl);
    border: 1px solid var(--color-border-gray);
}

.price-label { font-size: var(--font-size-sm); color: var(--color-neutral-slate); margin-bottom: var(--space-sm); font-weight: var(--font-weight-medium); }
.price-value { font-size: var(--font-size-5xl); font-weight: var(--font-weight-bold); color: var(--color-accent-magenta); margin-bottom: var(--space-sm); }
.price-breakdown { font-size: var(--font-size-sm); color: var(--color-neutral-slate); }

/* ── SECTION HEADERS ────────────────────────── */
.section-header { margin-bottom: var(--space-3xl); }
.section-header h2 { margin-bottom: var(--space-md); }
.section-header p { font-size: var(--font-size-lg); color: var(--color-neutral-slate); }
.subtitle { font-size: var(--font-size-lg); color: var(--color-neutral-slate); }

/* ── CATEGORY CARDS ──────────────────────────── */
.category-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-xl); }

.category-card {
    background: var(--color-primary-white);
    border: 1px solid var(--color-border-gray);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: all var(--transition-base);
    text-decoration: none;
    display: flex;
    flex-direction: column;
}
.category-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--color-accent-magenta); }

.category-image {
    aspect-ratio: 16/9;
    background: linear-gradient(135deg, var(--color-accent-magenta) 0%, var(--color-accent-purple) 100%);
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-weight: var(--font-weight-semibold);
    text-align: center; padding: var(--space-lg);
}
.category-content { padding: var(--space-xl); flex-grow: 1; display: flex; flex-direction: column; }
.category-content h3 { color: var(--color-primary-black); margin-bottom: var(--space-md); }
.category-content p  { color: var(--color-neutral-slate); flex-grow: 1; margin-bottom: var(--space-md); }
.category-price { font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); color: var(--color-accent-magenta); margin-bottom: var(--space-md); }
.link-arrow { color: var(--color-accent-magenta); font-weight: var(--font-weight-semibold); }
.category-card:hover .link-arrow { color: var(--color-accent-purple); }

/* ── SIZE GRID ────────────────────────────────── */
.size-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px,1fr)); gap: var(--space-md); }

.size-card {
    background: var(--color-primary-white);
    border: 2px solid var(--color-border-gray);
    border-radius: var(--radius-lg);
    padding: var(--space-xl);
    text-align: center;
    text-decoration: none;
    transition: all var(--transition-base);
    display: flex; flex-direction: column; gap: var(--space-sm);
}
.size-card:hover { border-color: var(--color-accent-magenta); transform: translateY(-2px); box-shadow: var(--shadow-md); }
.size-card-highlight { background: linear-gradient(135deg, var(--color-accent-magenta) 0%, var(--color-accent-purple) 100%); border-color: transparent; }
.size-card-highlight:hover { transform: scale(1.05); }
.size-dimensions { font-size: var(--font-size-2xl); font-weight: var(--font-weight-bold); color: var(--color-primary-black); }
.size-metric, .size-use { font-size: var(--font-size-sm); color: var(--color-neutral-slate); }
.size-price { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-accent-magenta); }
.size-card-highlight .size-dimensions,
.size-card-highlight .size-metric,
.size-card-highlight .size-use,
.size-card-highlight .size-price { color: #fff; }

/* ── USP GRID ─────────────────────────────────── */
.usp-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-2xl); }
.usp-card { text-align: center; }
.usp-icon { width: 72px; height: 72px; margin: 0 auto var(--space-lg); display: flex; align-items: center; justify-content: center; background: var(--color-neutral-light); border-radius: var(--radius-xl); color: var(--color-accent-magenta); }
.usp-card h3 { margin-bottom: var(--space-md); }
.usp-card p  { color: var(--color-neutral-slate); margin-bottom: 0; }

/* ── USE CASE GRID ────────────────────────────── */
.use-case-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-xl); }
.use-case-card { background: var(--color-primary-white); border: 1px solid var(--color-border-gray); border-radius: var(--radius-lg); overflow: hidden; transition: all var(--transition-base); text-decoration: none; }
.use-case-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.use-case-image { aspect-ratio: 4/3; background: linear-gradient(135deg, #334155 0%, #1E293B 100%); display: flex; align-items: center; justify-content: center; color: #fff; text-align: center; padding: var(--space-lg); }
.use-case-content { padding: var(--space-xl); }
.use-case-content h3 { color: var(--color-primary-black); margin-bottom: var(--space-md); }
.use-case-content p  { color: var(--color-neutral-slate); margin-bottom: 0; }

/* ── COMPARISON TABLE ─────────────────────────── */
.comparison-table { background: var(--color-primary-white); border: 1px solid var(--color-border-gray); border-radius: var(--radius-lg); overflow: hidden; }
.comparison-header { display: grid; grid-template-columns: 200px 1fr 1fr; border-bottom: 2px solid var(--color-border-gray); background: var(--color-neutral-light); }
.comparison-row    { display: grid; grid-template-columns: 200px 1fr 1fr; border-bottom: 1px solid var(--color-border-gray); }
.comparison-row:last-child { border-bottom: none; }
.comparison-col    { padding: var(--space-xl); text-align: center; }
.comparison-col h3 { margin-bottom: var(--space-sm); }
.comparison-label  { padding: var(--space-lg) var(--space-xl); font-weight: var(--font-weight-semibold); background: var(--color-neutral-light); display: flex; align-items: center; }
.comparison-cell   { padding: var(--space-lg) var(--space-xl); display: flex; align-items: center; justify-content: center; text-align: center; color: var(--color-neutral-slate); }
.material-badge    { display: inline-block; padding: var(--space-xs) var(--space-md); background: var(--color-primary-white); border: 1px solid var(--color-border-gray); border-radius: var(--radius-full); font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); text-transform: uppercase; letter-spacing: 0.05em; }
.material-badge-premium { background: var(--color-accent-magenta); color: #fff; border-color: var(--color-accent-magenta); }

/* ── STEPS GRID ───────────────────────────────── */
.steps-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--space-xl); }
.step-card  { text-align: center; }
.step-number { width: 60px; height: 60px; margin: 0 auto var(--space-lg); display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--color-accent-magenta) 0%, var(--color-accent-purple) 100%); color: #fff; font-size: var(--font-size-2xl); font-weight: var(--font-weight-bold); border-radius: var(--radius-full); }
.step-card h3 { margin-bottom: var(--space-md); }
.step-card p  { color: var(--color-neutral-slate); margin-bottom: 0; }

/* ── TRUST SECTION ────────────────────────────── */
.trust-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--space-2xl); }
.trust-card { text-align: center; padding: var(--space-2xl); background: var(--color-primary-white); border: 1px solid var(--color-border-gray); border-radius: var(--radius-lg); }
.trust-stat  { font-size: var(--font-size-3xl); font-weight: var(--font-weight-bold); color: var(--color-primary-black); margin-bottom: var(--space-sm); }
.trust-label { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-primary-black); margin-bottom: var(--space-sm); }
.trust-card p { color: var(--color-neutral-slate); font-size: var(--font-size-sm); margin-bottom: 0; }

/* ── FAQ ──────────────────────────────────────── */
.faq-list { max-width: 800px; margin: 0 auto; }
.faq-item  { background: var(--color-primary-white); border: 1px solid var(--color-border-gray); border-radius: var(--radius-lg); padding: var(--space-xl); margin-bottom: var(--space-md); }
.faq-item h3 { color: var(--color-primary-black); margin-bottom: var(--space-md); font-size: var(--font-size-lg); }
.faq-item p  { color: var(--color-neutral-slate); margin-bottom: 0; line-height: var(--line-height-relaxed); }

/* ── FINAL CTA ────────────────────────────────── */
.final-cta { background: linear-gradient(135deg, var(--color-accent-magenta) 0%, var(--color-accent-purple) 100%); color: #fff; text-align: center; }
.final-cta h2 { color: #fff; margin-bottom: var(--space-md); }
.final-cta .subtitle { color: rgba(255,255,255,0.9); margin-bottom: var(--space-2xl); }
.cta-buttons { display: flex; gap: var(--space-md); justify-content: center; flex-wrap: wrap; }

/* ── MOBILE NAV ──────────────────────────────── */
.nav-hamburger {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: var(--space-sm);
}
.nav-hamburger span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--color-primary-black);
    border-radius: 2px;
    transition: all var(--transition-fast);
}
.nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── CONFIGURATOR PAGE ───────────────────────── */
.page-header { padding: var(--space-2xl) 0; background: var(--bg-light); border-bottom: 1px solid var(--color-border-gray); }
.page-header h1 { margin-bottom: var(--space-sm); }
.page-intro    { font-size: var(--font-size-lg); color: var(--color-neutral-slate); }

.configurator-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-4xl); align-items: start; padding: var(--space-3xl) 0; }
.config-section { margin-bottom: var(--space-3xl); padding-bottom: var(--space-3xl); border-bottom: 1px solid var(--color-border-gray); }
.config-section:last-child { border-bottom: none; }
.config-label  { font-weight: var(--font-weight-bold); color: var(--color-primary-black); margin-bottom: var(--space-lg); display: block; font-size: var(--font-size-xl); }
.config-hint   { font-size: var(--font-size-sm); color: var(--color-neutral-slate); margin-bottom: var(--space-lg); }

.size-toggle   { display: flex; background: var(--bg-light); border-radius: var(--radius-md); padding: 4px; gap: 4px; margin-bottom: var(--space-xl); width: fit-content; }
.size-toggle-btn { padding: var(--space-sm) var(--space-lg); border-radius: var(--radius-md); border: none; background: none; font-family: var(--font-family-base); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); cursor: pointer; transition: all var(--transition-fast); color: var(--color-neutral-slate); }
.size-toggle-btn.active { background: var(--color-primary-white); color: var(--color-primary-black); box-shadow: var(--shadow-sm); }

.preset-sizes-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-md); }
.size-preset { padding: var(--space-lg); border: 2px solid var(--color-border-gray); border-radius: var(--radius-lg); cursor: pointer; transition: all var(--transition-fast); text-align: center; }
.size-preset:hover,.size-preset.selected { border-color: var(--color-accent-magenta); background: var(--bg-light); }
.size-name { font-weight: var(--font-weight-semibold); color: var(--color-primary-black); }
.size-sqft { font-size: var(--font-size-sm); color: var(--color-neutral-slate); margin-bottom: 0; }

.custom-size-panel { display: none; }
.dimension-inputs { display: flex; align-items: center; gap: var(--space-lg); margin-bottom: var(--space-md); }
.dimension-input  { padding: var(--space-md); border: 2px solid var(--color-border-gray); border-radius: var(--radius-md); font-size: var(--font-size-lg); font-family: var(--font-family-base); width: 100px; text-align: center; }
.dimension-input:focus { outline: none; border-color: var(--color-accent-magenta); }
.dimension-separator { font-size: var(--font-size-2xl); color: var(--color-neutral-slate); }
.input-label { font-size: var(--font-size-sm); color: var(--color-neutral-slate); margin-bottom: var(--space-sm); display: block; }
.size-result { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-accent-magenta); padding: var(--space-md); background: var(--bg-light); border-radius: var(--radius-md); text-align: center; }

.unit-toggle   { display: flex; background: var(--bg-light); border-radius: var(--radius-md); padding: 3px; gap: 3px; margin-bottom: var(--space-lg); width: fit-content; }
.unit-toggle-btn { padding: 6px 16px; border-radius: var(--radius-md); border: none; background: none; font-family: var(--font-family-base); font-size: var(--font-size-sm); cursor: pointer; color: var(--color-neutral-slate); }
.unit-toggle-btn.active { background: var(--color-primary-white); color: var(--color-primary-black); box-shadow: var(--shadow-sm); }

.material-selector { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); }
.material-option   { padding: var(--space-lg); border: 2px solid var(--color-border-gray); border-radius: var(--radius-lg); cursor: pointer; transition: all var(--transition-fast); }
.material-option:hover,.material-option.selected { border-color: var(--color-accent-magenta); background: var(--bg-light); }
.material-name { font-weight: var(--font-weight-semibold); color: var(--color-primary-black); margin-bottom: var(--space-sm); }
.material-desc { font-size: var(--font-size-sm); color: var(--color-neutral-slate); margin-bottom: 0; }

.select-wrapper { margin-bottom: var(--space-lg); }
.select-input   { width: 100%; padding: var(--space-md); border: 2px solid var(--color-border-gray); border-radius: var(--radius-md); font-family: var(--font-family-base); font-size: var(--font-size-base); background: var(--color-primary-white); cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23475569' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; padding-right: 3rem; }
.select-input:focus { outline: none; border-color: var(--color-accent-magenta); }
.select-hint    { font-size: var(--font-size-sm); color: var(--color-neutral-slate); margin-top: var(--space-xs); }

.turnaround-selector { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-md); }
.turnaround-option   { padding: var(--space-lg); border: 2px solid var(--color-border-gray); border-radius: var(--radius-lg); cursor: pointer; transition: all var(--transition-fast); text-align: center; }
.turnaround-option:hover,.turnaround-option.selected { border-color: var(--color-accent-magenta); background: var(--bg-light); }
.turnaround-name  { font-weight: var(--font-weight-semibold); color: var(--color-primary-black); margin-bottom: var(--space-xs); }
.turnaround-time  { font-size: var(--font-size-sm); color: var(--color-neutral-slate); margin-bottom: var(--space-xs); }
.turnaround-price { font-size: var(--font-size-sm); color: var(--color-accent-magenta); font-weight: var(--font-weight-semibold); }

.artwork-section { background: var(--bg-light); padding: var(--space-2xl); border-radius: var(--radius-xl); border: 2px solid var(--color-border-gray); margin-bottom: var(--space-xl); }
.artwork-tabs    { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-sm); margin-bottom: var(--space-2xl); }
.artwork-tab     { padding: var(--space-lg); background: var(--color-primary-white); border: 2px solid var(--color-border-gray); border-radius: var(--radius-md); cursor: pointer; transition: all var(--transition-fast); text-align: center; }
.artwork-tab:hover { border-color: var(--color-accent-magenta); }
.artwork-tab.active { border-color: var(--color-accent-magenta); background: var(--color-accent-magenta); color: #fff; }
.artwork-tab-icon  { font-size: var(--font-size-2xl); margin-bottom: var(--space-sm); }
.artwork-tab-title { font-weight: var(--font-weight-semibold); font-size: var(--font-size-base); margin-bottom: var(--space-xs); }
.artwork-tab.active .artwork-tab-title, .artwork-tab.active .artwork-tab-desc { color: #fff; }
.artwork-tab-desc  { font-size: var(--font-size-sm); color: var(--color-neutral-slate); }
.artwork-content   { display: none; }
.artwork-content.active { display: block; }

.file-drop-zone   { border: 2px dashed var(--color-border-gray); border-radius: var(--radius-lg); padding: var(--space-3xl) var(--space-2xl); text-align: center; background: var(--color-primary-white); transition: all var(--transition-fast); cursor: pointer; margin-bottom: var(--space-lg); }
.file-drop-zone:hover,.file-drop-zone.dragover { border-color: var(--color-accent-magenta); background: var(--bg-light); }
.upload-icon   { font-size: var(--font-size-5xl); color: var(--color-accent-magenta); margin-bottom: var(--space-md); }
.upload-text   { font-size: var(--font-size-lg); color: var(--color-primary-black); font-weight: var(--font-weight-semibold); margin-bottom: var(--space-sm); }
.upload-hint   { font-size: var(--font-size-sm); color: var(--color-neutral-slate); margin-bottom: var(--space-md); }
.upload-formats { font-size: var(--font-size-xs); color: var(--color-neutral-slate); margin-bottom: 0; }

.uploaded-file { display: flex; align-items: center; justify-content: space-between; padding: var(--space-md); background: var(--color-primary-white); border: 1px solid var(--color-border-gray); border-radius: var(--radius-md); margin-bottom: var(--space-sm); }
.file-info     { display: flex; align-items: center; gap: var(--space-md); }
.file-icon     { font-size: var(--font-size-2xl); }
.file-name     { font-weight: var(--font-weight-semibold); color: var(--color-primary-black); }
.file-size     { font-size: var(--font-size-sm); color: var(--color-neutral-slate); }
.file-remove   { padding: var(--space-sm) var(--space-md); background: none; border: 1px solid var(--color-error-red); color: var(--color-error-red); border-radius: var(--radius-sm); cursor: pointer; font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); }
.file-remove:hover { background: var(--color-error-red); color: #fff; }

.prepress-notice, .design-notice { padding: var(--space-md); border-radius: var(--radius-md); font-size: var(--font-size-sm); }
.prepress-notice { background: #FEF3C7; border: 1px solid #FCD34D; color: var(--color-primary-black); }
.design-notice   { background: #DBEAFE; border: 1px solid #93C5FD; color: var(--color-primary-black); }

.design-type-selector { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-md); margin-bottom: var(--space-xl); }
.design-type-card     { padding: var(--space-lg); background: var(--color-primary-white); border: 2px solid var(--color-border-gray); border-radius: var(--radius-lg); cursor: pointer; text-align: center; transition: all var(--transition-fast); }
.design-type-card:hover,.design-type-card.selected { border-color: var(--color-accent-magenta); background: var(--bg-light); }
.design-type-icon  { font-size: var(--font-size-4xl); margin-bottom: var(--space-md); }
.design-type-title { font-weight: var(--font-weight-semibold); color: var(--color-primary-black); margin-bottom: var(--space-sm); }
.design-type-desc  { font-size: var(--font-size-sm); color: var(--color-neutral-slate); }

.design-brief-form        { display: none; }
.design-brief-form.active { display: block; }

.upload-later-content { background: var(--color-primary-white); padding: var(--space-2xl); border-radius: var(--radius-lg); border: 1px solid var(--color-border-gray); }
.upload-later-icon    { font-size: var(--font-size-5xl); color: var(--color-accent-magenta); text-align: center; margin-bottom: var(--space-lg); }
.upload-later-steps li { padding: var(--space-sm) 0 var(--space-sm) var(--space-lg); position: relative; }
.upload-later-steps li::before { content: "→"; position: absolute; left: 0; color: var(--color-accent-magenta); font-weight: bold; }
.upload-later-notice { background: #FEF3C7; border: 1px solid #FCD34D; border-radius: var(--radius-md); padding: var(--space-md); font-size: var(--font-size-sm); }

#sameDayWarning { display: none; background: #FEF3C7; border: 1px solid #FCD34D; border-radius: var(--radius-md); padding: var(--space-md); font-size: var(--font-size-sm); margin-bottom: var(--space-md); color: var(--color-primary-black); }

/* ── WC CONTENT WRAPPER ─────────────────────── */
.bb-wc-content { padding: var(--space-3xl) 0; }

/* ── BREADCRUMBS ────────────────────────────── */
.bb-breadcrumbs { padding: var(--space-md) 0; }
.bb-breadcrumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-xs); align-items: center; font-size: var(--font-size-sm); color: var(--color-neutral-slate); }
.bb-breadcrumbs a { color: var(--color-neutral-slate); text-decoration: none; }
.bb-breadcrumbs a:hover { color: var(--color-accent-magenta); }
.bb-breadcrumbs--light ol, .bb-breadcrumbs--light a { color: rgba(255,255,255,0.75); }
.bb-breadcrumbs--light a:hover { color: #fff; }

/* ── 404 PAGE ────────────────────────────────── */
.bb-404-page { padding: var(--space-4xl) 0; }
.bb-404-content { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4xl); align-items: center; max-width: 960px; margin: 0 auto; }
.bb-404-graphic svg { width: 100%; max-width: 400px; height: auto; }
.bb-404-title { font-size: var(--font-size-4xl); font-weight: var(--font-weight-bold); color: var(--color-primary-black); margin: 0 0 var(--space-md); }
.bb-404-subtitle { color: var(--color-neutral-slate); font-size: var(--font-size-lg); margin: 0 0 var(--space-2xl); }
.bb-404-search { display: flex; gap: var(--space-sm); margin-bottom: var(--space-2xl); }
.bb-404-search__input { flex: 1; padding: var(--space-md) var(--space-lg); border: 2px solid var(--color-border-gray); border-radius: var(--radius-full); font-size: var(--font-size-base); outline: none; transition: border-color var(--transition-fast); }
.bb-404-search__input:focus { border-color: var(--color-accent-magenta); }
.bb-404-search__btn { white-space: nowrap; display: flex; align-items: center; gap: var(--space-sm); }
.bb-404-links__heading { font-weight: var(--font-weight-semibold); color: var(--color-primary-black); margin: 0 0 var(--space-md); }
.bb-404-links__list { list-style: none; margin: 0 0 var(--space-2xl); padding: 0; display: flex; flex-direction: column; gap: var(--space-sm); }
.bb-404-link { display: flex; align-items: center; gap: var(--space-sm); color: var(--color-accent-magenta); font-weight: var(--font-weight-medium); text-decoration: none; }
.bb-404-link:hover { text-decoration: underline; }
.bb-404-cta { display: flex; gap: var(--space-md); flex-wrap: wrap; }
.btn-ghost { background: transparent; border: 2px solid var(--color-border-gray); color: var(--color-neutral-slate); padding: var(--space-sm) var(--space-xl); border-radius: var(--radius-full); font-weight: var(--font-weight-semibold); cursor: pointer; transition: all var(--transition-fast); text-decoration: none; display: inline-flex; align-items: center; gap: var(--space-sm); }
.btn-ghost:hover { border-color: var(--color-neutral-slate); color: var(--color-primary-black); }
.btn-outline { background: transparent; border: 2px solid var(--color-accent-magenta); color: var(--color-accent-magenta); padding: var(--space-sm) var(--space-xl); border-radius: var(--radius-full); font-weight: var(--font-weight-semibold); cursor: pointer; transition: all var(--transition-fast); text-decoration: none; display: inline-flex; align-items: center; gap: var(--space-sm); }
.btn-outline:hover { background: var(--color-accent-magenta); color: #fff; }
.btn-sm { padding: var(--space-xs) var(--space-lg); font-size: var(--font-size-sm); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* ── SINGLE PRODUCT PAGE ───────────────────── */
.bb-product-page { padding-bottom: var(--space-4xl); }
.bb-product-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4xl); align-items: start; padding: var(--space-2xl) 0; }
.bb-product-grid--simple { grid-template-columns: 1fr 1fr; }

/* Gallery */
.bb-gallery-main { border-radius: var(--radius-xl); overflow: hidden; margin-bottom: var(--space-md); background: var(--bg-light); }
.bb-gallery-main__img { width: 100%; height: auto; display: block; }
.bb-gallery-main--placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 320px; color: var(--color-neutral-slate); gap: var(--space-md); }
.bb-gallery-thumbs { display: flex; gap: var(--space-sm); flex-wrap: wrap; }
.bb-gallery-thumb { padding: 0; border: 2px solid var(--color-border-gray); border-radius: var(--radius-md); overflow: hidden; cursor: pointer; transition: border-color var(--transition-fast); background: none; }
.bb-gallery-thumb:hover, .bb-gallery-thumb.active { border-color: var(--color-accent-magenta); }
.bb-gallery-thumb img { width: 72px; height: 72px; object-fit: cover; display: block; }

/* Product description in gallery col */
.bb-product-description { margin-top: var(--space-2xl); }
.bb-product-description__title { font-size: var(--font-size-xl); font-weight: var(--font-weight-semibold); margin-bottom: var(--space-md); }
.bb-product-description--full { margin-top: var(--space-3xl); }
.bb-specs-table { width: 100%; border-collapse: collapse; font-size: var(--font-size-sm); }
.bb-specs-table th, .bb-specs-table td { padding: var(--space-sm) var(--space-md); border-bottom: 1px solid var(--color-border-gray); text-align: left; }
.bb-specs-table th { font-weight: var(--font-weight-semibold); color: var(--color-primary-black); background: var(--bg-light); width: 35%; }
.bb-specs-table td { color: var(--color-neutral-slate); }
.bb-specs-table thead th { background: var(--color-primary-black); color: #fff; }
.bb-product-specs { margin-top: var(--space-2xl); }
.bb-product-specs h3 { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); margin-bottom: var(--space-md); }

/* Config panel */
.bb-product-config__header { margin-bottom: var(--space-xl); }
.bb-product-config__title { font-size: var(--font-size-3xl); font-weight: var(--font-weight-bold); color: var(--color-primary-black); margin: 0 0 var(--space-sm); }
.bb-product-config__subtitle { color: var(--color-neutral-slate); margin: 0 0 var(--space-md); }
.bb-product-rating { display: flex; align-items: center; gap: var(--space-sm); }
.bb-product-rating__stars { display: flex; gap: 2px; }
.bb-product-rating__text { font-size: var(--font-size-sm); color: var(--color-neutral-slate); }

/* Stand product specifics */
.bb-stand-price { font-size: var(--font-size-3xl); font-weight: var(--font-weight-bold); color: var(--color-accent-magenta); margin: var(--space-lg) 0; display: flex; align-items: baseline; gap: var(--space-sm); }
.bb-stand-price__vat { font-size: var(--font-size-sm); color: var(--color-neutral-slate); font-weight: var(--font-weight-normal); }
.bb-stand-bundle-notice { background: #FDF4FF; border: 1px solid #E9D5FF; border-radius: var(--radius-md); padding: var(--space-md); font-size: var(--font-size-sm); color: var(--color-primary-black); display: flex; gap: var(--space-sm); align-items: flex-start; margin-bottom: var(--space-xl); }
.bb-trust-bullets { list-style: none; margin: var(--space-xl) 0 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-sm); }
.bb-trust-bullets li { display: flex; align-items: center; gap: var(--space-sm); font-size: var(--font-size-sm); color: var(--color-neutral-slate); }

/* Tabs */
.bb-product-tabs-section { margin-top: var(--space-4xl); border-top: 1px solid var(--color-border-gray); }
.bb-tabs { display: flex; gap: 0; border-bottom: 2px solid var(--color-border-gray); overflow-x: auto; }
.bb-tab { background: none; border: none; padding: var(--space-md) var(--space-xl); font-size: var(--font-size-base); font-weight: var(--font-weight-medium); color: var(--color-neutral-slate); cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; white-space: nowrap; transition: all var(--transition-fast); }
.bb-tab:hover { color: var(--color-accent-magenta); }
.bb-tab--active { color: var(--color-accent-magenta); border-bottom-color: var(--color-accent-magenta); }
.bb-tab-panel { padding: var(--space-2xl) 0; }
.bb-tab-content { max-width: 800px; }
.bb-tab-content h3 { font-size: var(--font-size-xl); margin-bottom: var(--space-lg); }
.bb-artwork-guide { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-xl); }
.bb-artwork-guide__item h4 { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); margin-bottom: var(--space-sm); color: var(--color-primary-black); }
.bb-artwork-guide__item p { font-size: var(--font-size-sm); color: var(--color-neutral-slate); }

/* Related products */
.bb-related-products { background: var(--bg-light); padding: var(--space-4xl) 0; margin-top: var(--space-4xl); }
.bb-related-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-xl); margin-top: var(--space-2xl); }
.bb-related-card { display: block; text-decoration: none; background: #fff; border-radius: var(--radius-xl); overflow: hidden; border: 1px solid var(--color-border-gray); transition: all var(--transition-fast); }
.bb-related-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); }
.bb-related-card__img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.bb-related-card__title { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); color: var(--color-primary-black); padding: var(--space-md) var(--space-md) var(--space-xs); margin: 0; }
.bb-related-card__price { font-size: var(--font-size-sm); color: var(--color-accent-magenta); font-weight: var(--font-weight-semibold); padding: 0 var(--space-md) var(--space-md); margin: 0; }

/* ── ARCHIVE / SHOP PAGE ───────────────────── */
.bb-archive-page { padding-bottom: var(--space-4xl); }
.bb-archive-hero { padding: var(--space-4xl) 0; color: #fff; }
.bb-archive-hero__content { display: flex; align-items: center; gap: var(--space-2xl); margin: var(--space-2xl) 0; }
.bb-archive-hero__image { width: 120px; height: 120px; object-fit: contain; border-radius: var(--radius-xl); }
.bb-archive-hero__title { font-size: var(--font-size-4xl); font-weight: var(--font-weight-bold); margin: 0 0 var(--space-sm); }
.bb-archive-hero__desc { opacity: 0.85; margin: 0; font-size: var(--font-size-lg); }
.bb-archive-hero__stats { display: flex; gap: var(--space-3xl); padding-top: var(--space-2xl); border-top: 1px solid rgba(255,255,255,0.2); }
.bb-archive-stat__num { display: block; font-size: var(--font-size-3xl); font-weight: var(--font-weight-bold); }
.bb-archive-stat__label { font-size: var(--font-size-sm); opacity: 0.75; }

/* Sub-categories */
.bb-archive-subcats { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--space-md); margin: var(--space-2xl) 0; }
.bb-subcat-card { display: flex; flex-direction: column; align-items: center; text-align: center; padding: var(--space-xl); background: #fff; border: 1px solid var(--color-border-gray); border-radius: var(--radius-xl); text-decoration: none; transition: all var(--transition-fast); }
.bb-subcat-card:hover { border-color: var(--color-accent-magenta); box-shadow: var(--shadow-md); }
.bb-subcat-card__img { width: 80px; height: 80px; object-fit: contain; margin-bottom: var(--space-md); }
.bb-subcat-card__name { font-weight: var(--font-weight-semibold); color: var(--color-primary-black); margin-bottom: var(--space-xs); }
.bb-subcat-card__count { font-size: var(--font-size-sm); color: var(--color-neutral-slate); }

/* Toolbar */
.bb-archive-toolbar { display: flex; justify-content: space-between; align-items: center; padding: var(--space-lg) 0; border-bottom: 1px solid var(--color-border-gray); margin-bottom: var(--space-xl); }

/* Product grid */
.bb-product-grid-archive { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-xl); }
.bb-product-card { background: #fff; border: 1px solid var(--color-border-gray); border-radius: var(--radius-xl); overflow: hidden; transition: all var(--transition-fast); display: flex; flex-direction: column; }
.bb-product-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); }
.bb-product-card__img-wrap { display: block; position: relative; }
.bb-product-card__img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.bb-product-card__img-placeholder { aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center; background: var(--bg-light); }
.bb-product-card__badge { position: absolute; top: var(--space-md); left: var(--space-md); background: var(--gradient-brand); color: #fff; font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); padding: 2px var(--space-sm); border-radius: var(--radius-full); }
.bb-product-card__badge--sale { background: #EF4444; }
.bb-product-card__body { padding: var(--space-lg); display: flex; flex-direction: column; flex: 1; }
.bb-product-card__title { font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); margin: 0 0 var(--space-sm); }
.bb-product-card__title a { color: var(--color-primary-black); text-decoration: none; }
.bb-product-card__title a:hover { color: var(--color-accent-magenta); }
.bb-product-card__desc { font-size: var(--font-size-sm); color: var(--color-neutral-slate); margin: 0 0 var(--space-md); flex: 1; }
.bb-product-card__features { display: flex; gap: var(--space-sm); flex-wrap: wrap; margin-bottom: var(--space-md); }
.bb-product-card__features span { font-size: var(--font-size-xs); background: var(--bg-light); border: 1px solid var(--color-border-gray); border-radius: var(--radius-full); padding: 2px var(--space-sm); color: var(--color-neutral-slate); }
.bb-product-card__footer { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); margin-top: auto; }
.bb-product-card__price { font-weight: var(--font-weight-bold); color: var(--color-accent-magenta); }
.bb-product-card__price-from { font-size: var(--font-size-xs); color: var(--color-neutral-slate); font-weight: var(--font-weight-normal); display: block; }
.bb-archive-pagination { padding: var(--space-3xl) 0; text-align: center; }

/* Archive trust bar */
.bb-archive-trust { background: var(--bg-light); padding: var(--space-3xl) 0; margin-top: var(--space-4xl); }
.bb-archive-trust__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--space-xl); }
.bb-archive-trust__item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--space-sm); }
.bb-archive-trust__item strong { font-weight: var(--font-weight-semibold); color: var(--color-primary-black); }
.bb-archive-trust__item span { font-size: var(--font-size-sm); color: var(--color-neutral-slate); }
.bb-no-products { text-align: center; padding: var(--space-4xl) 0; display: flex; flex-direction: column; align-items: center; gap: var(--space-lg); color: var(--color-neutral-slate); }
.bb-no-products h2 { color: var(--color-primary-black); }

/* ── RESPONSIVE ──────────────────────────────── */
@media (max-width: 1024px) {
    .category-grid, .use-case-grid, .usp-grid { grid-template-columns: repeat(2,1fr); }
    .steps-grid, .trust-grid { grid-template-columns: repeat(2,1fr); }
    .comparison-header, .comparison-row { grid-template-columns: 150px 1fr 1fr; }
    .bb-product-grid { grid-template-columns: 1fr; gap: var(--space-2xl); }
    .bb-product-grid-archive { grid-template-columns: repeat(2,1fr); }
    .bb-related-grid { grid-template-columns: repeat(2,1fr); }
    .bb-artwork-guide { grid-template-columns: repeat(2,1fr); }
    .bb-archive-trust__grid { grid-template-columns: repeat(2,1fr); }
    .bb-404-content { grid-template-columns: 1fr; text-align: center; }
    .bb-404-graphic { display: none; }
    .bb-404-search { flex-direction: column; }
    .bb-404-cta { justify-content: center; }
}

@media (max-width: 968px) {
    .configurator-grid { grid-template-columns: 1fr; gap: var(--space-2xl); }
    .price-summary { position: static; }
    .preset-sizes-grid, .material-selector, .turnaround-selector,
    .artwork-tabs, .design-type-selector { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    :root { --font-size-5xl: 2.25rem; --font-size-4xl: 1.875rem; --space-4xl: 3rem; }
    .hero-content { grid-template-columns: 1fr; gap: var(--space-2xl); }
    .hero-ctas { flex-direction: column; }
    .hero-trust { flex-direction: column; gap: var(--space-md); }
    .nav-hamburger { display: flex; }
    .nav-links { display: none; position: absolute; top: 100%; left: 0; right: 0; background: var(--color-primary-white); flex-direction: column; padding: var(--space-md); box-shadow: var(--shadow-lg); gap: 0; z-index: 999; }
    .nav-links.active { display: flex; }
    .nav-item { width: 100%; border-bottom: 1px solid var(--color-border-gray); }
    .nav-item > a { display: block; padding: var(--space-md) 0; }
    .nav-cta { display: none; }
    .form-row { grid-template-columns: 1fr; }
    .category-grid, .use-case-grid, .usp-grid, .steps-grid, .trust-grid { grid-template-columns: 1fr; }
    .comparison-header, .comparison-row { grid-template-columns: 1fr; }
    .comparison-label { border-bottom: 1px solid var(--color-border-gray); }
    .cta-buttons { flex-direction: column; align-items: center; }
    .bb-product-grid-archive { grid-template-columns: 1fr; }
    .bb-related-grid { grid-template-columns: 1fr; }
    .bb-artwork-guide { grid-template-columns: 1fr; }
    .bb-archive-hero__stats { flex-direction: column; gap: var(--space-lg); }
    .bb-archive-trust__grid { grid-template-columns: repeat(2,1fr); }
    .bb-archive-hero__content { flex-direction: column; text-align: center; }
    .bb-tabs { flex-wrap: nowrap; overflow-x: auto; }
    .bb-tab { padding: var(--space-md) var(--space-lg); }
    /* Inner page templates */
    .material-cards { grid-template-columns: 1fr; }
    .stands-grid { grid-template-columns: 1fr; }
    .delivery-cards { grid-template-columns: 1fr; }
    .contact-layout { grid-template-columns: 1fr; }
    .contact-methods { grid-template-columns: 1fr 1fr; }
    .usecases-grid { grid-template-columns: repeat(2,1fr); }
    .faq-cats { grid-template-columns: repeat(3,1fr); }
    .design-types-grid-page { grid-template-columns: 1fr; }
    .design-features-grid { grid-template-columns: 1fr; }
    .process-steps-grid { grid-template-columns: repeat(2,1fr); }
    .specs-grid-4 { grid-template-columns: repeat(2,1fr); }
    .setup-steps-grid { grid-template-columns: repeat(2,1fr); }
    .pt-header, .pt-row { grid-template-columns: 2fr 1fr 1fr; }
    .pt-header > div:last-child, .pt-row > div:last-child { display: none; }
    .ctbl-header, .ctbl-row { grid-template-columns: 1.5fr 1fr 1fr; }
    .wedding-hero-grid { grid-template-columns: 1fr; }
    .wedding-hero-visual { display: none; }
    .wedding-sizes-grid { grid-template-columns: 1fr; }
    .wedding-styles-grid { grid-template-columns: repeat(2,1fr); }
    .wedding-why-grid { grid-template-columns: repeat(2,1fr); }
    .config-trust-grid { grid-template-columns: repeat(2,1fr); }
    .info-cards-grid { grid-template-columns: 1fr; }
    .form-row { grid-template-columns: 1fr; }
    .why-choose-grid { grid-template-columns: 1fr; }
    .values-grid { grid-template-columns: 1fr; }
    .guarantee-grid { grid-template-columns: 1fr; }
}

/* ─────────────────────────────────────────────
   ABOUT PAGE
   ───────────────────────────────────────────── */
.story-content { max-width: 800px; margin: 0 auto; }
.story-content p { font-size: var(--font-size-lg); line-height: var(--line-height-relaxed); color: var(--color-neutral-slate); }

.why-choose-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2xl); }
.why-card { background: var(--color-primary-white); border: 1px solid var(--color-border-gray); border-radius: var(--radius-xl); padding: var(--space-2xl); text-align: center; transition: all var(--transition-base); }
.why-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.why-icon { font-size: 3rem; margin-bottom: var(--space-lg); line-height: 1; }
.why-card h3 { margin-bottom: var(--space-sm); }
.why-card p { color: var(--color-neutral-slate); line-height: var(--line-height-relaxed); margin-bottom: 0; }

.values-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-2xl); }
.value-item { display: flex; gap: var(--space-lg); }
.value-icon { font-size: var(--font-size-4xl); flex-shrink: 0; line-height: 1; margin-top: 4px; }
.value-content h4 { margin-bottom: var(--space-sm); }
.value-content p { color: var(--color-neutral-slate); line-height: var(--line-height-relaxed); margin-bottom: 0; }

.guarantee-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-xl); }
.guarantee-card { background: var(--color-primary-white); border: 2px solid var(--color-border-gray); border-radius: var(--radius-lg); padding: var(--space-xl); text-align: center; }
.guarantee-icon { font-size: var(--font-size-4xl); margin-bottom: var(--space-md); line-height: 1; }
.guarantee-card h4 { margin-bottom: var(--space-sm); }
.guarantee-card p { color: var(--color-neutral-slate); font-size: var(--font-size-sm); line-height: var(--line-height-relaxed); margin-bottom: 0; }

@media (max-width: 1024px) {
    .why-choose-grid { grid-template-columns: repeat(2, 1fr); }
    .guarantee-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ─────────────────────────────────────────────
   SIZE BACKDROP PAGES
   ───────────────────────────────────────────── */
.size-page-hero-grid { display: grid; grid-template-columns: 1fr 380px; gap: var(--space-3xl); align-items: center; }
.size-price-highlight { display: flex; align-items: baseline; gap: var(--space-sm); margin: var(--space-lg) 0; }
.size-price-from { font-size: var(--font-size-lg); color: var(--color-neutral-slate); }
.size-price-amount { font-size: 3rem; font-weight: 700; color: var(--color-accent-magenta); line-height: 1; }
.size-price-label { font-size: var(--font-size-base); color: var(--color-neutral-slate); }

.size-visual-card { background: var(--bg-light); border: 1px solid var(--color-border-gray); border-radius: var(--radius-xl); padding: var(--space-xl); }
.size-visual-inner { padding: var(--space-md); }
.size-visual-inner svg { width: 100%; height: auto; }
.size-visual-specs { display: flex; justify-content: space-around; border-top: 1px solid var(--color-border-gray); margin-top: var(--space-md); padding-top: var(--space-md); }
.size-spec-item { text-align: center; }
.size-spec-item strong { display: block; font-size: var(--font-size-lg); color: var(--color-primary-black); }
.size-spec-item span { font-size: var(--font-size-sm); color: var(--color-neutral-slate); }

.size-pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-xl); }
.size-price-card { background: var(--color-primary-white); border: 2px solid var(--color-border-gray); border-radius: var(--radius-xl); padding: var(--space-2xl); text-align: center; position: relative; }
.size-price-card--featured { border-color: var(--color-accent-magenta); box-shadow: var(--shadow-md); }
.spc-badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--color-accent-magenta); color: #fff; font-size: var(--font-size-sm); font-weight: 600; padding: 4px 16px; border-radius: var(--radius-full); white-space: nowrap; }
.spc-material { font-weight: 700; font-size: var(--font-size-lg); color: var(--color-primary-black); margin-bottom: var(--space-xs); }
.spc-turnaround { font-size: var(--font-size-sm); color: var(--color-neutral-slate); margin-bottom: var(--space-lg); }
.spc-price-ex { font-size: var(--font-size-base); color: var(--color-neutral-slate); }
.spc-price-inc { font-size: 2rem; font-weight: 700; color: var(--color-accent-magenta); line-height: 1.2; }
.spc-price-inc span { font-size: var(--font-size-sm); font-weight: 400; color: var(--color-neutral-slate); }

.size-usecases-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); }
.size-usecase-pill { display: flex; align-items: center; gap: var(--space-sm); background: var(--bg-light); border: 1px solid var(--color-border-gray); border-radius: var(--radius-lg); padding: var(--space-md) var(--space-lg); font-weight: 500; color: var(--color-primary-black); }
.sup-check { color: var(--color-accent-magenta); font-weight: 700; flex-shrink: 0; }

.size-materials-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-2xl); }
.size-material-card { background: var(--color-primary-white); border: 2px solid var(--color-border-gray); border-radius: var(--radius-xl); padding: var(--space-2xl); position: relative; }
.size-material-card--featured { border-color: var(--color-accent-magenta); }
.smc-badge { position: absolute; top: -14px; right: var(--space-xl); background: var(--color-accent-magenta); color: #fff; font-size: var(--font-size-sm); font-weight: 600; padding: 4px 16px; border-radius: var(--radius-full); }
.smc-icon { font-size: 2.5rem; margin-bottom: var(--space-md); line-height: 1; }
.smc-features { list-style: none; margin: var(--space-lg) 0; display: flex; flex-direction: column; gap: var(--space-sm); }
.smc-features li { color: var(--color-neutral-slate); font-size: var(--font-size-sm); }
.smc-price { margin-top: var(--space-lg); font-size: var(--font-size-xl); font-weight: 700; color: var(--color-accent-magenta); }

.size-finishing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-xl); }
.size-finishing-card { background: var(--bg-light); border: 1px solid var(--color-border-gray); border-radius: var(--radius-lg); padding: var(--space-xl); }
.size-finishing-card h4 { margin-bottom: var(--space-sm); }
.size-finishing-card p { color: var(--color-neutral-slate); font-size: var(--font-size-sm); line-height: var(--line-height-relaxed); margin: 0; }

@media (max-width: 1024px) {
    .size-page-hero-grid { grid-template-columns: 1fr; }
    .size-visual-card { display: none; }
    .size-pricing-grid { grid-template-columns: 1fr; }
    .size-usecases-grid { grid-template-columns: repeat(2, 1fr); }
    .size-materials-grid { grid-template-columns: 1fr; }
    .size-finishing-grid { grid-template-columns: 1fr; }
}

/* ─────────────────────────────────────────────
   STAND PRODUCT PAGE
   ───────────────────────────────────────────── */
.bb-stand-product-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4xl); margin: var(--space-3xl) 0; align-items: start; }

.bb-stand-gallery { position: sticky; top: 100px; }
.bb-stand-main-img { aspect-ratio: 1; background: linear-gradient(135deg, #334155 0%, #1E293B 100%); border-radius: var(--radius-xl); border: 1px solid var(--color-border-gray); overflow: hidden; margin-bottom: var(--space-md); display: flex; align-items: center; justify-content: center; }
.bb-stand-main-img img { width: 100%; height: 100%; object-fit: cover; }
.bb-stand-img-placeholder { color: #fff; font-size: var(--font-size-xl); font-weight: 600; text-align: center; line-height: var(--line-height-relaxed); padding: var(--space-2xl); }
.bb-stand-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-sm); }
.bb-stand-thumb { aspect-ratio: 1; background: linear-gradient(135deg, #475569 0%, #334155 100%); border-radius: var(--radius-md); border: 2px solid var(--color-border-gray); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: var(--font-size-xs); color: rgba(255,255,255,0.7); transition: border-color var(--transition-fast); }
.bb-stand-thumb--active, .bb-stand-thumb:hover { border-color: var(--color-accent-magenta); }

.bb-stand-info h1 { margin-bottom: var(--space-md); }
.bb-stand-meta { display: flex; align-items: center; gap: var(--space-md); margin-bottom: var(--space-xl); flex-wrap: wrap; }
.bb-stock-badge { display: inline-flex; align-items: center; gap: var(--space-xs); padding: 4px var(--space-md); background: #10B981; color: #fff; border-radius: var(--radius-full); font-size: var(--font-size-sm); font-weight: 600; }
.bb-stand-rating { display: flex; align-items: center; gap: var(--space-xs); font-size: var(--font-size-sm); color: var(--color-neutral-slate); }

.bb-stand-price-box { background: var(--bg-light); border-radius: var(--radius-lg); padding: var(--space-xl); margin-bottom: var(--space-xl); }
.bb-stand-price-main { font-size: 3rem; font-weight: 700; color: var(--color-accent-magenta); line-height: 1; margin-bottom: var(--space-xs); }
.bb-stand-price-note { font-size: var(--font-size-sm); color: var(--color-neutral-slate); margin-bottom: var(--space-md); }
.bb-stand-price-vat { border-top: 1px solid var(--color-border-gray); padding-top: var(--space-md); color: var(--color-neutral-slate); }
.bb-stand-price-vat strong { color: var(--color-primary-black); font-size: var(--font-size-lg); }

.bb-stand-desc { line-height: var(--line-height-relaxed); margin-bottom: var(--space-xl); }
.bb-stand-features { list-style: none; margin-bottom: var(--space-xl); }
.bb-stand-features li { padding: var(--space-sm) 0; border-bottom: 1px solid var(--color-border-gray); display: flex; align-items: flex-start; gap: var(--space-sm); color: var(--color-neutral-slate); font-size: var(--font-size-sm); }
.bb-stand-features li::before { content: "✓"; color: var(--color-accent-magenta); font-weight: 700; flex-shrink: 0; }
.bb-stand-features li:last-child { border-bottom: none; }

.bb-stand-bundle-upsell { background: linear-gradient(135deg, #E91E8C 0%, #7C3AED 100%); color: #fff; padding: var(--space-xl); border-radius: var(--radius-lg); margin-top: var(--space-xl); }
.bb-stand-bundle-upsell h4 { color: #fff; margin-bottom: var(--space-sm); }
.bb-stand-bundle-upsell p { color: rgba(255,255,255,0.9); margin-bottom: var(--space-md); font-size: var(--font-size-sm); }

.bb-stand-section { margin: var(--space-4xl) 0; }
.bb-stand-specs-table { border: 1px solid var(--color-border-gray); border-radius: var(--radius-lg); overflow: hidden; }
.bb-stand-spec-row { display: grid; grid-template-columns: 220px 1fr; border-bottom: 1px solid var(--color-border-gray); }
.bb-stand-spec-row:last-child { border-bottom: none; }
.bb-stand-spec-label { padding: var(--space-md) var(--space-lg); background: var(--bg-light); font-weight: 600; color: var(--color-primary-black); font-size: var(--font-size-sm); }
.bb-stand-spec-value { padding: var(--space-md) var(--space-lg); color: var(--color-neutral-slate); font-size: var(--font-size-sm); }

.bb-stand-reviews-summary { background: var(--bg-light); border-radius: var(--radius-lg); padding: var(--space-xl); text-align: center; margin-bottom: var(--space-xl); }
.bb-stand-review-score { font-size: 3rem; font-weight: 700; color: var(--color-primary-black); line-height: 1; margin-bottom: var(--space-sm); }
.bb-stand-review-item { background: #fff; border: 1px solid var(--color-border-gray); border-radius: var(--radius-lg); padding: var(--space-xl); margin-bottom: var(--space-md); }
.bb-stand-review-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: var(--space-md); }
.bb-stand-review-author { font-weight: 600; color: var(--color-primary-black); margin-bottom: var(--space-xs); }

.bb-stand-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-xl); }
.bb-stand-related-card { background: #fff; border: 1px solid var(--color-border-gray); border-radius: var(--radius-lg); overflow: hidden; text-decoration: none; transition: all var(--transition-base); }
.bb-stand-related-card:hover { border-color: var(--color-accent-magenta); box-shadow: var(--shadow-lg); transform: translateY(-2px); }
.bb-stand-related-img { aspect-ratio: 4/3; background: linear-gradient(135deg, #475569 0%, #334155 100%); display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 600; text-align: center; padding: var(--space-lg); font-size: var(--font-size-sm); line-height: var(--line-height-relaxed); }
.bb-stand-related-body { padding: var(--space-lg); }
.bb-stand-related-body h4 { color: var(--color-primary-black); margin-bottom: var(--space-xs); font-size: var(--font-size-base); }
.bb-stand-related-price { color: var(--color-accent-magenta); font-weight: 700; }

.bb-stand-faq-item { background: #fff; border: 1px solid var(--color-border-gray); border-radius: var(--radius-lg); padding: var(--space-xl); margin-bottom: var(--space-md); }
.bb-stand-faq-item h4 { color: var(--color-primary-black); margin-bottom: var(--space-md); }
.bb-stand-faq-item p { color: var(--color-neutral-slate); line-height: var(--line-height-relaxed); margin: 0; }

@media (max-width: 968px) {
    .bb-stand-product-grid { grid-template-columns: 1fr; gap: var(--space-2xl); }
    .bb-stand-gallery { position: static; }
    .bb-stand-related-grid { grid-template-columns: 1fr; }
    .bb-stand-spec-row { grid-template-columns: 1fr; }
    .bb-stand-spec-label { border-bottom: none; }
}

/* ─────────────────────────────────────────────
   QUANTITY SELECTOR (exhibition stand + reusable)
   ───────────────────────────────────────────── */
.bb-qty-wrap { margin-bottom: var(--space-xl); }
.bb-qty-label { display: block; font-weight: var(--font-weight-semibold); color: var(--color-primary-black); margin-bottom: var(--space-sm); }
.bb-qty-selector { display: inline-flex; align-items: center; border: 2px solid var(--color-border-gray); border-radius: var(--radius-md); overflow: hidden; }
.bb-qty-btn { padding: var(--space-md) var(--space-lg); background: var(--color-neutral-light); border: none; cursor: pointer; font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); color: var(--color-primary-black); transition: background var(--transition-fast); line-height: 1; }
.bb-qty-btn:hover { background: var(--color-border-gray); }
.bb-qty-value { padding: var(--space-md) var(--space-xl); font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); min-width: 80px; text-align: center; border-left: 1px solid var(--color-border-gray); border-right: 1px solid var(--color-border-gray); color: var(--color-primary-black); background: #fff; border-top: none; border-bottom: none; outline: none; font-family: var(--font-family-base); -moz-appearance: textfield; }
.bb-qty-value::-webkit-outer-spin-button,
.bb-qty-value::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Exhibition stand main section spacing */
.bb-exstand-main { padding: var(--space-4xl) 0; }

/* Single-product layout for exhibition stands category page */
.bb-exstands-single { max-width: 860px; margin: 0 auto; }
.bb-exstands-single .stand-card { display: grid; grid-template-columns: 260px 1fr; }
.bb-exstands-single .stand-card__img-placeholder { padding: var(--space-3xl) var(--space-2xl); }
@media (max-width: 768px) {
    .bb-exstands-single .stand-card { grid-template-columns: 1fr; }
}

/* ─────────────────────────────────────────────
   CART ICON IN NAV
   ───────────────────────────────────────────── */
.bb-cart-icon { position: relative; display: flex; align-items: center; color: var(--color-primary-black); text-decoration: none; padding: 6px; transition: color var(--transition-fast); }
.bb-cart-icon:hover { color: var(--color-accent-magenta); }
.bb-cart-count { position: absolute; top: -4px; right: -6px; background: var(--color-accent-magenta); color: #fff; font-size: 0.65rem; font-weight: 700; min-width: 18px; height: 18px; border-radius: 9999px; display: flex; align-items: center; justify-content: center; line-height: 1; padding: 0 4px; }

/* ─────────────────────────────────────────────
   CUSTOM ADD TO CART FORM
   ───────────────────────────────────────────── */
.bb-atc-form { margin-top: 0; }

/* ─────────────────────────────────────────────
   CART PAGE
   ───────────────────────────────────────────── */
.bb-cart-page { padding: var(--space-4xl) 0; min-height: 60vh; }
.bb-cart-header { display: flex; align-items: baseline; gap: var(--space-md); margin-bottom: var(--space-3xl); }
.bb-cart-header h1 { margin: 0; }
.bb-cart-header__count { font-size: var(--font-size-sm); color: var(--color-neutral-slate); }

/* Empty cart */
.bb-cart-empty { text-align: center; padding: var(--space-4xl) 0; }
.bb-cart-empty__icon { font-size: 4rem; margin-bottom: var(--space-lg); }
.bb-cart-empty h2 { margin-bottom: var(--space-md); }
.bb-cart-empty p { color: var(--color-neutral-slate); margin-bottom: var(--space-2xl); }

/* Two-column layout */
.bb-cart-layout { display: grid; grid-template-columns: 1fr 360px; gap: var(--space-3xl); align-items: start; }

/* ── Cart items column ── */
/* Column header row */
.bb-cart-table-head { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--space-md); padding: var(--space-md) var(--space-xl); background: var(--color-primary-black); color: #fff; font-size: var(--font-size-xs); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }

/* Each cart row */
.bb-cart-row { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--space-md); padding: var(--space-xl); align-items: center; background: #fff; border: 1px solid var(--color-border-gray); border-top: none; }
.bb-cart-row:last-of-type { border-radius: 0 0 var(--radius-lg) var(--radius-lg); }

/* Product cell */
.bb-cart-product { display: flex; gap: var(--space-md); align-items: flex-start; }
.bb-cart-product__img img,
.bb-cart-product__img .woocommerce-placeholder { width: 80px; height: 80px; object-fit: cover; border-radius: var(--radius-md); border: 1px solid var(--color-border-gray); display: block; }
.bb-cart-product__name { font-weight: 700; font-size: var(--font-size-base); margin-bottom: var(--space-xs); }
.bb-cart-product__name a { color: var(--color-primary-black); text-decoration: none; }
.bb-cart-product__name a:hover { color: var(--color-accent-magenta); }
.bb-cart-remove { display: inline-flex; align-items: center; gap: 4px; margin-top: var(--space-sm); font-size: var(--font-size-xs); color: var(--color-error-red); text-decoration: none; font-weight: 600; }
.bb-cart-remove:hover { color: var(--color-error-red); text-decoration: underline; }

/* Price / subtotal cells */
.bb-cart-price, .bb-cart-subtotal { font-weight: 700; color: var(--color-primary-black); font-size: var(--font-size-base); }
.bb-cart-subtotal { color: var(--color-accent-magenta); }

/* Quantity input inside cart row */
.bb-cart-qty .quantity { display: flex; align-items: center; }
.bb-cart-qty .quantity input[type=number] { width: 64px; padding: var(--space-sm); border: 2px solid var(--color-border-gray); border-radius: var(--radius-md); text-align: center; font-size: var(--font-size-base); font-family: inherit; font-weight: 600; color: var(--color-primary-black); }
.bb-cart-qty .quantity input[type=number]:focus { outline: none; border-color: var(--color-accent-magenta); }

/* Actions bar below items */
.bb-cart-actions { display: flex; align-items: center; justify-content: space-between; padding: var(--space-xl) 0; gap: var(--space-md); flex-wrap: wrap; border-top: 1px solid var(--color-border-gray); margin-top: var(--space-sm); }
.bb-coupon { display: flex; gap: var(--space-sm); align-items: center; }
.bb-coupon__input { padding: 10px var(--space-md); border: 2px solid var(--color-border-gray); border-radius: var(--radius-md); font-size: var(--font-size-sm); font-family: inherit; width: 200px; transition: border-color var(--transition-fast); }
.bb-coupon__input:focus { outline: none; border-color: var(--color-accent-magenta); }
.bb-update-cart { font-size: var(--font-size-sm) !important; padding: 10px var(--space-lg) !important; }

/* ── Cart sidebar (totals) ── */
.bb-cart-sidebar .cart_totals { background: var(--bg-light); border: 1px solid var(--color-border-gray); border-radius: var(--radius-xl); padding: var(--space-2xl); position: sticky; top: 120px; }
.bb-cart-sidebar .cart_totals > h2 { font-size: var(--font-size-xl); font-weight: 700; color: var(--color-primary-black); margin-bottom: var(--space-xl); padding-bottom: var(--space-md); border-bottom: 1px solid var(--color-border-gray); }
.bb-cart-sidebar .cart_totals .shop_table { width: 100%; border-collapse: collapse; margin-bottom: var(--space-xl); }
.bb-cart-sidebar .cart_totals .shop_table th { text-align: left; font-weight: 600; font-size: var(--font-size-sm); color: var(--color-neutral-slate); padding: var(--space-md) 0; width: 50%; vertical-align: top; border-bottom: 1px solid var(--color-border-gray); }
.bb-cart-sidebar .cart_totals .shop_table td { text-align: right; font-size: var(--font-size-sm); padding: var(--space-md) 0; border-bottom: 1px solid var(--color-border-gray); color: var(--color-primary-black); font-weight: 600; }
.bb-cart-sidebar .cart_totals .shop_table .order-total th { font-size: var(--font-size-lg); font-weight: 700; color: var(--color-primary-black); border-bottom: none; padding-top: var(--space-xl); }
.bb-cart-sidebar .cart_totals .shop_table .order-total td { font-size: var(--font-size-2xl); font-weight: 800; color: var(--color-accent-magenta); border-bottom: none; padding-top: var(--space-xl); }
.bb-cart-sidebar .wc-proceed-to-checkout { margin-top: var(--space-md); }
/* Our override template outputs .btn.btn-primary — target the WC fallback class too */
.bb-cart-sidebar .wc-proceed-to-checkout a,
.bb-cart-sidebar .wc-proceed-to-checkout .checkout-button { display: block; width: 100%; box-sizing: border-box; background: var(--color-accent-magenta); color: #fff !important; text-align: center; padding: var(--space-lg) var(--space-xl); border-radius: var(--radius-md); font-size: var(--font-size-lg); font-weight: 700; text-decoration: none; border: 2px solid var(--color-accent-magenta); transition: all var(--transition-base); font-family: inherit; }
.bb-cart-sidebar .wc-proceed-to-checkout a:hover,
.bb-cart-sidebar .wc-proceed-to-checkout .checkout-button:hover { background: var(--color-accent-purple); border-color: var(--color-accent-purple); transform: translateY(-2px); box-shadow: var(--shadow-md); }

/* Trust bar */
.bb-cart-trust { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--space-md); margin-top: var(--space-3xl); padding: var(--space-xl); background: var(--bg-light); border-radius: var(--radius-lg); border: 1px solid var(--color-border-gray); }
.bb-cart-trust__item { display: flex; align-items: center; gap: var(--space-sm); font-size: var(--font-size-sm); color: var(--color-neutral-slate); font-weight: 500; }

/* ─────────────────────────────────────────────
   CHECKOUT PAGE
   ───────────────────────────────────────────── */
.bb-checkout-page { padding: var(--space-4xl) 0; }
.bb-checkout-header { margin-bottom: var(--space-3xl); }
.bb-checkout-header h1 { margin-bottom: var(--space-md); }
.bb-checkout-steps { display: flex; align-items: center; gap: var(--space-sm); }
.bb-step { font-size: var(--font-size-sm); font-weight: 600; color: var(--color-neutral-slate); }
.bb-step--done { color: var(--color-success-green); }
.bb-step--active { color: var(--color-accent-magenta); }
.bb-step-sep { color: var(--color-border-gray); }

.bb-checkout-layout { display: grid; grid-template-columns: 1fr 420px; gap: var(--space-3xl); align-items: start; }
.bb-checkout-section { background: #fff; border: 1px solid var(--color-border-gray); border-radius: var(--radius-xl); padding: var(--space-2xl); margin-bottom: var(--space-xl); }
.bb-checkout-section__title { font-size: var(--font-size-xl); margin-bottom: var(--space-xl); padding-bottom: var(--space-md); border-bottom: 1px solid var(--color-border-gray); }
.bb-checkout-section:last-child { margin-bottom: 0; }

/* WC checkout form fields — style WC generated inputs */
.bb-checkout-form .form-row { margin-bottom: var(--space-lg); }
.bb-checkout-form label { display: block; font-size: var(--font-size-sm); font-weight: 600; color: var(--color-primary-black); margin-bottom: var(--space-xs); }
.bb-checkout-form .required { color: var(--color-accent-magenta); }
.bb-checkout-form input[type="text"],
.bb-checkout-form input[type="email"],
.bb-checkout-form input[type="tel"],
.bb-checkout-form input[type="password"],
.bb-checkout-form select,
.bb-checkout-form textarea { width: 100%; padding: var(--space-md); border: 2px solid var(--color-border-gray); border-radius: var(--radius-md); font-size: var(--font-size-base); font-family: inherit; transition: border-color var(--transition-fast); background: #fff; }
.bb-checkout-form input:focus,
.bb-checkout-form select:focus,
.bb-checkout-form textarea:focus { outline: none; border-color: var(--color-accent-magenta); }
.bb-checkout-form .form-row-first { float: left; width: 48%; }
.bb-checkout-form .form-row-last { float: right; width: 48%; }
.bb-checkout-form .form-row-wide { clear: both; }

/* WC order review table in checkout */
.bb-checkout-summary .woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; font-size: var(--font-size-sm); margin-bottom: var(--space-lg); }
.bb-checkout-summary .woocommerce-checkout-review-order-table th { text-align: left; font-weight: 600; padding: var(--space-sm) 0; border-bottom: 2px solid var(--color-border-gray); color: var(--color-neutral-slate); font-size: var(--font-size-xs); text-transform: uppercase; letter-spacing: 0.05em; }
.bb-checkout-summary .woocommerce-checkout-review-order-table td { padding: var(--space-md) 0; border-bottom: 1px solid var(--color-border-gray); color: var(--color-neutral-slate); }
.bb-checkout-summary .woocommerce-checkout-review-order-table .order-total td { font-weight: 700; font-size: var(--font-size-lg); color: var(--color-primary-black); border-bottom: none; }
.bb-checkout-summary #payment { margin-top: var(--space-lg); }
.bb-checkout-summary #payment .payment_methods { list-style: none; margin-bottom: var(--space-lg); }
.bb-checkout-summary #payment .payment_methods li { padding: var(--space-md); border: 2px solid var(--color-border-gray); border-radius: var(--radius-md); margin-bottom: var(--space-sm); cursor: pointer; }
.bb-checkout-summary #payment .payment_methods li.woocommerce-validated { border-color: var(--color-accent-magenta); }
.bb-checkout-summary #payment #place_order { display: block; width: 100%; background: var(--color-accent-magenta); color: #fff; text-align: center; padding: var(--space-lg) var(--space-xl); border-radius: var(--radius-md); font-size: var(--font-size-lg); font-weight: 700; border: 2px solid var(--color-accent-magenta); cursor: pointer; transition: all var(--transition-base); font-family: inherit; }
.bb-checkout-summary #payment #place_order:hover { background: var(--color-accent-purple); border-color: var(--color-accent-purple); transform: translateY(-2px); }

.bb-checkout-trust { margin-top: var(--space-xl); display: flex; flex-direction: column; gap: var(--space-sm); }
.bb-checkout-trust__item { display: flex; align-items: center; gap: var(--space-sm); font-size: var(--font-size-sm); color: var(--color-neutral-slate); }

/* ─────────────────────────────────────────────
   THANK YOU PAGE
   ───────────────────────────────────────────── */
.bb-thankyou-page { padding: var(--space-4xl) 0; }
.bb-thankyou-hero { text-align: center; padding: var(--space-4xl) 0; }
.bb-thankyou-icon { width: 80px; height: 80px; background: var(--color-success-green); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2rem; margin: 0 auto var(--space-xl); font-weight: 700; }
.bb-thankyou-hero--failed .bb-thankyou-icon { background: var(--color-error-red); }
.bb-thankyou-hero h1 { margin-bottom: var(--space-md); }
.bb-thankyou-hero p { font-size: var(--font-size-lg); color: var(--color-neutral-slate); max-width: 560px; margin: 0 auto; }

.bb-thankyou-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px,1fr)); gap: 1px; background: var(--color-border-gray); border: 1px solid var(--color-border-gray); border-radius: var(--radius-xl); overflow: hidden; margin-bottom: var(--space-3xl); }
.bb-thankyou-overview__item { background: #fff; padding: var(--space-xl); }
.bb-tov-label { display: block; font-size: var(--font-size-xs); text-transform: uppercase; letter-spacing: 0.08em; color: var(--color-neutral-slate); margin-bottom: var(--space-sm); }
.bb-tov-value { display: block; font-size: var(--font-size-lg); font-weight: 700; color: var(--color-primary-black); }

.bb-thankyou-next { background: var(--bg-light); border-radius: var(--radius-xl); padding: var(--space-3xl); margin-bottom: var(--space-3xl); }
.bb-thankyou-next h2 { margin-bottom: var(--space-2xl); }
.bb-thankyou-steps { display: flex; flex-direction: column; gap: var(--space-2xl); }
.bb-tnext-step { display: flex; gap: var(--space-xl); align-items: flex-start; }
.bb-tnext-num { width: 40px; height: 40px; border-radius: 50%; background: var(--color-accent-magenta); color: #fff; font-weight: 700; font-size: var(--font-size-lg); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bb-tnext-step strong { display: block; font-size: var(--font-size-lg); color: var(--color-primary-black); margin-bottom: var(--space-sm); }
.bb-tnext-step p { color: var(--color-neutral-slate); line-height: var(--line-height-relaxed); margin: 0; font-size: var(--font-size-sm); }

.bb-thankyou-artwork-notice { background: #FEF3C7; border: 1px solid #FCD34D; border-radius: var(--radius-lg); padding: var(--space-xl); margin-bottom: var(--space-3xl); font-size: var(--font-size-sm); line-height: var(--line-height-relaxed); }
.bb-thankyou-artwork-notice a { color: var(--color-accent-magenta); font-weight: 600; }
.bb-thankyou-cta { text-align: center; margin-top: var(--space-3xl); }

/* Responsive */
@media (max-width: 1024px) {
    .bb-cart-layout { grid-template-columns: 1fr 300px; gap: var(--space-2xl); }
}
@media (max-width: 968px) {
    .bb-cart-layout { grid-template-columns: 1fr; }
    .bb-cart-table-head { display: none; }
    .bb-cart-row { grid-template-columns: 1fr; gap: var(--space-md); border: 1px solid var(--color-border-gray); border-radius: var(--radius-lg); margin-bottom: var(--space-md); }
    .bb-cart-row:last-of-type { border-radius: var(--radius-lg); }
    .bb-cart-price::before { content: "Price: "; font-weight: 600; color: var(--color-neutral-slate); font-size: var(--font-size-sm); }
    .bb-cart-subtotal::before { content: "Subtotal: "; font-weight: 600; color: var(--color-neutral-slate); font-size: var(--font-size-sm); }
    .bb-cart-trust { grid-template-columns: 1fr 1fr; }
    .bb-cart-sidebar .cart_totals { position: static; }
    .bb-checkout-layout { grid-template-columns: 1fr; }
    .bb-checkout-form .form-row-first,
    .bb-checkout-form .form-row-last { float: none; width: 100%; }
    .bb-thankyou-overview { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
    .bb-cart-trust { grid-template-columns: 1fr; }
    .bb-thankyou-overview { grid-template-columns: 1fr; }
    .bb-tnext-step { flex-direction: column; }
}

/* ==============================================
   WOOCOMMERCE BLOCKS — CART & CHECKOUT STYLING
   ============================================== */

/* ── Page wrapper: font + padding only, WC Blocks handles column layout ── */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
    font-family: var(--font-family-base) !important;
    padding-top: var(--space-3xl) !important;
    padding-bottom: var(--space-4xl) !important;
}

/* ── Inherit brand font throughout ── */
.wc-block-cart,
.wc-block-checkout,
.wc-block-components-totals-wrapper,
.wc-block-cart__sidebar,
.wc-block-checkout__sidebar {
    font-family: var(--font-family-base) !important;
}

/* ─────────────────────────────
   CART ITEMS TABLE
   ───────────────────────────── */
.wc-block-cart-items__header {
    background: var(--color-primary-black) !important;
    border-radius: var(--radius-md) var(--radius-md) 0 0 !important;
    padding: 10px 16px !important;
}
.wc-block-cart-items__header span,
.wc-block-cart-items__header .wc-block-cart-items__header-image,
.wc-block-cart-items__header .wc-block-cart-items__header-product,
.wc-block-cart-items__header .wc-block-cart-items__header-total {
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

.wc-block-cart-item {
    border-left: 1px solid var(--color-border-gray) !important;
    border-right: 1px solid var(--color-border-gray) !important;
    border-bottom: 1px solid var(--color-border-gray) !important;
    background: #fff !important;
}
.wc-block-cart-items .wc-block-cart-item:last-child {
    border-radius: 0 0 var(--radius-md) var(--radius-md) !important;
}
.wc-block-cart-item__image img {
    border-radius: var(--radius-md) !important;
    border: 1px solid var(--color-border-gray) !important;
}

/* Product name */
.wc-block-components-product-name,
.wc-block-components-product-name a {
    font-weight: 700 !important;
    color: var(--color-primary-black) !important;
    text-decoration: none !important;
    font-family: var(--font-family-base) !important;
}
.wc-block-components-product-name a:hover { color: var(--color-accent-magenta) !important; }
.wc-block-components-product-metadata { color: var(--color-neutral-slate) !important; font-size: var(--font-size-sm) !important; }

/* Item price — regular price left, magenta total right */
.wc-block-cart-item__prices .wc-block-components-product-price { font-weight: 700 !important; color: var(--color-primary-black) !important; }
.wc-block-cart-item__total .wc-block-components-product-price { font-weight: 800 !important; color: var(--color-accent-magenta) !important; }

/* Quantity ±  buttons */
.wc-block-components-quantity-selector {
    border: 2px solid var(--color-border-gray) !important;
    border-radius: var(--radius-md) !important;
    overflow: hidden !important;
    display: inline-flex !important;
    align-items: stretch !important;
}
.wc-block-components-quantity-selector__button {
    background: var(--bg-light) !important;
    border: none !important;
    color: var(--color-primary-black) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    padding: 6px 12px !important;
    cursor: pointer !important;
    line-height: 1 !important;
}
.wc-block-components-quantity-selector__button:hover { background: var(--color-border-gray) !important; }
.wc-block-components-quantity-selector__input {
    border: none !important;
    border-left: 1px solid var(--color-border-gray) !important;
    border-right: 1px solid var(--color-border-gray) !important;
    text-align: center !important;
    font-family: var(--font-family-base) !important;
    font-weight: 700 !important;
    color: var(--color-primary-black) !important;
    background: #fff !important;
    width: 44px !important;
    padding: 6px 4px !important;
}
.wc-block-components-quantity-selector__input:focus { outline: none !important; border-color: var(--color-accent-magenta) !important; }

/* Remove link */
.wc-block-cart-item__remove-link { color: var(--color-error-red) !important; font-size: var(--font-size-xs) !important; font-weight: 600 !important; text-decoration: none !important; }
.wc-block-cart-item__remove-link:hover { text-decoration: underline !important; }

/* ─────────────────────────────
   CART & CHECKOUT TOTALS SIDEBAR
   ───────────────────────────── */

/* Cart Totals / Order Summary heading */
.wc-block-cart__totals-title {
    font-size: var(--font-size-xl) !important;
    font-weight: 700 !important;
    color: var(--color-primary-black) !important;
    font-family: var(--font-family-base) !important;
    padding-bottom: var(--space-md) !important;
    margin-bottom: var(--space-md) !important;
    border-bottom: 2px solid var(--color-primary-black) !important;
    display: block !important;
}

/* The white totals box — critical: no overflow:hidden, box-sizing border-box */
.wc-block-components-totals-wrapper {
    background: var(--bg-light) !important;
    border: 1px solid var(--color-border-gray) !important;
    border-radius: var(--radius-lg) !important;
    padding: var(--space-md) !important;
    box-sizing: border-box !important;
    width: 100% !important;
    overflow: visible !important;
}

/* "Add coupons" accordion panel button — fix vertical text */
.wc-block-components-panel__button {
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: none !important;
    border: none !important;
    border-bottom: 1px solid var(--color-border-gray) !important;
    padding: var(--space-sm) 0 !important;
    cursor: pointer !important;
    font-family: var(--font-family-base) !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: nowrap !important;
    min-width: 0 !important;
}
.wc-block-components-panel__button-title {
    font-size: var(--font-size-sm) !important;
    font-weight: 600 !important;
    color: var(--color-primary-black) !important;
    white-space: nowrap !important;
    writing-mode: horizontal-tb !important;
}

/* Order summary panel in checkout sidebar */
.wc-block-components-order-summary__title { font-size: var(--font-size-base) !important; font-weight: 700 !important; color: var(--color-primary-black) !important; font-family: var(--font-family-base) !important; }

/* Coupon input + apply button */
.wc-block-components-totals-coupon { width: 100% !important; box-sizing: border-box !important; }
.wc-block-components-totals-coupon__form .wc-block-components-text-input input,
.wc-block-components-totals-coupon input[type="text"] {
    border: 2px solid var(--color-border-gray) !important;
    border-radius: var(--radius-md) !important;
    padding: 8px 12px !important;
    font-family: var(--font-family-base) !important;
    font-size: var(--font-size-sm) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.wc-block-components-totals-coupon__form .wc-block-components-button {
    background: transparent !important;
    border: 2px solid var(--color-border-gray) !important;
    color: var(--color-primary-black) !important;
    border-radius: var(--radius-md) !important;
    padding: 8px 14px !important;
    font-weight: 600 !important;
    font-size: var(--font-size-sm) !important;
    cursor: pointer !important;
    font-family: var(--font-family-base) !important;
}
.wc-block-components-totals-coupon__form .wc-block-components-button:hover { border-color: var(--color-accent-magenta) !important; color: var(--color-accent-magenta) !important; }

/* Totals rows (subtotal, shipping, tax) */
.wc-block-components-totals-item {
    padding: 8px 0 !important;
    border-bottom: 1px solid var(--color-border-gray) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.wc-block-components-totals-item__label { font-size: var(--font-size-sm) !important; font-weight: 600 !important; color: var(--color-neutral-slate) !important; white-space: nowrap !important; }
.wc-block-components-totals-item__value { font-size: var(--font-size-sm) !important; font-weight: 700 !important; color: var(--color-primary-black) !important; }

/* Grand total row */
.wc-block-components-totals-footer-item { padding: var(--space-md) 0 !important; border-bottom: none !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: var(--font-size-base) !important; font-weight: 700 !important; color: var(--color-primary-black) !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount { font-size: var(--font-size-xl) !important; font-weight: 800 !important; color: var(--color-accent-magenta) !important; }
.wc-block-components-totals-footer-item__tax { font-size: var(--font-size-xs) !important; color: var(--color-neutral-slate) !important; }

/* Proceed to Checkout + Place Order buttons */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
    display: block !important;
    width: 100% !important;
    background: var(--color-accent-magenta) !important;
    color: #fff !important;
    text-align: center !important;
    padding: 14px 20px !important;
    border-radius: var(--radius-md) !important;
    font-size: var(--font-size-base) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border: 2px solid var(--color-accent-magenta) !important;
    transition: background var(--transition-base), border-color var(--transition-base) !important;
    font-family: var(--font-family-base) !important;
    cursor: pointer !important;
    margin-top: var(--space-md) !important;
    box-sizing: border-box !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
    background: var(--color-accent-purple) !important;
    border-color: var(--color-accent-purple) !important;
    color: #fff !important;
}

/* ─────────────────────────────
   CHECKOUT FORM PANELS
   ───────────────────────────── */
.wp-block-woocommerce-checkout-contact-information-block,
.wp-block-woocommerce-checkout-shipping-address-block,
.wp-block-woocommerce-checkout-billing-address-block,
.wp-block-woocommerce-checkout-shipping-methods-block,
.wp-block-woocommerce-checkout-payment-block,
.wp-block-woocommerce-checkout-additional-information-block {
    background: #fff !important;
    border: 1px solid var(--color-border-gray) !important;
    border-radius: var(--radius-lg) !important;
    padding: var(--space-lg) !important;
    margin-bottom: var(--space-md) !important;
    box-sizing: border-box !important;
}

.wc-block-components-checkout-step__title {
    font-size: var(--font-size-lg) !important;
    font-weight: 700 !important;
    color: var(--color-primary-black) !important;
    font-family: var(--font-family-base) !important;
    margin-bottom: var(--space-md) !important;
}

/* Checkout inputs */
.wc-block-components-text-input input,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout select,
.wc-block-checkout textarea {
    border: 2px solid var(--color-border-gray) !important;
    border-radius: var(--radius-md) !important;
    padding: 10px 14px !important;
    font-family: var(--font-family-base) !important;
    font-size: var(--font-size-base) !important;
    color: var(--color-primary-black) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.wc-block-components-text-input input:focus,
.wc-block-checkout input:focus,
.wc-block-checkout select:focus,
.wc-block-checkout textarea:focus {
    outline: none !important;
    border-color: var(--color-accent-magenta) !important;
    box-shadow: 0 0 0 3px rgba(233,30,140,0.1) !important;
}
.wc-block-components-text-input label,
.wc-block-checkout .wc-block-components-form label { font-size: var(--font-size-sm) !important; font-weight: 600 !important; color: var(--color-primary-black) !important; font-family: var(--font-family-base) !important; }
.wc-block-checkout abbr[title="required"] { color: var(--color-accent-magenta) !important; }

/* Payment radio + checkbox */
.wc-block-components-radio-control .wc-block-components-radio-control__input:checked { accent-color: var(--color-accent-magenta) !important; }
.wc-block-components-checkbox input:checked ~ .wc-block-components-checkbox__mark { background: var(--color-accent-magenta) !important; border-color: var(--color-accent-magenta) !important; }
.wc-block-components-payment-method-label { font-weight: 600 !important; color: var(--color-primary-black) !important; font-family: var(--font-family-base) !important; }

/* Place Order actions area */
.wc-block-checkout__actions { background: transparent !important; border: none !important; padding: 0 !important; margin-top: var(--space-md) !important; }
.wc-block-components-checkout-place-order-button { width: 100% !important; }

/* Order summary quantity badge */
.wc-block-order-summary-item__quantity { background: var(--color-accent-magenta) !important; color: #fff !important; border-radius: var(--radius-full) !important; font-size: 10px !important; font-weight: 700 !important; }
.wc-block-components-order-summary-item__individual-total .wc-block-components-product-price { font-weight: 700 !important; color: var(--color-primary-black) !important; }

/* Notices */
.wc-block-components-notice-banner { border-radius: var(--radius-md) !important; border-left: 4px solid var(--color-accent-magenta) !important; background: #FFF0F7 !important; padding: var(--space-md) var(--space-lg) !important; font-size: var(--font-size-sm) !important; }
.wc-block-components-notice-banner.is-error { border-left-color: var(--color-error-red) !important; background: #FFF5F5 !important; }

/* ── Responsive ── */
@media (max-width: 640px) {
    .wc-block-cart-items__header { display: none !important; }
}
