.appointments-public,.vehicles-public{padding-top:88px;background:var(--soft);color:var(--ink)}
.appointments-hero,.vehicles-hero{padding:clamp(4rem,8vw,7rem) 0;color:#fff;background:linear-gradient(125deg,var(--ink),color-mix(in srgb,var(--ink) 74%,var(--accent)))}
.appointments-hero h1,.vehicles-hero h1{max-width:760px;margin:.5rem 0 1rem;font-size:clamp(2.6rem,6vw,5rem);letter-spacing:0;line-height:.96}.appointments-hero p,.vehicles-hero p{max-width:650px;margin:0;color:rgba(255,255,255,.82);font-size:1.08rem;line-height:1.65}
.appointments-content,.vehicles-content{padding:clamp(2rem,5vw,4.5rem) 0 5rem}.appointments-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:1.5rem;align-items:start}.appointments-calendar-card,.appointments-form,.vehicles-filters,.vehicle-card,.vehicle-detail{padding:clamp(1.25rem,3vw,2rem);border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);border-radius:14px;background:var(--paper);box-shadow:0 14px 34px color-mix(in srgb,var(--ink) 9%,transparent)}
.appointments-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.appointments-calendar-head h2{margin:0;font-size:1.4rem}.appointments-calendar-head button{display:grid;place-items:center;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:7px;background:var(--paper);color:var(--ink);font-size:1.2rem}.appointments-weekdays,.appointments-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.appointments-weekdays{margin-bottom:6px;color:var(--muted);font-size:.72rem;font-weight:800}.appointments-days button,.appointments-days>span{aspect-ratio:1;min-width:0;border:0;border-radius:7px;background:transparent;color:var(--ink);font:inherit}.appointments-days button.is-available{background:var(--soft);cursor:pointer}.appointments-days button.is-selected{background:var(--accent);color:var(--on-accent)}.appointments-days button:disabled{color:color-mix(in srgb,var(--muted) 45%,transparent)}.appointments-legend{display:flex;gap:.8rem;margin:1rem 0 0;color:var(--muted);font-size:.78rem}.appointments-legend i{display:inline-block;width:10px;height:10px;margin:auto 3px auto 0;border-radius:50%;background:var(--accent)}.appointments-legend .is-off{background:color-mix(in srgb,var(--muted) 35%,transparent)}
.appointments-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.appointments-form h2,.appointments-form>label:nth-of-type(1),.appointments-form>label:nth-of-type(4),.appointments-form>label:nth-of-type(5),.appointments-form .appointments-privacy,.appointments-form button,.appointments-form .mini-demo-notice{grid-column:1/-1}.appointments-form label,.vehicles-filters label{display:grid;gap:.4rem;font-size:.85rem;font-weight:750}.appointments-form input,.appointments-form select,.appointments-form textarea,.vehicles-filters select{width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);border-radius:7px;background:var(--paper);color:var(--ink);font:inherit}.appointments-form textarea{min-height:105px;resize:vertical}.appointments-form .appointments-two{display:contents}.appointments-privacy{display:flex!important;align-items:flex-start;gap:.55rem;line-height:1.45;font-weight:400!important}.appointments-privacy input{width:auto;min-height:0;margin-top:.25rem}.appointments-form button,.vehicles-filters button{border:0;cursor:pointer;justify-self:start}
.vehicles-filters{display:flex;gap:1rem;align-items:end;margin-bottom:1.5rem}.vehicles-filters select{min-width:220px}.vehicles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.vehicle-card{display:flex;flex-direction:column;padding:0;overflow:hidden}.vehicle-card>img{width:100%;aspect-ratio:4/3;object-fit:cover}.vehicle-card>div{display:flex;flex:1;flex-direction:column;padding:1.35rem}.vehicle-card h2{margin:.5rem 0;font-size:1.35rem}.vehicle-card p{margin:0 0 1rem;color:var(--muted);line-height:1.55}.vehicle-card strong{margin-top:auto;font-size:1.1rem}.vehicle-card .mini-button{align-self:flex-start;margin-top:1.1rem}
.mini-demo-notice{width:100%;margin:0;padding:.75rem 1rem;border-left:3px solid var(--accent);background:var(--soft);color:var(--ink);font-size:.88rem;line-height:1.45}.mini-demo-notice strong{display:block}.vehicles-filters{flex-wrap:wrap}.vehicles-filters .mini-demo-notice{flex:0 0 100%}
.vehicle-card:not(:has(img))::before{display:grid;place-content:center;aspect-ratio:4/3;content:"Qui apparirà la foto";padding:1.25rem;overflow:hidden;color:var(--ink);text-align:center;font-size:1.05rem;font-weight:800;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 20%,var(--soft)),var(--soft));background-image:linear-gradient(135deg,color-mix(in srgb,var(--accent) 20%,var(--soft)),var(--soft)),radial-gradient(circle at 68% 67%,transparent 0 11%,color-mix(in srgb,var(--ink) 15%,transparent) 11.5% 12%,transparent 12.5%),radial-gradient(ellipse at 46% 49%,transparent 0 28%,color-mix(in srgb,var(--ink) 15%,transparent) 28.5% 29%,transparent 29.5%)}
.vehicle-detail{margin:clamp(2rem,6vw,5rem) auto}.vehicle-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:clamp(2rem,6vw,5rem);margin-top:2rem}.vehicle-detail-grid h1{margin:.5rem 0;font-size:clamp(2.2rem,5vw,4.5rem);line-height:.98}.vehicle-detail-image,.vehicle-detail-placeholder{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}.vehicle-detail-placeholder{display:grid;place-content:center;gap:.35rem;color:var(--ink);text-align:center;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 20%,var(--soft)),var(--soft));font-weight:800}.vehicle-detail-placeholder small{color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.vehicle-price{display:block;margin:1.25rem 0;font-size:1.5rem}.vehicle-lead{margin-top:3rem;padding-top:2rem;border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}.vehicle-lead h2{margin-top:0}.vehicle-lead .booking-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.vehicle-lead .booking-form label{display:grid;gap:.4rem;font-size:.85rem;font-weight:750}.vehicle-lead .booking-form input,.vehicle-lead .booking-form select,.vehicle-lead .booking-form textarea{width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);border-radius:7px;background:var(--paper);color:var(--ink);font:inherit}.vehicle-lead .booking-form label:nth-of-type(5),.vehicle-lead .booking-form .booking-consent,.vehicle-lead .booking-form button{grid-column:1/-1}.vehicle-lead .booking-consent{display:flex!important;gap:.5rem;align-items:flex-start;font-weight:400!important}.vehicle-lead .booking-consent input{width:auto;min-height:0;margin-top:.25rem}.vehicle-lead .booking-form button{justify-self:start;border:0}
@media(max-width:900px){.appointments-layout{grid-template-columns:1fr}.appointments-calendar-card{max-width:620px}.vehicles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.appointments-public,.vehicles-public{padding-top:74px}.appointments-hero,.vehicles-hero{padding:3.5rem 0}.appointments-form{grid-template-columns:1fr}.appointments-form>*{grid-column:1/-1!important}.vehicles-filters{display:grid}.vehicles-filters select{min-width:0}.vehicles-grid{grid-template-columns:1fr}.appointments-calendar-card,.appointments-form,.vehicles-filters,.vehicle-card{border-radius:10px}}
@media(max-width:800px){.vehicle-detail-grid,.vehicle-lead .booking-form{grid-template-columns:1fr}.vehicle-lead .booking-form>*{grid-column:1/-1!important}.vehicle-lead .booking-form button{width:100%}}
