/* Shared scrollbars: page and inner scrollers; component rules can still hide them. */
html, :where(body, body *) {scrollbar-width:thin;scrollbar-color:var(--bbr-brand) transparent;}
:where(html, body, body *)::-webkit-scrollbar {width:6px;height:6px;}
:where(html, body, body *)::-webkit-scrollbar-track {background:transparent;}
:where(html, body, body *)::-webkit-scrollbar-thumb {background:var(--bbr-brand);border-radius:999px;}
:where(html, body, body *)::-webkit-scrollbar-thumb:hover {background:var(--bbr-brand-hover);}
:where(html, body, body *)::-webkit-scrollbar-corner {background:transparent;}
@media(forced-colors:active) {html, :where(body, body *) {scrollbar-color:auto;}}

/* Shared foundations. Ecommerce compositions await their implementation. */
*, *::before, *::after { box-sizing: border-box; }
.bbr-arrow { display:inline-block; width:18px; height:18px; flex-shrink:0; vertical-align:middle; fill:currentColor; stroke:none; }
.bbr-languages .trp-shortcode-arrow { width:14px; height:14px; color:var(--text,var(--bbr-text)); fill:currentColor; stroke:none; }
body { margin: 0; background: var(--bbr-bg); color: var(--bbr-text); font-family: var(--bbr-font); font-size: var(--bbr-text-md); line-height: var(--bbr-leading); }
a { color: var(--bbr-link); text-underline-offset: var(--bbr-space-1); }
:focus-visible { outline: 2px solid var(--bbr-focus); outline-offset: var(--bbr-space-1); }
img, video, iframe { max-width: 100%; }
img { height: auto; }
h1, h2, h3 { line-height: var(--bbr-leading-heading); overflow-wrap: anywhere; }
h1 { font-size: var(--bbr-text-display); }
h2 { font-size: var(--bbr-text-2xl); }
h3 { font-size: var(--bbr-text-xl); }
input, select, textarea, button { font: inherit; }
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea {
    max-width: 100%; min-height: var(--bbr-control-height); padding: var(--bbr-space-3);
    border: 1px solid var(--bbr-control-border); border-radius: var(--bbr-radius-sm);
    background: var(--bbr-input); color: var(--bbr-text);
}
button, input[type="submit"], .wp-block-button .wp-block-button__link {
    min-height: var(--bbr-control-height); padding: var(--bbr-space-3) var(--bbr-space-6);
    background: var(--bbr-brand); color: var(--bbr-chrome); border: 1px solid transparent;
    border-radius: var(--bbr-radius-sm); cursor: pointer; font-weight: 700; white-space: normal;
}
button:hover, input[type="submit"]:hover, .wp-block-button .wp-block-button__link:hover { background: var(--bbr-brand-hover); }
button:disabled { opacity: .6; cursor: default; }
.bbr-container { width: 100%; max-width: var(--bbr-container); margin-inline: auto; padding-inline: var(--bbr-gutter); }
.bbr-main { padding-block: var(--bbr-space-12); min-height: 50vh; }
.bbr-header, .bbr-footer { background: var(--bbr-chrome); color: var(--bbr-on-chrome); }
.bbr-header__inner { display: flex; align-items: center; flex-wrap: wrap; gap: var(--bbr-space-6); padding-block: var(--bbr-space-5); }
.bbr-brand { margin-inline-end: auto; min-width: 0; overflow-wrap: anywhere; }
.bbr-brand a { font-weight: 700; }
.custom-logo { max-height: var(--bbr-space-16); width: auto; }
.bbr-navigation { max-width: 100%; }
.bbr-navigation summary { min-height: var(--bbr-control-height); padding: var(--bbr-space-3); cursor: pointer; }
.bbr-menu { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--bbr-space-4); }
.bbr-menu a { display: inline-block; padding-block: var(--bbr-space-3); overflow-wrap: anywhere; }
.bbr-menu .sub-menu { padding-inline-start: var(--bbr-space-6); }
.bbr-footer { padding-block: var(--bbr-space-10); }
.bbr-content { overflow-wrap: anywhere; margin-block-end: var(--bbr-space-8); }
.bbr-skip-link { position: absolute; top: var(--bbr-space-2); left: var(--bbr-space-2); transform: translateY(-200%); padding: var(--bbr-space-3); background: var(--bbr-brand); color: var(--bbr-chrome); z-index: 100; }
.bbr-skip-link:focus { transform: none; }
.screen-reader-text { clip-path: inset(50%); height: 1px; width: 1px; overflow: hidden; position: absolute; white-space: nowrap; }
/* Homepage components derived from Blackbird UI v0.6. */
[hidden] { display: none !important; }
.bbr-header { border-bottom: 1px solid var(--bbr-border); }
.bbr-header__inner { gap: var(--bbr-space-5); }
.bbr-brand img, .bbr-footer-brand img { width: 190px; max-width: 100%; height: auto; display: block; }
.bbr-header-tools { display: flex; align-items: center; flex-wrap: wrap; gap: var(--bbr-space-4); font-size: var(--bbr-text-sm); }
.bbr-header-tools a { display: inline-flex; align-items: center; min-height: var(--bbr-target-min); }
.bbr-navigation { flex: 1 0 100%; }
.bbr-navigation summary { display: flex; gap: var(--bbr-space-3); align-items: center; width: fit-content; font-weight: 700; }
.bbr-navigation .bbr-menu { margin: 0; flex-direction: column; }
.bbr-menu a { text-decoration: none; }
.bbr-menu a:hover, .bbr-menu a:focus-visible { color: var(--bbr-brand); }
.bbr-menu li { min-width: 0; }
.bbr-menu .sub-menu { list-style: none; }
.bbr-footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3,1fr); gap: var(--bbr-space-8); }
.bbr-footer h2 { font-size: var(--bbr-text-md); }
.bbr-footer .bbr-menu { flex-direction: column; gap: 0; }
.bbr-footer-legal { display: flex; gap: var(--bbr-space-6); align-items: center; flex-wrap: wrap; margin-top: var(--bbr-space-8); border-top: 1px solid var(--bbr-border); padding-top: var(--bbr-space-4); font-size: var(--bbr-text-sm); }
.bbr-footer-widget { margin-top: var(--bbr-space-5); }
.bbr-button { display: inline-flex; align-items: center; justify-content: center; text-align: center; min-height: var(--bbr-control-height); padding: var(--bbr-space-3) var(--bbr-space-5); background: var(--bbr-brand); color: var(--bbr-chrome); border-radius: var(--bbr-radius-sm); font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.bbr-button:hover { background: var(--bbr-brand-hover); color: var(--bbr-chrome); }
.bbr-button--secondary {background:transparent;color:var(--bbr-text);border:1px solid var(--bbr-control-border);}
.bbr-button--secondary:hover {background:var(--bbr-surface-raised);color:var(--bbr-text);}
.bbr-section { margin-block: var(--bbr-space-16); }
.bbr-section h2 { margin-top: 0; }
.bbr-eyebrow { color: var(--bbr-muted); font-size: var(--bbr-text-sm); text-transform: uppercase; font-weight: 700; letter-spacing: .08em; margin-bottom: var(--bbr-space-3); }
.bbr-slide { position: relative; min-width: 0; background: var(--bbr-chrome); }
.bbr-slide-media { display: block; }
.bbr-slide-media img { display: block; width: 100%; height: clamp(240px, 35vw, 520px); object-fit: cover; }
.bbr-slide-copy { padding-block: var(--bbr-space-8); }
.bbr-slide-copy h2 { margin-block: 0 var(--bbr-space-4); font-size: var(--bbr-text-display); max-width: 28ch; }
.bbr-slide-copy p { max-width: 60ch; color: var(--bbr-muted); }
.bbr-slider-controls { display: flex; align-items: center; justify-content: center; gap: var(--bbr-space-5); padding: var(--bbr-space-4); background: var(--bbr-chrome); }
.bbr-slider-controls button { padding-inline: var(--bbr-space-4); }
.bbr-slider-position { font-variant-numeric: tabular-nums; }
.bbr-products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--bbr-space-5); align-items: stretch; }
.bbr-product { min-width: 0; display: flex; flex-direction: column; background: var(--bbr-surface); border: 1px solid var(--bbr-border); border-radius: var(--bbr-radius-md); overflow: hidden; }
.bbr-product-media { display: flex; padding: var(--bbr-space-3); margin: var(--bbr-space-3); border-radius: var(--bbr-radius-sm); border: 1px solid #d5d6ce; background: #ecece7; aspect-ratio: 4/3; align-items: center; justify-content: center; }
.bbr-product-media img { display: block; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.bbr-product-body { display: flex; flex-direction: column; flex: 1; padding: var(--bbr-space-4); gap: var(--bbr-space-4); min-width: 0; }
.bbr-product h3 { font-size: var(--bbr-text-lg); margin: 0; }
.bbr-product h3 a { text-decoration: none; }
.bbr-product-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--bbr-space-2); font-size: var(--bbr-text-xs); color: var(--bbr-muted); overflow-wrap: anywhere; }
.bbr-card-fit { background: var(--bbr-surface-raised); border: 1px solid var(--bbr-border); border-radius: var(--bbr-radius-md); padding: var(--bbr-space-3); font-size: var(--bbr-text-sm); }
.bbr-fit-label { display: block; color: var(--bbr-muted); font-size: var(--bbr-text-xs); margin-bottom: var(--bbr-space-2); }
.bbr-fit-models { border-top: 1px solid var(--bbr-border); padding-top: var(--bbr-space-3); display: flex; gap: var(--bbr-space-3); flex-wrap: wrap; }
.bbr-fit-logo { width: 40px; height: 40px; object-fit: contain; filter: brightness(0) invert(1); }
.bbr-fit-models ul { flex: 1 1 100px; }
.bbr-card-fit ul { list-style: none; margin: 0; padding: 0; overflow-wrap: anywhere; }
.bbr-card-fit p { margin-block: var(--bbr-space-2) 0; color: var(--bbr-muted); }
.bbr-fit-more { margin-top: var(--bbr-space-3); border-top: 1px solid var(--bbr-border); padding-top: var(--bbr-space-2); }
.bbr-fit-more summary { cursor: pointer; min-height: var(--bbr-target-min); display: flex; align-items: center; }
.bbr-product-purchase { margin-top: auto; display: flex; flex-direction: column; gap: var(--bbr-space-3); }
.bbr-price { font-variant-numeric: tabular-nums; font-weight: 700; font-size: var(--bbr-text-lg); overflow-wrap: anywhere; }
.bbr-price del { color: var(--bbr-muted); font-size: var(--bbr-text-sm); }
.bbr-price ins { text-decoration: none; }
/* Monetary insertions are prices, never underlined text. Keep del strike-throughs. */
body.bbr-native ins:has(.woocommerce-Price-amount) { text-decoration: none; background: transparent; }
.bbr-stock { font-size: var(--bbr-text-sm); margin: 0; color: var(--bbr-muted); }
.bbr-product .bbr-button { width: 100%; }
@media(min-width:1101px) {
    .bbr-navigation[open] summary { display: none; }
    .bbr-navigation .bbr-menu { flex-direction: row; justify-content: center; gap: var(--bbr-space-8); }
    .bbr-navigation .bbr-menu > li { position: relative; }
    .bbr-navigation .sub-menu { display: none; position: absolute; top: 100%; left: 0; min-width: 220px; z-index: 20; background: var(--bbr-surface-raised); border: 1px solid var(--bbr-border); padding: var(--bbr-space-3); }
    .bbr-navigation li:hover > .sub-menu, .bbr-navigation li:focus-within > .sub-menu { display: block; }
}
@media(max-width:1100px) { .bbr-products { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) {
    .bbr-brand img { width: 150px; }
    .bbr-header-tools { gap: var(--bbr-space-3); }
    .bbr-header__inner { gap: var(--bbr-space-3); }
    .bbr-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--bbr-space-5); }
    .bbr-footer-brand { grid-column: 1/-1; }
    .bbr-products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--bbr-space-3); }
    .bbr-product-body { padding: var(--bbr-space-3); gap: var(--bbr-space-3); }
    .bbr-product h3, .bbr-price { font-size: var(--bbr-text-md); }
    .bbr-product .bbr-button { padding-inline: var(--bbr-space-2); font-size: var(--bbr-text-sm); }
    .bbr-card-fit { padding: var(--bbr-space-2); font-size: var(--bbr-text-xs); }
    .bbr-product-media { padding: var(--bbr-space-2); margin: var(--bbr-space-2); }
    .bbr-fit-logo { width: 28px; height: 28px; }
    .bbr-slide-copy { padding-block: var(--bbr-space-6); }
    .bbr-section { margin-block: var(--bbr-space-10); }
}
/* Keep native text readable even while legacy plugins enqueue generic resets. */
body.bbr-native { color: var(--bbr-text); }
body.bbr-native :is(h1,h2,h3,h4,h5,h6) { color: var(--bbr-text); }
body.bbr-native a { color: var(--bbr-link); }
body.bbr-native :is(.bbr-button, .wp-block-button__link) { color: var(--bbr-chrome); }
body.bbr-native .bbr-button--secondary, body.bbr-native .bbr-button--secondary:hover {color:var(--bbr-text);}
body.bbr-native .bbr-eyebrow, body.bbr-native .bbr-stock, body.bbr-native .bbr-product-meta { color: var(--bbr-muted); }

