/* V88 BOOKING — service workflow */
.box-modalita-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 14px !important;
  margin-top: 8px !important;
}
.card-modalita {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 16px 18px !important;
  background: #ffffff !important;
  border: 2px solid #E2E8F0 !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  transition: all 0.2s ease !important;
}
.card-modalita.attivo {
  border-color: #C5A866 !important;
  background: #FCFBF8 !important;
}
.card-modalita input[type="radio"] {
  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: #C5A866 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}
.card-modalita-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
.card-modalita-info strong {
  font-size: 0.95rem !important;
  color: #0F172A !important;
  display: block !important;
  line-height: 1.2 !important;
}
.card-modalita-info small {
  font-size: 0.8rem !important;
  color: #64748B !important;
  display: block !important;
  line-height: 1.3 !important;
}
.page-prenota .hero{padding:58px 0 50px;background:#081426;text-align:left}
.page-prenota .hero .container{max-width:980px}.page-prenota .hero h1{color:#fff;font-size:2.55rem}.page-prenota .hero p{color:#b8c4d3;max-width:680px}
.page-prenota main,.page-prenota .booking-wrap{max-width:980px;margin-left:auto;margin-right:auto}
.page-prenota .booking-step,.page-prenota .form-section{background:#fff;border:1px solid #dbe2ea;border-radius:9px;box-shadow:none}
.page-prenota label{font-size:.78rem;font-weight:700;color:#24344a}
.page-prenota input,.page-prenota select,.page-prenota textarea{background:#fbfcfd;border-color:#cfd8e3}
.page-prenota .card-modalita{border-width:1px!important;border-radius:8px!important;box-shadow:none!important}
.page-prenota .card-modalita.attivo{box-shadow:inset 3px 0 0 #c5a866!important}
@media(max-width:720px){.page-prenota .hero{padding:42px 0 36px}.page-prenota .hero h1{font-size:2rem}.page-prenota .box-modalita-grid{grid-template-columns:1fr!important}}

/* V89 semantic booking layout */
.page-prenota .booking-main{padding:50px 0 80px}.page-prenota .booking-container{max-width:820px}.page-prenota .booking-alert{padding:20px;font-size:1rem;margin-bottom:28px;display:block}.page-prenota .booking-success-title{margin:0 0 6px;color:#065f46;font-size:1.2rem}.page-prenota .booking-card-pad{padding:36px 32px}.page-prenota .booking-card-head{display:flex;align-items:center;gap:14px;margin-bottom:24px;border-bottom:1px solid var(--border);padding-bottom:18px}.page-prenota .booking-card-title{font-size:1.28rem;margin:0;color:var(--primary)}.page-prenota .booking-control-lg{font-size:.95rem!important;padding:12px!important}
.page-prenota .booking-step{position:relative;overflow:hidden}.page-prenota .booking-step:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#c5a866}.page-prenota .form-group{margin-bottom:18px}.page-prenota .btn-primary,.page-prenota .btn-gold{min-height:44px}
@media(max-width:720px){.page-prenota .booking-main{padding:34px 0 70px}.page-prenota .booking-card-pad{padding:25px 20px}.page-prenota .booking-card-head{align-items:flex-start}}

/* V110 — calendario appuntamenti: date non disponibili grigie e non selezionabili */
.page-prenota .booking-date-group{min-width:0}
.page-prenota .stm-calendar{border:1px solid #d6dee8;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 3px 14px rgba(15,23,42,.05)}
.page-prenota .stm-calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;padding:11px 12px;border-bottom:1px solid #e4e9ef;background:#f8fafc;text-align:center}
.page-prenota .stm-calendar-head strong{font-size:.94rem;color:#0f172a;font-weight:750}
.page-prenota .stm-calendar-nav{width:34px;height:34px;border:1px solid #d6dee8;border-radius:8px;background:#fff;color:#0f172a;font-size:1.35rem;line-height:1;cursor:pointer;padding:0}
.page-prenota .stm-calendar-nav:hover{border-color:#c5a866;background:#fcfbf8}
.page-prenota .stm-calendar-weekdays,.page-prenota .stm-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:8px 10px}
.page-prenota .stm-calendar-weekdays{padding-bottom:2px;color:#64748b;font-size:.69rem;font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:.02em}
.page-prenota .stm-cal-empty{aspect-ratio:1/1}
.page-prenota .stm-cal-day{aspect-ratio:1/1;border:1px solid transparent;border-radius:8px;background:#fff;color:#172033;font-weight:650;font-size:.82rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:border-color .15s,background .15s,color .15s}
.page-prenota .stm-cal-day:not(:disabled):hover{border-color:#c5a866;background:#fcfbf8}
.page-prenota .stm-cal-day.is-selected{background:#0f172a;color:#fff;border-color:#0f172a}
.page-prenota .stm-cal-day.is-disabled,.page-prenota .stm-cal-day:disabled{background:#eef1f4!important;color:#a5adb8!important;border-color:#e4e8ed!important;cursor:not-allowed!important;opacity:1;text-decoration:none}
.page-prenota #ora-appuntamento option:disabled{color:#a5adb8}
@media(max-width:520px){.page-prenota .stm-calendar-weekdays,.page-prenota .stm-calendar-grid{gap:3px;padding-left:7px;padding-right:7px}.page-prenota .stm-cal-day{font-size:.78rem;border-radius:7px}}
