/*
 * MAD RUN — tema del frontend (2026-10)
 * Grafica dalla bozza approvata (temp/MAD_RUN_Bozza, non versionata). Unico CSS del progetto.
 *
 * Sezioni:
 *  1. Variabili del tema per i componenti della libreria (--mr-*)
 *  2. Griglia, utilità, icone e componenti della libreria (classi usate da view, helper e HTML generato da PHP/JS)
 *  3. Tema MAD RUN dalla bozza (CSS della bozza così com'è: token, header, home, shop, scheda, blog, contatti, review)
 *  4. Pagine interne della libreria (carrello, checkout, accesso, area cliente, testi)
 *  5. Adattamenti del tema alle pagine dinamiche (carrello laterale, lista prodotti e filtri, scheda, blog, contatti, review)
 *
 * Colori: --primary-color… arrivano da Grafica sito (THEME_COLORS, stampate nel layout).
 * Titoli di slide e banner: <em> = evidenziatura gialla (view helper accentTitle).
 * Classi del tema con prefisso mr- per le parti nuove; le classi della bozza e della libreria mantengono il loro nome.
 */

/* =====================================================================
   1. Variabili del tema per i componenti della libreria
   ===================================================================== */
:root {
    --mr-yellow: var(--primary-color, #ffd900);
    --mr-black: var(--secondary-bg-color, #13110c);
    --mr-ink: #13110c;
    --mr-bg: var(--tertiary-bg-color, #f7f7f7);
    --mr-card: var(--primary-bg-color, #ffffff);
    --mr-muted: #6d6b65;
    --mr-line: #e5e4e1;
    --mr-soft: #fff6bf;
    --mr-green: #1f8a5b;
    --mr-danger: #c4262e;
    --mr-radius: 0;
    --mr-radius-sm: 0;
    --mr-max: 1320px;
    --mr-shadow: 0 18px 40px rgba(19, 17, 12, .14);
    --mr-font: "Manrope", Arial, sans-serif;
    --mr-font-title: Amsi, "Arial Black", Impact, sans-serif;
}
.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; }
.mr-skip { position: absolute; top: -100px; left: 16px; background: var(--mr-yellow); color: var(--mr-ink); padding: 12px; z-index: 2000; font-weight: 800; }
.mr-skip:focus { top: 12px; }
[hidden] { display: none !important; }

/* =====================================================================
   2. Griglia, utilità, icone e componenti della libreria
   ===================================================================== */
.container, .container-fluid { width: 100%; max-width: calc(var(--mr-max) + 40px); padding-left: 20px; padding-right: 20px; margin-left: auto; margin-right: auto; }
.mini-container { width: 100%; max-width: calc(var(--mr-max) + 40px); margin: 0 auto; padding-left: 20px; padding-right: 20px; }
.row { display: flex; flex-wrap: wrap; margin-left: -10px; margin-right: -10px; }
.row > * { position: relative; width: 100%; padding-right: 10px; padding-left: 10px; }
.gutter-lg { margin-left: -15px; margin-right: -15px; }
.gutter-lg > * { padding-right: 15px; padding-left: 15px; }
.gutter-sm { margin-left: -5px; margin-right: -5px; }
.gutter-sm > * { padding-right: 5px; padding-left: 5px; }
.gutter-no { margin-left: 0; margin-right: 0; }
.gutter-no > * { padding-right: 0; padding-left: 0; }
.cols-1 > * { width: 100%; } .cols-2 > * { width: 50%; } .cols-3 > * { width: 33.3333%; } .cols-4 > * { width: 25%; } .cols-5 > * { width: 20%; } .cols-6 > * { width: 16.6667%; }
.col-6 { width: 50%; } .col-12 { width: 100%; }
@media (min-width: 480px) {
    .cols-xs-1 > * { width: 100%; } .cols-xs-2 > * { width: 50%; } .cols-xs-3 > * { width: 33.3333%; } .cols-xs-4 > * { width: 25%; }
    .col-xs-1 { width: 8.3333%; } .col-xs-2 { width: 16.6667%; } .col-xs-3 { width: 25%; } .col-xs-4 { width: 33.3333%; } .col-xs-5 { width: 41.6667%; } .col-xs-6 { width: 50%; }
    .col-xs-7 { width: 58.3333%; } .col-xs-8 { width: 66.6667%; } .col-xs-9 { width: 75%; } .col-xs-10 { width: 83.3333%; } .col-xs-11 { width: 91.6667%; } .col-xs-12 { width: 100%; }
}
@media (min-width: 576px) {
    .cols-sm-1 > * { width: 100%; } .cols-sm-2 > * { width: 50%; } .cols-sm-3 > * { width: 33.3333%; } .cols-sm-4 > * { width: 25%; }
    .col-sm-1 { width: 8.3333%; } .col-sm-2 { width: 16.6667%; } .col-sm-3 { width: 25%; } .col-sm-4 { width: 33.3333%; } .col-sm-5 { width: 41.6667%; } .col-sm-6 { width: 50%; }
    .col-sm-7 { width: 58.3333%; } .col-sm-8 { width: 66.6667%; } .col-sm-9 { width: 75%; } .col-sm-10 { width: 83.3333%; } .col-sm-11 { width: 91.6667%; } .col-sm-12 { width: 100%; }
}
@media (min-width: 768px) {
    .cols-md-1 > * { width: 100%; } .cols-md-2 > * { width: 50%; } .cols-md-3 > * { width: 33.3333%; } .cols-md-4 > * { width: 25%; } .cols-md-6 > * { width: 16.6667%; }
    .col-md-1 { width: 8.3333%; } .col-md-2 { width: 16.6667%; } .col-md-3 { width: 25%; } .col-md-4 { width: 33.3333%; } .col-md-5 { width: 41.6667%; } .col-md-6 { width: 50%; }
    .col-md-7 { width: 58.3333%; } .col-md-8 { width: 66.6667%; } .col-md-9 { width: 75%; } .col-md-10 { width: 83.3333%; } .col-md-11 { width: 91.6667%; } .col-md-12 { width: 100%; }
    .mt-md-0 { margin-top: 0 !important; } .mb-md-0 { margin-bottom: 0 !important; } .ml-md-1 { margin-left: .5rem !important; } .pl-md-4 { padding-left: 2rem !important; }
}
@media (min-width: 992px) {
    .cols-lg-1 > * { width: 100%; } .cols-lg-2 > * { width: 50%; } .cols-lg-3 > * { width: 33.3333%; } .cols-lg-4 > * { width: 25%; } .cols-lg-5 > * { width: 20%; } .cols-lg-6 > * { width: 16.6667%; }
    .col-lg-1 { width: 8.3333%; } .col-lg-2 { width: 16.6667%; } .col-lg-3 { width: 25%; } .col-lg-4 { width: 33.3333%; } .col-lg-5 { width: 41.6667%; } .col-lg-6 { width: 50%; }
    .col-lg-7 { width: 58.3333%; } .col-lg-8 { width: 66.6667%; } .col-lg-9 { width: 75%; } .col-lg-10 { width: 83.3333%; } .col-lg-11 { width: 91.6667%; } .col-lg-12 { width: 100%; }
    .mb-lg-0 { margin-bottom: 0 !important; } .mr-lg-2 { margin-right: 1rem !important; } .pl-lg-6 { padding-left: 3rem !important; } .pr-lg-6 { padding-right: 3rem !important; }
    .d-lg-none { display: none !important; } .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; }
}
@media (min-width: 1200px) {
    .cols-xl-2 > * { width: 50%; } .cols-xl-3 > * { width: 33.3333%; } .cols-xl-4 > * { width: 25%; }
    .col-xl-1 { width: 8.3333%; } .col-xl-2 { width: 16.6667%; } .col-xl-3 { width: 25%; } .col-xl-4 { width: 33.3333%; } .col-xl-5 { width: 41.6667%; } .col-xl-6 { width: 50%; }
    .col-xl-7 { width: 58.3333%; } .col-xl-8 { width: 66.6667%; } .col-xl-9 { width: 75%; } .col-xl-10 { width: 83.3333%; } .col-xl-11 { width: 91.6667%; } .col-xl-12 { width: 100%; }
    .mb-xl-0 { margin-bottom: 0 !important; }
    .d-xl-none { display: none !important; } .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; }
}
@media (max-width: 1199px) { .d-xl-show { display: none !important; } }
@media (max-width: 991px) { .d-lg-show { display: none !important; } }
@media (max-width: 767px) { .d-md-show { display: none !important; } }
@media (max-width: 479px) { .d-xs-show { display: none !important; } }

/* display e flex */
.d-none, .hidden { display: none !important; }
.d-block, .display-block { display: block !important; }
.d-inline-block, .inline-block { display: inline-block !important; }
.inline { display: inline !important; }
.d-flex, .display-flex { display: flex !important; }
.d-inline-flex { display: inline-flex !important; }
.flex-column { flex-direction: column !important; }
.flex-wrap { flex-wrap: wrap !important; }
.justify-content-center, .flex-justify-content-center { justify-content: center !important; }
.justify-content-end { justify-content: flex-end !important; }
.align-items-center { align-items: center !important; }
.flex-align-items-bottom { align-self: flex-end; }
.overflow-hidden { overflow: hidden !important; }
.visibility-hidden { visibility: hidden; }
.opacity-03 { opacity: .3; }
.relative { position: relative; } .absolute { position: absolute; } .fixed { position: fixed; }
.left { float: left !important; } .right { float: right !important; }
.clear, .clearer { clear: both; } .clearer { display: block; }
.pointer { cursor: pointer; }
.w-100, .w100x100 { width: 100% !important; } .h-100 { height: 100% !important; }

/* testo */
.text-left, .align-left { text-align: left !important; }
.text-center, .align-center, .txt-center { text-align: center !important; }
.text-right, .align-right, .txt-right { text-align: right !important; }
.text-uppercase, .uppercase { text-transform: uppercase !important; }
.underline { text-decoration: underline; }
.font-italic { font-style: italic; }
.bold, .font-weight-bold { font-weight: 700 !important; }
.font-weight-normal, .weight-normal, .weight-400 { font-weight: 400 !important; }
.weight-semibold, .weight-semi2bold, .weight-semib2old { font-weight: 600 !important; }
.weight-bold { font-weight: 800 !important; }
.ls-normal { letter-spacing: 0 !important; }
.lh-1 { line-height: 1 !important; }
.line-height-12 { line-height: 1.25 !important; } .line-height-16 { line-height: 1.35 !important; } .lh50 { line-height: 50px !important; }
.font12 { font-size: 12px !important; } .font13 { font-size: 13px !important; } .font14 { font-size: 14px !important; } .font15 { font-size: 15px !important; }
.font16 { font-size: 16px !important; } .font17 { font-size: 17px !important; } .font18 { font-size: 18px !important; } .font20 { font-size: 20px !important; }
.font24 { font-size: 24px !important; } .font32 { font-size: 32px !important; } .font36 { font-size: 36px !important; } .font40 { font-size: 40px !important; }
.font-primary, .font-secondary { font-family: var(--mr-font-title) !important; }

/* colori */
.text-primary { color: var(--mr-ink) !important; }
.text-success { color: var(--mr-green) !important; }
.text-dark, .col-333333 { color: var(--mr-ink) !important; }
.col-777777, .col-727272 { color: var(--mr-muted) !important; }
.col-ffffff { color: #fff !important; }
.col-a52116, .color-red { color: var(--mr-danger) !important; }
.col-2259aa { color: var(--mr-ink) !important; }
.bg-col-ffffff { background-color: #fff !important; }
.bg-col-FF8F00 { background-color: #ff8f00 !important; }
.bg-success { background: var(--mr-green) !important; border-radius: var(--mr-radius-sm); }
.brd { border: 1px solid var(--mr-line) !important; }
.brd-col-ffffff { border-color: #fff !important; }
.border0, .border-0, .border-no { border: 0 !important; }

/* larghezze e altezze (px e %) */
.w10p { width: 10%; } .w15p { width: 15%; } .w20p { width: 20px !important; } .w40p { width: 40%; } .w50p { width: 50px !important; } .w60p { width: 60%; }
.w90p { width: 90px !important; } .w120p { width: 120px !important; } .w200p { width: 200px !important; }
.w20 { width: 20% !important; } .w80 { width: 80% !important; } .w100 { width: 100% !important; } .w70x100 { width: 70% !important; }
.h20p { height: 20px !important; } .h30p { height: 30px !important; } .h5 { height: 5% !important; }

/* spaziature della libreria (1 = .5rem) */
.mb-0 { margin-bottom: 0 !important; } .mr-0 { margin-right: 0 !important; }
.mt-1 { margin-top: .5rem !important; } .mb-1 { margin-bottom: .5rem !important; } .ml-1 { margin-left: .5rem !important; } .mr-1 { margin-right: .5rem !important; } .pt-1 { padding-top: .5rem !important; }
.mt-2 { margin-top: 1rem !important; } .mb-2 { margin-bottom: 1rem !important; } .mr-2 { margin-right: 1rem !important; } .pt-2 { padding-top: 1rem !important; } .pb-2 { padding-bottom: 1rem !important; }
.mt-3 { margin-top: 1.5rem !important; } .mb-3 { margin-bottom: 1.5rem !important; } .ml-3 { margin-left: 1.5rem !important; }
.mt-4 { margin-top: 2rem !important; } .mb-4 { margin-bottom: 2rem !important; } .pt-4 { padding-top: 2rem !important; } .pl-4 { padding-left: 2rem !important; } .pr-4 { padding-right: 2rem !important; }
.mt-5 { margin-top: 2.5rem !important; } .mb-5 { margin-bottom: 2.5rem !important; } .pt-5 { padding-top: 2.5rem !important; }
.mt-6 { margin-top: 3rem !important; } .mb-6 { margin-bottom: 3rem !important; } .pt-6 { padding-top: 3rem !important; } .pb-6 { padding-bottom: 3rem !important; }
.mt-7 { margin-top: 3.5rem !important; } .pt-7 { padding-top: 3.5rem !important; }
.mt-8 { margin-top: 4rem !important; } .mb-8 { margin-bottom: 4rem !important; } .pb-8 { padding-bottom: 4rem !important; }
.mb-9 { margin-bottom: 4.5rem !important; }
.mt-10 { margin-top: 5rem !important; } .mb-10 { margin-bottom: 5rem !important; } .pt-10 { padding-top: 5rem !important; }
.mt-30 { margin-top: 30px !important; } .mb-30 { margin-bottom: 30px !important; }
.mx-auto, .mrg-auto { margin-left: auto !important; margin-right: auto !important; }

/* spaziature in px (mrg-*, pdd-*) */
.mrg0 { margin: 0 !important; }
.mrg-tp-5 { margin-top: 5px !important; } .mrg-tp-10 { margin-top: 10px !important; } .mrg-tp-15 { margin-top: 15px !important; } .mrg-tp-20 { margin-top: 20px !important; } .mrg-tp-25 { margin-top: 25px !important; } .mrg-tp-50 { margin-top: 50px !important; }
.mrg-bt-0 { margin-bottom: 0 !important; } .mrg-bt-5 { margin-bottom: 5px !important; } .mrg-bt-10 { margin-bottom: 10px !important; } .mrg-bt-15 { margin-bottom: 15px !important; } .mrg-bt-20 { margin-bottom: 20px !important; }
.mrg-l5 { margin-left: 5px !important; } .mrg-l10 { margin-left: 10px !important; } .mrg-l20 { margin-left: 20px !important; } .mrg-l25 { margin-left: 25px !important; }
.mrg-r5 { margin-right: 5px !important; } .mrg-r10 { margin-right: 10px !important; }
.pdd0 { padding: 0 !important; } .pdd3 { padding: 3px !important; } .pdd8 { padding: 8px !important; } .pdd10 { padding: 10px !important; } .pdd20 { padding: 20px !important; } .pdd30 { padding: 30px !important; }
.pdd-tp-5 { padding-top: 5px !important; } .pdd-tp-10 { padding-top: 10px !important; } .pdd-tp-15 { padding-top: 15px !important; } .pdd-tp-20 { padding-top: 20px !important; }
.pdd-bt-5 { padding-bottom: 5px !important; } .pdd-bt-10 { padding-bottom: 10px !important; } .pdd-bt-50 { padding-bottom: 50px !important; }
.pdd-l10 { padding-left: 10px !important; } .pdd-l15 { padding-left: 15px !important; } .pdd-l20 { padding-left: 20px !important; }
.pdd-r5 { padding-right: 5px !important; } .pdd-r10 { padding-right: 10px !important; } .pdd-r20 { padding-right: 20px !important; }
.pdd-lr-20-perc { padding-left: 20% !important; padding-right: 20% !important; } .pdd-lr-30-perc { padding-left: 30% !important; padding-right: 30% !important; }

/* =====================================================================
   3. Icone: le classi p-icon-* del vecchio font "panda" usano Font Awesome (caricato da core)
   ===================================================================== */
[class^="p-icon-"], [class*=" p-icon-"] { display: inline-block; font-style: normal; line-height: 1; }
[class^="p-icon-"]:before, [class*=" p-icon-"]:before { font-family: "Font Awesome 7 Pro"; font-weight: 900; -webkit-font-smoothing: antialiased; }
.p-icon-minus-solid:before { content: "\f068"; }
.p-icon-plus-solid:before { content: "\2b"; }
.p-icon-angle-left:before { content: "\f104"; }
.p-icon-angle-right:before { content: "\f105"; }
.p-icon-arrow-up:before { content: "\f062"; }
.p-icon-zoom:before { content: "\f00e"; }
.p-icon-bars-solid:before { content: "\f0c9"; }
.p-icon-grid:before { content: "\f00a"; }
.p-icon-list:before { content: "\f03a"; }
.p-icon-check-solid:before { content: "\f00c"; }
.p-icon-times:before, .p-icon-close:before { content: "\f00d"; }
.p-icon-orders:before { content: "\f290"; }
.p-icon-user:before { content: "\f007"; }
.p-icon-map:before { content: "\f3c5"; }
.p-icon-search-solid:before { content: "\f002"; }
.p-icon-heart-solid:before, .p-icon-heart-fill:before { content: "\f004"; }
.p-icon-shipping-solid:before { content: "\f0d1"; }
.p-icon-fax2:before { content: "\f09d"; }
.p-icon-earphone2:before { content: "\f590"; }
.p-icon-coupon:before { content: "\f3ff"; }

/* =====================================================================
   4. Componenti della libreria
   ===================================================================== */

/* pulsanti del tema */
.mr-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    min-height: 50px; padding: 13px 26px; border-radius: 0; border: 0;
    font-weight: 700; font-size: 14.5px; line-height: 1.2; text-align: center;
    background: var(--mr-black); color: #fff; box-shadow: 0 10px 22px rgba(19, 17, 12, .12);
    transition: transform .15s, box-shadow .15s, background .15s;
}
.mr-btn:hover { color: #fff; transform: translateY(-2px); }
.mr-btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.mr-btn-ghost { background: transparent; color: #fff; border: 1.5px solid rgba(255, 255, 255, .4); box-shadow: none; }
.mr-btn-ghost:hover { background: rgba(255, 255, 255, .1); }
.mr-btn-dark { background: var(--mr-black); box-shadow: none; }
.mr-btn-white { background: #fff; color: var(--mr-ink); box-shadow: none; }
.mr-btn-white:hover { color: var(--mr-black); }
.mr-btn-wa { background: #25d366; color: #052e16; box-shadow: none; }
.mr-btn-wa:hover { color: #052e16; }
.mr-btn-small { min-height: 40px; padding: 9px 18px; font-size: 13px; }

/* pulsanti della libreria (.btn + varianti usate da helper e JS) */
.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 46px; padding: 11px 24px; border-radius: 0; border: 1.5px solid transparent;
    font: 700 14px/1.2 var(--mr-font); text-align: center; cursor: pointer; white-space: normal;
    background: var(--mr-black); color: #fff; transition: transform .15s, background .15s, color .15s, border-color .15s;
}
.btn:hover { color: #fff; transform: translateY(-1px); }
.btn i { font-size: 1em; }
.btn-primary, .btn-success, .btn-dim { background: var(--mr-black); color: #fff; box-shadow: 0 8px 18px rgba(19, 17, 12, .12); }
.btn-dark { background: var(--mr-black); }
.btn-outline, .btn-primary-outline { background: transparent; color: var(--mr-ink); border-color: var(--mr-ink); box-shadow: none; }
.btn-outline:hover, .btn-primary-outline:hover { background: var(--mr-soft); color: var(--mr-ink); }
.btn-link { background: transparent; color: var(--mr-ink); border: 0; box-shadow: none; padding: 6px 8px; min-height: 0; }
.btn-link:hover { color: var(--mr-black); }
.btn-block { display: flex; width: 100%; }
.btn-danger { background: var(--mr-danger); }
.btn-warning { background: var(--mr-yellow); color: #241a00; }
.btn-sm { min-height: 36px; padding: 7px 16px; font-size: 13px; }
.btn[disabled], .btn.disabled { opacity: .5; pointer-events: none; }

/* sezioni del tema */
.mr-section { padding: 78px 0; }
.mr-pt-0 { padding-top: 0; }
.mr-section-head { max-width: 680px; margin: 0 0 38px; }
.mr-section-head.mr-center { margin-inline: auto; }
.mr-section-head p { color: var(--mr-muted); margin: 12px 0 0; font-size: 15.5px; }
.mr-section-head h2 { margin: 0; }
.mr-h2-small { font-size: clamp(22px, 2.6vw, 30px) !important; }
.mr-tag {
    display: inline-block; margin-bottom: 14px; padding: 6px 13px; border-radius: 0;
    font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
    color: var(--mr-ink); background: var(--mr-bg);
}
.mr-eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 18px; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--mr-yellow); }
.mr-eyebrow:before { content: ''; width: 26px; height: 2px; background: var(--mr-yellow); }
.mr-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.mr-card-box { background: var(--mr-card); border: 1px solid var(--mr-line); border-radius: var(--mr-radius); padding: 28px; }

/* titolo (TitleHelper) */
.title { font-family: var(--mr-font-title); font-weight: 800; font-size: clamp(22px, 2.4vw, 30px); margin: 0 0 18px; }
.title i { color: var(--mr-ink); margin-right: 8px; }
.title svg { display: none; }
.title.title-sm { font-size: 20px; }
.subtitle { font-size: 15px; color: var(--mr-muted); font-weight: 500; }
h3.title, h4.title { font-size: 19px; font-weight: 700; }

/* form */
.form-group { margin-bottom: 16px; }
.form-group > label, .form-label { display: block; margin-bottom: 6px; font-size: 13.5px; font-weight: 600; color: var(--mr-ink); }
.form-control, .input-text, .form-select select, select, textarea,
input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="tel"], input[type="search"], input[type="date"] {
    display: block; width: 100%; min-height: 48px; padding: 11px 16px;
    border: 1.5px solid var(--mr-line); border-radius: var(--mr-radius-sm); background: #fff;
    font-size: 15px; color: var(--mr-ink); box-shadow: none; transition: border-color .15s, box-shadow .15s;
    -webkit-appearance: none; appearance: none;
}
textarea, textarea.form-control { min-height: 130px; resize: vertical; }
select, .form-select select {
    padding-right: 42px; cursor: pointer;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2313110c' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center;
}
.form-control:focus, .input-text:focus, select:focus, textarea:focus, input:focus { outline: none; border-color: var(--mr-ink); box-shadow: 0 0 0 4px rgba(19, 17, 12, .12); }
input::placeholder, textarea::placeholder { color: #bdbab2; }
input[disabled], select[disabled], textarea[disabled] { background: var(--mr-bg); color: var(--mr-muted); }
.error { color: var(--mr-danger); font-size: 12.5px; margin-top: 4px; }
.form-control.error, .has-error .form-control, input.error { border-color: var(--mr-danger); }

/* checkbox e radio */
.form-checkbox { display: flex; align-items: flex-start; gap: 10px; margin: 10px 0; }
.form-checkbox label, .custom-control-label { font-weight: 500; font-size: 14px; cursor: pointer; }
input[type="checkbox"], input[type="radio"] { width: 20px; height: 20px; min-height: 0; margin: 1px 0 0; padding: 0; flex: none; accent-color: var(--mr-ink); cursor: pointer; -webkit-appearance: auto; appearance: auto; border: 0; box-shadow: none; }
.radio-list-items { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.radio-list-item { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1.5px solid var(--mr-line); border-radius: var(--mr-radius-sm); background: #fff; transition: border-color .15s, background .15s; }
.radio-list-item:has(input:checked) { border-color: var(--mr-ink); background: var(--mr-bg); }
.radio-list-item label { margin: 0; flex: 1; cursor: pointer; }

/* quantità */
.quantity-group { display: inline-flex; align-items: center; gap: 12px; }
.quantity-label { font-weight: 600; font-size: 14px; }
.input-group { display: inline-flex; align-items: center; border: 1.5px solid var(--mr-line); border-radius: 0; background: #fff; overflow: hidden; }
.input-group .quantity, .product-quantity .quantity { width: 54px; min-height: 44px; border: 0; border-radius: 0; text-align: center; font-weight: 700; padding: 0 4px; -moz-appearance: textfield; }
.input-group .quantity::-webkit-inner-spin-button, .product-quantity .quantity::-webkit-inner-spin-button { -webkit-appearance: none; }
.quantity-minus, .quantity-plus { width: 44px; height: 44px; border: 0; background: transparent; color: var(--mr-black); font-size: 13px; display: inline-flex; align-items: center; justify-content: center; }
.quantity-minus:hover, .quantity-plus:hover { background: var(--mr-soft); color: var(--mr-ink); }

/* alert (AlertHelper e Module.showAlert) */
.alert { position: relative; margin: 0 0 18px; padding: 16px 20px; border-radius: var(--mr-radius-sm); border: 1px solid var(--mr-line); background: #fff; font-size: 14.5px; width: 100%; }
.alert .row { margin: 0; align-items: center; }
.alert .row > * { padding: 0; }
.alert-title { font-size: 15px; margin: 0 0 4px; }
.alert-message { margin: 0; }
.alert-buttons { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.alert-buttons .btn { min-height: 40px; padding: 8px 18px; font-size: 13px; margin-left: 0 !important; float: none !important; }
/* "Continua con lo shopping" ha anche .alert-close (chiude l'alert): nei pulsanti resta nel flusso, non va sopra "Vai al carrello" */
.alert-buttons .btn.alert-close { position: static; }
.alert > i { position: absolute; left: 18px; top: 18px; font-size: 18px; }
.alert-icon { padding-left: 50px; }
.alert-success { background: #e8f8f1; border-color: #a7e3c8; color: #0a5d46; }
.alert-danger, .alert-error { background: #fdecef; border-color: #f5b5c1; color: #8a1630; }
.alert-warning { background: #fff7e0; border-color: #ffe08a; color: #6b4d00; }
.alert-info { background: var(--mr-bg); border-color: #bcd3ff; color: #133b8f; }
.alert-close { position: absolute; top: 8px; right: 8px; color: inherit; }

/* tab (TabHelper) */
.tab .nav-tabs { list-style: none; margin: 0 0 18px; padding: 4px; display: inline-flex; flex-wrap: wrap; gap: 4px; background: #fff; border: 1px solid var(--mr-line); border-radius: 0; }
.tab .nav-item { margin: 0; }
.tab .nav-link { display: block; padding: 9px 18px; border-radius: 0; font-weight: 600; font-size: 14px; color: var(--mr-ink); }
.tab .nav-link:hover { color: var(--mr-ink); }
.tab .nav-link.active { background: var(--mr-black); color: #fff; }
.tab-content > .tab-pane { display: none; }
.tab-content > .tab-pane.active { display: block; }

/* accordion (AccordionHelper) */
.accordion .card { background: var(--mr-card); border: 1px solid var(--mr-line); border-radius: 0; margin-bottom: 10px; overflow: hidden; }
.accordion .card-header a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 15px 18px; font-weight: 700; color: var(--mr-ink); }
.accordion .card-header a:after { font-family: "Font Awesome 7 Pro"; font-weight: 900; content: "\2b"; color: var(--mr-ink); transition: transform .2s; }
.accordion .card-header a.collapse:after { transform: rotate(45deg); }
.accordion .card-body { padding: 0 18px 14px; font-size: 14.5px; color: var(--mr-muted); }
.accordion .card-body.collapsed { display: none; }

/* passi (StepHelper) */
.step-by { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 26px; }
.title-step { margin: 0; font-size: 14px; }
.title-step a { display: block; padding: 9px 18px; border-radius: 0; background: #fff; border: 1px solid var(--mr-line); color: var(--mr-muted); }
.title-step.active a { background: var(--mr-black); border-color: var(--mr-black); color: #fff; }

/* tabelle (TableHelper e tabelle generate dalla libreria) */
.table, .shop-table, .order-table { width: 100%; background: var(--mr-card); border: 1px solid var(--mr-line); border-radius: var(--mr-radius-sm); border-collapse: separate; border-spacing: 0; overflow: hidden; font-size: 14px; }
.table th, .shop-table th, .order-table th { background: var(--mr-bg); text-align: left; padding: 12px 14px; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--mr-muted); border-bottom: 1px solid var(--mr-line); }
.table td, .shop-table td, .order-table td { padding: 12px 14px; border-bottom: 1px solid var(--mr-line); vertical-align: middle; }
.table tr:last-child td, .shop-table tr:last-child td, .order-table tr:last-child td { border-bottom: 0; }

/* icon box (IconBoxHelper) */
.icon-box { display: flex; align-items: center; gap: 16px; padding: 20px; background: var(--mr-card); border: 1px solid var(--mr-line); border-radius: var(--mr-radius); height: 100%; transition: transform .18s, box-shadow .18s; color: var(--mr-ink); }
a > .icon-box:hover { transform: translateY(-4px); box-shadow: var(--mr-shadow); }
.icon-box.text-center, .icon-box.ib-bottom { flex-direction: column; text-align: center; }
.icon-box-icon { width: 54px; height: 54px; flex: none; border-radius: 0; display: inline-flex; align-items: center; justify-content: center; background: var(--mr-bg); color: var(--mr-ink); font-size: 22px; }
.icon-box-icon.sample-icon-circle { border-radius: 50%; }
.icon-box-title { margin: 0; font-size: 16px; }
.icon-box-content p { margin: 4px 0 0; font-size: 13.5px; color: var(--mr-muted); }
.icon-box-content p:empty { display: none; }

/* widget e filtri */
.widget { margin-bottom: 26px; }
.widget-title { margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid var(--mr-line); font-size: 15px; font-weight: 700; }
.widget-body { list-style: none; padding: 0; margin: 0; }
.widget-body li { margin: 0; }
.filter-items a, .widget-body > li > a { display: flex; justify-content: space-between; padding: 7px 0; color: var(--mr-ink); font-size: 14.5px; }
.filter-items a:hover, .filter-items a.active, .filter-items .active > a { color: var(--mr-ink); font-weight: 600; }
.widget .form-checkbox { margin: 6px 0; }
.widget .form-checkbox label, .widget .custom-control-label { font-size: 14px; }

/* albero categorie dei filtri (TreeHelper di core: il JS di base.js gestisce il clic su .tree-check i) */
.widget-title .title-text { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.widget-title .title-text i { float: none !important; line-height: 1 !important; font-size: 12px; color: var(--mr-muted); cursor: pointer; }
.tree-root { max-height: 420px; overflow: auto; }
.tree-node { width: 100%; }
.tree-node-content { display: flex; align-items: center; gap: 10px; padding: 6px 0; }
.tree-check { flex: none; line-height: 1; }
.tree-check:not(.disabled) { cursor: pointer; }
.tree-check i { font-size: 18px; color: #bdbab2; }
.tree-check i.fa-check-square, .tree-check i.fa-square-check { color: var(--mr-ink); }
.tree-label { flex: 1; font-size: 14.5px; cursor: pointer; }
.tree-label:hover { color: var(--mr-ink); }
.tree-collapse { cursor: pointer; color: var(--mr-muted); }
.tree-node .tree-node { padding-left: 18px; }

/* slider prezzo (noUiSlider) */
.noUi-target { background: var(--mr-line); border: 0; box-shadow: none; height: 5px; border-radius: 5px; margin: 14px 8px 10px; }
.noUi-connect { background: var(--mr-ink); }
.noUi-horizontal .noUi-handle { width: 20px; height: 20px; right: -10px; top: -8px; border-radius: 50%; border: 3px solid var(--mr-ink); background: #fff; box-shadow: none; cursor: grab; }
.noUi-handle:before, .noUi-handle:after { display: none; }
.noUi-tooltip { font-size: 12px; border-radius: 6px; padding: 2px 6px; border-color: var(--mr-line); }

/* card prodotto (VerticalProductHelper e template delle liste) */
.product-wrap { height: 100%; margin-bottom: 20px; }
.mr-card {
    position: relative; height: 100%; display: flex; flex-direction: column; text-align: left;
    background: var(--mr-card); border: 1px solid var(--mr-line); border-radius: var(--mr-radius); overflow: hidden;
    transition: transform .18s, box-shadow .18s;
}
.mr-card:hover { transform: translateY(-5px); box-shadow: var(--mr-shadow); }
.mr-card .product-media { position: relative; aspect-ratio: 1 / 1; background: var(--mr-bg); overflow: hidden; }
.mr-card .product-media > a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.mr-card .product-media img { width: 100%; height: 100%; object-fit: contain; padding: 14px; mix-blend-mode: multiply; transition: transform .3s; }
.mr-card .product-media img + img { display: none; }
.mr-card:hover .product-media img { transform: scale(1.04); }
.product-label-group { position: absolute; top: 12px; left: 12px; display: flex; flex-direction: column; gap: 6px; z-index: 1; align-items: flex-start; }
.product-label { display: inline-block; margin: 0; padding: 5px 10px; border-radius: 0; background: var(--mr-black); color: #fff; font-size: 10.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.product-label.label-sale { background: var(--mr-danger); }
.product-label.label-new { background: var(--mr-green); }
.product-label.label-stock, .product-label.label-out { background: #bdbab2; }
.product-label:empty { display: none; }
.mr-card .product-details { display: flex; flex-direction: column; gap: 4px; flex: 1; padding: 16px 18px 18px; }
.mr-card-brand { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mr-ink); }
.mr-card .product-name { margin: 0; font-size: 15.5px; font-weight: 700; line-height: 1.3; }
.mr-card .product-name a { color: var(--mr-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mr-card .product-name a:hover { color: var(--mr-ink); }
.product-unit { font-size: 12.5px; color: var(--mr-muted); }
.mr-card-bottom { margin-top: auto; padding-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mr-card .product-price { display: flex; flex-direction: column; line-height: 1.15; }
.mr-card .product-price .price { font-family: var(--mr-font); font-weight: 800; font-size: 18px; color: var(--mr-ink); }
.mr-card .old-price { font-size: 12.5px; color: var(--mr-muted); }
.old-price:empty { display: none; }
.mr-card .product-action { display: flex; align-items: center; gap: 8px; }
.mr-card-btn {
    width: 42px; height: 42px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    background: var(--mr-black); color: #fff; font-size: 14px; transition: background .15s, transform .15s;
}
.mr-card-btn:hover { background: var(--mr-ink); color: #fff; transform: scale(1.06); }
.mr-card .product-quantity { display: inline-flex; align-items: center; border: 1px solid var(--mr-line); border-radius: 0; }
.mr-card .product-quantity button { width: 30px; height: 36px; }
.mr-card .product-quantity .quantity { width: 34px; min-height: 36px; }

/* liste prodotti (ProductListHelper) */
.toolbox { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; padding: 10px 14px; background: var(--mr-card); border: 1px solid var(--mr-line); border-radius: 0; }
.toolbox-left, .toolbox-right { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.toolbox-item { display: flex; align-items: center; gap: 8px; margin: 0; }
.toolbox-item label { margin: 0; font-size: 13px; color: var(--mr-muted); font-weight: 600; white-space: nowrap; }
.toolbox .form-group { margin: 0; }
.toolbox .form-group > label { display: none; }
.toolbox select { min-height: 38px; padding: 6px 36px 6px 14px; border-radius: 0; font-size: 13.5px; background-position: right 12px center; }
.toolbox .error { display: none !important; }
.toolbox .left-sidebar-toggle { width: 38px; height: 38px; min-height: 0; padding: 0; background: var(--mr-soft); color: var(--mr-ink); border: 0; box-shadow: none; }
.toolbox .left-sidebar-toggle i { margin: 0 !important; }
.btn-layout { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--mr-muted); }
.btn-layout.active, .btn-layout:hover { background: var(--mr-soft); color: var(--mr-ink); }
.toolbox-pagination { background: transparent; border: 0; padding: 10px 0; border-radius: 0; }
.show-info { margin: 0; font-size: 13.5px; color: var(--mr-muted); }
.pagination { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
.page-link { min-width: 40px; height: 40px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; border-radius: 0; background: #fff; border: 1px solid var(--mr-line); color: var(--mr-ink); font-weight: 600; font-size: 14px; }
.page-link:hover { border-color: #bdbab2; color: var(--mr-ink); }
.page-item.active .page-link { background: var(--mr-black); border-color: var(--mr-black); color: #fff; }
.page-item.disabled .page-link { opacity: .4; pointer-events: none; }
.product-wrapper.row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; }
.product-wrapper.row > * { width: auto; padding: 0; }
.product-wrapper .product-wrap { margin: 0; }
.product-list-empty-message { padding: 40px 20px; text-align: center; color: var(--mr-muted); background: var(--mr-card); border: 1px dashed #bdbab2; border-radius: var(--mr-radius); }
.product-list-layout[data-layout="1"] .product-wrap, .product-list-layout:not(.product-wrapper) > .product-wrap { width: 100%; }

/* barra laterale filtri (SidebarHelper: off-canvas sotto 992px con body.sidebar-active, main.js) */
.sidebar-overlay, .sidebar-close { display: none; }
@media (max-width: 991px) {
    .sidebar.shop-sidebar { position: static; width: 0 !important; padding: 0 !important; }
    .sidebar .sidebar-content { position: fixed; top: 0; bottom: 0; left: 0; z-index: 1210; width: min(340px, 86vw); padding: 24px 20px; background: #fff; overflow-y: auto; transform: translateX(-105%); transition: transform .3s; }
    .sidebar-active .sidebar .sidebar-content { transform: none; }
    .sidebar .sidebar-overlay { position: fixed; inset: 0; z-index: 1200; background: rgba(19, 17, 12, .55); opacity: 0; visibility: hidden; transition: opacity .3s; display: block; }
    .sidebar-active .sidebar .sidebar-overlay { opacity: 1; visibility: visible; }
    .sidebar .sidebar-close { display: flex; position: fixed; top: 14px; left: min(350px, calc(86vw + 10px)); z-index: 1220; width: 40px; height: 40px; border-radius: 50%; background: #fff; color: var(--mr-black); align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity .3s; }
    .sidebar-active .sidebar .sidebar-close { opacity: 1; visibility: visible; }
}

/* breadcrumb */
.breadcrumb-nav { margin: 0 0 18px; }
.breadcrumb { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin: 0; padding: 0; font-size: 13px; color: var(--mr-muted); }
.breadcrumb li { display: inline-flex; align-items: center; }
.breadcrumb li + li:before { content: "\f105"; font-family: "Font Awesome 7 Pro"; font-weight: 900; font-size: 10px; margin: 0 10px; color: #bdbab2; }
.breadcrumb a { color: var(--mr-muted); }
.breadcrumb a:hover { color: var(--mr-ink); }
.breadcrumb li:last-child { color: var(--mr-ink); font-weight: 600; }

/* testata pagina della libreria (PageHeaderHelper) */
.page-header { padding: 40px 0 10px; text-align: center; }
.page-header .page-title { margin: 0; }
.category-container { margin-top: 16px; }

/* commenti e messaggi (MessageHelper) */
.comments ul { list-style: none; padding: 0; margin: 0; }
.comment { padding: 16px 18px; background: var(--mr-card); border: 1px solid var(--mr-line); border-radius: var(--mr-radius-sm); margin-bottom: 10px; }
.comment-sender { font-size: 15px; margin: 0; }
.comment-date { font-size: 12.5px; color: var(--mr-muted); }
.comment-message { margin: 8px 0 0; font-size: 14.5px; }

/* barra di avanzamento (ProgressBarHelper) */
.rating-percent { height: 8px; border-radius: 8px; background: var(--mr-line); overflow: hidden; }
.rating-percent span { display: block; height: 100%; background: var(--mr-black); }

/* dropzone */
.dropzone { border: 2px dashed #bdbab2; border-radius: var(--mr-radius); background: #fff; min-height: 140px; }

/* minipopup "aggiunto al carrello" (Panda.Minipopup) */
.minipopup-area { position: fixed; right: 24px; bottom: 24px; z-index: 1500; }
.minipopup-box {
    position: absolute; right: 0; top: 0; width: 330px; max-width: calc(100vw - 32px); padding: 18px;
    background: #fff; border-radius: var(--mr-radius); box-shadow: 0 20px 44px rgba(19, 17, 12, .25); border: 1px solid var(--mr-line);
    opacity: 0; transform: translateY(calc(-100% + 16px)); transition: opacity .3s, transform .3s, top .3s;
}
.minipopup-box.show { opacity: 1; transform: translateY(-100%); }
.minipopup-title { margin: 0 0 12px; font-weight: 700; font-size: 14px; color: var(--mr-green); }
.minipopup-box .product { display: flex; gap: 12px; align-items: center; }
.minipopup-box .product-media img { width: 64px; height: 64px; object-fit: contain; border-radius: 10px; background: var(--mr-bg); }
.minipopup-box .product-name { font-weight: 700; font-size: 14px; color: var(--mr-ink); }
.minipopup-box .action-group { gap: 8px; margin-top: 14px; }
.minipopup-box .action-group .btn { flex: 1; min-height: 40px; padding: 8px 12px; font-size: 13px; }
.minipopup-error .product-name { color: var(--mr-danger); }

/* loader AJAX (#ajax-loading-container, mostrato da base.js) */
.page-preloader { display: none; position: fixed; inset: 0; z-index: 99999; background: rgba(243, 246, 251, .7); backdrop-filter: blur(2px); }
.center-loading { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.three-quarters-loader { display: inline-block; width: 40px; height: 40px; border: 5px solid var(--mr-ink); border-right-color: transparent; border-radius: 50%; animation: mr-spin 1s linear infinite; text-indent: -9999px; overflow: hidden; }
/* loader di contesto (Module.showContextLoading: lista prodotti, carrello...): velo sull'elemento con lo spinner .three-quarters-loader in alto */
:has(> .context-loader) { position: relative; }
.context-loader { position: absolute; inset: 0; z-index: 5; display: flex; justify-content: center; align-items: flex-start; padding-top: 60px; background: rgba(243, 246, 251, .7); }
.context-loader .three-quarters-loader { width: 32px; height: 32px; border-width: 4px; }
@keyframes mr-spin { to { transform: rotate(360deg); } }

/* torna su (ScrollTopHelper) */
.scroll-top { position: fixed; right: 24px; bottom: 24px; z-index: 900; width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--mr-black); color: #fff; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .3s, transform .3s; }
.scroll-top.show { opacity: 1; visibility: visible; transform: none; }
.scroll-top:hover { color: #fff; background: var(--mr-ink); }
.scroll-top svg { display: none; }

/* carousel owl usati dalla scheda prodotto */
.owl-carousel .owl-nav button.owl-prev, .owl-carousel .owl-nav button.owl-next { position: absolute; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border-radius: 50% !important; background: #fff !important; color: var(--mr-black) !important; box-shadow: 0 6px 16px rgba(19, 17, 12, .15); font-size: 16px !important; }
.owl-carousel .owl-nav button.owl-prev { left: 10px; } .owl-carousel .owl-nav button.owl-next { right: 10px; }
.owl-carousel .owl-nav button.disabled { opacity: .3; }
.owl-theme .owl-dots { text-align: center; margin-top: 14px; }
.owl-theme .owl-dots .owl-dot span { width: 9px; height: 9px; margin: 4px; display: block; border-radius: 9px; background: #bdbab2; transition: width .2s; }
.owl-theme .owl-dots .owl-dot.active span { width: 22px; background: var(--mr-ink); }


/* =====================================================================
   3. Tema MAD RUN dalla bozza
   ===================================================================== */
/* MAD RUN / concept restyling — responsive UI prototype
   Amsi Pro Black Italic: file fornito dal committente, incluso in assets.
   Testi secondari: Manrope tramite Google Fonts. */
@font-face{font-family:Amsi;src:local("Amsi Pro Black Italic"),local("Amsi Pro Normal Black Italic"),local("AmsiProNormal-BlackItalic"),url("/frontend/fonts/AmsiProNormal-BlackItalic.ttf") format("truetype");font-style:italic;font-weight:900;font-display:swap}
:root{--ink:#13110c;--coal:#171715;--charcoal:#242321;--grey:#f7f7f7;--mid:#6d6b65;--line:#e5e4e1;--yellow:#ffd900;--white:#fff;--display:Amsi,"Arial Black",Impact,sans-serif;--font:"Manrope",sans-serif;--container:1320px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:white;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3,.category-content h3{font-weight:900}h1,h2,.brand-main,.category-content h3,.story-step h3,.product-bottom h3,.final-inner h2,.premium-callout h2{font-family:var(--display);font-style:italic;letter-spacing:-.052em}h1 em,h2 em{font-style:italic}a,button{transition:opacity .2s ease,background-color .2s ease,color .2s ease,transform .2s ease}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.container{width:min(var(--container),calc(100% - 100px));margin:0 auto}section[id]{scroll-margin-top:102px}
/* Paragraph-only base typography: +1 CSS px at every breakpoint. */
p{font-size:calc(1em + 1px)}
/* Nav */
.announcement{background:var(--ink);color:white;height:33px;font-size:9px;letter-spacing:.14em;font-weight:800}.announcement-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.small-arrow{color:var(--yellow);font-size:13px}.site-header{height:83px;z-index:100;position:sticky;top:0;background:#fff;border-bottom:1px solid #eeece7}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;flex-direction:column;flex-shrink:0;width:164px;line-height:1}.brand-main{font-size:34px;letter-spacing:-.1em;white-space:nowrap;transform:skewX(-5deg);font-style:italic;line-height:.95}.brand-slash{display:inline-block;color:var(--yellow);margin:0 2px;letter-spacing:-.12em}.brand-sub{font-family:var(--font);font-size:7px;font-weight:900;letter-spacing:.18em;margin:6px 0 0 3px}.desktop-nav{height:100%;display:flex;gap:34px;align-items:center;justify-content:center;padding-left:30px}.desktop-nav>a,.nav-drop{font-size:12px;font-weight:800;letter-spacing:.025em;white-space:nowrap}.desktop-nav>a:hover,.nav-drop:hover{color:var(--ink)}.nav-drop{border:0;background:transparent;display:flex;gap:6px;align-items:center;padding:30px 0;color:var(--ink)}.chevron{font-size:16px;font-weight:400;line-height:0}.nav-menu{position:relative;height:100%;display:flex;align-items:center}.shop-dropdown{visibility:hidden;opacity:0;pointer-events:none;position:absolute;top:calc(100% - 1px);left:-31px;width:326px;padding:25px 28px 23px;background:white;border:1px solid var(--line);box-shadow:0 24px 52px #00000016;transform:translateY(9px);transition:.18s ease;z-index:20}.nav-menu:hover .shop-dropdown,.nav-menu:focus-within .shop-dropdown,.nav-menu.open .shop-dropdown{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}.dropdown-eyebrow{font-size:10px;font-weight:900;letter-spacing:.18em;color:#87847e;padding-bottom:15px}.shop-dropdown a{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;padding:12px 0;border-top:1px solid #f0efed}.shop-dropdown a:hover{color:var(--ink)}.shop-dropdown a span,.shop-dropdown a small{font-size:9px;color:#888;font-weight:600;white-space:nowrap;margin-left:10px}.header-actions{display:flex;gap:14px;align-items:center}.icon-button{height:36px;width:36px;display:grid;place-items:center;border:0;background:transparent;position:relative;color:var(--ink)}.icon-button:hover{background:var(--grey)}.icon-button svg{width:22px;height:22px}.cart-count{position:absolute;right:-3px;top:-2px;min-width:17px;height:17px;border-radius:20px;padding:2px 4px;background:var(--yellow);color:var(--ink);font-weight:900;font-size:10px}.cart-count[hidden]{display:none}.menu-trigger{display:none}.mobile-panel[hidden],.search-overlay[hidden],.drawer-backdrop[hidden]{display:none}
/* Search */
.search-overlay{position:fixed;top:116px;left:0;right:0;background:white;padding:38px 0 29px;border-bottom:1px solid var(--line);box-shadow:0 18px 35px #00000012;z-index:110}.search-form{max-width:850px;margin:auto}.search-form>label{font-size:11px;font-weight:900;letter-spacing:.16em}.search-field{margin-top:12px;display:flex;align-items:center;border-bottom:2px solid var(--ink)}.search-field input{border:0;outline:0;min-width:0;flex:1;padding:16px 0;font-size:25px;font-weight:650}.search-field button{background:none;border:0;padding:9px}.search-hint{margin-top:15px;color:var(--mid);font-size:13px}.search-results{margin-top:10px;display:grid;gap:0}.search-results a{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:700}.search-results a:hover{color:var(--ink)}
/* Cart demo */
.drawer-backdrop{position:fixed;inset:0;background:#0008;z-index:150}.cart-drawer{position:fixed;z-index:155;right:0;top:0;height:100dvh;width:min(450px,100%);background:#fff;transform:translateX(101%);display:flex;flex-direction:column;transition:transform .3s ease;box-shadow:-15px 0 50px #0003}.cart-drawer.is-open{transform:translateX(0)}.drawer-top{padding:34px 30px 25px;display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line)}.micro{font-size:10px;font-weight:900;letter-spacing:.16em}.drawer-top h3{font-family:var(--display);font-style:italic;font-size:25px;letter-spacing:-.045em;margin-top:10px}.cart-body{overflow:auto;flex:1;padding:25px 30px}.cart-empty{color:#787570;font-size:15px;line-height:1.8}.cart-item{display:flex;gap:15px;padding:16px 0;border-bottom:1px solid var(--line)}.cart-item img{width:115px;height:95px;object-fit:contain;background:var(--grey)}.cart-item h4{font-size:13px;line-height:1.45}.cart-item .cart-mini{display:block;font-size:11px;margin:10px 0;color:#666}.cart-item strong{font-size:16px}.cart-drawer-bottom{padding:25px 30px 28px;border-top:1px solid var(--line)}.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.cart-total span{font-size:13px}.cart-total strong{font-size:22px}.cart-drawer-bottom p{font-size:12px;color:#777;margin-top:12px;line-height:1.5}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:14px 18px;background:#171715;color:#fff;font-size:12px;z-index:200;box-shadow:0 5px 30px #0003}.toast[hidden]{display:none}
/* Buttons */
.btn{display:inline-flex;justify-content:center;align-items:center;gap:25px;min-height:56px;padding:0 24px;font-size:11px;font-weight:900;letter-spacing:.075em;border:1px solid transparent;white-space:nowrap}.btn svg{width:20px}.btn:hover{transform:translateY(-2px)}.btn-white{background:white;color:var(--ink)}.btn-white:hover{background:var(--yellow)}.btn-dark{background:var(--ink);color:white}.btn-dark:hover{background:#3b3730}.btn-outline{border-color:#777;color:white}.btn-outline:hover{background:white;color:var(--ink)}.btn-wide{width:100%}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:11px;font-weight:900;letter-spacing:.09em;border-bottom:1px solid currentColor;padding-bottom:9px}.text-link svg{width:19px}.text-link:hover{gap:26px}.light-link{color:white;border-bottom-color:#878783}.light-link span{font-size:21px}
/* Hero */
.hero{overflow:hidden;background:var(--ink)}.hero-grid{display:grid;grid-template-columns:49% 51%;min-height:670px;max-width:1720px;margin:auto}.hero-copy{padding:86px 30px 32px max(50px,calc((100vw - 1320px)/2));color:white;position:relative;display:flex;flex-direction:column;align-items:start;z-index:2}.hero-copy::after{content:"";height:270px;width:155px;position:absolute;right:0;top:-70px;background:linear-gradient(90deg,transparent 88%,#ffffff07 88%);background-size:15px 100%;transform:skew(-19deg);pointer-events:none}.hero-topline{font-size:10px;letter-spacing:.17em;font-weight:900;display:flex;align-items:center;gap:13px}.line-accent{width:32px;height:3px;background:var(--yellow)}.hero h1{font-size:clamp(60px,5.7vw,92px);line-height:1.02;letter-spacing:-.066em;margin:43px 0 21px}.hero h1 em{color:var(--yellow)}.title-period{color:var(--yellow)}.hero-copy>p{max-width:455px;color:#c4c3be;font-size:16px;line-height:1.75}.hero-copy>p strong{color:#fff;font-weight:750}.hero-actions{display:flex;align-items:center;gap:35px;flex-wrap:wrap;margin-top:34px}.hero-rail{margin-top:auto;padding-top:35px;width:100%;display:flex;align-items:center;gap:17px;color:#8e8b84;font-size:9px;font-weight:900;letter-spacing:.13em}.hero-rail-line{height:1px;background:#6f6d66;flex:0 0 90px}.hero-image{position:relative;min-width:0;background:#f1f1f1;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-image::before{content:"RACE";position:absolute;font-family:var(--display);font-style:italic;letter-spacing:-.09em;font-size:210px;font-weight:900;color:#eaeaea;top:20px;left:15px}.hero-grid-lines{position:absolute;right:-90px;top:-40px;height:140%;width:170px;border-left:9px solid var(--yellow);transform:rotate(20deg);z-index:1;pointer-events:none}.hero-moto{width:100%;height:100%;max-height:660px;object-fit:contain;position:relative;z-index:1;mix-blend-mode:multiply;transform:scale(1.1)}.hero-side-word{position:absolute;top:24px;right:26px;writing-mode:vertical-rl;letter-spacing:.15em;font-weight:900;font-size:11px;z-index:2}.hero-sticker{position:absolute;z-index:3;top:62px;left:42px;background:var(--yellow);width:144px;height:140px;padding:18px;transform:rotate(-6deg);box-shadow:0 15px 25px #0002}.sticker-tiny{font-size:8px;font-weight:900;letter-spacing:.07em;display:block}.hero-sticker strong{font-family:var(--display);font-style:italic;font-size:36px;line-height:.94;display:block;margin-top:7px;letter-spacing:-.07em}.sticker-mark{position:absolute;bottom:7px;right:15px;font-size:24px}.hero-image-label{position:absolute;z-index:3;left:31px;bottom:29px;background:var(--ink);color:white;display:flex;align-items:center;gap:20px;padding:17px 19px}.hero-image-label span{font-size:9px;color:var(--yellow);letter-spacing:.12em;font-weight:850}.hero-image-label strong{font-size:10px;letter-spacing:.05em}
/* Benefits */

/* Sections */
.section{padding:110px 0}.section-kicker{font-size:10px;letter-spacing:.19em;font-weight:950;display:flex;align-items:center;gap:12px}.yellow-mark{width:10px;height:10px;background:var(--yellow);display:inline-block;transform:skewX(-18deg);flex-shrink:0}.section-header{margin:29px 0 41px;display:flex;justify-content:space-between;align-items:end;gap:45px}.section-header h2,.story-intro h2,.blog-preview h2,.final-cta h2,.premium-callout h2{font-size:clamp(44px,4.5vw,69px);line-height:1.04;letter-spacing:-.061em}.section-header em{color:#817e76}.section-header>p,.section-aside>p{max-width:340px;font-size:15px;line-height:1.75;color:#6c6a65;margin-bottom:12px}.section-aside{align-self:end}.section-aside .text-link{margin-top:17px}
/* Categories */
.categories{background:white}.category-grid{display:grid;grid-template-columns:1.28fr .74fr .74fr .74fr;gap:13px;min-height:395px}.category-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:#eae9e5;padding:24px 24px 25px;min-height:390px}.category-card:hover .category-go svg{transform:translateX(5px)}.category-num,.category-overline{font-size:9px;letter-spacing:.12em;font-weight:900;position:relative;z-index:2}.category-content{position:relative;z-index:2}.category-content h3{font-size:30px;line-height:1.01;margin-bottom:20px}.category-go{font-weight:900;font-size:10px;letter-spacing:.1em;display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid;padding-bottom:8px}.category-go svg{width:16px;height:16px;transition:transform .2s}.category-featured{background:#232323;color:white}.category-featured .category-img{position:absolute;inset:25px -90px 45px 40px;z-index:0;opacity:.75}.category-featured .category-img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#232323 0%,transparent 72%)}.category-featured .category-img img{height:100%;width:100%;object-fit:contain;mix-blend-mode:screen;filter:contrast(1.25)}.category-featured .category-content h3{font-size:38px;line-height:.96;margin:10px 0 22px}.category-overline{color:var(--yellow)}.category-secondary{background:#f3f3f1}.category-secondary .category-content h3{font-size:27px}.mini-category-art{position:absolute;top:70px;left:22px;right:22px;height:165px;transform:rotate(-21deg);background:repeating-linear-gradient(0deg,#222 0,#222 20px,transparent 20px,transparent 26px);clip-path:polygon(0 20%,100% 0,85% 86%,9% 100%);opacity:.9}.mini-art-one::after{content:"MR / DESIGN";position:absolute;top:35px;left:15px;font-family:var(--display);font-style:italic;font-size:22px;color:white;transform:rotate(0deg)}.light-category{background:#e9ebec}.mini-art-two{background:repeating-linear-gradient(0deg,#555a60 0,#555a60 8px,transparent 8px,transparent 15px);clip-path:polygon(0 5%,70% 15%,100% 90%,18% 72%)}.apparel-category{background:#dedbd3}.apparel-shape{position:absolute;top:75px;left:calc(50% - 70px);height:140px;width:140px;background:var(--ink);clip-path:polygon(12% 10%,35% 0,65% 0,88% 10%,100% 37%,83% 46%,79% 100%,21% 100%,17% 46%,0 37%);display:grid;place-items:center;color:white;transform:rotate(-8deg)}.apparel-shape span{font-family:var(--display);font-style:italic;font-size:27px;line-height:.8;transform:skewX(-8deg)}.cat-subtitle{display:block;font-size:11px;color:#72706a;margin-top:-12px;margin-bottom:20px}
/* Products */
.featured-products{background:var(--grey)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.product-card{display:block;min-width:0}.product-image{position:relative;background:#fff;height:330px;display:flex;align-items:center;overflow:hidden;justify-content:center}.product-image img{height:100%;width:100%;object-fit:contain;transition:transform .4s;mix-blend-mode:multiply}.product-card:hover .product-image img{transform:scale(1.045)}.product-image .pill{position:absolute;z-index:2;top:18px;left:18px;background:var(--ink);color:#fff;font-size:8px;font-weight:900;letter-spacing:.1em;padding:10px 12px}.product-hover{position:absolute;left:0;right:0;bottom:0;z-index:3;background:var(--ink);color:white;display:flex;justify-content:space-between;align-items:center;padding:12px 18px;font-size:10px;letter-spacing:.08em;font-weight:900;transform:translateY(100%);transition:.2s}.product-card:hover .product-hover,.product-card:focus-visible .product-hover{transform:translateY(0)}.product-hover svg{width:16px}.product-meta{display:flex;justify-content:space-between;gap:10px;margin-top:19px;color:#818079;font-size:9px;font-weight:800;letter-spacing:.08em}.product-bottom{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-top:10px}.product-bottom h3{font-size:24px;line-height:1.13}.product-bottom strong{font-size:16px;white-space:nowrap;padding-top:5px}
/* Story */
.story-band{background:#191918;color:#fff;padding:110px 0;overflow:hidden}.story-layout{display:grid;grid-template-columns:1fr .85fr;gap:13%;position:relative}.light-kicker{color:#fff}.story-intro h2{margin:32px 0}.story-intro h2 em{color:var(--yellow)}.story-intro>p{color:#aeadab;max-width:440px;line-height:1.85;font-size:15px}.story-intro .btn{margin-top:30px}.story-right{position:relative;padding-top:88px}.story-numeral{position:absolute;right:0;top:-25px;font-family:var(--display);font-style:italic;font-size:110px;color:#ffffff08}.story-step{display:grid;grid-template-columns:50px 1fr;gap:25px;border-top:1px solid #474742;padding:28px 0}.story-step:last-child{border-bottom:1px solid #474742}.story-step>span{color:var(--yellow);font-size:10px;font-weight:900;padding-top:4px}.story-step h3{font-size:22px;letter-spacing:-.04em}.story-step p{font-size:14px;color:#9b9b96;line-height:1.7;margin-top:9px;max-width:300px}
/* Community */
.community{background:#fff}.gallery-grid{display:grid;grid-template-columns:1.45fr .8fr .8fr;gap:14px;height:343px}.gallery-tile{position:relative;overflow:hidden;background:#eeece8}.gallery-tile img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transition:transform .35s}.gallery-tile:hover img{transform:scale(1.05)}.gallery-big img{object-fit:contain}.gallery-tile:not(.gallery-big) img{object-fit:contain}.gallery-label{position:absolute;bottom:0;left:0;right:0;background:#13110ce8;color:white;display:flex;justify-content:space-between;gap:14px;padding:17px}.gallery-label span,.gallery-label strong{font-size:9px;letter-spacing:.09em;font-weight:900}.gallery-index{position:absolute;left:16px;bottom:14px;font-size:9px;font-weight:900;background:#fff;padding:8px 10px;letter-spacing:.09em}.image-disclaimer{margin-top:15px;color:#77736c;font-size:11px;line-height:1.5}
/* Blog / CTA / footer */
.blog-preview{background:#eeedea;padding:85px 0}.blog-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:10%;align-items:end}.blog-preview h2{margin-top:25px}.blog-preview h2 em{color:#837f75}.blog-feature{border-top:2px solid var(--ink);padding:26px 0 8px;display:block}.blog-feature>span:first-child{font-size:9px;font-weight:900;letter-spacing:.14em;color:#777}.blog-feature h3{font-size:26px;line-height:1.28;letter-spacing:-.035em;margin:19px 0 26px}.blog-cta{font-size:10px;font-weight:900;letter-spacing:.08em;display:flex;align-items:center;gap:14px}.blog-cta svg{width:18px}.final-cta{background:var(--ink);color:white;padding:69px 0}.final-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.final-inner>div>span{font-size:10px;letter-spacing:.16em;color:var(--yellow);font-weight:900}.final-inner h2{margin-top:15px;font-size:clamp(37px,3.7vw,60px)}.final-inner h2 em{color:var(--yellow)}.site-footer{background:#121211;color:white}.footer-top{border-top:1px solid #464641;padding:65px 0 75px;display:grid;grid-template-columns:2.2fr 1fr 1.3fr 1.15fr;gap:40px}.brand-light{color:white}.footer-brand p{font-size:14px;line-height:1.8;color:#999892;margin-top:27px}.footer-column{display:flex;flex-direction:column;align-items:start;gap:16px}.footer-column h4{font-size:10px;letter-spacing:.12em;color:#fff;font-weight:900;margin:0 0 6px}.footer-column a,.footer-column span{font-size:12px;color:#a4a39e}.footer-column a:hover{color:var(--yellow)}.footer-bottom{border-top:1px solid #343432;padding:24px 0 29px;display:flex;justify-content:space-between;gap:30px;font-size:9px;font-weight:700;letter-spacing:.08em;color:#888781}.footer-bottom a{color:#fff}
/* Product detail */
.breadcrumbs{display:flex;align-items:center;gap:12px;padding:31px 0;color:#94918c;font-size:10px;font-weight:700;letter-spacing:.025em}.breadcrumbs a:hover{color:var(--ink)}.breadcrumbs>span:last-child{color:var(--ink)}.product-top{padding:5px 0 88px}.product-layout{display:grid;grid-template-columns:1.05fr .85fr;gap:6.1%;align-items:start}.product-gallery{min-width:0}.product-main-image{height:585px;background:#f6f6f6;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden}.product-main-image::before{content:"GP23";font-family:var(--display);font-style:italic;font-size:190px;letter-spacing:-.08em;color:#ececeb;position:absolute;top:20px;left:20px}.product-main-image img{position:relative;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.gallery-chip{position:absolute;z-index:2;top:22px;left:22px;background:var(--ink);color:#fff;font-size:9px;font-weight:900;letter-spacing:.1em;padding:11px 12px}.gallery-caption{position:absolute;bottom:22px;left:22px;z-index:2;font-size:10px;font-weight:900;letter-spacing:.12em}.thumb-list{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}.thumb{border:1px solid #e6e6e3;background:#f7f7f7;min-width:0;padding:4px 4px 10px;color:#78756d}.thumb.active{border:2px solid var(--ink);padding:3px 3px 9px;color:var(--ink)}.thumb img{width:100%;aspect-ratio:1.1;object-fit:contain;mix-blend-mode:multiply}.thumb span{display:block;font-size:9px;font-weight:800;margin-top:4px}.gallery-footnote{font-size:12px;color:#79766f;line-height:1.55;margin-top:17px}.product-info{padding-top:16px}.product-eyebrow{font-size:10px;font-weight:900;letter-spacing:.125em;display:flex;align-items:center;gap:11px;flex-wrap:wrap}.product-eyebrow .ref{font-size:9px;font-weight:700;color:#99968f;letter-spacing:.05em;margin-left:auto}.product-info h1{font-size:clamp(48px,4.1vw,65px);line-height:1.04;margin:27px 0 13px;letter-spacing:-.068em}.product-info h1 em{color:#858078}.product-subtitle{color:#77736b;font-size:14px;font-weight:700}.product-price-line{margin-top:31px;padding:28px 0 26px;display:flex;gap:13px;align-items:baseline;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.product-price-line strong{font-size:33px;letter-spacing:-.045em}.product-price-line span{font-size:11px;color:#777}.product-summary{font-size:15px;color:#5e5c56;line-height:1.78;margin-top:25px;max-width:510px}.kit-include{margin-top:25px;padding:24px 25px;background:#f7f7f7}.kit-include h2{font-family:var(--font);font-style:normal;font-size:11px;letter-spacing:.12em}.include-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px;margin-top:20px}.include-grid span{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700}.include-grid svg{width:15px;height:15px;stroke-width:2.5}.inline-detail-link{display:inline-block;margin-top:23px;font-size:10px;font-weight:900;letter-spacing:.06em;text-decoration:underline;text-underline-offset:5px}.purchase-panel{margin-top:26px}.purchase-labels{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px}.purchase-labels label,.availability{font-size:10px;font-weight:900;letter-spacing:.09em}.availability{color:#5c7160;display:inline-flex;gap:8px;align-items:center}.availability-dot{width:7px;height:7px;background:#4e9b5d;border-radius:100%}.purchase-controls{display:flex;gap:10px}.qty-stepper{display:flex;border:1px solid #d9d8d4;align-items:center;height:56px;flex:0 0 120px}.qty-stepper button{width:37px;height:54px;background:white;border:0;font-size:23px;color:#696761}.qty-stepper input{text-align:center;width:43px;min-width:0;border:0;outline:0;font-weight:800;font-size:14px;appearance:textfield}.qty-stepper input::-webkit-inner-spin-button,.qty-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.purchase-controls .btn{flex:1;gap:10px;padding:0 10px}.purchase-note{font-size:11px;color:#8b8882;line-height:1.5;margin-top:13px}.product-reassurance{display:flex;gap:20px;flex-wrap:wrap;margin-top:26px;padding-top:23px;border-top:1px solid var(--line)}.product-reassurance>div{display:flex;align-items:center;gap:9px;color:#696760;font-size:11px}.product-reassurance svg{width:21px;height:21px;stroke-width:1.4}
.product-description{background:var(--grey);padding:0 0 84px}.detail-tabs{display:flex;gap:35px;border-bottom:1px solid #d5d4d1}.detail-tab{border:0;background:none;color:#7b7871;font-size:11px;font-weight:900;letter-spacing:.12em;padding:28px 0 24px;border-bottom:3px solid transparent;margin-bottom:-1px}.detail-tab.active{border-bottom-color:var(--ink);color:var(--ink)}.tab-content{display:grid;grid-template-columns:.95fr 1fr;gap:12%;padding-top:64px;align-items:start}.tab-content[hidden]{display:none}.tab-content h2{font-size:clamp(35px,3.1vw,49px);line-height:1.05;margin-top:20px}.tab-content h2 em{color:#77746e}.sub-label{font-size:10px;font-weight:900;letter-spacing:.16em;color:#7d7a73}.tab-content p{font-size:15px;line-height:1.9;color:#5c5952;max-width:510px}.tab-content .text-link{margin-top:17px}.spec-list{margin:0;display:grid}.spec-list div{display:grid;grid-template-columns:130px 1fr;padding:10px 0;border-bottom:1px solid #dedbd6;gap:15px}.spec-list dt{font-size:10px;color:#777;letter-spacing:.08em;font-weight:900}.spec-list dd{margin:0;font-size:13px;font-weight:700}.kit-components{background:white}.kit-components-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.kit-detail-card{background:var(--grey);overflow:hidden}.kit-detail-card img{width:100%;height:240px;object-fit:contain;background:#fff}.kit-detail-card>div{display:flex;align-items:center;justify-content:space-between;padding:19px 19px 21px;gap:10px}.kit-detail-card span{font-size:9px;font-weight:800;letter-spacing:.09em;color:#888}.kit-detail-card strong{font-size:12px;font-weight:900;letter-spacing:.04em}.premium-callout{background:var(--ink);color:#fff;padding:83px 0}.premium-callout-inner{display:flex;justify-content:space-between;align-items:center;gap:45px}.premium-callout-inner>div{max-width:680px}.premium-callout-inner>div>span{font-size:9px;font-weight:900;letter-spacing:.18em;color:var(--yellow)}.premium-callout h2{font-size:clamp(39px,4vw,62px);margin:18px 0 16px}.premium-callout h2 em{color:var(--yellow)}.premium-callout p{font-size:14px;color:#b7b5ae;max-width:560px;line-height:1.8}.related-products{background:var(--grey)}.sticky-mobile-purchase{display:none}
/* Responsive */
@media(min-width:1720px){.hero-copy{padding-left:max(50px,calc((1720px - 1320px)/2))}}
@media(max-width:1150px){.container{width:calc(100% - 72px)}.desktop-nav{gap:19px;padding-left:8px}.desktop-nav>a,.nav-drop{font-size:11px}.hero-grid{min-height:600px;grid-template-columns:51% 49%}.hero-copy{padding-left:36px;padding-top:76px}.hero h1{font-size:67px}.hero-sticker{top:40px;left:22px;transform:rotate(-5deg) scale(.8);transform-origin:top left}.hero-image-label{left:18px}.category-grid{grid-template-columns:1.15fr 1fr 1fr;min-height:auto}.category-featured{grid-row:span 2;min-height:670px}.category-card:not(.category-featured){min-height:329px}.apparel-category{grid-column:span 2}.category-featured .category-img{inset:40px -35px 120px 10px}.product-layout{gap:4%;grid-template-columns:1fr .85fr}.product-main-image{height:500px}.product-info h1{font-size:51px}.purchase-controls{flex-wrap:wrap}.purchase-controls .btn{min-width:calc(100% - 130px)}}
@media(max-width:850px){.container{width:calc(100% - 42px)}.announcement-inner span:first-child{display:none}.announcement-inner{justify-content:center}.site-header{height:70px}.desktop-nav{display:none}.menu-trigger{display:grid}.brand{width:139px}.brand-main{font-size:29px}.brand-sub{font-size:6px}.header-actions{gap:5px}.search-overlay{top:103px}.mobile-panel{display:block;position:fixed;z-index:119;top:103px;left:0;right:0;bottom:0;background:#fff;overflow:auto;padding:20px 27px 50px}.mobile-panel nav{display:flex;flex-direction:column}.mobile-panel nav>a{font-family:var(--display);font-style:italic;font-size:27px;letter-spacing:-.04em;padding:14px 0;border-bottom:1px solid var(--line)}.mobile-panel nav>a span{display:block;font-size:12px;font-family:var(--font);font-style:normal;font-weight:500;letter-spacing:0;color:#777}.mobile-menu-label{font-size:10px;font-weight:900;letter-spacing:.15em;padding:25px 0 5px;color:#999}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{padding:55px 21px 38px}.hero h1{font-size:clamp(58px,9vw,85px);margin:34px 0 18px}.hero-copy>p{max-width:570px}.hero-rail{display:none}.hero-image{height:480px}.hero-moto{max-height:none;width:100%;height:100%;object-fit:contain;transform:scale(1.07)}.hero-image::before{font-size:180px}.hero-sticker{left:25px;top:23px}.section{padding:75px 0}.section-header{align-items:start;gap:20px}.section-header h2{font-size:51px}.section-header>p,.section-aside>p{max-width:270px}.product-grid{gap:13px}.product-image{height:240px}.product-bottom{flex-direction:column;gap:10px}.product-bottom h3{font-size:22px}.product-bottom strong{padding:0}.product-meta{flex-direction:column;gap:4px}.story-layout{gap:8%}.story-intro h2{font-size:51px}.story-right{padding-top:64px}.gallery-grid{height:300px}.footer-top{grid-template-columns:1.5fr 1fr;row-gap:38px}.product-layout{grid-template-columns:1fr;gap:36px}.product-main-image{height:570px}.product-info{padding:0}.product-info h1{font-size:60px}.purchase-controls{flex-wrap:nowrap}.tab-content{gap:6%}.kit-detail-card img{height:180px}}
@media(max-width:580px){.container{width:calc(100% - 36px)}.announcement{height:29px;font-size:8px}.site-header{height:65px}.search-overlay,.mobile-panel{top:94px}.search-field input{font-size:17px}.brand{width:130px}.brand-main{font-size:28px}.header-actions .icon-button{width:32px}.hero-copy{padding:50px 18px 38px}.hero-topline{font-size:8px}.hero h1{font-size:clamp(50px,11.9vw,72px);margin:32px 0 18px}.hero-copy>p{font-size:14px;line-height:1.75}.hero-actions{gap:20px;margin-top:26px}.hero-actions .btn{width:100%;justify-content:space-between}.hero-image{height:318px}.hero-image::before{font-size:110px;top:25px}.hero-image-label{bottom:15px;left:14px;padding:10px;gap:10px}.hero-image-label span,.hero-image-label strong{font-size:7px}.hero-sticker{top:18px;left:18px;transform:rotate(-6deg) scale(.64)}.hero-side-word{font-size:8px;right:12px}.section{padding:67px 0}.section-kicker{font-size:9px}.section-header{flex-direction:column;gap:15px;margin:20px 0 27px}.section-header h2{font-size:clamp(43px,10.8vw,61px)}.section-header>p,.section-aside>p{max-width:100%;font-size:14px}.section-aside{align-self:start}.category-grid{grid-template-columns:1fr 1fr;gap:9px}.category-featured{grid-column:span 2;grid-row:auto;min-height:440px}.category-featured .category-img{inset:20px -20px 85px 10px}.category-featured .category-content h3{font-size:39px}.category-card{padding:18px}.category-card:not(.category-featured){min-height:253px}.category-secondary .category-content h3{font-size:22px}.category-num{font-size:8px}.mini-category-art{top:56px;height:105px}.mini-art-one::after{font-size:12px}.apparel-category{grid-column:span 2;min-height:210px!important}.apparel-shape{top:22px;left:auto;right:50px;transform:rotate(-8deg) scale(.7);transform-origin:top right}.apparel-category .category-content h3{margin-bottom:12px}.apparel-category .category-content{max-width:230px}.product-grid{grid-template-columns:1fr 1fr;gap:23px 11px}.product-card:last-child{display:none}.product-image{height:200px}.product-image .pill{font-size:7px;padding:7px;left:8px;top:9px}.product-meta{font-size:8px;margin-top:13px}.product-bottom h3{font-size:19px}.product-bottom strong{font-size:14px}.story-band{padding:65px 0}.story-layout{grid-template-columns:1fr;gap:35px}.story-intro h2{font-size:57px}.story-right{padding-top:30px}.story-numeral{font-size:74px;top:-32px}.story-step{padding:22px 0}.story-step h3{font-size:20px}.story-intro>p{font-size:14px}.gallery-grid{grid-template-columns:1fr 1fr;height:auto;gap:9px}.gallery-big{grid-column:span 2;height:295px}.gallery-tile:not(.gallery-big){height:170px}.gallery-label{flex-direction:column;gap:8px;padding:12px}.gallery-label span,.gallery-label strong{font-size:8px}.image-disclaimer{font-size:10px}.blog-preview{padding:65px 0}.blog-layout{grid-template-columns:1fr;gap:27px}.blog-preview h2{font-size:51px}.blog-feature h3{font-size:21px}.final-cta{padding:58px 0}.final-inner{flex-direction:column;align-items:start}.final-inner h2{font-size:48px}.final-inner .btn{width:100%;justify-content:space-between}.footer-top{grid-template-columns:1fr 1fr;padding:50px 0;gap:42px 15px}.footer-brand{grid-column:span 2}.footer-bottom{flex-direction:column;gap:10px;padding:22px 0 31px}.breadcrumbs{padding:23px 0;flex-wrap:wrap;font-size:9px}.product-top{padding:4px 0 58px}.product-main-image{height:385px}.product-main-image::before{font-size:112px}.gallery-chip{top:12px;left:11px;font-size:8px;padding:9px}.gallery-caption{bottom:13px;left:13px;font-size:8px}.thumb-list{gap:4px;margin-top:7px}.thumb{padding:3px 2px 6px}.thumb.active{padding:2px 1px 5px}.thumb span{font-size:7px}.gallery-footnote{font-size:11px;margin-top:12px}.product-layout{gap:38px}.product-info h1{font-size:clamp(46px,11vw,62px);margin:19px 0 10px}.product-eyebrow{font-size:9px}.product-eyebrow .ref{font-size:8px}.product-subtitle{font-size:13px}.product-price-line{margin-top:25px;padding:20px 0}.product-price-line strong{font-size:31px}.product-summary{font-size:14px}.kit-include{padding:21px 18px}.include-grid span{font-size:11px}.purchase-controls{gap:7px}.qty-stepper{flex:0 0 111px}.qty-stepper button{width:35px}.qty-stepper input{width:40px}.purchase-controls .btn{font-size:10px;gap:6px;white-space:normal}.purchase-controls .btn svg{width:16px}.purchase-labels{gap:8px}.product-reassurance{gap:14px}.product-description{padding-bottom:52px}.detail-tabs{gap:20px;overflow-x:auto}.detail-tab{font-size:9px;padding:22px 0 17px;white-space:nowrap}.tab-content{padding-top:33px;grid-template-columns:1fr;gap:23px}.tab-content h2{font-size:43px;margin-top:14px}.tab-content p{font-size:14px}.kit-components-grid{grid-template-columns:repeat(2,1fr);gap:10px}.kit-detail-card img{height:140px}.kit-detail-card>div{padding:12px;display:flex;flex-direction:column;align-items:start;gap:6px}.kit-detail-card span{font-size:8px}.kit-detail-card strong{font-size:11px}.premium-callout{padding:63px 0}.premium-callout-inner{flex-direction:column;align-items:start;gap:26px}.premium-callout h2{font-size:48px}.premium-callout p{font-size:13px}.premium-callout .btn{width:100%;justify-content:space-between}.sticky-mobile-purchase{position:fixed;z-index:95;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -7px 25px #00000017;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px max(10px,env(safe-area-inset-bottom))}.sticky-mobile-purchase>div{display:flex;flex-direction:column;gap:4px}.sticky-mobile-purchase span{font-size:8px;letter-spacing:.04em;font-weight:800;color:#75716c}.sticky-mobile-purchase strong{font-size:18px}.sticky-mobile-purchase .btn{min-height:44px;font-size:9px;padding:0 16px;gap:10px}.sticky-mobile-purchase .btn svg{width:16px}body:has(.sticky-mobile-purchase) .site-footer{padding-bottom:62px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}


/* 2026 restyling refinement / official logo and racing yellow accents */
/* Actual MAD RUN SVG, shared by desktop/mobile headers and both footers. */
.brand {
    width: 88px;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    line-height: 1;
}
.brand-logo {
    display: block;
    width: 74px;
    height: auto;
    max-height: 67px;
    object-fit: contain;
}
.footer-brand .brand { width: 116px; }
.footer-brand .brand-logo {
    width: 104px;
    max-height: none;
}

/* The requested yellow plate is a flat, clean highlight: no black lower edge. */
.section-header h2 em,
.blog-preview h2 em,
.product-info h1 em {
    color: var(--ink);
    background: var(--yellow);
    padding: 0 .12em .025em .09em;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}
/* On charcoal panels, use a vivid yellow underline instead of a heavy block. */
.story-intro h2 em,
.final-inner h2 em,
.premium-callout h2 em {
    color: var(--white);
    background: linear-gradient(to top, var(--yellow) 0 17%, transparent 17% 100%);
    padding: 0 .035em .02em;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}
/* Subtle yellow touches to tie the sections into the same visual language. */
.tab-content h2 em {
    color: var(--ink);
    background: linear-gradient(to top, var(--yellow) 0 28%, transparent 28% 100%);
    padding: 0 .025em;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}
.detail-tab.active { border-bottom-color: var(--yellow); }
.blog-feature { border-top-color: var(--yellow); }
.category-featured .category-num { color: var(--yellow); }

@media (max-width: 850px) {
    .brand { width: 76px; }
    .brand-logo { width: 64px; max-height: 57px; }
}
@media (max-width: 580px) {
    .brand { width: 69px; }
    .brand-logo { width: 58px; max-height: 52px; }
    .section-header h2 em,
    .blog-preview h2 em,
    .product-info h1 em { padding-left: .075em; padding-right: .09em; }
}

/* ===========================================================
   MAD RUN / V3 — shop-first layout, vetrina, community, CTAs
   =========================================================== */

/* Accent plates live on their own line. The block is separated from
   preceding text, so the yellow cannot paint over the previous row. */
.section-header h2,
.blog-preview h2 { line-height: 1.12; overflow: visible; }
.section-header h2 em,
.blog-preview h2 em {
  display: inline-block;
  color: var(--ink);
  background: var(--yellow);
  margin-top: .13em;
  padding: .015em .12em .072em .10em;
  line-height: 1.03;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.product-info h1 { line-height: 1.20; }
.product-info h1 em {
  display: inline;
  padding: .005em .09em .028em .065em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.story-intro h2,
.final-inner h2,
.premium-callout h2 { line-height: 1.19; }
.story-intro h2 em,
.final-inner h2 em,
.premium-callout h2 em {
  background: linear-gradient(to top, var(--yellow) 0 16%, transparent 16% 100%);
  padding-bottom: 0;
}
/* Yellow-outlined slanted buttons echo the parallelogram in the MAD RUN logo.
   Skewing only the pseudo-element keeps the text and arrows straight. */
.btn,
.text-link {
  position: relative;
  isolation: isolate;
  background: transparent;
  border: 0;
  border-bottom: 0;
  border-radius: 0;
  transition: transform .2s ease, color .2s ease;
}
.btn { padding: 0 26px; }
.btn::before,
.text-link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: transparent;
  border: 2px solid var(--yellow);
  transform: skewX(-11deg);
  transition: background .2s ease, border-color .2s ease;
  pointer-events: none;
}
.btn-white { color: var(--ink); }
.btn-white::before { background: #fff; }
.btn-dark { color: white; }
.btn-dark::before { background: var(--ink); }
.btn-outline { color: #fff; }
.btn-outline::before { background: transparent; }
.btn-white:hover, .btn-dark:hover, .btn-outline:hover, .text-link:hover { background: transparent; }
.btn-white:hover::before, .btn-outline:hover::before, .text-link:hover::before { background: var(--yellow); }
.btn-dark:hover::before { background: #36342d; }
.btn-outline:hover { color: var(--ink); }
.btn:hover,.text-link:hover { transform: translateY(-2px); }
.text-link {
  display: inline-flex;
  min-height: 49px;
  padding: 13px 21px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  font-size: 10px;
  line-height: 1.15;
  white-space: nowrap;
}
.text-link:hover { gap: 18px; }
.light-link { color: #fff; }
.light-link:hover { color: var(--ink); }
.btn:focus-visible,.text-link:focus-visible,.category-card:focus-visible,.product-card:focus-visible {
  outline: 2px solid var(--ink); outline-offset: 6px;
}
.hero .btn:focus-visible,.hero .text-link:focus-visible,.story-intro .btn:focus-visible,.final-cta .btn:focus-visible { outline-color: #fff; }

/* Featured kit cards now precede the catalogue categories. */
.featured-products { background: #f4f3ef; }
.featured-products .section-header { margin-bottom: 38px; }
.featured-products .section-aside { max-width: 330px; }
.product-grid { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 17px; }
.product-image { height: 276px; }
.product-bottom h3 { font-size: 21px; letter-spacing: -.045em; line-height: 1.18; }
.product-bottom { flex-direction: column; gap: 8px; }
.product-bottom strong { padding-top: 0; }
.product-image .pill { max-width: calc(100% - 34px); }
.product-image--green { background: #f0f3ed; }
.featured-products .text-link { margin-top: 16px; }

/* Make the distinction between product picks and shop departments explicit. */
.categories { background: #fff; }
.categories .section-kicker { color: #55544e; }
.categories .section-header > p { max-width: 380px; }
.category-grid { margin-top: 10px; }
.category-go { border-bottom: 2px solid var(--yellow); padding-bottom: 9px; }
.category-secondary .category-num { color: #514e47; }
.category-featured .category-num { color: var(--yellow); }

/* Real-world motorcycle photos, instead of catalogue cut-outs.
   These are editorial placeholders, not customer reviews. */
.gallery-grid { height: 395px; gap: 12px; }
.gallery-tile { margin: 0; isolation: isolate; background: #222; }
.gallery-tile img,
.gallery-big img,
.gallery-tile:not(.gallery-big) img {
  object-fit: cover;
  mix-blend-mode: normal;
  width: 100%;
  height: 100%;
}
.gallery-tile:nth-child(1) img { object-position: 51% 55%; }
.gallery-tile:nth-child(2) img { object-position: 53% 50%; }
.gallery-tile:nth-child(3) img { object-position: 55% 50%; }
.gallery-label { background: linear-gradient(0deg, rgba(0,0,0,.82), rgba(0,0,0,.57)); }
.gallery-index { border-left: 4px solid var(--yellow); }
.image-disclaimer { max-width: 820px; }
.footer-bottom a:not([href="#top"]) { color: #a6a49c; text-transform: none; letter-spacing: .035em; }
.footer-bottom a:hover { color: var(--yellow); }

@media (max-width: 1150px) {
  .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 34px 20px; }
  .product-image { height: 310px; }
  .product-bottom { flex-direction: row; }
}
@media (max-width: 850px) {
  .section-header h2 { line-height: 1.13; }
  .section-header h2 em { margin-top: .15em; }
  .gallery-grid { height: 330px; }
  .featured-products .section-header, .categories .section-header { align-items: flex-start; }
}
@media (max-width: 580px) {
  .section-header h2 em, .blog-preview h2 em { margin-top: .16em; padding: .02em .10em .07em .07em; }
  .section-header h2 { font-size: clamp(39px,10vw,55px); }
  .featured-products .section-header { margin-bottom: 26px; }
  .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px 12px; }
  .product-card:last-child { display: block; }
  .product-image { height: 185px; }
  .product-bottom { flex-direction: column; gap: 5px; }
  .product-bottom h3 { font-size: 18px; }
  .product-image .pill { max-width: calc(100% - 16px); }
  .gallery-grid { height: auto; }
  .gallery-big { height: 270px; }
  .gallery-tile:not(.gallery-big) { height: 195px; }
  .text-link { white-space: normal; }
  .hero-actions .text-link { min-height: 47px; }
  .section-aside .text-link { margin-top: 12px; }
  .btn { white-space: normal; }
}


/* ===========================================================
   MAD RUN / V4 — CTA tono su tono, interlinea, nav maiuscola
   =========================================================== */
:root {
  --button-grey: #eae9e5;
  --button-grey-border: #999790;
}

/* Le voci di navigazione sono in maiuscolo anche nei sottomenu
   e nel menu mobile, senza modificare le etichette accessibili. */
.desktop-nav > a,
.desktop-nav .nav-drop,
.desktop-nav .shop-dropdown a,
.mobile-panel nav > a { text-transform: uppercase; }

/* La forma inclinata rimane, ma nessun bottone ha più il bordo
   giallo. I pulsanti chiari hanno bordo della stessa tinta del
   riempimento. Hover: fondo trasparente e solo bordo grigio. */
.btn::before,
.text-link::before { border-color: var(--button-grey-border); }
.btn-white::before,
.text-link:not(.light-link)::before {
  background: var(--button-grey);
  border-color: var(--button-grey);
}
.btn-dark::before {
  background: var(--ink);
  border-color: var(--ink);
}
.btn-outline::before,
.light-link::before {
  background: transparent;
  border-color: var(--button-grey-border);
}
.btn-white:hover,
.btn-dark:hover,
.btn-outline:hover,
.text-link:hover,
.light-link:hover { background: transparent; }
.btn-white:hover::before,
.btn-dark:hover::before,
.btn-outline:hover::before,
.text-link:hover::before,
.light-link:hover::before {
  background: transparent;
  border-color: var(--button-grey-border);
}
.btn-white:hover, .btn-dark:hover, .text-link:not(.light-link):hover { color: var(--ink); }
.btn-outline:hover, .light-link:hover { color: #fff; }
/* Il pulsante bianco sull'hero scuro conserva contrasto in hover. */
.hero .btn-white:hover, .premium-callout .btn-white:hover { color: #fff; }

/* Titoli più compatti: niente grande spazio tra la riga nera e
   la campitura gialla, ma un margine sufficiente perché la tinta
   non invada mai la riga precedente. */
.section-header h2,
.blog-preview h2 { line-height: 1.00; }
.section-header h2 em,
.blog-preview h2 em {
  margin-top: .012em;
  padding: .012em .12em .062em .10em;
  line-height: 1.045;
  vertical-align: baseline;
}
.story-intro h2,
.final-inner h2,
.premium-callout h2 { line-height: 1.085; }
.product-info h1 { line-height: 1.12; }
.tab-content h2 { line-height: 1.06; }
.hero h1 { line-height: 1.025; }

/* +1px per i titoli, mantenendo proporzioni e breakpoint originali. */
.hero h1 { font-size: clamp(61px, calc(5.7vw + 1px), 93px); }
.section-header h2, .story-intro h2, .blog-preview h2,
.final-cta h2, .premium-callout h2 {
  font-size: clamp(45px, calc(4.5vw + 1px), 70px);
}
.category-content h3 { font-size: 31px; }
.product-bottom h3 { font-size: 22px; }
.story-step h3 { font-size: 23px; }
.blog-feature h3 { font-size: 27px; }
.final-inner h2 { font-size: clamp(38px, calc(3.7vw + 1px), 61px); }
.product-info h1 { font-size: clamp(49px, calc(4.1vw + 1px), 66px); }
.tab-content h2 { font-size: clamp(36px, calc(3.1vw + 1px), 50px); }
.premium-callout h2 { font-size: clamp(40px, calc(4vw + 1px), 63px); }

@media (max-width: 1150px) {
  .hero h1 { font-size: 68px; }
  .product-info h1 { font-size: 52px; }
}
@media (max-width: 850px) {
  .hero h1 { font-size: clamp(59px, calc(9vw + 1px), 86px); }
  .section-header h2 { font-size: 52px; }
  .story-intro h2 { font-size: 52px; }
  .product-info h1 { font-size: 61px; }
}
@media (max-width: 580px) {
  .hero h1 { font-size: clamp(51px, calc(11.9vw + 1px), 73px); }
  .section-header h2 { font-size: clamp(40px, calc(10vw + 1px), 56px); }
  .section-header h2 em,
  .blog-preview h2 em {
    margin-top: .02em;
    padding: .014em .10em .065em .07em;
  }
  .category-featured .category-content h3 { font-size: 40px; }
  .category-secondary .category-content h3 { font-size: 23px; }
  .product-bottom h3 { font-size: 19px; }
  .story-intro h2 { font-size: 58px; }
  .story-step h3 { font-size: 21px; }
  .blog-preview h2 { font-size: 52px; }
  .blog-feature h3 { font-size: 22px; }
  .final-inner h2 { font-size: 49px; }
  .product-info h1 { font-size: clamp(47px, calc(11vw + 1px), 63px); }
  .tab-content h2 { font-size: 44px; }
  .premium-callout h2 { font-size: 49px; }
}


/* ===========================================================
   MAD RUN / V5 — gallery fotografica community, tile compatti
   =========================================================== */
.community-gallery-footer {
  border-top: 1px solid var(--line); margin-top: 22px; padding-top: 22px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.community-gallery-footer > span { font-size: 10px; font-weight: 900; letter-spacing: .09em; color: #67645e; line-height: 1.7; }
.community-gallery-footer .text-link { flex-shrink: 0; }
/* The home preview is intentionally not a giant photo wall. */
.community .gallery-grid { height: 265px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.community .gallery-tile { height: 265px; min-width: 0; }
.community .gallery-big { grid-column: auto; }
.community .gallery-tile img, .community .gallery-big img { object-fit: cover; }
.customer-gallery-page .desktop-nav a[aria-current="page"] { color: var(--ink); }
.customer-gallery-page .mobile-panel a[aria-current="page"] { color: var(--ink); }
.customer-gallery-hero { background: #f4f3ef; padding: 32px 0 75px; }
.customer-breadcrumb { display: flex; align-items: center; gap: 11px; font-size: 10px; letter-spacing: .075em; font-weight: 800; color: #78766d; margin-bottom: 70px; }
.customer-breadcrumb a:hover { color: var(--ink); }
.customer-breadcrumb span:last-child { color: var(--ink); }
.customer-hero-layout { display: grid; grid-template-columns: 1.5fr .65fr; gap: 9%; align-items: end; }
.customer-gallery-title { font-family: var(--display); font-style: italic; font-size: clamp(49px, 5.3vw, 82px); line-height: 1.10; letter-spacing: -.055em; margin: 28px 0 0; }
.customer-gallery-title em { display: inline-block; max-width: 100%; font-style: italic; background: var(--yellow); padding: .02em .11em .06em .065em; margin-top: .09em; line-height: 1.02; }
.customer-hero-side { padding-bottom: 5px; }
.customer-hero-side p { color: #57544e; font-size: 15px; line-height: 1.8; margin-bottom: 23px; }
.customer-hero-side .text-link { background: transparent; }
.customer-gallery-content { padding: 80px 0 105px; background: #fff; }
.customer-gallery-topline { display:flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 32px; }
.customer-gallery-topline h2 { font-size: clamp(34px, 3.3vw, 49px); line-height: 1.12; letter-spacing: -.052em; margin: 18px 0 0; }
.customer-gallery-topline h2 em { color: var(--ink); background: var(--yellow); display: inline-block; padding: .025em .09em .055em .055em; }
.customer-gallery-topline > p { font-size: 14px; color: #77746e; padding-bottom: 7px; }
.customer-photo-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 20px 14px; }
.customer-photo { margin: 0; min-width: 0; pointer-events: none; }
.customer-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; height: auto; max-height: 205px; object-fit: cover; background: #e8e7e3; }
.customer-photo figcaption { display: flex; justify-content: space-between; gap: 12px; padding: 11px 1px 0; color: #77736e; font-size: 9px; font-weight: 850; letter-spacing: .105em; }
.customer-photo figcaption span:first-child { color: var(--ink); }
.customer-submit-banner { background: #181816; color: #fff; padding: 70px 0 78px; }
.customer-submit-inner { display:flex; align-items:end; justify-content:space-between; gap:40px; }
.customer-submit-eyebrow { color: var(--yellow); font-size: 10px; font-weight: 900; letter-spacing: .16em; }
.customer-submit-inner h2 { margin: 18px 0; font-size: clamp(37px, 4vw, 61px); line-height: 1.12; }
.customer-submit-inner h2 em { color: var(--yellow); font-style: italic; }
.customer-submit-inner p { color: #b5b3ac; max-width: 530px; line-height: 1.7; font-size: 14px; }
.customer-submit-inner .btn { flex: 0 0 auto; }
@media(max-width:1150px) {
  .customer-hero-layout { grid-template-columns: 1.25fr .75fr; gap: 5%; }
  .customer-photo-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media(max-width:850px) {
  .customer-gallery-hero { padding: 28px 0 60px; }
  .customer-breadcrumb { margin-bottom: 48px; }
  .customer-hero-layout { grid-template-columns: 1fr; gap: 24px; }
  .customer-gallery-title { font-size: clamp(47px, 8vw, 71px); }
  .customer-hero-side p { max-width: 610px; }
  .customer-gallery-content { padding: 65px 0 80px; }
  .community .gallery-grid { height: 235px; }
  .community .gallery-tile { height: 235px; }
}
@media(max-width:580px) {
  .community-gallery-footer { align-items: start; flex-direction: column; gap: 10px; }
  .community-gallery-footer .text-link { width: 100%; }
  .community .gallery-grid { grid-template-columns: repeat(3,minmax(0,1fr)); height: auto; gap: 8px; }
  .community .gallery-tile,.community .gallery-big, .community .gallery-tile:not(.gallery-big) { height: 126px; grid-column: auto; }
  .community .gallery-label { padding: 8px; }
  .community .gallery-label span { font-size: 7px; }
  .community .gallery-label strong { display: none; }
  .community .gallery-index { padding: 7px; font-size: 7px; }
  .customer-gallery-hero { padding: 22px 0 48px; }
  .customer-breadcrumb { font-size: 9px; margin-bottom: 42px; }
  .customer-gallery-title { font-size: clamp(42px, 10.6vw, 61px); line-height: 1.12; margin-top: 20px; }
  .customer-gallery-title em { margin-top: .095em; }
  .customer-hero-side p { font-size: 14px; }
  .customer-gallery-content { padding: 55px 0 64px; }
  .customer-gallery-topline { display:block; margin-bottom: 23px; }
  .customer-gallery-topline h2 { font-size: clamp(31px, 8vw, 40px); }
  .customer-gallery-topline > p { margin-top: 13px; }
  .customer-photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 19px 10px; }
  .customer-photo img { max-height: 170px; }
  .customer-photo figcaption { font-size: 7px; letter-spacing: .07em; padding-top: 8px; gap: 3px; }
  .customer-submit-banner { padding: 60px 0; }
  .customer-submit-inner { flex-direction: column; align-items: stretch; gap: 24px; }
  .customer-submit-inner h2 { font-size: clamp(34px, 8.8vw, 49px); }
  .customer-submit-inner .btn { width: 100%; justify-content:space-between; }
}
@media(max-width:360px) {
  .customer-gallery-title { font-size: 39px; }
  .customer-gallery-topline h2 { font-size: 29px; }
  .community .gallery-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

/* ============================================================
   MAD RUN V6 / EDITORIAL — Archivio blog & articolo singolo
   ============================================================ */
.blog-page .desktop-nav a[aria-current="page"],
.blog-page .mobile-panel a[aria-current="page"] { color: var(--ink); }
.blog-all-stories { margin-top: 31px; }
.blog-feature:hover h3 { color: var(--ink); }
.blog-archive-page .editorial-intro,
.blog-article-page .editorial-article-top { background: #f3f2ef; }
.editorial-intro { padding: 32px 0 85px; }
.editorial-intro .customer-breadcrumb,
.editorial-article-top .customer-breadcrumb { margin-bottom: 62px; }
.editorial-intro-grid { display: grid; grid-template-columns: 1.44fr .65fr; gap: 9%; align-items: end; }
.editorial-headline { font-size: clamp(58px, 6.15vw, 94px); line-height: 1.085; margin-top: 26px; letter-spacing: -.063em; }
.editorial-headline em { display: inline-block; padding: .019em .10em .066em .04em; margin-top: .065em; line-height: 1.045; background: var(--yellow); font-style: italic; }
.editorial-intro-copy { padding-bottom: 8px; }
.editorial-index,
.editorial-small-note { display: block; font-size: 10px; font-weight: 900; letter-spacing: .15em; }
.editorial-index { margin-bottom: 23px; }
.editorial-intro-copy p { font-size: 17px; line-height: 1.85; max-width: 390px; color: #615e57; }
.editorial-small-note { color: #77736d; margin-top: 26px; }
.editorial-featured-section { padding: 70px 0 75px; }
.editorial-section-label { display: flex; align-items: center; justify-content: space-between; margin-bottom: 17px; font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.editorial-section-label span:last-child { color: #85817b; }
.editorial-spotlight { display: grid; grid-template-columns: 52% 48%; min-height: 440px; background: #191917; color: #fff; overflow: hidden; }
.editorial-spotlight-copy { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(30px, 4vw, 62px); }
.editorial-spotlight-kicker { display: flex; align-items: center; gap: 12px; font-size: 10px; letter-spacing: .135em; font-weight: 900; }
.editorial-spotlight-copy h3 { margin: 43px 0 21px; font-family: var(--display); font-size: clamp(43px, 4.2vw, 63px); line-height: 1.05; letter-spacing: -.055em; font-style: italic; }
.editorial-spotlight-copy h3 em { display: inline-block; padding: .02em .10em .07em .04em; background: var(--yellow); color: var(--ink); line-height: 1.04; font-style: italic; margin-top: .08em; }
.editorial-spotlight-copy > p { color: #bebbb4; font-size: 15px; max-width: 430px; line-height: 1.8; }
.editorial-spotlight-footer { margin-top: auto; padding-top: 34px; width: 100%; display: flex; justify-content: space-between; align-items: end; gap: 25px; }
.editorial-spotlight-footer > span { color: #a3a19a; font-size: 9px; font-weight: 800; letter-spacing: .07em; }
.editorial-spotlight-footer strong { display: inline-flex; align-items: center; gap: 13px; border-bottom: 1px solid var(--yellow); padding-bottom: 10px; font-size: 10px; letter-spacing: .08em; white-space: nowrap; }
.editorial-spotlight-footer svg { width: 17px; height: 17px; }
.editorial-spotlight-visual { position: relative; overflow: hidden; min-width: 0; background: #e9e8e4; display: flex; justify-content: center; align-items: center; }
.editorial-spotlight-visual::before,
.editorial-cover-art::before { content: ""; position: absolute; top: -35%; right: 0; height: 170%; width: 30%; background: var(--yellow); transform: skewX(-16deg) translateX(12%); }
.editorial-spotlight-visual::after { content: ""; position: absolute; top: 18px; left: 24px; width: 28px; height: 5px; background: var(--yellow); transform: skewX(-19deg); }
.editorial-spotlight-word { position: absolute; top: 30px; left: 8%; font-family: var(--display); font-style: italic; font-weight: 900; font-size: clamp(61px, 7vw, 111px); line-height: .86; letter-spacing: -.07em; color: #d4d1c9; z-index: 0; }
.editorial-spotlight-visual img { position: relative; z-index: 1; width: 100%; height: 90%; max-height: 380px; object-fit: contain; mix-blend-mode: multiply; transition: transform .4s ease; }
.editorial-spotlight:hover .editorial-spotlight-visual img { transform: scale(1.045); }
.editorial-spotlight-number { position: absolute; bottom: 20px; right: 25px; font-family: var(--display); font-size: 80px; line-height: 1; font-weight: 900; font-style: italic; color: #111; opacity: .72; z-index: 2; }
.editorial-listing { padding: 30px 0 105px; }
.editorial-list-head { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 34px; }
.editorial-list-head h2,
.editorial-related-head h2 { font-size: clamp(43px, 4.3vw, 66px); line-height: 1.12; letter-spacing: -.055em; margin-top: 18px; }
.editorial-list-head h2 em,
.editorial-related-head h2 em { display: inline-block; background: var(--yellow); font-style: italic; padding: .005em .085em .06em .045em; line-height: 1.06; }
.editorial-list-head > p { color: #6f6c65; font-size: 14px; line-height: 1.7; padding-bottom: 10px; }
.editorial-filterbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); margin-bottom: 30px; }
.editorial-filter-list { display: flex; gap: 32px; }
.blog-filter { background: transparent; border: none; border-bottom: 3px solid transparent; padding: 19px 0 16px; font-weight: 900; font-size: 10px; letter-spacing: .10em; color: #827f77; }
.blog-filter:hover { color: var(--ink); }
.blog-filter.is-active { color: var(--ink); border-bottom-color: var(--yellow); }
.blog-visible-count { font-size: 9px; font-weight: 850; letter-spacing: .12em; color: #7f7c74; white-space: nowrap; }
#blog-spotlight[hidden],.blog-no-results[hidden] { display: none; }
.editorial-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: 23px; row-gap: 52px; }
.editorial-card { min-width: 0; }
.editorial-card-link { display: flex; flex-direction: column; height: 100%; }
.editorial-card-visual { position: relative; background: #ebeae6; aspect-ratio: 1.45; overflow: hidden; display: flex; justify-content: center; align-items: center; }
.editorial-card-visual::before { content: ""; width: 31%; height: 160%; position: absolute; right: -15px; top: -35%; transform: skewX(-18deg); background: #ffda06; }
.editorial-card-visual::after { content: "MAD RUN"; position: absolute; left: 15px; bottom: 13px; font-family: var(--display); font-style: italic; font-size: 32px; font-weight: 900; line-height: 1; letter-spacing: -.075em; color: #d5d2ca; }
.editorial-card-visual img { width: 100%; height: 92%; position: relative; z-index: 1; object-fit: contain; mix-blend-mode: multiply; transition: transform .35s ease; }
.editorial-card-link:hover .editorial-card-visual img { transform: scale(1.06); }
.editorial-card-index { position: absolute; z-index: 2; top: 13px; left: 15px; background: var(--ink); color: white; font-size: 8px; font-weight: 900; letter-spacing: .075em; padding: 8px 10px; }
.editorial-card-meta { margin-top: 18px; display: flex; justify-content: space-between; gap: 16px; font-size: 9px; letter-spacing: .1em; font-weight: 900; color: #77736c; }
.editorial-card-meta > span:first-child { color: #161510; }
.editorial-card h3 { margin-top: 15px; font-size: clamp(22px, 2.15vw, 30px); font-weight: 900; letter-spacing: -.047em; line-height: 1.18; }
.editorial-card h3 em { font-style: normal; }
.editorial-card > a > p { color: #6b6961; font-size: 14px; line-height: 1.75; margin: 13px 0 25px; }
.editorial-card-more { margin-top: auto; display: inline-flex; align-items: center; gap: 10px; width: max-content; border-bottom: 1px solid #85817a; padding-bottom: 7px; font-size: 10px; font-weight: 900; letter-spacing: .07em; }
.editorial-card-more svg { width: 16px; }
.editorial-card-link:hover .editorial-card-more { border-bottom-color: var(--yellow); }
.blog-no-results { padding: 30px 0; color: #777; }
.editorial-next { background: #181816; color: #fff; padding: 70px 0 78px; }
.editorial-next-inner { display: flex; justify-content: space-between; align-items: end; gap: 35px; }
.editorial-next-inner > div > span { color: var(--yellow); font-size: 10px; letter-spacing: .12em; font-weight: 900; }
.editorial-next h2 { margin-top: 16px; font-size: clamp(41px, 4vw, 61px); line-height: 1.1; }
.editorial-next h2 em { color: var(--yellow); }
.editorial-next p { max-width: 430px; color: #c0bdb7; line-height: 1.75; margin-top: 17px; font-size: 14px; }
.editorial-next .btn { flex-shrink: 0; }
/* Single article */
.editorial-article-top { padding: 32px 0 78px; }
.editorial-article-head { display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: clamp(40px, 6vw, 110px); align-items: end; }
.editorial-article-title { margin: 27px 0 22px; font-size: clamp(51px, 6vw, 91px); line-height: 1.13; letter-spacing: -.065em; overflow-wrap: anywhere; }
.editorial-article-title em { font-style: italic; display: inline; background: var(--yellow); padding: 0 .10em .055em .025em; box-decoration-break: clone; -webkit-box-decoration-break: clone; line-height: 1.17; }
.editorial-article-head > div:first-child > p { color: #65615b; font-size: 17px; max-width: 730px; line-height: 1.8; }
.editorial-article-meta { padding-bottom: 10px; }
.editorial-article-meta > div { display: flex; flex-direction: column; gap: 10px; padding: 17px 0; border-top: 1px solid #cfcdc6; }
.editorial-article-meta > div > span { color: #8a877f; font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.editorial-article-meta > div > strong { font-size: 11px; font-weight: 900; letter-spacing: .07em; }
.editorial-article-meta .text-link { margin-top: 26px; font-size: 9px; white-space: nowrap; }
.editorial-cover-section { padding-top: 30px; }
.editorial-cover { margin: 0; }
.editorial-cover-art { height: clamp(335px, 39vw, 540px); background: #e9e8e4; display: flex; justify-content: center; align-items: center; overflow: hidden; position: relative; }
.editorial-cover-art::after { content: ""; position: absolute; top: 22px; left: 24px; width: 48px; height: 7px; background: var(--yellow); transform: skewX(-18deg); }
.editorial-cover-large { position: absolute; z-index: 0; left: 5%; top: 12%; color: #d2cfc7; font-size: clamp(90px, 12vw, 180px); font-family: var(--display); line-height: .84; font-weight: 900; font-style: italic; letter-spacing: -.09em; }
.editorial-cover-art img { position: relative; z-index: 1; width: 96%; height: 94%; object-fit: contain; mix-blend-mode: multiply; }
.editorial-cover figcaption { display: flex; justify-content: space-between; gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--line); color: #74716b; font-size: 9px; font-weight: 850; letter-spacing: .105em; }
.editorial-article-body { padding: 75px 0 95px; }
.editorial-reading-layout { display: grid; grid-template-columns: 255px minmax(0, 740px); gap: clamp(65px, 8.5vw, 145px); justify-content: center; align-items: start; }
.editorial-reading-side { position: sticky; top: 142px; padding-top: 15px; }
.editorial-aside-label { display: block; font-size: 10px; font-weight: 900; letter-spacing: .12em; border-bottom: 2px solid #161510; padding-bottom: 17px; }
.editorial-reading-side nav { display: flex; flex-direction: column; }
.editorial-reading-side nav a { display: flex; gap: 14px; padding: 20px 0; color: #66635d; font-size: 12px; font-weight: 800; line-height: 1.45; border-bottom: 1px solid var(--line); }
.editorial-reading-side nav a:hover { color: var(--ink); }
.editorial-reading-side nav a > span { color: var(--ink); font-size: 10px; }
.editorial-side-bottom { margin-top: 70px; background: #f2f1ed; padding: 25px; border-left: 4px solid var(--yellow); }
.editorial-side-bottom span { font-size: 9px; letter-spacing: .1em; font-weight: 900; }
.editorial-side-bottom p { font-size: 15px; line-height: 1.6; margin-top: 10px; color: #57544d; }
.editorial-reading-content { min-width: 0; }
.editorial-intro-lead { font-size: 22px; font-weight: 700; letter-spacing: -.015em; line-height: 1.7; padding-bottom: 37px; border-bottom: 1px solid var(--line); }
.editorial-reading-section { padding-top: 48px; scroll-margin-top: 135px; }
.editorial-paragraph-kicker { color: #817d73; font-size: 9px; letter-spacing: .15em; font-weight: 900; }
.editorial-reading-section h2 { margin: 15px 0 22px; font-size: clamp(30px, 3vw, 43px); line-height: 1.18; letter-spacing: -.044em; }
.editorial-reading-section p { color: #5e5b54; font-size: 17px; line-height: 1.95; margin: 0 0 20px; }
.editorial-quote { background: #f3f2ee; border-left: 6px solid var(--yellow); margin: 40px 0 0; padding: 30px clamp(25px, 4vw, 48px) 35px; }
.editorial-quote > span { display: block; font-size: 68px; font-weight: 900; line-height: .85; color: var(--yellow); }
.editorial-quote p { font-family: var(--display); font-style: italic; font-weight: 900; font-size: calc(clamp(22px, 2.3vw, 32px) + 1px); letter-spacing: -.035em; line-height: 1.28; margin-top: 8px; }
.editorial-article-end { display: flex; gap: 25px; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 26px; margin-top: 55px; }
.editorial-article-end > span { font-size: 9px; letter-spacing: .11em; font-weight: 850; color: #89867f; }
.editorial-related { background: #f3f2ee; padding: 88px 0 105px; }
.editorial-related-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 35px; }
.editorial-related-head .text-link { margin-bottom: 6px; }
.editorial-related .editorial-card-visual { background: #e7e5df; }
/* Layout adaptations */
@media (max-width: 1150px) {
 .editorial-intro-grid { gap: 4%; grid-template-columns: 1.3fr .75fr; }
 .editorial-spotlight { grid-template-columns: 55% 45%; }
 .editorial-spotlight-copy { padding: 36px; }
 .editorial-spotlight-copy h3 { font-size: 50px; }
 .editorial-reading-layout { grid-template-columns: 215px minmax(0,1fr); gap: 60px; }
 .editorial-article-title { font-size: clamp(47px, 6vw, 75px); }
}
@media (max-width: 850px) {
 .editorial-intro { padding-bottom: 67px; }
 .editorial-intro .customer-breadcrumb, .editorial-article-top .customer-breadcrumb { margin-bottom: 48px; }
 .editorial-intro-grid { grid-template-columns: 1fr; gap: 25px; }
 .editorial-headline { font-size: clamp(58px, 9vw, 76px); }
 .editorial-intro-copy p { max-width: 600px; font-size: 15px; }
 .editorial-small-note { display: none; }
 .editorial-spotlight-copy { padding: 27px; }
 .editorial-spotlight-copy h3 { margin: 34px 0 17px; font-size: clamp(36px, 5vw, 47px); }
 .editorial-spotlight-copy p { font-size: 13px; }
 .editorial-spotlight-footer { flex-direction: column; align-items: start; gap: 16px; }
 .editorial-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 38px 18px; }
 .editorial-article-head { grid-template-columns: 1fr; gap: 27px; }
 .editorial-article-meta { display: flex; gap: 35px; flex-wrap: wrap; align-items: center; }
 .editorial-article-meta > div { flex: 0 1 150px; }
 .editorial-article-meta .text-link { margin: 0; }
 .editorial-reading-layout { display: block; }
 .editorial-reading-side { position: static; padding: 0 0 32px; margin-bottom: 30px; border-bottom: 1px solid var(--line); }
 .editorial-reading-side nav { flex-direction: row; flex-wrap: wrap; gap: 8px 23px; }
 .editorial-reading-side nav a { border: none; padding: 12px 0; }
 .editorial-side-bottom { display: none; }
 .editorial-reading-content { max-width: 720px; margin: auto; }
}
@media (max-width: 580px) {
 .editorial-intro { padding: 22px 0 50px; }
 .editorial-intro .customer-breadcrumb, .editorial-article-top .customer-breadcrumb { margin-bottom: 40px; }
 .editorial-headline { font-size: clamp(43px, 11vw, 62px); line-height: 1.115; margin-top: 20px; }
 .editorial-headline em { margin-top: .11em; }
 .editorial-intro-copy p { font-size: 14px; }
 .editorial-index { margin-bottom: 13px; font-size: 9px; }
 .editorial-featured-section { padding: 44px 0 44px; }
 .editorial-spotlight { grid-template-columns: 1fr; }
 .editorial-spotlight-copy { padding: 29px 24px; }
 .editorial-spotlight-copy h3 { font-size: clamp(37px, 9.6vw, 50px); margin: 28px 0 16px; }
 .editorial-spotlight-copy > p { font-size: 14px; }
 .editorial-spotlight-visual { min-height: 235px; max-height: 285px; }
 .editorial-spotlight-visual img { max-height: 270px; }
 .editorial-spotlight-word { font-size: 74px; }
 .editorial-spotlight-number { font-size: 56px; }
 .editorial-listing { padding: 20px 0 72px; }
 .editorial-list-head { display: block; margin-bottom: 22px; }
 .editorial-list-head h2,.editorial-related-head h2 { font-size: clamp(38px, 9vw, 51px); }
 .editorial-list-head > p { margin-top: 16px; }
 .editorial-filterbar { display: block; margin-bottom: 25px; }
 .editorial-filter-list { gap: 23px; overflow-x: auto; }
 .blog-filter { font-size: 9px; flex-shrink: 0; padding: 17px 0 13px; }
 .blog-visible-count { display: block; padding: 10px 0; }
 .editorial-card-grid { grid-template-columns: 1fr; row-gap: 40px; }
 .editorial-card-visual { aspect-ratio: 1.62; }
 .editorial-card h3 { font-size: 25px; }
 .editorial-card > a > p { margin-bottom: 17px; }
 .editorial-next { padding: 57px 0; }
 .editorial-next-inner { display: block; }
 .editorial-next h2 { font-size: 43px; }
 .editorial-next .btn { margin-top: 28px; width: 100%; justify-content: space-between; }
 .editorial-article-top { padding: 22px 0 48px; }
 .editorial-article-title { font-size: clamp(40px, 9.2vw, 52px); line-height: 1.15; margin: 22px 0 18px; }
 .editorial-article-title em { line-height: 1.18; }
 .editorial-article-head > div:first-child > p { font-size: 14px; }
 .editorial-article-meta { gap: 13px 25px; }
 .editorial-article-meta > div { flex-basis: 120px; }
 .editorial-cover-section { padding-top: 18px; }
 .editorial-cover-art { height: 285px; }
 .editorial-cover-large { font-size: 83px; }
 .editorial-cover figcaption { font-size: 8px; line-height: 1.6; }
 .editorial-article-body { padding: 40px 0 70px; }
 .editorial-reading-side nav { display: block; }
 .editorial-reading-side nav a { padding: 11px 0; }
 .editorial-intro-lead { font-size: 19px; }
 .editorial-reading-section { padding-top: 36px; }
 .editorial-reading-section h2 { font-size: 32px; }
 .editorial-reading-section p { font-size: 16px; line-height: 1.85; }
 .editorial-quote { padding: 24px; }
 .editorial-quote p { font-size: 26px; }
 .editorial-article-end { display: block; }
 .editorial-article-end > span { display: block; margin-bottom: 25px; }
 .editorial-related { padding: 65px 0 74px; }
 .editorial-related-head { align-items: start; flex-direction: column; gap: 20px; }
}
@media (max-width: 360px) {
 .editorial-headline { font-size: 41px; }
 .editorial-article-title { font-size: 38px; }
 .editorial-spotlight-copy h3 { font-size: 36px; }
 .editorial-spotlight-footer strong { font-size: 9px; }
}


/* ============================================================
   MAD RUN V7 — hover puliti, senza gialli ocra / oliva.
   Sui fondi chiari, testo leggibile e sottolineatura nel giallo
   originale del brand (#ffd900); sui fondi scuri resta il giallo.
   ============================================================ */
.desktop-nav > a:hover,
.desktop-nav .nav-drop:hover,
.shop-dropdown a:hover,
.search-results a:hover,
.blog-feature:hover h3,
.blog-feature:focus-visible h3 {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-color: var(--yellow);
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}
/* Anche la voce di pagina corrente segue la stessa palette. */
.customer-gallery-page .desktop-nav a[aria-current="page"],
.blog-page .desktop-nav a[aria-current="page"] {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-color: var(--yellow);
  text-decoration-thickness: 3px;
  text-underline-offset: 6px;
}
.customer-gallery-page .mobile-panel a[aria-current="page"],
.blog-page .mobile-panel a[aria-current="page"] {
  color: var(--ink);
  border-bottom: 3px solid var(--yellow);
}

/* ===========================================================
   MAD RUN CLIENT PRESENTATION • shop, contact, wallets & search
   All page titles use Amsi Black Italic when installed locally.
   =========================================================== */
:root{--search-top:116px}
/* Search aligned to the actual bottom edge of the sticky header on every viewport and scroll state. */
.search-overlay{top:var(--search-top);padding:30px 0 26px;max-height:calc(100dvh - var(--search-top));overflow-y:auto;overscroll-behavior:contain;z-index:130;box-shadow:0 14px 40px #0002}
.search-overlay .container{width:min(100% - 48px,1320px)}
.search-form{width:100%;max-width:850px;margin:0 auto}
.search-field input{width:100%;font-size:clamp(17px,2.15vw,26px)}
.search-results{max-height:min(43dvh,440px);overflow:auto}
.search-all-link{font-weight:900!important;font-size:11px!important;letter-spacing:.05em;color:#222;background:#fffdf2}
.search-overlay[hidden]{display:none!important}
.nav-menu .nav-drop{display:flex;align-items:center;gap:7px;height:100%}
.nav-menu .all-shop-link{color:#141414;font-weight:900;background:#fffce0;padding:14px 10px}
.mobile-shop-link{font-weight:900!important;background:#fffbd6;margin-top:8px}
.site-footer .footer-column a:hover{color:var(--yellow)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}
.shop-breadcrumb{font-size:10px;font-weight:800;letter-spacing:.14em;display:flex;gap:12px;align-items:center;margin-bottom:49px;color:#98968e}
.shop-breadcrumb a{color:inherit}.shop-breadcrumb a:hover{color:var(--yellow)}
.shop-page-main h1,.shop-page-main h2,.shop-page-main h3,.contact-page-main h1,.contact-page-main h2,.contact-page-main h3{font-family:var(--display);font-style:italic;font-weight:900;letter-spacing:-.054em}
.shop-page-main p,.contact-page-main p{line-height:1.75}
.shop-hero{background:#161614;color:#fff;overflow:hidden;padding:57px 0 52px;position:relative}
.shop-hero:before{content:'RACE';font-family:var(--display);position:absolute;right:-40px;top:45px;font-style:italic;font-size:clamp(130px,23vw,400px);color:#ffffff05;line-height:1;pointer-events:none}
.shop-hero-grid{display:grid;grid-template-columns:1.45fr .7fr;align-items:end;gap:72px;position:relative}
.shop-hero h1{font-size:clamp(67px,7.7vw,126px);line-height:.99;margin:34px 0 38px}
.shop-hero h1 em,.shop-bottom-cta em,.contact-hero h1 em,.contact-info h2 em,.contact-form-card h2 em,.contact-faq h2 em{color:var(--yellow)}
.shop-hero-right{padding-bottom:45px;max-width:420px}
.shop-hero-right p{font-size:17px;color:#b8b6b0;line-height:1.86;margin-bottom:30px}
.shop-hero-right .text-link{color:#fff}
.shop-hero-tags{border-top:1px solid #45443c;display:flex;justify-content:space-between;gap:15px;padding-top:19px;flex-wrap:wrap;color:#aaa79f;font-size:10px;letter-spacing:.1em;font-weight:800}
.shop-collections{background:#f5f4f1;padding:55px 0 64px}
.shop-collection-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;gap:15px}
.shop-collection-heading h2{font-size:33px}.shop-collection-heading>span{font-size:10px;letter-spacing:.13em;font-weight:800;color:#77736d}
.shop-collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.shop-collection-tile{background:#fff;border:1px solid #e1dfda;min-height:199px;padding:26px 27px 25px;display:flex;flex-direction:column;align-items:start;transition:transform .2s,background .2s}
.shop-collection-tile:hover{background:var(--yellow);transform:translateY(-3px)}
.shop-collection-tile>span{font-size:9px;letter-spacing:.13em;font-weight:900;color:#77736b}
.shop-collection-tile strong{font-family:var(--display);font-weight:900;font-style:italic;font-size:clamp(26px,3.3vw,48px);letter-spacing:-.055em;margin:auto 0 10px;display:flex;justify-content:space-between;align-items:center;width:100%}
.shop-collection-tile strong span{font-family:var(--font);font-style:normal;font-size:22px;font-weight:400}
.shop-collection-tile small{font-size:11px;font-weight:700;line-height:1.5;color:#77736d}
.shop-catalog{padding:85px 0 112px;background:#fff;scroll-margin-top:100px}
.catalog-title-line{display:grid;grid-template-columns:1fr 340px;align-items:end;gap:36px;margin-bottom:45px}
.catalog-title-line h2{font-size:clamp(49px,5vw,76px);line-height:1.02;margin-top:21px}
.catalog-title-line p{color:#716e69;font-size:14px;max-width:340px}
.shop-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:54px;align-items:start}
.shop-sidebar{border-top:2px solid #171715}
.filter-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:23px 0 22px;border-bottom:1px solid var(--line)}
.filter-heading h3{font-family:var(--font);font-style:normal;letter-spacing:.09em;font-size:12px;font-weight:900}
.shop-reset{font-size:9px;font-weight:900;background:none;border:0;border-bottom:1px solid #aaa;padding:5px 0}
.filter-group{padding:23px 0;border-bottom:1px solid #e8e7e3}
.filter-group h4{font-family:var(--font);font-style:normal;font-size:10px;font-weight:900;letter-spacing:.13em;margin-bottom:17px}
.shop-radio-set,.shop-check-set{display:grid;gap:13px}
.shop-radio-set label,.shop-check-set label,.shop-toggle{display:flex;align-items:center;gap:10px;font-weight:650;font-size:12px;cursor:pointer}
.shop-radio-set input,.shop-check-set input,.shop-toggle input,.contact-consent input{accent-color:#141414;width:15px;height:15px;flex:0 0 15px;cursor:pointer}
.filter-group select{width:100%;min-height:40px;border:1px solid #dedcd7;background:#fff;padding:0 10px;font-size:12px}
#shop-price{width:100%;accent-color:#151515}
.price-range{display:flex;justify-content:space-between;margin-top:7px;font-size:11px;color:#75736e}
.shop-small-note{font-size:11px!important;color:#88837c;margin-top:12px;line-height:1.65!important}
.shop-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:20px;align-items:end}
.shop-search-wrap{height:49px;display:flex;align-items:center;gap:11px;border:1px solid #e2e1dd;padding:0 14px}
.shop-search-wrap svg{width:18px;height:18px}
.shop-search-wrap input{border:0;outline:0;width:100%;font-size:12px;min-width:0}
.shop-sort label{display:block;font-size:9px;letter-spacing:.1em;font-weight:900;margin-bottom:6px}
.shop-sort select{width:100%;height:49px;border:1px solid #e2e1dd;padding:0 11px;background:#fff;font-size:12px;font-weight:700}
.shop-result-counter{margin:26px 0 17px;display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid #e6e5e0;padding-bottom:16px;font-size:11px;color:#77736d;font-weight:700}
.shop-view-switch{display:flex;gap:4px;margin-left:auto}
.shop-view-switch button{width:32px;height:32px;border:1px solid #ddd;background:#fff;font-size:21px;line-height:1}
.shop-view-switch button[aria-pressed=true]{background:#161614;color:#fff;border-color:#161614}
.shop-mobile-filter{display:none}
.shop-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 16px}
.catalog-product{min-width:0;display:flex;flex-direction:column}
.catalog-product-image{aspect-ratio:1.1;background:#f3f3f1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.catalog-product-image>img{object-fit:contain;width:100%;height:100%;transition:transform .3s;mix-blend-mode:multiply}
.catalog-product-image:hover>img{transform:scale(1.055)}
.catalog-product-badge{position:absolute;top:12px;left:12px;z-index:2;max-width:calc(100% - 24px);background:white;font-size:8px;font-weight:900;padding:8px 10px;letter-spacing:.045em}
.catalog-product-image-link{position:absolute;z-index:2;bottom:0;left:0;right:0;display:block;background:var(--yellow);padding:13px 15px;letter-spacing:.08em;font-weight:900;font-size:10px;transform:translateY(102%);transition:transform .2s}
.catalog-product-image:hover .catalog-product-image-link,.catalog-product-image:focus-visible .catalog-product-image-link{transform:none}
.catalog-product-copy{padding:19px 0 0;display:flex;flex-direction:column;flex:1;align-items:stretch}
.catalog-product-meta{font-size:9px;letter-spacing:.09em;font-weight:800;color:#7a7770}
.catalog-product-name{font-family:var(--display);font-style:italic;font-weight:900;letter-spacing:-.04em;line-height:1.13;font-size:clamp(20px,1.65vw,27px);margin:9px 0 13px;min-height:60px}
.catalog-product-name:hover{text-decoration:underline;text-decoration-color:var(--yellow)}
.catalog-product-copy>p{font-size:12px;color:#716e67;line-height:1.65;margin-bottom:15px;flex:1}
.catalog-product-price{display:flex;gap:10px;align-items:baseline;margin-bottom:14px}
.catalog-product-price strong{font-size:22px;letter-spacing:-.04em}.catalog-product-price small{font-size:10px;color:#8e8b86}
.catalog-product-actions{border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.shop-stock{font-size:9px;color:#467748;font-weight:900}.shop-stock.is-demo-limited{color:#a87820}
.catalog-product-actions>a{font-size:9px;letter-spacing:.07em;font-weight:900;border-bottom:1px solid #111;padding-bottom:4px}
.shop-products-list{grid-template-columns:1fr}
.shop-products-list .catalog-product{display:grid;grid-template-columns:220px minmax(0,1fr);gap:23px;border-bottom:1px solid #e5e3df;padding-bottom:25px}
.shop-products-list .catalog-product-image{aspect-ratio:1.3}
.shop-products-list .catalog-product-name{min-height:auto;font-size:25px;margin:8px 0}
.shop-products-list .catalog-product-copy{padding:3px 0}
.shop-products-list .catalog-product-copy>p{margin-bottom:9px}
.shop-empty{text-align:center;padding:80px 20px;background:#f5f4f1}.shop-empty h3{font-size:35px}.shop-empty p{margin:12px 0 20px;font-size:14px}
.shop-pagination{display:flex;justify-content:center;gap:7px;margin:40px 0 17px}
.shop-pagination button{width:43px;height:43px;background:white;border:1px solid #d5d3cf;font-size:12px;font-weight:800}
.shop-pagination button.active{background:#151515;color:#fff}
.shop-catalog-note{font-size:11px!important;line-height:1.7!important;color:#98958d;text-align:center;max-width:650px;margin:20px auto 0}
.shop-bottom-cta{background:#151514;color:#fff;padding:72px 0}.shop-bottom-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}
.shop-bottom-grid>div>span{letter-spacing:.14em;font-size:10px;font-weight:900}
.shop-bottom-grid h2{font-size:clamp(42px,5vw,72px);line-height:1.03;margin:19px 0 0}
/* Contact */
.contact-hero{background:#171715;color:white;padding:57px 0 80px;position:relative;overflow:hidden}
.contact-hero:after{content:'CONTACT';font-family:var(--display);font-style:italic;font-size:clamp(140px,22vw,430px);color:#ffffff06;position:absolute;bottom:-140px;right:-100px;pointer-events:none}
.contact-topline{display:flex;justify-content:space-between;gap:20px;align-items:center;position:relative;z-index:1}
.contact-topline>span:last-child{font-size:10px;font-weight:800;letter-spacing:.14em;color:#a09e98}
.contact-hero h1{font-size:clamp(72px,8.2vw,132px);line-height:.99;margin:42px 0 30px;position:relative;z-index:1}
.contact-hero>.container>p{position:relative;z-index:1;font-size:17px;max-width:630px;color:#bbb9b2;line-height:1.75}
.contact-body{background:#f7f6f3;padding:90px 0 105px}
.contact-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:9%;align-items:start}
.contact-info-header>span{font-size:10px;letter-spacing:.13em;font-weight:900}
.contact-info-header h2{font-size:clamp(43px,4.1vw,64px);line-height:1.05;margin:20px 0 35px}
.contact-method{border-top:1px solid #d6d4cd;position:relative;display:flex;flex-direction:column;gap:12px;padding:24px 45px 27px 0}
.contact-method>span:first-child{font-size:10px;font-weight:900;letter-spacing:.12em;color:#7d7a72}
.contact-method strong{font-size:clamp(17px,1.6vw,24px);letter-spacing:-.04em;overflow-wrap:anywhere}
.contact-method .contact-go{position:absolute;top:38px;right:5px;font-size:25px;font-weight:400}
.contact-method:hover .contact-go{color:#999}
.contact-company{border-top:1px solid #d6d4cd;padding-top:26px;margin-top:4px}
.contact-company>span{font-size:10px;letter-spacing:.1em;font-weight:900}
.contact-company p{font-size:13px;margin-top:13px;color:#66635b}.contact-company p:last-child{color:#928f88;font-size:11px;margin-top:18px}
.contact-form-card{background:#fff;box-shadow:0 18px 55px #1817140a;border:1px solid #e8e7e3;padding:46px clamp(22px,4vw,64px) 50px}
.contact-form-card h2{font-size:clamp(40px,4vw,59px);line-height:1.06;margin:19px 0}
.contact-form-card>p{color:#77736c;font-size:14px;max-width:480px;margin-bottom:28px}
.contact-form-card form{display:grid;gap:21px}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form-card form label{font-size:10px;font-weight:900;letter-spacing:.09em;display:flex;flex-direction:column;gap:9px}
.contact-form-card form label>span{color:#d85e43}
.contact-form-card input:not([type=checkbox]),.contact-form-card select,.contact-form-card textarea{width:100%;padding:13px 14px;border:1px solid #dcdad3;background:white;color:#151515;font:600 13px var(--font);min-height:49px;border-radius:0}
.contact-form-card textarea{resize:vertical;min-height:135px!important;line-height:1.65}
.contact-consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:11px!important;line-height:1.7;letter-spacing:0!important;font-weight:500!important;font-size:11px!important;color:#76726b}
.contact-consent input{margin-top:3px}.contact-consent span{color:inherit!important}.contact-consent a{text-decoration:underline;text-underline-offset:2px}
.contact-submit{justify-content:space-between;max-width:280px}
#contact-feedback{color:#353e32;font-size:12px;font-weight:700;line-height:1.5}
#contact-feedback:empty{display:none}
.contact-disclaimer{font-size:11px!important;line-height:1.6!important;color:#99958d;margin:0!important}
.contact-faq{background:#fff;padding:94px 0 110px}
.contact-faq .container{display:grid;grid-template-columns:.82fr 1fr;gap:12%}
.contact-faq h2{font-size:clamp(40px,4.2vw,65px);line-height:1.05;margin:26px 0}
.contact-faq-list{border-top:1px solid #d8d7d2}
.contact-faq-list details{padding:23px 0;border-bottom:1px solid #d8d7d2}
.contact-faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px;font-weight:850;font-size:14px;line-height:1.5}
.contact-faq-list summary::-webkit-details-marker{display:none}
.contact-faq-list summary span{font-size:23px;font-weight:300}
.contact-faq-list details[open] summary span{transform:rotate(45deg)}
.contact-faq-list details p{font-size:13px;color:#737068;margin:17px 0;max-width:600px}
.contact-faq-list details>a{font-size:11px;font-weight:900;border-bottom:1px solid #222;padding-bottom:5px}
/* Fast checkout visual (requires licensed provider SDK before actual transactions) */
.quickpay{border-top:1px solid #dad8d2;margin-top:25px;padding-top:24px}
.quickpay-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.quickpay-title>span{font-size:10px;letter-spacing:.1em;font-weight:900}.quickpay-title small{font-size:10px;color:#77736e}
.quickpay-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.wallet-btn{border:1px solid #d5d5d5;min-height:48px;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:4px;font-size:21px;font-family:Arial,sans-serif;line-height:1;font-weight:650;transition:transform .15s}
.wallet-btn:hover{transform:translateY(-2px)}
.wallet-apple{background:#000;color:#fff;border-color:#000}
.wallet-apple svg{height:24px;width:23px;fill:#fff;stroke:none}
.wallet-google{background:#fff;color:#3a3a3a}.wallet-google .google-g{font-size:27px;font-weight:700;background:conic-gradient(#4285f4 0 85deg,#34a853 85deg 165deg,#fbbc05 165deg 220deg,#ea4335 220deg 315deg,#4285f4 315deg);background-clip:text;-webkit-background-clip:text;color:transparent}
.wallet-google .google-g i{font-style:normal}.wallet-paypal{background:#ffcf22;color:#003087;border-color:#ffcf22;font-size:22px;font-style:italic;font-weight:900}.wallet-paypal>span>span{color:#006db7}
.payment-methods{margin-top:23px}.payment-methods-label{display:block;font-size:9px;letter-spacing:.08em;color:#8b877f;font-weight:850;margin-bottom:12px}
.payment-marks{display:flex;gap:7px;flex-wrap:wrap}
.paymark{background:white;border:1px solid #e0ded7;border-radius:4px;min-height:31px;min-width:56px;padding:7px 10px;display:flex;justify-content:center;align-items:center;font:bold 12px Arial,sans-serif}
.paymark.visa{color:#12348a;font-style:italic;font-size:16px}.paymark.amex{background:#276cc3;color:#fff;font-size:11px}.paymark.payp{color:#003087;font-style:italic}.paymark.apple{font-size:14px}.paymark.gpay{color:#444}
.paymark.mastercard{gap:0;flex-wrap:wrap;width:72px}.paymark.mastercard i{width:16px;height:16px;border-radius:50%;background:#e32927;margin-right:-5px}.paymark.mastercard i+i{background:#f4a721;mix-blend-mode:multiply}.paymark.mastercard b{font-size:7px;font-weight:500;line-height:1;margin-top:2px}
/* universal nav/search/responsive */
@media (max-width:1150px){
 .shop-layout{gap:26px;grid-template-columns:220px minmax(0,1fr)}
 .shop-products{grid-template-columns:repeat(2,minmax(0,1fr))}
 .shop-hero-grid{gap:30px}
 .catalog-title-line{grid-template-columns:1fr 290px}
 .contact-grid{gap:4%}
}
@media (max-width:850px){
 .shop-hero{padding:38px 0 38px}.shop-breadcrumb{margin-bottom:30px}
 .shop-hero-grid{grid-template-columns:1fr;gap:5px}.shop-hero h1{margin:28px 0 20px;font-size:clamp(60px,10vw,93px)}
 .shop-hero-right{padding:0 0 35px}.shop-hero-right p{margin-bottom:14px;font-size:15px}
 .shop-collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .shop-collection-tile{min-height:170px;padding:19px 15px}.shop-collection-tile strong{font-size:clamp(24px,3.8vw,38px)}
 .shop-layout{grid-template-columns:200px minmax(0,1fr);gap:20px}
 .catalog-title-line{grid-template-columns:1fr}.catalog-title-line p{max-width:650px}
 .shop-toolbar{grid-template-columns:1fr}.shop-catalog{padding:65px 0}
 .contact-grid{grid-template-columns:1fr;gap:55px}.contact-body{padding:60px 0}
 .contact-info-header h2{margin-bottom:25px}.contact-faq .container{grid-template-columns:1fr;gap:25px}
 .contact-faq{padding:60px 0}
}
@media (max-width:660px){
 .search-overlay{padding:21px 0 19px}.search-overlay .container{width:calc(100% - 34px)}
 .search-form>label{font-size:10px}.search-field input{font-size:16px;padding:15px 0}
 .search-field button{padding:7px}.search-field button svg{width:19px}.search-hint{font-size:10px;line-height:1.55}
 .search-results a{font-size:11px;gap:10px;line-height:1.5}
 .shop-hero h1,.contact-hero h1{font-size:clamp(53px,12vw,81px)}
 .shop-hero-tags{font-size:8px}.shop-collection-heading{display:block}.shop-collection-heading>span{display:block;margin-top:8px;font-size:9px}
 .shop-collection-grid{grid-template-columns:1fr;gap:9px}.shop-collection-tile{min-height:125px;padding:18px 20px}
 .shop-collection-tile strong{font-size:33px;margin:20px 0 5px}.shop-collection-tile small{font-size:11px}
 .shop-layout{display:block}.shop-sidebar{display:none;background:#f8f7f5;padding:0 18px 25px;margin-bottom:20px}
 .shop-sidebar.shop-filter-open{display:block}
 .shop-toolbar{grid-template-columns:1fr;gap:15px}.shop-result-counter{margin-top:15px}
 .shop-mobile-filter{display:inline-flex;align-items:center;gap:8px;border:1px solid #d7d6d1;background:#fff;font-size:10px;padding:9px 12px;font-weight:900}
 .shop-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 13px}
 .catalog-product-image{aspect-ratio:.98}.catalog-product-badge{font-size:7px;padding:6px 7px;top:8px;left:8px}
 .catalog-product-copy{padding-top:13px}.catalog-product-name{font-size:clamp(17px,4.5vw,25px);min-height:unset;margin:8px 0}
 .catalog-product-copy>p{font-size:11px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .catalog-product-meta{font-size:8px}.catalog-product-price strong{font-size:19px}
 .catalog-product-price small{font-size:9px}.catalog-product-actions{align-items:start}.shop-stock{font-size:8px}
 .shop-products-list .catalog-product{grid-template-columns:120px minmax(0,1fr);gap:13px}
 .shop-products-list .catalog-product-name{font-size:18px}
 .shop-products-list .catalog-product-copy>p{display:none}.shop-products-list .catalog-product-meta{font-size:8px}
 .shop-products-list .catalog-product-price{margin-bottom:9px}
 .shop-bottom-grid{display:block}.shop-bottom-cta .btn{margin-top:25px}
 .contact-hero{padding:35px 0 55px}.contact-topline>span:last-child{display:none}.contact-hero h1{margin:30px 0 25px}
 .contact-hero>.container>p{font-size:14px}.contact-form-card{padding:35px 21px}.contact-form-row{grid-template-columns:1fr;gap:18px}
 .contact-form-card h2{font-size:42px}.contact-faq h2{font-size:44px}
 .quickpay-buttons{gap:6px}.wallet-btn{font-size:17px;min-height:43px}.wallet-paypal{font-size:18px}.wallet-apple svg{width:20px}
}
@media (max-width:390px){
 .shop-products{grid-template-columns:1fr}.catalog-product-image{aspect-ratio:1.35}.catalog-product-name{font-size:25px}
 .shop-products-list .catalog-product{grid-template-columns:110px minmax(0,1fr)}
 .shop-hero h1,.contact-hero h1{font-size:50px}
 .quickpay-buttons{grid-template-columns:1fr 1fr}.wallet-paypal{grid-column:span 2}
}
/* Apparel destination—no invented SKUs, prices or stock levels. */
.shop-collection-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.shop-collection-tile strong{font-size:clamp(24px,2.65vw,39px)}
.apparel-hero{background:#171715;color:#fff;padding:60px 0 112px;position:relative;overflow:hidden}
.apparel-hero:after{content:'MADRUN';font-family:var(--display);font-style:italic;font-size:clamp(150px,22vw,400px);color:#ffffff06;position:absolute;bottom:-70px;right:-90px;pointer-events:none}
.apparel-hero>.container{position:relative;z-index:1}
.apparel-hero h1{font:italic 900 clamp(60px,8vw,130px)/1 var(--display);letter-spacing:-.055em;margin:38px 0 26px}
.apparel-hero h1 em{color:var(--yellow)}
.apparel-hero p{font-size:17px;line-height:1.75;color:#bdbbb6;max-width:680px}
.apparel-buttons{display:flex;flex-wrap:wrap;gap:25px;align-items:center;margin-top:34px}
.apparel-content{padding:86px 0 120px;background:#f7f6f3}
.apparel-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:27px}
.apparel-cards article{background:#fff;min-height:340px;padding:35px;display:flex;flex-direction:column;align-items:start}
.apparel-cards article>span{font-size:10px;letter-spacing:.1em;font-weight:900}
.apparel-cards h2{font:italic 900 clamp(54px,5vw,80px)/1 var(--display);letter-spacing:-.06em;margin:46px 0 16px}
.apparel-cards p{max-width:420px;font-size:14px;color:#737069;line-height:1.8;margin-bottom:35px}
.apparel-cards .text-link{margin-top:auto}
.apparel-note{margin-top:22px;color:#8a8880;font-size:11px;line-height:1.6}
@media(max-width:1100px){.shop-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-collection-tile strong{font-size:36px}}
@media(max-width:660px){.shop-collection-grid{grid-template-columns:1fr}.shop-collection-tile strong{font-size:32px}.apparel-hero{padding:36px 0 78px}.apparel-hero h1{font-size:clamp(51px,11vw,78px)}.apparel-hero p{font-size:14px}.apparel-cards{grid-template-columns:1fr}.apparel-cards article{min-height:290px;padding:25px}.apparel-cards h2{margin:35px 0 16px;font-size:54px}.apparel-content{padding:62px 0 78px}}
.catalog-actions-links{display:flex;gap:11px;align-items:center;flex-wrap:wrap}
.catalog-actions-links a,.shop-quick-add{font-size:9px;letter-spacing:.05em;font-weight:900;border:0;background:transparent;border-bottom:1px solid #111;padding:0 0 4px;color:var(--ink)}
.shop-quick-add{cursor:pointer}
.shop-quick-add:hover,.catalog-actions-links a:hover{border-bottom-color:var(--yellow)}
.cart-remove{margin-top:12px;padding:0 0 5px;border:0;background:none;border-bottom:1px solid #8b8880;color:#777;font-size:9px;font-weight:900;letter-spacing:.08em;display:block}
.desktop-nav a[aria-current="page"],.desktop-nav .nav-drop[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px;text-underline-offset:8px}

/* MAD RUN — revisione Review/catalogo/contrasti, ottobre 2026 */
/* Menu shop: freccia vettoriale leggibile, cliccabile, senza simboli tipografici dipendenti dal font. */
.desktop-nav .nav-drop{gap:10px;min-height:54px;color:#151515}
.desktop-nav .nav-drop .chevron{width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;line-height:1;color:#171717;flex:0 0 17px;transition:transform .2s}
.desktop-nav .nav-drop .chevron svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.65;stroke-linecap:round;stroke-linejoin:round}
.nav-menu:hover .chevron,.nav-menu:focus-within .chevron{transform:rotate(180deg)}
/* Contrasto stabile per i pulsanti su fondo scuro: non lasciare mai testo bianco su grigio chiaro. */
.shop-hero-right .text-link,.shop-hero-right .text-link:hover,
.shop-hero-right .text-link:focus-visible{color:#141410!important;font-weight:900}
.shop-hero-right .text-link::before{background:#ffd900!important;border-color:#ffd900!important}
.shop-hero-right .text-link:hover::before,.shop-hero-right .text-link:focus-visible::before{background:#fff!important;border-color:#fff!important}
.shop-hero-right .text-link span{color:inherit!important;font-size:18px}
.shop-hero{background:#161614;color:white}
.shop-hero-grid .shop-hero-right p{color:#e0ded8}
.shop-page-main .shop-collection-tile,.shop-page-main .shop-collection-tile strong{color:#171715}
.shop-collection-tile>span,.shop-collection-tile small{color:#44423d}
.shop-page-main .text-link:not(.light-link){color:#191919}
.shop-page-main .shop-hero-right .text-link{color:#131313!important}
.btn-white{color:#161616!important}
.btn-white::before{background:#fff!important;border-color:#fff!important}
.btn-white:hover{color:#161616!important}
.btn-white:hover::before{background:#ffd900!important;border-color:#ffd900!important}
.btn-dark{color:#fff!important}
.btn-dark::before{background:#171715!important;border-color:#171715!important}
.btn-dark:hover{color:#171715!important}
.btn-dark:hover::before{background:#ffd900!important;border-color:#ffd900!important}
/* Prevenzione di testi illeggibili nei CTA su sfondi scuri e nei bottoni del catalogo. */
.shop-page-main .shop-reset,.shop-page-main .catalog-product-name{color:#171715}
.shop-page-main .catalog-product-actions a,.shop-page-main .catalog-product-actions button{color:#171715}
.search-all-link{color:#171715!important}
.official-product-link{display:inline-block;margin-top:18px;text-decoration:underline;text-decoration-color:#ffd900;text-underline-offset:5px;font-size:11px;font-weight:900;letter-spacing:.04em;color:#171715}
.catalog-product-image.image-unavailable{background:#f2f1ee}
/* Review: fotografie esclusivamente delle schede prodotto MAD RUN; nessun contenuto attribuito falsamente ai clienti. */
.review-hero{background:#171715;color:white;padding:55px 0 105px}
.review-hero h1,.review-how h2,.review-catalog h2,.review-contact h2{font-family:var(--display);font-weight:900;font-style:italic;line-height:1.09;letter-spacing:-.05em}
.review-hero h1{font-size:clamp(65px,8vw,128px);margin:38px 0 24px}
.review-hero h1 em,.review-contact h2 em{color:#ffd900}
.review-hero>div>p:not(.section-kicker){max-width:680px;color:#e7e5df;font-size:17px;line-height:1.8;margin-bottom:35px}
.review-how,.review-catalog{padding:95px 0;background:#f6f5f1}
.review-how h2,.review-catalog h2,.review-contact h2{font-size:clamp(43px,5vw,74px);margin:25px 0 32px}
.review-how h2 em,.review-catalog h2 em{color:#746f62}
.review-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.review-steps article{background:white;padding:28px;min-height:170px}
.review-steps article strong{font-size:12px;letter-spacing:.08em}
.review-steps article p,.review-catalog-heading p{margin-top:18px;font-size:15px;line-height:1.8;color:#514e48}
.review-transparency{color:#514e48;font-size:12px;line-height:1.7;margin-top:25px}
.review-catalog{background:#fff}.review-catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}
.review-catalog-heading p{max-width:370px;margin:0 0 12px}
.review-kit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:33px}
.review-kit{border:1px solid #e1dfda;display:block;background:#f5f5f3;overflow:hidden}
.review-kit img{width:100%;height:260px;object-fit:contain;background:#f8f8f7;transition:transform .25s}
.review-kit:hover img{transform:scale(1.03)}
.review-kit>div{background:#fff;padding:17px 19px 22px;display:flex;flex-direction:column;min-height:148px;gap:9px}
.review-kit span{font-size:9px;letter-spacing:.12em;font-weight:850;color:#58564f}
.review-kit strong{font-size:15px;line-height:1.45}
.review-kit small{font-size:10px;font-weight:900;letter-spacing:.08em;color:#222}
.review-contact{background:#171715;color:white;padding:83px 0 97px}
.review-contact p:not(.section-kicker){max-width:600px;color:#e1e0dc;font-size:16px;line-height:1.8;margin-bottom:26px}
.review-contact h2{margin-top:20px}
@media(max-width:850px){.review-steps{grid-template-columns:1fr}.review-kit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-catalog-heading{display:block}.review-catalog-heading p{margin-bottom:24px;max-width:600px}}
@media(max-width:580px){.review-hero{padding:36px 0 65px}.review-hero h1{font-size:clamp(56px,13vw,88px)}.review-hero>div>p:not(.section-kicker){font-size:15px}.review-how,.review-catalog,.review-contact{padding:65px 0}.review-kit-grid{grid-template-columns:1fr}.review-kit img{height:285px}.review-how h2,.review-catalog h2,.review-contact h2{font-size:clamp(43px,11vw,66px)}}


/* ============================================================
   MAD RUN • ottimizzazione card responsive / 22 ottobre 2026
   Le etichette Amsi rimangono leggibili senza uscire dalle card.
   ============================================================ */
.shop-collection-grid > *,
.category-grid > *,
.category-card .category-content,
.shop-collection-tile,
.apparel-cards article,
.review-steps article,
.catalog-product,
.editorial-card { min-width: 0; }

/* Container query: il carattere segue la larghezza reale della card,
   non soltanto quella del viewport. Titolo e freccia hanno spazi propri. */
.shop-collection-tile {
  container-type: inline-size;
}
.shop-collection-tile > strong {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  width: 100%;
  line-height: 1.03;
  font-size: clamp(24px, 2.45vw, 36px);
  font-size: clamp(24px, 13cqi, 36px);
}
.shop-collection-tile .collection-name {
  display: block;
  min-width: 0;
  font-family: var(--display);
  font-weight: 900;
  font-style: italic;
  font-size: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  overflow-wrap: anywhere;
}
.shop-collection-tile .collection-arrow {
  justify-self: end;
  align-self: center;
  font-family: var(--font);
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  font-size: clamp(16px, 1.5vw, 19px);
  flex: none;
  white-space: nowrap;
}
.shop-collection-tile.is-apparel > strong {
  /* ABBIGLIAMENTO è più lungo delle altre categorie. */
  font-size: clamp(22px, 1.98vw, 29px);
  font-size: clamp(22px, 10.5cqi, 29px);
}
/* Quando le card diventano due per riga o una per riga,
   il titolo può tornare alla scala tipografica piena. */
@media (max-width: 1100px) {
  .shop-collection-tile.is-apparel > strong { font-size: 36px; }
}
@media (max-width: 660px) {
  .shop-collection-tile > strong,
  .shop-collection-tile.is-apparel > strong { font-size: 32px; }
}
/* Home: la categoria Production non deve tagliarsi nella griglia a due colonne. */
.category-card .category-content h3 { max-width: 100%; overflow-wrap: anywhere; }
@media (max-width: 420px) {
  .category-secondary .category-content h3 {
    font-size: clamp(16px, 4.75vw, 20px);
    letter-spacing: -.055em;
  }
}

/* Smartphone compatti: meglio card a piena larghezza che titoli compressi. */
@media (max-width: 350px) {
  .categories .category-grid { grid-template-columns: minmax(0, 1fr); }
  .categories .category-featured,
  .categories .apparel-category { grid-column: auto; }
  .categories .category-card:not(.category-featured) { min-height: 232px; }
  .categories .category-secondary .category-content h3 { font-size: 29px; }
  .categories .mini-category-art {
    left: auto;
    right: 22px;
    width: 43%;
    top: 32px;
    height: 78px;
    opacity: .72;
  }
  .categories .apparel-category { min-height: 232px !important; }
  .categories .apparel-category .category-content h3 { font-size: 27px; }
  .categories .apparel-shape { right: 25px; transform: rotate(-8deg) scale(.58); }
}

/* =====================================================================
   4. Pagine interne della libreria
   ===================================================================== */

/* testata delle pagine (templates/layout/page.hero.phtml) */
.mr-page-hero { position: relative; overflow: hidden; background: var(--mr-black); color: #fff; padding: 44px 0 40px; }
.mr-page-hero:before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px); background-size: 44px 44px; -webkit-mask-image: radial-gradient(circle at 80% 30%, #000, transparent 70%); mask-image: radial-gradient(circle at 80% 30%, #000, transparent 70%); }
.mr-page-hero .mr-wrap { position: relative; }
.mr-page-hero h1 { margin: 0; font-size: clamp(28px, 3.6vw, 42px); color: #fff; }
.mr-page-hero p { margin: 10px 0 0; color: #bdbab2; max-width: 60ch; }
.mr-page-hero .breadcrumb-nav { margin: 0 0 14px; }
.mr-page-hero .breadcrumb, .mr-page-hero .breadcrumb a { color: #bdbab2; }
.mr-page-hero .breadcrumb a:hover { color: #fff; }
.mr-page-hero .breadcrumb li:last-child { color: #fff; }
.mr-page { padding: 40px 0 70px; }
.mr-page > .breadcrumb-nav, .mr-page .mr-wrap > .breadcrumb-nav { margin-bottom: 22px; }
.mr-panel { background: var(--mr-card); border: 1px solid var(--mr-line); border-radius: var(--mr-radius); padding: 28px; }
.mr-panel + .mr-panel { margin-top: 20px; }
.mr-contact-grid > .mr-panel + .mr-panel { margin-top: 0; }
.mr-panel-title { font-size: 18px; margin: 0 0 16px; display: flex; align-items: center; gap: 10px; }
.mr-panel-title i { color: var(--mr-ink); }

/* elenco prodotti (cerca, categorie) */
.section-products-list .main-content-wrap { align-items: flex-start; }
.shop-sidebar .sidebar-content { background: var(--mr-card); border: 1px solid var(--mr-line); border-radius: var(--mr-radius); padding: 22px 20px 6px; }
.shop-sidebar .sticky-sidebar { padding-top: 0 !important; }
.mr-category-intro { margin: 0 0 22px; color: var(--mr-muted); max-width: 80ch; }
.cover-image img { width: 100%; border-radius: var(--mr-radius); margin-bottom: 20px; }
.subcategories:empty, .search-alert-message:empty, .cover-image:empty { display: none; }
.subcategories { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.subcategories a { padding: 8px 16px; border-radius: 0; background: #fff; border: 1px solid var(--mr-line); font-size: 13.5px; font-weight: 600; color: var(--mr-ink); }
.subcategories a:hover { border-color: #bdbab2; color: var(--mr-ink); }
.mr-category-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.mr-category-chips a { padding: 9px 18px; border-radius: 0; background: #fff; border: 1px solid var(--mr-line); font-size: 13.5px; font-weight: 600; color: var(--mr-ink); }
.mr-category-chips a:hover, .mr-category-chips a.active { background: var(--mr-black); border-color: var(--mr-black); color: #fff; }
.mr-search-page-form { display: flex; gap: 10px; margin-bottom: 26px; }
.mr-search-page-form .form-group { flex: 1; margin: 0; }
.mr-search-page-form .error { display: none !important; }

/* scheda prodotto */
.product-detail .product-single { margin-top: 0; }
.mr-product-gallery { position: relative; background: #fff; border: 1px solid var(--mr-line); border-radius: var(--mr-radius); padding: 18px; }
.mr-product-gallery .product-image { aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; background: var(--mr-bg); border-radius: 0; overflow: hidden; }
.mr-product-gallery .product-image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.mr-product-gallery .product-label-group { top: 30px; left: 30px; }
.product-thumbs-wrap { position: relative; margin-top: 12px; }
.product-thumbs { display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; }
.product-thumb { flex: 0 0 78px; height: 78px; border: 2px solid var(--mr-line); border-radius: 0; overflow: hidden; cursor: pointer; background: #fff; }
.product-thumb img { width: 100%; height: 100%; object-fit: contain; }
.product-thumb.active { border-color: var(--mr-ink); }
.thumb-up, .thumb-down { display: none; }
.mr-product-info { background: #fff; border: 1px solid var(--mr-line); border-radius: var(--mr-radius); padding: 30px; }
.mr-product-info .product-name { font-size: clamp(24px, 2.6vw, 34px); margin: 0 0 14px; }
.mr-product-info .mr-card-brand { display: inline-block; margin-bottom: 8px; }
.mr-product-info .product-price { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 0 0 6px; }
.mr-product-info .new-price { text-decoration: none; font-family: var(--mr-font); font-weight: 800; font-size: 34px; color: var(--mr-ink); }
.mr-product-info .new-price .font40 { font-size: 26px !important; }
.mr-product-info .old-price { font-size: 18px !important; padding: 0 !important; margin: 0 !important; }
.mr-price-note { font-size: 12.5px; color: var(--mr-muted); margin-bottom: 18px; }
.short-description { color: var(--mr-muted); font-size: 15px; margin: 6px 0 18px; }
.short-description:empty { display: none; }
.product-additional-shipping-cost { font-size: 14px; }
.product-form { margin-top: 18px; }
.product-form-group { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.product-form-group .btn-cart, .btn-product.btn-cart {
    flex: 1; min-width: 200px; min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 24px; border: 0; border-radius: 0;
    background: var(--mr-black); color: #fff; font-weight: 700; font-size: 15px; box-shadow: 0 10px 22px rgba(19, 17, 12, .12); transition: transform .15s;
}
.product-form-group .btn-cart:hover { transform: translateY(-2px); color: #fff; }
.pay-now-product { margin-top: 12px; width: 100%; background: var(--mr-black) !important; box-shadow: none !important; }
.product-divider { margin: 24px 0 16px; }
.product-detail .accordion { margin-top: 18px; }
.product-detail .accordion .card-body { color: var(--mr-ink); }
.product-detail .form-group > label { margin-top: 6px; }
.product-combinations-items { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0 0 14px; }
/* attributi colore (colorList): il radio diventa un pallino con il colore esadecimale dell'attributo (style inline) */
.product-combinations-color { margin: 0 0 14px; }
.product-combinations-color .widget-title { margin: 0 0 10px; padding: 0; border: 0; font-size: 14px; font-weight: 600; text-transform: none; }
.product-combinations-color .widget-body { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 0; }
.product-combinations-color .form-group { margin: 0; }
.product-combinations-color input[type="radio"] { -webkit-appearance: none; appearance: none; width: 34px; height: 34px; margin: 0; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 1.5px var(--mr-line); transition: box-shadow .15s; }
.product-combinations-color input[type="radio"]:hover { box-shadow: 0 0 0 1.5px var(--mr-muted); }
.product-combinations-color input[type="radio"]:checked { box-shadow: 0 0 0 2.5px var(--mr-ink); }
.product-combinations-color .custom-control-label:empty { display: none; }
.product-combinations-items .selected, .product-combinations-color .selected { border-color: var(--mr-ink) !important; }
.attribute-not-available { opacity: .45; }
.attribute-not-exists { display: none; }
.mr-benefits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 40px 0; }
.mr-benefit { display: flex; gap: 14px; align-items: flex-start; background: #fff; border: 1px solid var(--mr-line); border-radius: var(--mr-radius); padding: 20px; }
.mr-benefit i { width: 44px; height: 44px; flex: none; border-radius: 0; display: flex; align-items: center; justify-content: center; background: var(--mr-bg); color: var(--mr-ink); font-size: 18px; }
.mr-benefit h4 { margin: 0 0 4px; font-size: 15px; }
.mr-benefit p { margin: 0; font-size: 13px; color: var(--mr-muted); }
.mr-related { margin-top: 30px; }
.mr-related .owl-carousel .owl-stage { display: flex; }
.mr-related .owl-carousel .owl-item { display: flex; }
.mr-related .owl-carousel .product-wrap { width: 100%; margin: 0; }

/* carrello */
.mr-cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 28px; align-items: start; }
.summary, .mr-summary { background: var(--mr-card); border: 1px solid var(--mr-line); border-radius: var(--mr-radius); padding: 26px !important; }
.summary .title { font-size: 20px; }
.cart-summary table, .cart-summary .table { border: 0; }
.cart-coupon-box { background: var(--mr-card); border: 1px solid var(--mr-line); border-radius: var(--mr-radius); padding: 22px !important; margin-top: 20px !important; }
.cart-coupon-box .title { font-size: 17px; margin-bottom: 12px !important; }
.cart-coupon-box .row { row-gap: 10px; }
.cart-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.cart-actions .cart-actions { margin: 0; }
.cart-actions .btn { margin: 0 !important; }
.cart-actions .cart-back { background: var(--mr-black); box-shadow: none; }
.summary .cart-actions.cart-buttons { margin-top: 18px; }
.summary .cart-actions .btn { flex: 1; }
.cart-summary table { width: 100%; border: 0; margin: 0 0 6px; }
.cart-summary td { padding: 8px 0; font-size: 14.5px; border: 0; }
.cart-summary td + td { text-align: right; font-weight: 600; white-space: nowrap; }
.cart-summary table.total { border-top: 1px solid var(--mr-line); margin-top: 6px; }
.cart-summary table.total td { padding-top: 14px; font-family: var(--mr-font); font-weight: 800; font-size: 18px; }
.cart-table .cart-image img { width: 84px; height: 84px; object-fit: contain; border-radius: 0; background: var(--mr-bg); }
.cart-table .product-name { font-weight: 700; font-size: 15px; }
.cart-table .product-price { font-weight: 500; color: var(--mr-muted); margin-top: 4px; }
.btn-alert, .remove-from-cart { background: #fff; color: var(--mr-danger); border-color: #f5b5c1; box-shadow: none; }
.btn-alert:hover { background: #fdecef; color: var(--mr-danger); }
.cart-table .remove-from-cart { width: 44px; height: 44px; min-height: 0; padding: 0; }
@media (max-width: 600px) {
    .cart-table thead { display: none; }
    .cart-table tr.cart-table-row { display: grid; grid-template-columns: 76px 1fr auto; gap: 10px; align-items: center; padding: 12px; border-bottom: 1px solid var(--mr-line); }
    .cart-table tr.cart-table-row td { display: block; width: auto !important; padding: 0; border: 0; }
    .cart-table .cart-image img { width: 76px; height: 76px; }
    .cart-table .cart-quantity { grid-column: 2; }
    .cart-table .cart-remove { grid-column: 3; grid-row: 1 / span 2; }
    .cart-actions > .btn, .cart-actions .cart-actions { width: 100%; }
    .cart-actions .cart-actions .btn { flex: 1; }
}
.empty-cart-message { padding: 40px 20px; text-align: center; background: var(--mr-card); border: 1px dashed #bdbab2; border-radius: var(--mr-radius); }

.mr-coupon-form { display: flex; gap: 10px; }
.mr-coupon-form .input-text { flex: 1; }
.mr-summary-trust { list-style: none; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid var(--mr-line); display: grid; gap: 8px; font-size: 13px; color: var(--mr-muted); }
.mr-summary-trust i { color: var(--mr-ink); width: 18px; margin-right: 6px; }
.mr-description { font-size: 15px; color: #3a3833; }
/* caratteristiche del prodotto (Caratteristiche e tag nel pannello) */
.mr-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; margin: 0; }
.mr-feature { display: flex; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--mr-line); font-size: 14.5px; }
.mr-feature dt { flex: 0 0 42%; font-weight: 600; color: var(--mr-muted); }
.mr-feature dd { flex: 1; margin: 0; color: var(--mr-ink); }

/* checkout */
.check-detail > .row { margin: 0; }
.check-detail > .row > * { padding: 0; }
.check-detail h3.title { width: 100%; margin-top: 28px !important; padding-top: 22px; border-top: 1px solid var(--mr-line); font-size: 19px; }
.check-detail h3.title:first-of-type { border-top: 0; padding-top: 0; }
.check-detail .tab { width: 100%; }
.check-detail .tab-pane > .row { margin: 0 -8px; }
.check-detail .tab-pane > .row > .form-group { padding: 0 8px; }
/* box accedi/registrati e accesso/recupero accanto a email e password: stessa altezza dell'input (48px) e allineati sotto l'etichetta */
.check-detail .show-checkout-login, .check-detail .show-checkout-register, .check-detail .go-checkout-login, .check-detail .go-checkout-recovery {
    display: flex !important; flex-direction: column; justify-content: center; height: 48px; margin-top: calc(13.5px * 1.65 + 6px) !important; margin-bottom: 16px;
    border-radius: var(--mr-radius-sm) !important; padding: 2px 8px !important; background: #fff; border: 1.5px solid var(--mr-line) !important; color: var(--mr-ink); overflow: hidden;
}
.check-detail .show-checkout-login p, .check-detail .show-checkout-register p, .check-detail .go-checkout-login p, .check-detail .go-checkout-recovery p { line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.check-detail .show-checkout-login p.font13, .check-detail .show-checkout-register p.font13, .check-detail .go-checkout-login p.font13, .check-detail .go-checkout-recovery p.font13 { font-size: 11.5px !important; }
.check-detail .show-checkout-login:hover, .check-detail .show-checkout-register:hover, .check-detail .go-checkout-login:hover, .check-detail .go-checkout-recovery:hover { border-color: var(--mr-ink) !important; color: var(--mr-ink); }
.check-login-message { width: 100%; }
.checkout-product { flex-wrap: nowrap !important; align-items: center; gap: 12px; margin: 0 0 14px !important; }
.checkout-product > * { padding: 0 !important; width: auto !important; }
.checkout-product-media img { width: 64px; height: 64px; object-fit: contain; border-radius: 0; background: var(--mr-bg); }
.summary .row { margin: 0; flex-wrap: nowrap; align-items: center; gap: 10px; }
.summary .row > * { padding: 0; width: auto; }
.summary .checkout-product-total, .summary .checkout-product-total-vat, .summary .checkout-payment-method-costs { margin-left: auto; }
.summary .total-price { font-family: var(--mr-font); font-weight: 800 !important; font-size: 20px !important; color: var(--mr-ink) !important; }
.summary .form-checkbox { font-size: 13.5px; }
.transporter-list, .transporter-items { width: 100%; }
#stripe-pay-now-product:empty, .pay-now-product[style*="none"] { display: none; }

/* accesso e registrazione */
.mr-auth { max-width: 520px; margin: 0 auto; }
.mr-auth-wide { max-width: 860px; }
.login-form { background: var(--mr-card); border: 1px solid var(--mr-line); border-radius: var(--mr-radius); padding: 34px 32px; box-shadow: 0 20px 40px rgba(19, 17, 12, .06); }
.login-header { margin-bottom: 18px; text-align: center; }
.login-header .mr-auth-icon { width: 58px; height: 58px; border-radius: 0; margin: 0 auto 14px; display: flex; align-items: center; justify-content: center; background: var(--mr-black); color: #fff; font-size: 24px; }
.login-header h2 { font-size: 24px; margin: 0 0 6px; }
.login-header p { color: var(--mr-muted); margin: 0; font-size: 14.5px; }
.login-form .btn { width: 100%; }
.login-form form.row { margin: 0 -8px; }
.login-form form.row > * { padding: 0 8px; }
.login-footer, .form-choice { text-align: center; font-size: 14px; color: var(--mr-muted); }
.forgot-pass { font-size: 13.5px; }

/* area cliente */
.account-page .sidebar .sidebar-content { background: var(--mr-card); border: 1px solid var(--mr-line); border-radius: var(--mr-radius); padding: 14px; }
.account-page .sidebar ul { list-style: none; margin: 0; padding: 0; }
.account-page .sidebar li a { display: flex; align-items: center; gap: 10px; padding: 11px 14px; border-radius: 10px; color: var(--mr-ink); font-weight: 600; font-size: 14.5px; }
.account-page .sidebar li a:hover, .account-page .sidebar li.active a, .account-page .sidebar li a.active { background: var(--mr-soft); color: var(--mr-ink); }
.account-section { row-gap: 20px; }
.account-section .icon-box { flex-direction: column; text-align: center; padding: 30px 20px; }
.account-section .icon-box-icon { width: 64px; height: 64px; font-size: 26px; }
.account-page fieldset { margin: 20px 10px 0; }
.account-mobile-menu { display: none; }
.account-page { padding-bottom: 70px; }

/* contatti */
.mr-contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 28px; align-items: start; }
.mr-contact-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.mr-contact-list li { display: flex; gap: 14px; align-items: flex-start; }
.mr-contact-list i { width: 44px; height: 44px; flex: none; border-radius: 0; display: flex; align-items: center; justify-content: center; background: var(--mr-bg); color: var(--mr-ink); font-size: 17px; }
.mr-contact-list small { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mr-muted); }
.mr-contact-list a, .mr-contact-list span { color: var(--mr-ink); font-weight: 600; }
.mr-contact-terms { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; margin: 6px 0 16px; }
.mr-map { margin-top: 28px; border-radius: var(--mr-radius); overflow: hidden; border: 1px solid var(--mr-line); line-height: 0; }
.mr-map iframe { width: 100%; height: 420px; border: 0; }

/* chi siamo */
.mr-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.mr-about-visual { position: relative; border-radius: var(--mr-radius); background: var(--mr-black); padding: 40px; display: flex; align-items: center; justify-content: center; min-height: 340px; }
.mr-about-visual svg { width: 100%; max-width: 360px; }
.mr-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 26px; }
.mr-stat { background: #fff; border: 1px solid var(--mr-line); border-radius: 0; padding: 16px; text-align: center; }
.mr-stat b { display: block; font-family: var(--mr-font-title); font-size: 26px; color: var(--mr-ink); }
.mr-stat span { font-size: 12.5px; color: var(--mr-muted); font-weight: 600; }

/* pagine di testo (condizioni, spedizioni, privacy, resi) */
.mr-text { background: var(--mr-card); border: 1px solid var(--mr-line); border-radius: var(--mr-radius); padding: 36px 40px; max-width: 900px; margin: 0 auto; font-size: 15px; }
.mr-text h2, .mr-text h3, .mr-text h4 { margin-top: 26px; }
.mr-text h2:first-child, .mr-text h3:first-child { margin-top: 0; }
.mr-text h2 { font-size: 22px; } .mr-text h3 { font-size: 18px; }
.mr-text p, .mr-text li { color: #3a3833; }
.shipping-payment-section .title { text-align: left; }

/* esito richieste, errori */
.mr-result { max-width: 640px; margin: 0 auto; text-align: center; }
.mr-result-icon { width: 76px; height: 76px; margin: 0 auto 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 32px; background: #e8f8f1; color: var(--mr-green); }
.mr-result-icon.is-error { background: #fdecef; color: var(--mr-danger); }

/* coming soon (flag coming_soon_status, layout-comingsoon.phtml) */
.mr-comingsoon-page { background: var(--mr-black); }
.mr-comingsoon { position: relative; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; overflow: hidden; background: var(--mr-black); color: #fff; }
.mr-comingsoon:before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px); background-size: 44px 44px; -webkit-mask-image: radial-gradient(circle at 70% 40%, #000, transparent 70%); mask-image: radial-gradient(circle at 70% 40%, #000, transparent 70%); }
.mr-comingsoon-inner { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; gap: 36px; align-items: center; padding: 60px 0; }
.mr-comingsoon-inner > * { min-width: 0; }
.mr-comingsoon-logo { display: block; height: 56px; width: auto; margin-bottom: 34px; }
.mr-comingsoon h1 { font-size: clamp(34px, 4.8vw, 58px); color: #fff; margin: 0; }
.mr-comingsoon h1 span { background: linear-gradient(120deg, var(--mr-yellow), #ffffff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mr-comingsoon .mr-lead { margin: 22px 0 30px; max-width: 50ch; color: #bdbab2; font-size: 17px; }
.mr-comingsoon-info { list-style: none; margin: 34px 0 0; padding: 0; display: grid; gap: 10px; font-size: 14px; color: #bdbab2; }
.mr-comingsoon-info li { display: flex; align-items: center; gap: 10px; }
.mr-comingsoon-info i { width: 18px; color: var(--mr-yellow); text-align: center; }
.mr-comingsoon-info a { color: #fff; }
.mr-comingsoon-footer { position: relative; margin: 0; padding: 0 0 22px; text-align: center; font-size: 12px; color: #bdbab2; }
@media (max-width: 1100px) {
    .mr-comingsoon-inner { grid-template-columns: 1fr; padding: 40px 0; }
    .mr-comingsoon .mr-hero-art { order: -1; }
    .mr-comingsoon .mr-hero-art svg { max-width: 240px; }
}


/* =====================================================================
   5. Adattamenti del tema alle pagine dinamiche
   ===================================================================== */

/* .container: la larghezza è quella della bozza, il padding della griglia della libreria (sezione 2) la stringerebbe di 40px */
.container { padding-left: 0; padding-right: 0; max-width: none; }

/* contenitore delle pagine interne della libreria */
.mr-wrap { width: min(var(--container), calc(100% - 64px)); margin-inline: auto; }
main { display: block; }

/* testi che nella bozza erano scritti in maiuscolo: ora arrivano dal pannello in maiuscolo/minuscolo */
h1, h2, .section-kicker, .hero-topline, .btn, .text-link, .announcement-inner, .pill, .product-meta, .product-hover,
.hero-image-label, .hero-side-word, .hero-rail, .sticker-tiny, .category-num, .category-overline, .category-go, .category-content h3,
.story-step h3, .gallery-label, .gallery-index, .community-gallery-footer span, .blog-feature > span, .blog-cta, .final-inner span,
.dropdown-eyebrow, .all-shop-link, .footer-column h4, .footer-bottom, .micro, .shop-hero-tags, .shop-collection-heading,
.shop-collection-tile > span, .collection-name, .catalog-product-meta, .catalog-product-image-link, .catalog-actions-links a, .shop-sort label,
.shop-mobile-filter, .filter-heading h3, .widget-title, .product-eyebrow, .product-subtitle, .gallery-caption, .gallery-chip, .kit-include h2,
.purchase-labels, .detail-tab, .sub-label, .kit-detail-card span, .premium-callout span, .sticky-mobile-purchase span, .cart-total,
.editorial-index, .editorial-small-note, .editorial-section-label, .editorial-spotlight-kicker, .editorial-spotlight-footer, .editorial-card-index,
.editorial-card-meta, .editorial-card-more, .editorial-filter-list button, .blog-visible-count, .editorial-next span, .editorial-article-meta,
.editorial-cover figcaption, .editorial-aside-label, .editorial-paragraph-kicker, .editorial-side-bottom span, .editorial-article-end,
.catalog-product-badge, .customer-breadcrumb, .editorial-spotlight h3, .editorial-card h3, .contact-topline, .contact-info-header span, .contact-method > span, .contact-company > span, .contact-form-card label, .review-steps strong,
.review-kit span, .review-kit small, .contact-submit, .search-form > label, .search-all-link, .cart-item .cart-remove, .shop-bottom-cta span, .mr-category-chips a {
    text-transform: uppercase;
}

/* intestazione: menu account e contatore del carrello */
.header-actions .cart-sidebar { display: inline-flex; }
.cart-trigger { position: relative; }
.cart-count.d-none { display: none !important; }
.account-menu { position: relative; display: inline-flex; }
.account-dropdown { position: absolute; top: calc(100% + 10px); right: 0; z-index: 130; min-width: 190px; background: #fff; border-top: 3px solid var(--yellow); box-shadow: 0 18px 40px #0002; padding: 8px 0; display: none; }
.account-menu.open .account-dropdown { display: block; }
.account-dropdown a { display: block; padding: 11px 18px; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.account-dropdown a:hover { background: var(--grey); }
.announcement-inner a { color: inherit; }
.announcement-inner a b { font-weight: 900; }

/* ricerca: anteprima dei prodotti */
.search-results p { padding: 12px 0; color: #777; font-size: 12px; }
.search-results .search-all-link { justify-content: flex-start; border-bottom: 0; padding-top: 14px; font-size: 11px; letter-spacing: .08em; }
.search-field input.search { border: 0; outline: 0; box-shadow: none; min-height: 0; background: transparent; }

/* carrello laterale */
.cart-item > a { flex: 0 0 auto; }
.cart-item h4 a:hover { text-decoration: underline; text-decoration-color: var(--yellow); }
.cart-item strong { display: block; }
.cart-item .cart-remove { margin-top: 10px; border: 0; background: none; padding: 0; font-size: 10px; font-weight: 900; letter-spacing: .08em; color: #77736d; border-bottom: 1px solid currentColor; }
.cart-item .cart-remove:hover { color: var(--ink); }
.cart-drawer-bottom .btn-wide { width: 100%; justify-content: center; }
.cart-drawer-bottom .text-link { display: inline; font-size: inherit; padding: 0; color: var(--ink); text-decoration: underline; text-decoration-color: var(--yellow); text-underline-offset: 3px; }
.cart-drawer-bottom .text-link::before { display: none; }
.cart-body:has(> .context-loader) { min-height: 160px; }
.minipopup-area { display: none !important; }

/* footer: stesso nero della fascia "Pronto a cambiare livrea?" (.final-cta), 5 colonne con "Informazioni" (pagine legali, da Grafica sito > Footer) */
.site-footer { background: var(--ink); }
.footer-top { grid-template-columns: 2fr 1fr 1.3fr 1.15fr 1.15fr; }
@media (max-width: 1150px) {
    .footer-top { grid-template-columns: 1fr 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 660px) {
    .footer-top { grid-template-columns: 1fr 1fr; }
}
.site-footer .footer-column span { color: #8f8c85; }
.footer-credits { display: inline-flex; flex-wrap: wrap; gap: 4px 10px; }
.footer-credits a:hover { color: #fff; }

/* testata delle pagine interne (carrello, checkout, accesso, testi) */
.mr-page-hero { background: #161614; color: #fff; padding: 46px 0 44px; position: relative; overflow: hidden; }
.mr-page-hero:before { content: 'RACE'; font-family: var(--display); position: absolute; right: -40px; top: 10px; font-style: italic; font-size: clamp(120px, 20vw, 320px); color: #ffffff05; line-height: 1; pointer-events: none; }
.mr-page-hero h1 { font-size: clamp(46px, 6vw, 92px); line-height: .99; margin: 22px 0 0; position: relative; }
.mr-page-hero p { margin: 18px 0 0; color: #b8b6b0; max-width: 60ch; font-size: 16px; line-height: 1.8; position: relative; }
.mr-page-hero .breadcrumb, .mr-page-hero .breadcrumb a { color: #aaa79f; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.mr-page-hero .breadcrumb li:last-child { color: #fff; }
.mr-page { padding: 50px 0 80px; }
.mr-panel, .summary, .cart-coupon-box, .login-form, .mr-text { border-radius: 0; }
.title, h3.title, h4.title { font-family: var(--display); font-style: italic; font-weight: 900; letter-spacing: -.04em; }
.title-period { color: var(--yellow); }

/* pulsanti della libreria nella forma della bozza: il colore sta sul parallelogramma ::before (sezione 3, inclinato di -11deg),
   il pulsante resta trasparente; uno sfondo o un bordo sul pulsante stesso ne mostrerebbe il rettangolo dietro il taglio */
.btn-primary, .btn-success, .btn-dim, .btn-default, .btn-dark, .btn-danger, .btn-warning, .btn-alert, .remove-from-cart, .cart-back, .mr-btn,
.btn-outline, .btn-primary-outline { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.mr-btn { position: relative; isolation: isolate; border-radius: 0; }
.mr-btn::before { content: ""; position: absolute; inset: 0; z-index: -1; transform: skewX(-11deg); transition: background .2s ease, border-color .2s ease; pointer-events: none; }
.btn-primary, .btn-success, .btn-dim, .btn-default, .cart-back, .mr-btn { color: #fff !important; }
.btn-primary::before, .btn-success::before, .btn-dim::before, .btn-default::before, .cart-back::before, .mr-btn::before { background: #171715; border-color: #171715; }
.btn-primary:hover, .btn-success:hover, .btn-dim:hover, .btn-default:hover, .cart-back:hover, .mr-btn:hover { color: #171715 !important; }
.btn-primary:hover::before, .btn-success:hover::before, .btn-dim:hover::before, .btn-default:hover::before, .cart-back:hover::before, .mr-btn:hover::before { background: #ffd900; border-color: #ffd900; }
.btn-danger { color: #fff !important; }
.btn-danger::before { background: var(--mr-danger); border-color: var(--mr-danger); }
.btn-warning, .btn-warning:hover { color: #171715 !important; }
.btn-warning::before { background: #ffd900; border-color: #ffd900; }
.btn-alert, .remove-from-cart { color: var(--mr-danger) !important; }
.btn-alert::before, .remove-from-cart::before { background: #fff; border-color: #f5b5c1; }
.btn-alert:hover::before, .remove-from-cart:hover::before { background: #fdecef; }
/* outline su fondo chiaro (pagine della libreria); sulle fasce scure resta quello della bozza (bordo grigio, testo bianco) */
.btn-primary-outline, .mr-page .btn-outline, .summary .btn-outline, .login-form .btn-outline, .cart-actions .btn-outline, .alert .btn-outline { color: var(--ink) !important; }
.btn-primary-outline::before, .mr-page .btn-outline::before, .summary .btn-outline::before, .login-form .btn-outline::before, .cart-actions .btn-outline::before, .alert .btn-outline::before { background: transparent; border-color: var(--ink); }
.btn-primary-outline:hover::before, .mr-page .btn-outline:hover::before, .summary .btn-outline:hover::before, .login-form .btn-outline:hover::before, .cart-actions .btn-outline:hover::before, .alert .btn-outline:hover::before { background: #ffd900; border-color: #ffd900; }
.btn-link::before { display: none; }
.form-control:focus, .input-text:focus, select:focus, textarea:focus, input:focus { border-color: var(--ink); box-shadow: 0 0 0 3px #ffd90066; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--ink); }

/* catalogo: filtri della libreria nella colonna della bozza */
.shop-layout > .shop-sidebar { width: auto; padding: 0; max-width: none; }
.shop-sidebar .sidebar-content, .shop-sidebar .sticky-sidebar { position: static; padding: 0 !important; background: transparent; border: 0; transform: none; width: auto; overflow: visible; }
.shop-sidebar .sidebar-overlay, .shop-sidebar .sidebar-close { display: none !important; }
.shop-sidebar .widget { margin: 0; padding: 23px 0; border-bottom: 1px solid #e8e7e3; }
.shop-sidebar .widget-title { margin: 0 0 17px; padding: 0; border: 0; font-family: var(--font); font-style: normal; font-size: 10px; font-weight: 900; letter-spacing: .13em; }
.shop-sidebar .widget-title i { display: none; }
.shop-sidebar .widget-body { display: grid; gap: 13px; }
.shop-sidebar .form-checkbox { margin: 0; gap: 10px; align-items: center; }
.shop-sidebar .form-checkbox label, .shop-sidebar .tree-label { font-weight: 650; font-size: 12px; margin: 0; }
.shop-sidebar .form-checkbox input { width: 15px; height: 15px; margin: 0; }
.shop-sidebar .tree-root { max-height: none; }
.shop-sidebar .tree-node-content { padding: 0 0 13px; gap: 10px; }
.shop-sidebar .tree-check i { font-size: 15px; color: #8f8c85; }
.shop-sidebar .tree-check i.fa-check-square, .shop-sidebar .tree-check i.fa-square-check { color: var(--ink); }
.shop-sidebar .tree-node .tree-node { padding-left: 25px !important; }
.shop-sidebar .tree-collapse { font-size: 10px; }
.shop-sidebar .form-group { margin: 0; }
.shop-sidebar .form-control { min-height: 40px; border: 1px solid #dedcd7; padding: 0 10px; font-size: 12px; }
.shop-sidebar .error { display: none !important; }
.shop-sidebar .noUi-target { margin: 10px 8px 34px; height: 3px; background: #e2e1dd; }
.shop-sidebar .noUi-connect { background: var(--ink); }
.shop-sidebar .noUi-horizontal .noUi-handle { border-color: var(--ink); width: 16px; height: 16px; top: -7px; right: -8px; }
.shop-sidebar .noUi-tooltip { font-size: 10px; font-weight: 800; border-radius: 0; }

/* catalogo: barra, contatore, paginazione e card della libreria */
.shop-toolbar.toolbox { display: flex; justify-content: flex-end; gap: 16px; background: transparent; border: 0; border-radius: 0; padding: 0; margin: 0; }
.shop-toolbar .shop-sort { display: block; width: 220px; }
.shop-toolbar .form-group { margin: 0; }
.shop-toolbar .form-group > label, .shop-toolbar .error { display: none !important; }
.shop-toolbar select { height: 49px; min-height: 49px; border: 1px solid #e2e1dd; border-radius: 0; font-size: 12px; font-weight: 700; padding: 0 36px 0 11px; }
.shop-result-counter .show-info { font-size: 11px; color: #77736d; font-weight: 700; }
.product-price-line strong .total-price, .sticky-mobile-purchase strong .total-price { font: inherit; color: inherit; letter-spacing: inherit; margin: 0; padding: 0; display: inline; }
.product-wrapper.shop-products { display: grid; margin: 0; }
.product-wrapper.shop-products > * { width: auto; padding: 0; margin: 0; }
.shop-products .product-wrap { height: auto; }
.catalog-product .product-label-group { position: absolute; top: 12px; right: 12px; z-index: 2; display: flex; flex-direction: column; gap: 6px; align-items: flex-end; }
.catalog-product .product-label { background: #fff; color: var(--ink); border-radius: 0; font-size: 8px; font-weight: 900; padding: 8px 10px; letter-spacing: .045em; }
.catalog-product .product-label.label-sale { background: var(--yellow); }
.catalog-product .product-label.label-stock { background: var(--ink); color: #fff; }
.catalog-product-image img:not(:first-of-type) { display: none; }
.catalog-product-image img { object-fit: contain; width: 100%; height: 100%; transition: transform .3s; mix-blend-mode: multiply; }
.catalog-product-image:hover img { transform: scale(1.055); }
.catalog-product-price .price { font-size: 22px; letter-spacing: -.04em; font-weight: 900; }
.catalog-product-price del { font-size: 13px; color: #8e8b86; }
.catalog-product-price del:empty { display: none; }
.catalog-product-price.hidden { display: none !important; }
.catalog-actions-links { display: flex; justify-content: space-between; width: 100%; gap: 10px; }
.catalog-actions-links a { font-size: 9px; letter-spacing: .07em; font-weight: 900; border-bottom: 1px solid #111; padding-bottom: 4px; }
.catalog-actions-links .shop-quick-add { background: var(--yellow); border: 0; padding: 8px 10px; }
.catalog-actions-links .shop-quick-add:hover { background: var(--ink); color: #fff; }
.shop-empty.d-none { display: none !important; }
.shop-empty h3 { font-family: var(--display); font-style: italic; }
.shop-pagination .pagination { justify-content: center; gap: 7px; }
.shop-pagination .page-link { width: 43px; height: 43px; min-width: 0; border-radius: 0; border: 1px solid #d5d3cf; font-size: 12px; font-weight: 800; }
.shop-pagination .page-item.active .page-link { background: #151515; border-color: #151515; color: #fff; }
.search-alert-message:empty, .subcategories:empty, .cover-image:empty { display: none; }
.shop-collection-tile.is-current { outline: 3px solid var(--yellow); outline-offset: -3px; }
.mr-category-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: -18px 0 34px; }
.mr-category-chips a { padding: 10px 16px; border: 1px solid #d7d6d1; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.mr-category-chips a:hover { background: var(--yellow); border-color: var(--yellow); }
@media (max-width: 991px) {
    .shop-sidebar .sidebar-content { position: static; transform: none; width: auto; padding: 0; }
}
@media (max-width: 660px) {
    .shop-toolbar.toolbox { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .shop-toolbar .shop-sort { width: auto; }
}

/* scheda prodotto */
.product-price-line .old-price { font-size: 16px; color: #8e8b86; margin-right: 8px; }
.product-additional-shipping-cost { font-size: 13px; margin: -10px 0 18px; }
.purchase-panel .form-group > label, .purchase-panel .widget-title { font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.purchase-panel select { border-radius: 0; }
.availability.is-unavailable .availability-dot { background: #c4262e; }
.qty-stepper input.quantity { border: 0; min-height: 0; box-shadow: none; text-align: center; -moz-appearance: textfield; }
.qty-stepper input.quantity::-webkit-inner-spin-button { -webkit-appearance: none; }
.mr-gallery-sale { position: absolute; right: 16px; top: 16px; z-index: 3; }
.alert-cart-message { margin-top: 18px; }
.mr-rich-text p { margin: 0 0 18px; }
.mr-rich-text p:last-child { margin-bottom: 0; }
.mr-rich-text ul { padding-left: 20px; margin: 0 0 18px; }
.mr-rich-text a { text-decoration: underline; text-decoration-color: var(--yellow); }
.pay-now-product { margin-top: 12px; }

/* blog: testo dell'articolo (descrizione dal pannello) nello stile della bozza */
/* testo dell'articolo: i titoli h2 fanno da capitoli (.editorial-reading-section della bozza), il kicker "01 / The story" lo aggiunge project.js */
.editorial-reading-content .mr-rich-text { padding-top: 0; }
.editorial-reading-content .mr-rich-text .editorial-paragraph-kicker { display: block; margin-top: 48px; scroll-margin-top: 135px; }
.editorial-reading-content .mr-rich-text h2 { margin: 15px 0 22px; font-size: clamp(30px, 3vw, 43px); line-height: 1.18; letter-spacing: -.044em; scroll-margin-top: 135px; }
.editorial-reading-content .mr-rich-text p { color: #5e5b54; font-size: 17px; line-height: 1.95; margin: 0 0 20px; }
@media (max-width: 850px) {
    .editorial-reading-content .mr-rich-text .editorial-paragraph-kicker { margin-top: 36px; }
    .editorial-reading-content .mr-rich-text h2 { font-size: 32px; }
    .editorial-reading-content .mr-rich-text p { font-size: 16px; line-height: 1.85; }
}
/* citazione (blockquote nel testo): come .editorial-quote della bozza, grigio con la linea gialla a sinistra */
.editorial-reading-content .mr-rich-text blockquote { background: #f3f2ee; border-left: 6px solid var(--yellow); margin: 40px 0 0; padding: 30px clamp(25px, 4vw, 48px) 35px; }
.editorial-reading-content .mr-rich-text blockquote:before { content: '“'; display: block; font-size: 68px; font-weight: 900; line-height: .85; color: var(--yellow); }
.editorial-reading-content .mr-rich-text blockquote p { font-family: var(--display); font-style: italic; font-weight: 900; font-size: calc(clamp(22px, 2.3vw, 32px) + 1px); letter-spacing: -.035em; line-height: 1.28; margin-top: 8px; color: var(--ink); }
.post-pagination, .blog-pagination { display: flex; justify-content: center; gap: 7px; margin-top: 40px; }
.editorial-card[hidden], [data-blog-categories][hidden] { display: none !important; }

/* contatti: campi della libreria nella card del modulo */
.contact-form-card .form-group { margin: 0 0 18px; }
.contact-form-card .form-group > label, .contact-form-card label[for] { display: block; font-size: 10px; font-weight: 900; letter-spacing: .1em; margin-bottom: 8px; }
.contact-form-card .form-control, .contact-form-card select, .contact-form-card textarea { border: 1px solid #dedcd7; border-radius: 0; font-size: 14px; }
.contact-form-card .contact-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.contact-form-card .contact-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 12px; line-height: 1.55; margin: 6px 0 22px; text-transform: none; letter-spacing: 0; font-weight: 600; }
.contact-form-card .contact-consent a { text-decoration: underline; }
.mr-contact-product { font-size: 13px; margin: -6px 0 18px; }
.contact-faq details .mr-rich-text { padding: 0 0 22px; font-size: 14px; line-height: 1.75; color: #57544e; }
@media (max-width: 660px) {
    .contact-form-card .contact-form-row { grid-template-columns: 1fr; }
}

/* coming soon (flag coming_soon_status) */
.mr-comingsoon-page { background: #161614; }
.mr-comingsoon { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; color: #fff; }
.mr-comingsoon-inner { padding: 60px 0; }
.mr-comingsoon-logo { width: 150px; height: auto; margin-bottom: 40px; }
.mr-comingsoon h1 { font-size: clamp(56px, 8vw, 120px); line-height: .99; margin: 26px 0; }
.mr-comingsoon h1 em { color: var(--yellow); }
.mr-comingsoon .mr-lead { max-width: 52ch; color: #b8b6b0; font-size: 17px; line-height: 1.8; margin-bottom: 30px; }
.mr-comingsoon-info { list-style: none; margin: 30px 0 0; padding: 0; display: grid; gap: 8px; font-size: 13px; color: #b8b6b0; }
.mr-comingsoon-footer { text-align: center; font-size: 11px; color: #77736d; padding: 0 0 22px; }

@media (max-width: 1100px) {
    .mr-wrap { width: calc(100% - 48px); }
}
@media (max-width: 600px) {
    .mr-wrap { width: calc(100% - 32px); }
    .mr-page { padding: 30px 0 56px; }
}

/* carrello: righe allineate al centro, cestino alto come il campo quantità */
.cart-table td { vertical-align: middle; }
/* la cella "Rimuovi" ha la classe .cart-remove come il pulsante del carrello laterale della bozza: si annullano margine e bordo */
.cart-table td.cart-remove { display: table-cell; margin: 0; padding: 12px 14px; background: none; color: inherit; font-size: inherit; border-bottom: 0; }
.cart-table .quantity-group { display: flex; justify-content: center; }
.cart-table .cart-remove .remove-from-cart { display: flex; margin: 0 auto; align-items: center; justify-content: center; width: 44px; height: 44px; min-height: 44px; padding: 0; gap: 0; }
.cart-table .input-group { height: 44px; }
.cart-table .input-group .quantity { min-height: 42px; height: 42px; }

/* checkout: le tab della libreria (indirizzo fattura/spedizione) non usano la griglia delle tab della scheda prodotto (bozza) */
.tab .tab-content { display: block; padding-top: 0; gap: 0; }
.tab .tab-content p { max-width: none; font-size: inherit; line-height: inherit; color: inherit; }
.check-detail .tab .tab-pane > .row > .form-group { width: 50%; }
.check-detail .tab .tab-pane > .row > .form-group.col-12:not(.col-lg-6), .check-detail .tab .tab-pane > .row > .form-select, .check-detail .tab .tab-pane > .row > .form-checkbox, .check-detail .tab .tab-pane > .row > .form-group:has(textarea) { width: 100%; }
.check-detail .tab .tab-pane > .row > .form-group select { width: 100%; }
.check-detail .tab .nav-tabs { padding: 0; border: 0; gap: 0; background: transparent; }
.check-detail .tab .nav-link { padding: 13px 18px; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; border-bottom: 2px solid var(--line); }
.check-detail .tab .nav-link.active { background: transparent; color: var(--ink); border-bottom-color: var(--yellow); }

/* checkout: etichette con altezza fissa, così i riquadri "accedi/registrati" si allineano al campo email */
.check-detail .form-group > label, .check-detail .form-select > label { display: block; font-size: 10px; line-height: 16px; height: 16px; margin: 0 0 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.check-detail .form-control, .check-detail select, .check-detail textarea { min-height: 48px; border: 1px solid #dedcd7; font-size: 14px; }
.check-detail .show-checkout-login, .check-detail .show-checkout-register, .check-detail .go-checkout-login, .check-detail .go-checkout-recovery {
    margin-top: 24px !important; height: 48px; position: relative; isolation: isolate; overflow: visible !important;
    background: transparent !important; border: 0 !important; color: var(--ink);
}
.check-detail .show-checkout-login::before, .check-detail .show-checkout-register::before, .check-detail .go-checkout-login::before, .check-detail .go-checkout-recovery::before {
    content: ""; position: absolute; inset: 0; z-index: -1; transform: skewX(-11deg); border: 1px solid var(--ink); background: transparent; transition: background .2s ease;
}
.check-detail .show-checkout-login:hover::before, .check-detail .show-checkout-register:hover::before, .check-detail .go-checkout-login:hover::before, .check-detail .go-checkout-recovery:hover::before,
.check-detail .show-checkout-login.selected::before, .check-detail .show-checkout-register.selected::before { background: var(--yellow); border-color: var(--yellow); }
.check-detail .show-checkout-login p, .check-detail .show-checkout-register p, .check-detail .go-checkout-login p, .check-detail .go-checkout-recovery p { font-size: 9px !important; letter-spacing: .08em; text-transform: uppercase; color: #6d6b65; }
.check-detail .show-checkout-login p + p, .check-detail .show-checkout-register p + p, .check-detail .go-checkout-login p + p, .check-detail .go-checkout-recovery p + p { font-size: 11px !important; font-weight: 900 !important; color: var(--ink); }
.check-detail h3.title { font-size: clamp(26px, 2.4vw, 34px); }
.check-detail .radio-list-item { border-radius: 0; border: 1px solid #dedcd7; }
.check-detail .radio-list-item:has(input:checked) { border-color: var(--ink); background: var(--grey); }
.checkout-page .summary h4, .checkout-page .summary h5, .checkout-page .summary .summary-subtitle { font-family: var(--font); font-weight: 900; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 767px) {
    .check-detail .tab .tab-pane > .row > .form-group { width: 100%; }
}
.checkout-page .summary p.font24 { font-family: var(--display); font-style: italic; font-weight: 900; letter-spacing: -.04em; font-size: 20px !important; }