/* Shared form caret requested for native selects and enhanced country fields. */
body.bbr-native :is(.bbr-auth,.bbr-account,.bbr-checkout,.bbr-phone-field) select:not(.select2-hidden-accessible) {
    appearance: none; color-scheme: dark;
    background-image: url('../images/form-caret-down.svg'); background-size: 16px 16px;
    background-repeat: no-repeat; background-position: right 12px center; padding-inline-end: 40px;
}

/* Original 24px main-category artwork, tinted by the surrounding text state. */
.bbr-category-icon {display:block;flex-shrink:0;width:24px;height:24px;background:currentColor;mask:var(--bbr-category-art) center/contain no-repeat;}
.bbr-category-icon--adesivi-vari { --bbr-category-art:url(../images/BBR-category-adesivi-vari.svg); }
.bbr-category-icon--copertine-sella { --bbr-category-art:url(../images/BBR-category-copertine-sella.svg); }
.bbr-category-icon--kit-adesivi { --bbr-category-art:url(../images/BBR-category-kit-adesivi.svg); }
.bbr-category-icon--kit-personalizzabili { --bbr-category-art:url(../images/BBR-category-kit-personalizzabili.svg); }
.bbr-category-icon--prodotti-blackbird { --bbr-category-art:url(../images/BBR-category-prodotti-blackbird.svg); }
.bbr-category-icon--tabelle-portanumero { --bbr-category-art:url(../images/BBR-category-tabelle-portanumero.svg); }

