/* Campo antispam non visibile ai clienti */
.spam-trap{display:none!important;position:absolute!important;left:-9999px!important}

/* Regole di selezione dell'officina: messaggi chiari e compatti */
.workshop-hours{margin:-3px 0 19px;padding:12px 15px;background:#FAF6EF;border-left:3px solid #d62828;font-size:13px;line-height:1.55;color:#424950}
.field-help{font-size:12px;color:#a52026;line-height:1.4}
.field-help:empty{display:none}

/* Calendario officina personalizzato: giorni chiusi rossi e disabilitati */
.closed-red{color:#bb2028;font-weight:800}
.calendar-toggle{width:100%;min-height:48px;border:1px solid #b9c0c8;background:#FAF6EF;border-radius:6px;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;text-align:left;color:#24272b;cursor:pointer}
.calendar-toggle:focus-visible{outline:3px solid #d6282855;outline-offset:2px}
.calendar-toggle[aria-invalid="true"]{border:2px solid #b82025}
.workshop-calendar{margin:-4px 0 18px;background:#FAF6EF;border:1px solid #d3d8df;border-radius:10px;padding:16px;box-shadow:0 5px 18px #0001}
.workshop-calendar[hidden]{display:none!important}
.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.calendar-head strong{text-transform:capitalize;font-size:17px}
.calendar-head button{width:42px;height:42px;border:1px solid #ddd;border-radius:6px;background:#FAF6EF;font-size:26px;cursor:pointer}
.calendar-head button:disabled{opacity:.35;cursor:default}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.calendar-weekdays{text-align:center;font-size:11px;font-weight:800;color:#606771;margin-bottom:7px}
.calendar-day{height:42px;border:1px solid #e0e3e7;background:#FAF6EF;border-radius:6px;color:#202428;font-size:15px;font-weight:600;cursor:pointer}
.calendar-day:not(:disabled):hover{border-color:#d62828;background:#fff0f0}
.calendar-day.calendar-closed{background:#ffe0e1!important;color:#a61922!important;border-color:#e7b2b6!important;text-decoration:line-through;font-weight:800;opacity:1}
.calendar-day.calendar-past{background:#FAF6EF;color:#a2a6aa;opacity:.55;cursor:not-allowed}
.calendar-day.calendar-selected{background:#24272b;color:#fff;border-color:#24272b}
.calendar-day:focus-visible{outline:3px solid #d62828;outline-offset:2px}
.calendar-legend{margin-top:14px;display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#555e65;line-height:1.5}
.calendar-legend span{display:inline-flex;align-items:center;gap:6px}
.legend-unavailable{display:inline-block;width:14px;height:14px;background:#ffe0e1;border:1px solid #e7b2b6;border-radius:3px}
.calendar-clear{background:transparent;border:0;color:#a31e25;text-decoration:underline;cursor:pointer;padding:13px 0 0;font-weight:700}
@media(max-width:600px){.calendar-day{height:39px}.workshop-calendar{padding:11px}.calendar-weekdays,.calendar-days{gap:4px}}

/* Revisione visiva calendario v2: contorni, ritmo e gerarchia leggibile */
.request-form .workshop-calendar{box-sizing:border-box;display:block;width:100%;max-width:100%;background:#FAF6EF;border:1px solid #dce0e5;border-radius:14px;padding:18px;margin:6px 0 20px;box-shadow:0 8px 24px rgba(26,30,37,.08)}
.request-form .workshop-calendar[hidden]{display:none!important}
.request-form .calendar-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin:0 0 16px}
.request-form .calendar-head strong{text-align:center;font-size:19px;line-height:1.3;font-family:Inter,Arial,sans-serif;font-weight:800;color:#252932}
.request-form .calendar-head button{height:44px;width:44px;border-radius:10px;background:#FAF6EF;border:1px solid #e0e3e7;color:#2b2f35;cursor:pointer;font-size:26px;line-height:1}
.request-form .calendar-weekdays,.request-form .calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;align-items:stretch;width:100%}
.request-form .calendar-weekdays{margin:0 0 8px}
.request-form .calendar-weekdays span{display:flex;align-items:center;justify-content:center;min-width:0;font-size:12px;font-weight:800;color:#58616d;height:26px;text-align:center}
.request-form .calendar-day{min-width:0;width:100%;height:44px;border-radius:9px;background:#FAF6EF;border:1px solid #e4e7ea;display:flex;align-items:center;justify-content:center;font:700 15px Inter,Arial,sans-serif;color:#292e34;cursor:pointer}
.request-form .calendar-day.calendar-selected{background:#d62828!important;color:#fff!important;border-color:#d62828!important}
.request-form .calendar-day.calendar-closed{background:#ffe3e5!important;color:#ad2028!important;border:1px solid #f1abb1!important;text-decoration:line-through;opacity:1}
.request-form .calendar-day.calendar-past{background:#FAF6EF;color:#a5a9ad;cursor:not-allowed}
.request-form .calendar-day:not(:disabled):focus-visible,.request-form .calendar-day:not(:disabled):hover{outline:2px solid #d62828;outline-offset:1px}
.request-form .calendar-legend{border-top:1px solid #edf0f2;padding-top:13px;margin-top:17px;display:flex;align-items:center;gap:9px 18px;flex-wrap:wrap;line-height:1.6;font-size:12px}
.request-form .calendar-clear{display:inline-flex;align-items:center;background:#FAF6EF;border:1px solid #e0e2e5;color:#32373b;padding:10px 13px;margin-top:14px;border-radius:7px;font:700 12px Inter,Arial,sans-serif;text-decoration:none}
.request-form .calendar-toggle{font-weight:600;background:#FAF6EF;border-radius:8px}
.request-form .workshop-hours{background:#fff5f5;border:1px solid #f0d3d5;border-left:4px solid #d62828;border-radius:6px;padding:14px 16px;font-size:13px;line-height:1.7}
.request-form .closed-red{color:#a91d28}
@media(max-width:640px){
 .request-form .workshop-calendar{padding:12px;margin:6px 0 16px;border-radius:12px}
 .request-form .calendar-head{grid-template-columns:42px 1fr 42px;gap:5px;margin-bottom:11px}
 .request-form .calendar-head strong{font-size:17px}
 .request-form .calendar-head button{width:42px;height:42px}
 .request-form .calendar-weekdays,.request-form .calendar-days{gap:4px}
 .request-form .calendar-day{height:40px;font-size:14px;border-radius:7px}
 .request-form .calendar-weekdays span{font-size:11px}
 .request-form .calendar-legend{display:block;margin-top:14px;padding-top:10px}
 .request-form .calendar-legend span{display:flex;margin-bottom:5px}
}

/* Identità Moto Ajaccio 2026 — rosso, blu notte, bianco caldo */
:root{--ink:#06243D;--dark:#06243D;--red:#B80018;--paper:#FAF6EF;--light:#F3ECE3;--muted:#526474}
body{background:#FAF6EF;color:#06243D}
.header{background:#FAF6EF;color:#06243D}
.aj-logo{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:154px;line-height:1.0;white-space:nowrap}
.aj-logo-top{font-family:Inter,Arial,sans-serif;font-size:13px;font-weight:800;letter-spacing:.31em;color:#06243D}
.aj-logo-name{font-family:'Lobster',cursive;font-weight:400;font-size:35px;line-height:.92;color:#B80018}
.aj-logo-tag{font-family:Inter,Arial,sans-serif;color:#06243D;font-size:7px;letter-spacing:.19em;font-weight:800;margin-top:6px}
.header .brand{line-height:1;min-width:0}
.hero,.service,.topbar,footer{background-color:#06243D}
.hero em,.hero h1 em,.hero h1 span,.section-title span,.service h2 span,.intro h2 span,.brands h2 span,.contact h2 span,.request-info h2 em,.feature-content .accent{color:#B80018}
.btn-red,.hero-action,.send,.submit,.hero .cta,.offer-ribbon{background:#B80018}
.btn-red:hover,.send:hover,.submit:hover{background:#920013}
.catalog,.brands,.contact,.combined-contact,.services,.location-section{background:#FAF6EF}
.offer-card,.request-form,.form-card,.op-card{background:#FAF6EF}
.kicker,.eyebrow,.section-label,.business-detail .detail-label{color:#B80018}
.calendar-day.calendar-selected,.request-form .calendar-day.calendar-selected{background:#B80018!important;border-color:#B80018!important}
.contact-social-strip .social-chip-whatsapp{background:#187A49}
.contact-social-strip .social-chip-facebook{background:#1877F2}
.contact-social-strip .social-chip-instagram{background:linear-gradient(110deg,#833ab4,#c13584 55%,#e85664)}
@media(max-width:700px){.aj-logo{min-width:114px}.aj-logo-top{font-size:10px}.aj-logo-name{font-size:27px}.aj-logo-tag{font-size:6px;letter-spacing:.12em}}

/* Logo ufficiale vettoriale derivato dal PNG fornito */
.header .official-logo{display:block;width:clamp(145px,15vw,210px);height:auto;max-height:76px;object-fit:contain}
.header .brand{display:flex;align-items:center;line-height:1}
@media(max-width:700px){.header .official-logo{width:132px;max-height:60px}}

/* Leggibilità AA: rosso ufficiale sui fondi chiari; rosa chiaro sui fondi blu notte.
   #B80018 su #06243D ha un contrasto insufficiente per testo piccolo (2.30:1). */
:root{--accent-on-dark:#FF8D93}
.hero .eyebrow,.hero .kicker,.hero .section-label,
.topbar .eyebrow,.topbar .kicker,.topbar .section-label,
footer .eyebrow,footer .kicker,footer .section-label,
.hero h1 span,.hero h1 em,.hero h2 span,.hero h2 em,
.hero .accent,.hero .highlight,.hero .red,
footer .accent,footer .footer-wordmark span,
.hero .hero-text .eyebrow{color:var(--accent-on-dark)}
.hero .eyebrow,.hero .kicker,.hero .section-label{font-weight:800;letter-spacing:.10em;line-height:1.45}
.hero p,footer p{color:#FAF6EF}

/* Officina: superfici scure coerenti con il blu notte ufficiale */
.hero{background:linear-gradient(105deg,#06243D 0%,#0B3554 100%);color:#FAF6EF}
.hero .eyebrow,.hero .section-label,.hero h1 em{color:#FF9DA3}
.hero p{color:#FAF6EF}
.topbar,footer{background:#06243D;color:#FAF6EF}
