@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/assets/fonts/inter-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
.feature-icon-box {
  line-height: 1;
}
.feature-icon-box i {
  display: inline-block;
  width: 1.25em;
  text-align: center;
}
.site-footer-links i {
  width: 1.1em;
  text-align: center;
  color: #fbbf24;
}
.glass-nav {
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.hero-gradient {
  background:
    linear-gradient(145deg, rgb(12 74 110 / 0.9) 0%, rgb(7 89 133 / 0.85) 45%, rgb(3 105 161 / 0.82) 100%),
    url('/assets/images/banner-3-2.jpg') center / cover no-repeat;
  background:
    linear-gradient(145deg, rgb(12 74 110 / 0.9) 0%, rgb(7 89 133 / 0.85) 45%, rgb(3 105 161 / 0.82) 100%),
    image-set(url('/assets/images/banner-3-2.webp') type('image/webp'), url('/assets/images/banner-3-2.jpg') type('image/jpeg')) center / cover no-repeat;
}
.prose-page { max-width: 48rem; }
.prose-page img { max-width: 100%; height: auto; border-radius: 1rem; }

.fleet-card,
.fleet-card h3,
.fleet-card p,
.fleet-card button,
.fleet-card a {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

/* Footer compatto — altezza solo dal contenuto */
.site-footer {
  flex: 0 0 auto;
  background: #075985;
  color: rgb(224 242 254 / 0.9);
  border-top: 3px solid #d97706;
}
.site-footer-columns {
  display: grid;
  gap: 1.75rem 2rem;
  grid-template-columns: 1fr;
  text-align: left;
}
@media (min-width: 640px) {
  .site-footer-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .site-footer-columns {
    grid-template-columns: 1.15fr 1fr 1fr 0.9fr;
    align-items: start;
  }
}
.site-footer-heading {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fbbf24;
  margin-bottom: 0.65rem;
}
.site-footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
  line-height: 1.45;
}
.site-footer-links li + li {
  margin-top: 0.45rem;
}
.site-footer-links a {
  color: rgb(224 242 254 / 0.9);
  text-decoration: none;
  display: inline-flex;
  align-items: flex-start;
  gap: 0.5rem;
  transition: color 0.15s ease;
}
.site-footer-links a i {
  width: 1rem;
  text-align: center;
  margin-top: 0.15rem;
  color: #fbbf24;
  flex-shrink: 0;
}
.site-footer-links a:hover {
  color: #fde68a;
}
.site-footer-bottom {
  margin-top: 1.5rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgb(255 255 255 / 0.12);
  text-align: center;
  font-size: 0.75rem;
  line-height: 1.5;
  color: rgb(224 242 254 / 0.8);
}
.site-footer-bottom p + p {
  margin-top: 0.25rem;
}
.site-footer-credit {
  font-weight: 400;
  color: #fbbf24;
  text-decoration: none;
  margin-left: 0.2rem;
}
.site-footer-credit:hover {
  color: #fde68a;
}
.fleet-vehicle-badge {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: calc(100% - 1rem);
  padding: 0.35rem 0.7rem;
  border-radius: 9999px;
  font-size: 0.65rem;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  text-shadow: 0 1px 1px rgb(0 0 0 / 0.2);
  box-shadow: 0 4px 14px rgb(15 23 42 / 0.2);
}
@media (min-width: 640px) {
  .fleet-vehicle-badge {
    top: 0.75rem;
    left: 0.75rem;
    font-size: 0.75rem;
    padding: 0.45rem 0.8rem;
  }
}
.fleet-vehicle-badge i {
  font-size: 0.75rem;
  flex-shrink: 0;
}
.fleet-badge-scooter {
  background: linear-gradient(90deg, #f59e0b 0%, #ea580c 100%);
  border: 1px solid rgb(253 186 116 / 0.55);
}
.fleet-badge-7seats {
  background: linear-gradient(90deg, #8b5cf6 0%, #7c3aed 100%);
  border: 1px solid rgb(196 181 253 / 0.55);
}
.fleet-badge-automatic {
  background: linear-gradient(90deg, #10b981 0%, #0d9488 100%);
  border: 1px solid rgb(110 231 183 / 0.55);
}
.fleet-badge-auto {
  background: linear-gradient(90deg, #0ea5e9 0%, #0369a1 100%);
  border: 1px solid rgb(125 211 252 / 0.55);
}
.fleet-filter-btn.is-active {
  background: #0369a1 !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgb(3 105 161 / 0.35);
}
.fleet-wa-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  width: 100%;
  margin-top: 0.5rem;
  padding: 0.55rem 0.75rem;
  border-radius: 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #166534;
  background: #ecfdf5;
  border: 1px solid #86efac;
  text-decoration: none;
  transition: background 0.15s ease;
}
.fleet-wa-link:hover {
  background: #d1fae5;
}

html {
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
}
.site-topbar-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.35rem 0.85rem;
  line-height: 1.4;
  text-align: center;
}
.fleet-card-actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (min-width: 400px) {
  .fleet-card-actions {
    flex-direction: row;
  }
}
.booking-pickup-office {
  padding: 0.65rem 0.85rem;
  background: rgb(248 250 252);
  border: 1px solid rgb(226 232 240);
  border-radius: 0.75rem;
}
.booking-office-select {
  text-overflow: ellipsis;
}
.booking-form-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}
@media (min-width: 480px) {
  .booking-form-header {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
}
.dm-datetime-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
}
@media (min-width: 380px) {
  .dm-datetime-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.dm-pay-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
}
@media (min-width: 400px) {
  .dm-pay-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.admin-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.admin-scroll table {
  min-width: 36rem;
}
#cookieBanner {
  padding-bottom: max(1rem, env(safe-area-inset-bottom));
}
body.has-mobile-cta {
  padding-bottom: 4.25rem;
}
@media (min-width: 768px) {
  body.has-mobile-cta {
    padding-bottom: 0;
  }
}
.mobile-cta-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 55;
  display: flex;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  padding-bottom: max(0.5rem, env(safe-area-inset-bottom));
  background: rgb(255 255 255 / 0.96);
  border-top: 1px solid rgb(226 232 240);
  box-shadow: 0 -4px 20px rgb(15 23 42 / 0.08);
}
@media (min-width: 768px) {
  .mobile-cta-bar {
    display: none;
  }
}
.mobile-cta-bar a {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 0.875rem;
  font-weight: 700;
  padding: 0.65rem 0.5rem;
  border-radius: 0.75rem;
}
.mobile-cta-bar-primary {
  background: #0369a1;
  color: #fff;
}
.mobile-cta-bar-wa {
  background: #22c55e;
  color: #fff;
}
.dm-pick-toast {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 5rem;
  z-index: 56;
  max-width: calc(100% - 2rem);
  padding: 0.65rem 1rem;
  background: rgb(15 23 42 / 0.92);
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 600;
  border-radius: 0.75rem;
  box-shadow: 0 8px 24px rgb(0 0 0 / 0.2);
  text-align: center;
}
@media (min-width: 768px) {
  .dm-pick-toast {
    bottom: 1.5rem;
  }
}
details summary::-webkit-details-marker {
  display: none;
}

/* Honeypot antispam — fuori schermo, non display:none */
.dm-hp-wrap {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

/* ===== FAQ home (griglia a card) ===== */
.dm-faq { padding: 4rem 0 4.5rem; background: linear-gradient(180deg,#fff 0%,#f0f9ff 100%); border-top: 1px solid #f1f5f9; }
.dm-faq-wrap { max-width: 72rem; margin: 0 auto; padding: 0 1rem; }
.dm-faq-grid { display: grid; grid-template-columns: 1fr; gap: .85rem; }
.dm-faq-col { display: flex; flex-direction: column; gap: .85rem; }
@media (min-width: 768px) { .dm-faq-grid { grid-template-columns: 1fr 1fr; gap: 1rem; align-items: start; } .dm-faq-col { gap: 1rem; } }
.dm-faq-item { background: #fff; border: 1px solid #e2e8f0; border-radius: 1rem; box-shadow: 0 1px 2px rgba(15,23,42,.04),0 4px 14px rgba(3,105,161,.06); transition: box-shadow .2s, border-color .2s, transform .2s; }
.dm-faq-item:hover { border-color: #bae6fd; box-shadow: 0 6px 22px rgba(3,105,161,.12); }
.dm-faq-item[open] { border-color: #7dd3fc; }
.dm-faq-item summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: .85rem; padding: 1rem 1.1rem; min-height: 3.5rem; font-weight: 700; color: #0f172a; font-size: 1rem; border-radius: 1rem; }
.dm-faq-item summary::-webkit-details-marker { display: none; }
.dm-faq-item summary:focus-visible { outline: 3px solid #38bdf8; outline-offset: 2px; }
.dm-faq-ico { flex: 0 0 2.5rem; height: 2.5rem; border-radius: 9999px; background: #e0f2fe; color: #0369a1; display: inline-flex; align-items: center; justify-content: center; }
.dm-faq-q { flex: 1; line-height: 1.35; }
.dm-faq-pm { flex: 0 0 1.75rem; height: 1.75rem; border-radius: 9999px; background: #f1f5f9; position: relative; transition: background .2s, transform .3s; }
.dm-faq-pm::before, .dm-faq-pm::after { content: ""; position: absolute; left: 50%; top: 50%; width: .75rem; height: 2px; background: #0369a1; border-radius: 2px; transform: translate(-50%,-50%); transition: transform .3s; }
.dm-faq-pm::after { transform: translate(-50%,-50%) rotate(90deg); }
.dm-faq-item[open] .dm-faq-pm { background: #0369a1; transform: rotate(180deg); }
.dm-faq-item[open] .dm-faq-pm::before, .dm-faq-item[open] .dm-faq-pm::after { background: #fff; }
.dm-faq-item[open] .dm-faq-pm::after { transform: translate(-50%,-50%) rotate(0deg); }
.dm-faq-a { padding: 0 1.1rem 1.1rem 4.45rem; color: #475569; line-height: 1.6; font-size: .95rem; }
.dm-faq-item[open] .dm-faq-a { animation: dmFaqIn .28s ease-out; }
@keyframes dmFaqIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (max-width: 767px) { .dm-faq-item summary { padding: 1.05rem 1rem; min-height: 3.75rem; } .dm-faq-a { padding: 0 1rem 1.1rem 1rem; } }
@media (prefers-reduced-motion: reduce) { .dm-faq-item, .dm-faq-pm, .dm-faq-pm::before, .dm-faq-pm::after { transition: none; } .dm-faq-item[open] .dm-faq-a { animation: none; } }
.dm-faq-cta { text-align: center; margin-top: 1.75rem; color: #475569; font-size: .95rem; }
.dm-faq-cta a { display: inline-flex; align-items: center; gap: .4rem; margin-left: .35rem; font-weight: 700; color: #fff; background: #22c55e; padding: .55rem 1rem; border-radius: .75rem; text-decoration: none; }
.dm-faq-cta a:hover, .dm-faq-cta a:focus-visible { background: #16a34a; }

/* ===== Footer riorganizzato ===== */
.dm-ft-grid { display: grid; grid-template-columns: 1fr; gap: 1.75rem; }
@media (min-width: 640px) { .dm-ft-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .dm-ft-grid { grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: 2.5rem; } }
.dm-ft-tag { color: rgba(224,242,254,.85); font-size: .9rem; line-height: 1.55; margin-top: .6rem; max-width: 22rem; }
.dm-ft-badge { display: inline-block; margin-top: .75rem; font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #fbbf24; border: 1px solid rgba(251,191,36,.45); padding: .25rem .6rem; border-radius: 9999px; }
.dm-ft .site-footer-links a, .dm-ft-hours { display: inline-flex; align-items: flex-start; gap: .5rem; padding: .3rem 0; min-height: 2rem; }
.dm-ft-hours { color: rgba(224,242,254,.85); font-size: .9rem; }
.dm-ft-bottom { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; align-items: center; justify-content: space-between; margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.12); }
.dm-ft-lang a { color: #e0f2fe; text-decoration: none; padding: .2rem .5rem; border-radius: .5rem; }
.dm-ft-lang a[aria-current="true"] { background: rgba(255,255,255,.14); font-weight: 700; }
.dm-ft-lang a:hover { background: rgba(255,255,255,.1); }

/* ===== Blocco contatti ===== */
.dm-cb { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 1024px) { .dm-cb { grid-template-columns: 1.1fr 1fr; gap: 2.5rem; align-items: stretch; } }
.dm-cb-title { font-size: 1.875rem; font-weight: 800; color: #0f172a; margin-bottom: 1rem; }
.dm-cb-msg { display: flex; gap: .6rem; align-items: flex-start; padding: .9rem 1rem; border-radius: .9rem; font-size: .95rem; font-weight: 600; margin-bottom: 1rem; }
.dm-cb-msg.is-ok { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; }
.dm-cb-msg.is-err { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.dm-cb-cards { display: grid; grid-template-columns: 1fr; gap: .75rem; }
@media (min-width: 640px) { .dm-cb-cards { grid-template-columns: 1fr 1fr; } }
.dm-cb-card { display: flex; gap: .85rem; align-items: flex-start; padding: 1rem; background: #fff; border: 1px solid #e2e8f0; border-radius: 1rem; box-shadow: 0 2px 10px rgba(3,105,161,.05); text-decoration: none; color: inherit; transition: border-color .2s, box-shadow .2s; }
a.dm-cb-card:hover, a.dm-cb-card:focus-visible { border-color: #7dd3fc; box-shadow: 0 6px 20px rgba(3,105,161,.12); outline: none; }
.dm-cb-ico { flex: 0 0 2.5rem; height: 2.5rem; border-radius: 9999px; background: #e0f2fe; color: #0369a1; display: inline-flex; align-items: center; justify-content: center; font-size: 1.05rem; }
.dm-cb-ico.is-wa { background: #dcfce7; color: #16a34a; }
.dm-cb-lbl { display: block; font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #64748b; }
.dm-cb-val { display: block; font-weight: 700; color: #0f172a; line-height: 1.35; }
.dm-cb-sub { display: block; font-size: .8rem; color: #0369a1; font-weight: 600; margin-top: .2rem; }
.dm-cb-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin: 1rem 0 1.25rem; }
.dm-cb-btn { display: inline-flex; justify-content: center; align-items: center; gap: .5rem; min-height: 3rem; border-radius: .9rem; font-weight: 800; color: #fff; text-decoration: none; transition: background .2s; }
.dm-cb-btn.is-call { background: #0369a1; } .dm-cb-btn.is-call:hover { background: #075985; }
.dm-cb-btn.is-wa { background: #22c55e; } .dm-cb-btn.is-wa:hover { background: #16a34a; }
.dm-cb-btn:focus-visible, .dm-cb-submit:focus-visible { outline: 3px solid #38bdf8; outline-offset: 2px; }
.dm-cb-form { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 1.25rem; padding: 1.25rem; display: grid; gap: .85rem; }
@media (min-width: 640px) { .dm-cb-form { padding: 1.5rem; } }
.dm-cb-ftitle { font-size: 1.2rem; font-weight: 800; color: #0f172a; }
.dm-cb-fhelp { font-size: .875rem; color: #64748b; margin-top: -.5rem; }
.dm-cb-row { display: grid; grid-template-columns: 1fr; gap: .85rem; }
@media (min-width: 640px) { .dm-cb-row { grid-template-columns: 1fr 1fr; } }
.dm-cb-field { display: grid; gap: .3rem; font-size: .85rem; font-weight: 700; color: #334155; }
.dm-cb-field input, .dm-cb-field textarea { width: 100%; padding: .7rem .9rem; border: 1px solid #cbd5e1; border-radius: .75rem; background: #fff; font-size: 1rem; font-weight: 400; color: #0f172a; transition: border-color .15s, box-shadow .15s; }
.dm-cb-field input:focus, .dm-cb-field textarea:focus { outline: none; border-color: #0284c7; box-shadow: 0 0 0 3px rgba(56,189,248,.35); }
.dm-cb-submit { min-height: 3rem; border-radius: .9rem; background: #0369a1; color: #fff; font-weight: 800; display: inline-flex; justify-content: center; align-items: center; gap: .5rem; transition: background .2s; }
.dm-cb-submit:hover { background: #075985; }
.dm-cb-map { border-radius: 1.5rem; overflow: hidden; border: 1px solid #e2e8f0; box-shadow: 0 4px 18px rgba(15,23,42,.06); min-height: 320px; }
.dm-cb-map iframe { display: block; width: 100%; height: 100%; min-height: 320px; border: 0; }
@media (min-width: 1024px) { .dm-cb-map, .dm-cb-map iframe { min-height: 100%; } }

/* footer: spaziature e icone SVG */
.dm-ft { padding-top: 0 !important; padding-bottom: 0 !important; }
.dm-ft > div { padding-top: 40px !important; padding-bottom: 0 !important; }
@media (min-width: 1024px) { .dm-ft > div { padding-top: 56px !important; } }
.dm-ft .site-footer-links li + li { margin-top: .35rem; }
.dm-ft .site-footer-links a, .dm-ft-hours { line-height: 1.5; }
.dm-ft-ico { flex: 0 0 16px; margin-top: .2rem; color: #fbbf24; }
.dm-ft-bottom { margin-top: 2.5rem !important; padding: 20px 0 !important; }
.dm-ft-lang { display: inline-flex; align-items: center; gap: .25rem; color: rgba(224,242,254,.5); font-weight: 700; }

/* font di riserva con metriche simili a Inter: evita spostamenti al caricamento del font */
@font-face { font-family: 'Inter Fallback'; src: local('Arial'), local('Helvetica'), local('Liberation Sans'); size-adjust: 107%; ascent-override: 90%; descent-override: 22.4%; line-gap-override: 0%; }
html, body, .font-sans { font-family: Inter, 'Inter Fallback', ui-sans-serif, system-ui, sans-serif; }

/* icone del hero: larghezza riservata prima che il font icone (caricato in differita) arrivi -> nessuno spostamento */
.hero-gradient i.fa-solid, .hero-gradient i.fa-brands, .hero-gradient i.fa-regular { display: inline-block; width: 1.15em; text-align: center; }

/* data + ora: l'ora ha sempre spazio sufficiente (evita select schiacciato ~640-1023px) */
@media (min-width: 380px) { .dm-datetime-grid { grid-template-columns: minmax(0, 1fr) minmax(6rem, 7.5rem); } }
.dm-datetime-grid .dm-time-input { padding-left: .75rem; padding-right: 1.75rem; min-width: 6rem; }
.dm-datetime-grid .dm-date-input { min-width: 0; padding-left: .75rem; padding-right: .5rem; }

/* Accessibilita' (Lighthouse): contrasto testi piccoli e pulsanti WhatsApp, link riconoscibili */
.bg-white .text-slate-400, main .text-\[11px\].text-slate-400, main p.text-xs.text-slate-400 { color: #64748b; }
.bg-slate-100 .text-slate-500 { color: #475569; }
.bg-green-500.text-white, .mobile-cta-bar-wa, .dm-cb-btn.is-wa { background: #15803d; }
.hover\:bg-green-600:hover, .dm-cb-btn.is-wa:hover { background: #166534; }
.site-footer-credit { text-decoration: underline; text-underline-offset: 2px; }
nav[aria-label] a.text-brand-600, .dm-breadcrumbs a { text-decoration: underline; text-underline-offset: 2px; }
.dm-faq-cta a { background: #15803d; }
.dm-faq-cta a:hover { background: #166534; }

/* === Booking form redesign 20261022 === */
#prenota .booking-form-header{margin:-1rem -1rem 1.25rem;padding:1rem 1.1rem;border:0;border-radius:1rem 1rem 0 0;background:linear-gradient(135deg,#0369a1 0%,#0c4a6e 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:.75rem}
@media(min-width:640px){#prenota .booking-form-header{margin:-2rem -2rem 1.5rem;padding:1.25rem 2rem;border-radius:1.5rem 1.5rem 0 0}}
#prenota .booking-form-header h2{color:#fff;font-size:1.2rem;letter-spacing:-.01em}
#prenota .booking-form-header h2 i{display:inline-flex;width:2.1rem;height:2.1rem;border-radius:.65rem;background:rgba(255,255,255,.15);align-items:center;justify-content:center;color:#fbbf24!important}
#prenota .booking-form-header h2 i::before{content:"";width:1.2rem;height:1.2rem;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 11l1.5-4.5A2 2 0 0 1 8.4 5h7.2a2 2 0 0 1 1.9 1.5L19 11a2 2 0 0 1 2 2v4a1 1 0 0 1-1 1h-1a2 2 0 0 1-4 0H9a2 2 0 0 1-4 0H4a1 1 0 0 1-1-1v-4a2 2 0 0 1 2-2zm2.1 0h9.8l-1.2-3.6a.6.6 0 0 0-.6-.4H8.9a.6.6 0 0 0-.6.4zM7 13.5a1.25 1.25 0 1 0 0 2.5 1.25 1.25 0 0 0 0-2.5zm10 0a1.25 1.25 0 1 0 0 2.5 1.25 1.25 0 0 0 0-2.5z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 11l1.5-4.5A2 2 0 0 1 8.4 5h7.2a2 2 0 0 1 1.9 1.5L19 11a2 2 0 0 1 2 2v4a1 1 0 0 1-1 1h-1a2 2 0 0 1-4 0H9a2 2 0 0 1-4 0H4a1 1 0 0 1-1-1v-4a2 2 0 0 1 2-2zm2.1 0h9.8l-1.2-3.6a.6.6 0 0 0-.6-.4H8.9a.6.6 0 0 0-.6.4zM7 13.5a1.25 1.25 0 1 0 0 2.5 1.25 1.25 0 0 0 0-2.5zm10 0a1.25 1.25 0 1 0 0 2.5 1.25 1.25 0 0 0 0-2.5z'/%3E%3C/svg%3E") center/contain no-repeat;font-family:inherit}
#prenota .booking-form-header>span{background:#fbbf24!important;color:#78350f!important;box-shadow:0 0 0 3px rgba(251,191,36,.25)}
#dmBookingForm label,#dmBookingForm .booking-pickup-office>span{color:#0c4a6e;font-size:.7rem;letter-spacing:.06em;margin-bottom:.4rem}
#dmBookingForm .booking-pickup-office{background:linear-gradient(90deg,#f0f9ff,#fff);border:1px solid #e0f2fe;border-left:4px solid #0369a1;border-radius:.85rem;padding:.7rem .9rem}
#dmBookingForm input[type=date],#dmBookingForm select{background-color:#fff!important;border:1.5px solid #cbd5e1!important;border-radius:.8rem!important;min-height:2.9rem;font-size:.95rem;font-weight:600;color:#0f172a;box-shadow:0 1px 2px rgba(15,23,42,.05);transition:border-color .15s,box-shadow .15s;max-width:100%}
#dmBookingForm select{-webkit-appearance:none;appearance:none;padding-right:2.4rem!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%230369a1'%3E%3Cpath d='M5.3 7.3a1 1 0 0 1 1.4 0L10 10.6l3.3-3.3a1 1 0 1 1 1.4 1.4l-4 4a1 1 0 0 1-1.4 0l-4-4a1 1 0 0 1 0-1.4z'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right .8rem center!important;background-size:1.1rem!important}
#dmBookingForm input[type=date]:hover,#dmBookingForm select:hover{border-color:#7dd3fc!important}
#dmBookingForm input[type=date]:focus,#dmBookingForm select:focus{outline:0;border-color:#0369a1!important;box-shadow:0 0 0 4px rgba(3,105,161,.15)!important}
#dmBookingForm #vehicleCategoryTabs,#dmBookingForm #bf-payment-mode{background:#eef4f8;border:1px solid #e2e8f0;border-radius:.95rem}
#dmBookingForm .dm-cat-tab,#dmBookingForm .dm-pay-tab{transition:all .18s;border:1.5px solid transparent}
#dmBookingForm .dm-cat-tab.bg-white,#dmBookingForm .dm-pay-tab.bg-white{border-color:#0369a1;box-shadow:0 4px 12px rgba(3,105,161,.15)!important;color:#0369a1}
#dmBookingForm .dm-pay-tab{padding-top:.75rem;padding-bottom:.75rem;position:relative}
#dmBookingForm .dm-pay-tab.bg-white::after{content:"✓";position:absolute;top:.35rem;right:.45rem;width:1.1rem;height:1.1rem;border-radius:50%;background:#f59e0b;color:#fff;font-size:.65rem;line-height:1.1rem;text-align:center}
#dmBookingForm .dm-cat-tab:not(.bg-white):hover,#dmBookingForm .dm-pay-tab:not(.bg-white):hover{background:rgba(255,255,255,.6)}
#dmBookingForm #quote-total{color:#0c4a6e}
#dmBookingForm div:has(>#quote-total){background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%)!important;border:1.5px solid #fcd34d!important;border-radius:1rem!important;padding:1rem 1.15rem!important;box-shadow:inset 0 1px 0 #fff}
#dmBookingForm div:has(>#quote-total)>span{color:#92400e!important;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
#bf-submit{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)!important;color:#fff;font-size:1.05rem;letter-spacing:.02em;padding:1rem!important;border-radius:.95rem!important;box-shadow:0 10px 24px -8px rgba(217,119,6,.6)!important;transition:transform .15s,box-shadow .15s,filter .15s}
#bf-submit:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 14px 28px -8px rgba(217,119,6,.7)!important}
#bf-submit::after{content:" →"}
@media(max-width:400px){#dmBookingForm .dm-datetime-grid{gap:.4rem}#dmBookingForm input[type=date],#dmBookingForm select{font-size:.88rem;padding-left:.7rem!important}}
#prenota .booking-form-header{width:auto!important}
@media(min-width:380px){#dmBookingForm .dm-datetime-grid{grid-template-columns:1.5fr 1fr}}
#dmBookingForm input[type=date]{padding-left:.75rem!important;padding-right:.5rem!important}

/* === Sections redesign 20261022 === */
#servizi{background:linear-gradient(180deg,#fff 0%,#f0f9ff 100%)}
#servizi h2{position:relative;padding-bottom:.9rem}
#servizi h2::after{content:"";position:absolute;left:50%;bottom:0;width:56px;height:4px;margin-left:-28px;border-radius:4px;background:linear-gradient(90deg,#0369a1,#f59e0b)}
#servizi .grid>div{position:relative;overflow:hidden;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:1.25rem!important;padding:1.75rem 1.5rem!important;box-shadow:0 4px 14px -6px rgba(15,23,42,.12);transition:transform .2s,box-shadow .2s,border-color .2s}
#servizi .grid>div::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#0369a1,#38bdf8)}
#servizi .grid>div:nth-child(even)::before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
#servizi .grid>div:hover{transform:translateY(-5px);box-shadow:0 18px 36px -14px rgba(3,105,161,.35);border-color:#bae6fd!important}
#servizi .feature-icon-box{background:linear-gradient(135deg,#0369a1,#0ea5e9)!important;color:#fff!important;box-shadow:0 8px 18px -6px rgba(3,105,161,.55);transition:transform .2s}
#servizi .grid>div:nth-child(even) .feature-icon-box{background:linear-gradient(135deg,#f59e0b,#d97706)!important;box-shadow:0 8px 18px -6px rgba(217,119,6,.55)}
#servizi .grid>div:hover .feature-icon-box{transform:scale(1.07) rotate(-4deg)}
#servizi h3{font-size:1.1rem;letter-spacing:-.01em;color:#0c4a6e}
#servizi .grid>div p{line-height:1.6;color:#475569}
@media(max-width:767px){#servizi .grid{gap:1rem}#servizi .grid>div{padding:1.4rem 1.25rem!important}}

#condizioni{background:radial-gradient(ellipse at top,#0c4a6e 0%,#0f172a 60%)!important}
#condizioni h2{position:relative;padding-bottom:.9rem}
#condizioni h2::after{content:"";position:absolute;left:50%;bottom:0;width:56px;height:4px;margin-left:-28px;border-radius:4px;background:linear-gradient(90deg,#38bdf8,#f59e0b)}
#condizioni .grid>div{background:linear-gradient(160deg,rgba(30,41,59,.95),rgba(15,23,42,.95))!important;border:1px solid rgba(56,189,248,.2)!important;box-shadow:0 0 0 1px rgba(255,255,255,.03),0 20px 40px -20px rgba(56,189,248,.35);transition:transform .2s,box-shadow .2s,border-color .2s}
#condizioni .grid>div:first-child{border-color:rgba(251,191,36,.25)!important}
#condizioni .grid>div:hover{transform:translateY(-4px);border-color:rgba(56,189,248,.5)!important;box-shadow:0 24px 48px -20px rgba(56,189,248,.5)}
#condizioni .grid>div:first-child:hover{border-color:rgba(251,191,36,.55)!important;box-shadow:0 24px 48px -20px rgba(251,191,36,.4)}
#condizioni h3{display:flex;align-items:center;gap:.75rem}
#condizioni h3 i{margin:0!important;width:2.75rem;height:2.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.85rem;font-size:1.15rem;color:#fff!important;background:linear-gradient(135deg,#0369a1,#0ea5e9);box-shadow:0 8px 18px -6px rgba(14,165,233,.6)}
#condizioni .grid>div:first-child h3 i{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 8px 18px -6px rgba(245,158,11,.6)}
#condizioni ul{list-style:none!important;padding-left:0!important}
#condizioni ul li{position:relative;padding-left:1.9rem;line-height:1.55;color:#cbd5e1}
#condizioni ul li::before{content:"";position:absolute;left:0;top:.12rem;width:1.2rem;height:1.2rem;border-radius:50%;background:rgba(56,189,248,.15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2338bdf8'%3E%3Cpath d='M8.1 13.6 4.7 10.2l1.2-1.2 2.2 2.2 5.9-5.9 1.2 1.2z'/%3E%3C/svg%3E") center/.85rem no-repeat}
#condizioni .grid>div:first-child ul li::before{background-color:rgba(251,191,36,.15);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23fbbf24'%3E%3Cpath d='M8.1 13.6 4.7 10.2l1.2-1.2 2.2 2.2 5.9-5.9 1.2 1.2z'/%3E%3C/svg%3E")}
#condizioni ul li:has(>a){padding-left:0;margin-top:1rem}
#condizioni ul li:has(>a)::before{display:none}
#condizioni ul li>a{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.1rem;border-radius:999px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff!important;font-weight:700;text-decoration:none!important;box-shadow:0 8px 20px -8px rgba(245,158,11,.7);transition:transform .15s,filter .15s}
#condizioni ul li>a::after{content:"→"}
#condizioni ul li>a:hover{transform:translateY(-1px);filter:brightness(1.08)}
@media(max-width:640px){#condizioni .grid>div{padding:1.5rem!important}#condizioni .grid{gap:1rem}}

.dm-ft .dm-ft-brand .site-footer-links{display:flex;flex-direction:column;gap:.55rem;margin-top:.6rem}
.dm-ft .dm-ft-brand .site-footer-links a{display:inline-flex;align-items:center;gap:.55rem;padding:.45rem .8rem;border-radius:.65rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);text-decoration:none;transition:background .15s,border-color .15s,color .15s}
.dm-ft .dm-ft-brand .site-footer-links a::before{content:"";width:.9rem;height:.9rem;flex:none;background:#fbbf24;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E") center/contain no-repeat}
.dm-ft .dm-ft-brand .site-footer-links a:hover{color:#fbbf24!important;background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.45)}
.dm-ft .site-footer-links a{transition:color .15s;text-underline-offset:3px}
.dm-ft .site-footer-links a:hover{color:#fbbf24!important;text-decoration:underline}
.dm-ft .dm-ft-brand .site-footer-links a:hover{text-decoration:none}

/* Modalità richiesta disponibilità (WhatsApp) */
.dm-wa-btn{background:#25D366!important;color:#fff!important;box-shadow:0 8px 20px -8px rgba(37,211,102,.6);transition:background .2s,transform .1s}
.dm-wa-btn:hover{background:#1ebe5b!important}
.dm-wa-btn:active{transform:translateY(1px)}
.dm-wa-btn i{font-size:1.15em}
.dm-req-note{font-size:.8rem;line-height:1.35;color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-left:4px solid #f59e0b;border-radius:.75rem;padding:.6rem .8rem}
