/* Shared presentation layer for pages reached from a brand. */
.brand-family-page {
    --bf-ink: #071522;
    --bf-panel: #0c2134;
    --bf-paper: #f3f7fa;
    --bf-line: rgba(148, 179, 207, .28);
    --bf-accent: #1479d1;
    --bf-accent-dark: #0b5fa9;
    --bf-accent-soft: #eaf4fc;
    background: var(--bf-paper);
}

.brand-family-delta { --bf-accent: #bd7c08; --bf-accent-dark: #8a5900; --bf-accent-soft: #fff4df; }
.brand-family-page .storefront-main { background: var(--bf-paper); }
.brand-family-page .brand-detail-shell,
.brand-family-page .product-hero-shell,
.brand-family-page .qq-shell { background: linear-gradient(145deg, var(--bf-panel), var(--bf-ink)); }
.brand-family-page .brand-detail-shell,
.brand-family-page .product-hero-shell { border-bottom: 4px solid var(--bf-accent); }
.brand-family-page .brand-content-panel,
.brand-family-page .product-summary-column,
.brand-family-page .qq-form-card,
.brand-family-page .qq-product-card { border-color: var(--bf-line); }
.brand-family-page .catalog-eyebrow,
.brand-family-page .catalog-panel-kicker,
.brand-family-page .qq-kicker,
.brand-family-page .qq-brand { color: var(--bf-accent); }
.brand-family-page .btn.btn-primary,
.brand-family-page .qq-submit { background: var(--bf-accent); border-color: var(--bf-accent); box-shadow: none; }
.brand-family-page .btn.btn-primary:hover,
.brand-family-page .qq-submit:hover { background: var(--bf-accent-dark); border-color: var(--bf-accent-dark); }
.brand-family-page .btn.btn-outline { border-color: var(--bf-accent); color: var(--bf-accent); }
.brand-family-page .brand-topic-chip,
.brand-family-page .product-info-chip { border-color: var(--bf-line); }
.brand-family-page .brand-category-strip { background: var(--bf-accent-soft); border-color: color-mix(in srgb, var(--bf-accent) 24%, transparent); }
.brand-family-page .brand-strip-chips a { border-color: color-mix(in srgb, var(--bf-accent) 26%, transparent); color: var(--bf-accent-dark); }
.brand-family-page .catalog-toolbar-panel,
.brand-family-page .catalog-panel,
.brand-family-page .landing-panel,
.brand-family-page .product-tabs-shell,
.brand-family-page .product-related-shell { border-color: var(--bf-line); }
.brand-family-page .catalog-results-chip { background: var(--bf-accent-soft); color: var(--bf-accent-dark); }
.brand-family-page .catalog-product-card { border-color: var(--bf-line); box-shadow: 0 10px 28px rgba(7, 21, 34, .08); }
.brand-family-page .catalog-product-card:hover { border-color: var(--bf-accent); box-shadow: 0 15px 32px rgba(7, 21, 34, .15); }
.brand-family-page .catalog-product-overline,
.brand-family-page .catalog-price-label { color: var(--bf-accent-dark); }
.brand-family-page .catalog-product-actions { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.brand-family-page .catalog-product-actions .btn { width: 100%; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding-inline: 12px; white-space: nowrap; }
.brand-family-page .catalog-quote-btn { gap: 7px; }
.brand-family-page .product-year-option input:checked + span,
.brand-family-page .product-year-option:has(input:checked) { border-color: var(--bf-accent); }
.brand-family-page .product-price-card,
.brand-family-page .qq-price-selector { border-color: color-mix(in srgb, var(--bf-accent) 28%, transparent); }
.brand-family-page .qq-brand-trail { margin: -7px 0 17px; color: #b9cce0; font-weight: 700; }
.brand-family-page .qq-choice:has(input:checked) { border-color: var(--bf-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--bf-accent) 16%, transparent); }
.brand-family-page .qq-field select:focus,
.brand-family-page .qq-field input:focus { border-color: var(--bf-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--bf-accent) 14%, transparent); }
.brand-family-page .proforma-document { border-top: 4px solid var(--bf-accent); }
.brand-family-page .proforma-head { border-bottom-color: var(--bf-accent); }
.brand-family-page .proforma-table th { background: var(--bf-panel); border-color: var(--bf-panel); }
.brand-family-page .proforma-total div:last-child { background: var(--bf-accent-soft); color: var(--bf-accent-dark); }
.brand-family-page .proforma-print { background: var(--bf-accent); }

/* Brand showcase: compact, real-product composition with one clear primary action. */
.page-brand-detail.brand-family-page { --brand-accent:#ef3340; --brand-accent-soft:rgba(239,51,64,.16); }
.page-brand-detail.brand-family-delta { --brand-accent:#f2aa23; --brand-accent-soft:rgba(242,170,35,.16); }
.page-brand-detail .brand-showcase-shell { padding:28px 0 42px; border-bottom:1px solid rgba(255,255,255,.12); background:linear-gradient(120deg,#071522,#0d1f33); }
.page-brand-detail .brand-showcase-grid { display:grid; grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr); gap:30px; align-items:stretch; }
.page-brand-detail .brand-showcase-copy { display:flex; flex-direction:column; align-items:flex-start; padding:34px; border:1px solid rgba(255,255,255,.14); border-radius:8px; background:rgba(9,22,36,.76); }
.page-brand-detail .brand-showcase-kicker { color:var(--brand-accent); font-size:.82rem; font-weight:800; }
.page-brand-detail .brand-showcase-copy h1 { margin:16px 0 0; color:#fff; font-size:clamp(2.5rem,5vw,4.6rem); line-height:1; }
.page-brand-detail .brand-showcase-en { margin:10px 0 0; color:#9bb1c7; font-size:.85rem; letter-spacing:.12em; direction:ltr; }
.page-brand-detail .brand-showcase-description { max-width:48ch; margin:24px 0; color:#d7e3ef; font-size:1rem; line-height:1.9; }
.page-brand-detail .brand-showcase-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; gap:8px; }
.page-brand-detail .brand-showcase-metrics > div { display:grid; gap:4px; padding:13px 8px; border-radius:6px; background:rgba(255,255,255,.055); }
.page-brand-detail .brand-showcase-metrics strong { color:#fff; font-size:1.45rem; }
.page-brand-detail .brand-showcase-metrics span { color:#a9bdd1; font-size:.75rem; }
.page-brand-detail .brand-showcase-categories { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.page-brand-detail .brand-showcase-categories a { min-height:36px; padding:0 13px; display:inline-flex; align-items:center; border:1px solid rgba(255,255,255,.2); border-radius:999px; color:#dce9f5; text-decoration:none; font-size:.82rem; transition:background .2s ease,border-color .2s ease; }
.page-brand-detail .brand-showcase-categories a:hover { border-color:var(--brand-accent); background:var(--brand-accent-soft); }
.page-brand-detail .brand-showcase-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; width:100%; margin-top:24px; }
.page-brand-detail .brand-showcase-actions .btn { min-height:48px; display:inline-flex; align-items:center; justify-content:center; border-radius:6px; }
.page-brand-detail .brand-showcase-actions .btn-primary { background:var(--brand-accent); border-color:var(--brand-accent); color:#fff; }
.page-brand-detail .brand-showcase-gallery { position:relative; min-height:430px; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:8px; background:radial-gradient(circle at 54% 45%,rgba(43,83,125,.55),transparent 43%),linear-gradient(145deg,#101f31,#07111e); }
.page-brand-detail .brand-showcase-gallery::before { content:""; position:absolute; inset:50% 7% 14%; border:1px solid rgba(255,255,255,.14); border-radius:50%; transform:skewX(-16deg); }
.page-brand-detail .brand-showcase-bike { position:absolute; margin:0; z-index:1; transition:transform .3s ease; }
.page-brand-detail .brand-showcase-bike img { width:100%; height:100%; display:block; object-fit:contain; filter:drop-shadow(0 18px 16px rgba(0,0,0,.42)); }
.page-brand-detail .brand-showcase-bike:hover { transform:translateY(-7px) scale(1.025); }
.page-brand-detail .brand-showcase-bike.bike-1 { width:66%; height:72%; right:19%; bottom:3%; z-index:3; }
.page-brand-detail .brand-showcase-bike.bike-2 { width:45%; height:50%; right:-3%; top:5%; opacity:.9; }
.page-brand-detail .brand-showcase-bike.bike-3 { width:42%; height:48%; left:-2%; top:8%; opacity:.83; }
.page-brand-detail .brand-showcase-gallery-label { position:absolute; left:18px; bottom:18px; z-index:4; color:#fff; font-size:.82rem; font-weight:800; }
.page-brand-detail .brand-showcase-count { display:inline-flex; align-items:center; min-height:36px; padding:0 12px; border-radius:999px; background:var(--brand-accent-soft); color:var(--brand-accent); font-size:.82rem; font-weight:800; }
.page-brand-detail .brand-showcase-catalog .catalog-toolbar-panel { border-radius:8px; }
.page-brand-detail .brand-showcase-catalog .catalog-products-grid { grid-template-columns:repeat(auto-fill,minmax(245px,1fr)); gap:16px; }
.page-brand-detail .brand-showcase-catalog .catalog-product-card { overflow:hidden; border:1px solid rgba(110,154,196,.3); border-radius:8px; background:#0b2947; box-shadow:none; }
.page-brand-detail .brand-showcase-catalog .catalog-product-card:hover { border-color:var(--brand-accent); box-shadow:0 14px 30px rgba(0,0,0,.25); transform:translateY(-4px); }
.page-brand-detail .brand-showcase-catalog .catalog-product-media { aspect-ratio:16/10; min-height:0; background:#edf4fa; }
.page-brand-detail .brand-showcase-catalog .catalog-product-media img { object-fit:contain; padding:12px; }
.page-brand-detail .brand-showcase-catalog .catalog-product-body { padding:16px; }
.page-brand-detail .brand-showcase-catalog .catalog-product-body h3 { min-height:3.1em; margin:7px 0; font-size:1rem; line-height:1.55; }
.page-brand-detail .brand-showcase-catalog .catalog-product-body > p { display:none; }
.page-brand-detail .brand-showcase-catalog .catalog-product-actions { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:0 16px 16px; }
.page-brand-detail .brand-showcase-catalog .catalog-product-actions > * { min-width:0!important; width:100%!important; }
.page-brand-detail .brand-showcase-catalog .catalog-product-actions .btn { min-width:0; min-height:46px; padding:0 10px; display:inline-flex; align-items:center; justify-content:center; border-radius:6px; font-size:.82rem; white-space:nowrap; }
.page-brand-detail .brand-showcase-catalog .catalog-quote-btn { background:var(--brand-accent); border-color:var(--brand-accent); }
.page-brand-detail .brand-showcase-catalog .catalog-view-product-btn { color:#dce9f5; border-color:rgba(220,233,245,.45); }
@media (max-width:800px) { .page-brand-detail .brand-showcase-grid { grid-template-columns:1fr; } .page-brand-detail .brand-showcase-gallery { min-height:340px; } }
@media (max-width:520px) { .page-brand-detail .brand-showcase-shell { padding:18px 0 28px; } .page-brand-detail .brand-showcase-copy { padding:22px; } .page-brand-detail .brand-showcase-gallery { min-height:280px; } .page-brand-detail .brand-showcase-metrics { gap:6px; } .page-brand-detail .brand-showcase-actions { grid-template-columns:1fr; } .page-brand-detail .brand-showcase-catalog .catalog-products-grid { grid-template-columns:1fr; } }

/* Compact visual hierarchy for brand and category catalog pages. */
.brand-family-page .brand-detail-grid-refined { align-items: stretch; }
.brand-family-page .brand-content-panel,
.brand-family-page .taxonomy-content-panel { padding: clamp(22px, 3vw, 42px); border-radius: 8px; }
.brand-family-page .brand-identity-row { display:flex; align-items:center; gap:12px; }
.brand-family-page .brand-identity-row img { width:48px; height:48px; object-fit:contain; padding:6px; border:1px solid var(--bf-line); border-radius:8px; background:#fff; }
.brand-family-page .brand-motor-hero { display:grid; gap:12px; padding:0; border:0; background:transparent; }
.brand-family-page .brand-motor-hero-media,
.brand-family-page .taxonomy-visual-card { position:relative; display:grid; place-items:center; min-height:300px; overflow:hidden; border:1px solid var(--bf-line); border-radius:8px; background:linear-gradient(145deg,#fff,#edf3f8); }
.brand-family-page .brand-motor-hero-media img,
.brand-family-page .taxonomy-motor-image { width:100%; height:100%; max-height:360px; display:block; object-fit:contain; padding:20px; }
.brand-family-page .brand-motor-hero-media > span { position:absolute; right:14px; bottom:14px; max-width:calc(100% - 28px); padding:8px 11px; border-radius:6px; background:rgba(7,21,34,.84); color:#fff; font-size:.8rem; font-weight:800; }
.brand-family-page .brand-motor-hero-media.is-empty,
.brand-family-page .taxonomy-visual-card.is-empty { background:var(--bf-accent-soft); color:var(--bf-accent-dark); }
.brand-family-page .brand-stat-stack { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.brand-family-page .brand-stat-stack .discovery-stat-card { min-height:0; padding:14px; border-radius:8px; }
.brand-family-page .brand-stat-stack .discovery-stat-card p { display:none; }
.brand-family-page .catalog-products-grid { grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
.brand-family-page .catalog-product-card { border-radius:8px; }
.brand-family-page .catalog-product-media { min-height:0; aspect-ratio:16/10; background:linear-gradient(145deg,#f8fbfe,#e3edf6); }
.brand-family-page .catalog-product-media .catalog-motor-image { width:100%; height:100%; display:block; object-fit:contain; padding:12px; }
.brand-family-page .catalog-product-body { padding:16px; }
.brand-family-page .catalog-product-body h3 { min-height:3.2em; font-size:1rem; line-height:1.6; }
.brand-family-page .catalog-product-body > p { display:none; }
.brand-family-page .catalog-product-footer { margin-top:10px; }
.brand-family-page .catalog-product-actions { padding:0 16px 16px; }
.brand-family-page .taxonomy-hero-shell { background:linear-gradient(145deg,var(--bf-panel),var(--bf-ink)); border-bottom:4px solid var(--bf-accent); }
.brand-family-page .taxonomy-visual-panel { gap:12px; }
.brand-family-page .taxonomy-visual-card { min-height:280px; }
.brand-family-page .taxonomy-visual-card .taxonomy-visual-fallback { display:grid; place-items:center; min-height:inherit; }
.brand-family-page .taxonomy-child-card { min-height:74px; border-radius:8px; }

@media (max-width: 720px) {
    .brand-family-page .brand-detail-grid-refined { grid-template-columns:1fr; }
    .brand-family-page .brand-motor-hero-media { min-height:220px; }
    .brand-family-page .catalog-products-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .brand-family-page .catalog-product-body { padding:12px; }
    .brand-family-page .catalog-product-body h3 { min-height:4.8em; font-size:.9rem; }
    .brand-family-page .catalog-product-actions { padding:0 12px 12px; gap:8px; }
    .brand-family-page .catalog-product-actions .btn { min-height:44px; padding-inline:8px; font-size:.8rem; }
}

@media (max-width: 420px) {
    .brand-family-page .catalog-products-grid { grid-template-columns:1fr; }
}

@media (max-width: 540px) {
    .brand-family-page .catalog-product-actions { grid-template-columns: 1fr; }
    .brand-family-page .catalog-product-actions .btn { min-height: 50px; }
    .brand-family-page .catalog-hero-actions,
    .brand-family-page .product-cta-actions { gap: 10px; }
}