/* Secondary universal categories and the Algisbike root, using original client SVGs. */
.bbr-category-icon--accessori-forcelle { --bbr-category-art:url(../images/BBR-category-accessori-forcelle.svg); }
.bbr-category-icon--accessori-off-road { --bbr-category-art:url(../images/BBR-category-accessori-off-road.svg); }
.bbr-category-icon--accessori-pilota { --bbr-category-art:url(../images/BBR-category-accessori-pilota.svg); }
.bbr-category-icon--accessori-sella { --bbr-category-art:url(../images/BBR-category-accessori-sella.svg); }
.bbr-category-icon--adesivi-antiscivolo { --bbr-category-art:url(../images/BBR-category-adesivi-antiscivolo.svg); }
.bbr-category-icon--adesivi-carter-frizione { --bbr-category-art:url(../images/BBR-category-adesivi-carter-frizione.svg); }
.bbr-category-icon--adesivi-cerchi { --bbr-category-art:url(../images/BBR-category-adesivi-cerchi.svg); }
.bbr-category-icon--adesivi-paracalore { --bbr-category-art:url(../images/BBR-category-adesivi-paracalore.svg); }
.bbr-category-icon--algis-bike { --bbr-category-art:url(../images/BBR-category-algis-bike.svg); }
.bbr-category-icon--fogli-crystall { --bbr-category-art:url(../images/BBR-category-fogli-crystall.svg); }
.bbr-category-icon--fogli-sponsor-pvc { --bbr-category-art:url(../images/BBR-category-fogli-sponsor-pvc.svg); }
.bbr-category-icon--foglio-macchina { --bbr-category-art:url(../images/BBR-category-foglio-macchina.svg); }
.bbr-category-icon--kit-standard { --bbr-category-art:url(../images/BBR-category-kit-standard.svg); }
.bbr-category-icon--numeri-gara { --bbr-category-art:url(../images/BBR-category-numeri-gara.svg); }
.bbr-category-icon--paracolpi { --bbr-category-art:url(../images/BBR-category-paracolpi.svg); }
.bbr-category-icon--protezione-manopole { --bbr-category-art:url(../images/BBR-category-protezione-manopole.svg); }
