/* ORIGO / PRENOTA V22 — clear booking, consistent with the Servizi marketplace.
   Presentation only: app.js availability, slot hold, booking form and Stripe stay intact. */
body.page-prenota .booking-wizard-v9{
  background:#f8f7f1!important;padding:0 0 54px!important;height:auto!important;
  min-height:0!important;overflow:visible!important;display:block!important;
}
body.page-prenota .booking-v9-head{
  box-sizing:border-box!important;width:min(calc(100% - 44px),1100px)!important;
  max-width:1100px!important;padding:29px 0 19px!important;margin:0 auto!important;
  text-align:left!important;
}
body.page-prenota .booking-v9-head .eyebrow{
  color:#677553!important;font-size:10px!important;font-weight:800!important;
  letter-spacing:.14em!important;
}
body.page-prenota .booking-v9-head h1{
  color:#212720!important;font-size:clamp(35px,3.8vw,52px)!important;
  line-height:1.1!important;letter-spacing:-.055em!important;
  margin:10px 0 9px!important;font-weight:780!important;
}
body.page-prenota .booking-v9-head p{
  color:#646b60!important;font-size:14px!important;line-height:1.55!important;
  max-width:760px!important;margin:0!important;
}
/* Step indicator is unnecessary here: the user sees sessions, then day/time and details in place. */
body.page-prenota .booking-v9-progress{display:none!important}
body.page-prenota .booking-v9-shell{
  box-sizing:border-box!important;max-width:1100px!important;
  width:min(calc(100% - 44px),1100px)!important;
  grid-template-columns:minmax(0,1fr) 310px!important;
  gap:17px!important;min-height:0!important;
  align-items:start!important;
}
body.page-prenota .origo-booking-flow{gap:13px!important}
body.page-prenota .booking-v9-card{
  border:1px solid #dedfd7!important;border-radius:16px!important;
  padding:22px!important;background:#fffefa!important;
  box-shadow:0 7px 23px rgba(31,42,27,.025)!important;
}
body.page-prenota .booking-v9-stage-head{
  gap:4px!important;margin:0 0 15px!important;
}
body.page-prenota .booking-v9-stage-head .eyebrow{
  color:#718064!important;letter-spacing:.1em!important;font-size:10px!important;
}
body.page-prenota .booking-v9-stage-head h2{
  color:#242923!important;font-size:clamp(22px,2.3vw,28px)!important;
  letter-spacing:-.045em!important;line-height:1.2!important;margin:4px 0!important;
}
body.page-prenota .booking-v9-stage-head p{
  color:#7b8074!important;font-size:11px!important;line-height:1.5!important;
  max-width:560px!important;
}
body.page-prenota .booking-v9-services{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;
}
body.page-prenota .booking-wizard-v9 .booking-service{
  min-height:178px!important;padding:16px!important;border-radius:13px!important;
  background:#fff!important;border:1px solid #dfe1d9!important;
  color:#20271f!important;box-shadow:none!important;
}
body.page-prenota .booking-wizard-v9 .booking-service:not(.is-active):hover{
  border-color:#8b9a78!important;background:#fbfcf8!important;
}
body.page-prenota .booking-wizard-v9 .booking-service.is-active{
  background:#f0f3e9!important;border-color:#687753!important;
  box-shadow:inset 0 0 0 1px #687753!important;color:#1d2619!important;
}
body.page-prenota .booking-v9-service-name{
  font-size:14px!important;line-height:1.22!important;color:inherit!important;
}
body.page-prenota .booking-v9-price{
  background:#f3f4ef!important;color:#293224!important;
  font-size:14px!important;font-weight:800!important;
  padding:3px 5px!important;
}
body.page-prenota .booking-service.is-active .booking-v9-price{
  background:#dce6cf!important;color:#25331f!important;
}
body.page-prenota .booking-v9-time{margin:15px 0 8px!important;gap:5px!important}
body.page-prenota .booking-v9-time strong{
  font-size:29px!important;line-height:1!important;color:inherit!important;
}
body.page-prenota .booking-v9-time span,
body.page-prenota .booking-service.is-active .booking-v9-time span{
  font-size:11px!important;color:#727b6a!important;
}
body.page-prenota .booking-wizard-v9 .booking-service p,
body.page-prenota .booking-wizard-v9 .booking-service.is-active p{
  color:#697165!important;font-size:11px!important;line-height:1.45!important;
  min-height:0!important;padding-right:0!important;
}
body.page-prenota .booking-v12-features,
body.page-prenota .origo-booking-card-label,
body.page-prenota .origo-booking-dedicated-block{display:none!important}
body.page-prenota .origo-booking-legacy-dedicated{
  position:absolute!important;width:1px!important;height:1px!important;
  overflow:hidden!important;clip-path:inset(50%)!important;
  white-space:nowrap!important;margin:0!important;padding:0!important;
  border:0!important;pointer-events:none!important;
}
body.page-prenota .origo-booking-package-hint{
  display:flex;gap:8px 14px;align-items:center;justify-content:space-between;
  margin-top:15px;color:#727a6b;font-size:12px;flex-wrap:wrap;
}
body.page-prenota .origo-booking-package-hint a{
  color:#5c6d48;font-weight:750;text-decoration:none;
  text-underline-offset:3px;
}
body.page-prenota .origo-booking-package-hint a:hover{text-decoration:underline}
body.page-prenota .origo-booking-aside{
  position:sticky!important;top:85px!important;
  background:#f1f3ec!important;color:#243021!important;
  border:1px solid #d8decf!important;border-radius:16px!important;
  box-shadow:none!important;
}
body.page-prenota .origo-booking-aside-inner{padding:21px!important}
body.page-prenota .origo-booking-aside-eyebrow{
  color:#6f7c5b!important;font-size:10px!important;letter-spacing:.12em!important;
}
body.page-prenota .origo-booking-aside h2{
  color:#1f271c!important;font-size:22px!important;
  margin:6px 0 17px!important;line-height:1.15!important;
}
body.page-prenota .origo-booking-aside-line{
  border-top:1px solid #d9dece!important;padding:11px 0!important;
  color:#263023!important;
}
body.page-prenota .origo-booking-aside-line span{color:#6e7969!important}
body.page-prenota .origo-booking-aside-line strong{color:#283322!important}
body.page-prenota .origo-booking-when{
  margin:9px 0 12px!important;background:#fffefa!important;
  border:1px solid #b9c3ae!important;border-radius:11px!important;
}
body.page-prenota .origo-booking-when button{background:#fffefa!important}
body.page-prenota .origo-booking-when button:hover{background:#f0f4e9!important}
body.page-prenota .origo-booking-aside-total{
  border-top:1px solid #cdd5c5!important;padding:14px 0 15px!important;margin:0!important;
}
body.page-prenota .origo-booking-aside-total span{color:#64715f!important}
body.page-prenota .origo-booking-aside-total strong{
  color:#242e20!important;font-size:29px!important;
}
body.page-prenota .origo-booking-aside-action{
  background:#687753!important;color:#fff!important;border-radius:10px!important;
  font-size:12px!important;min-height:48px!important;
}
body.page-prenota .origo-booking-aside-action:hover{background:#52623f!important}
body.page-prenota .origo-booking-aside-action:focus-visible{outline:3px solid #84966d!important}
body.page-prenota .origo-booking-aside-note{
  color:#697465!important;margin:10px 0 14px!important;
}
body.page-prenota .origo-booking-aside-trust{
  color:#6d7969!important;font-size:10px!important;margin:6px 0!important;
}
body.page-prenota .origo-booking-aside-trust span{color:#687753!important}
body.page-prenota .booking-v9-stage[data-booking-stage="3"] .booking-v9-card{
  background:#fffefa!important;
}
body.page-prenota .booking-v10-form-block,
body.page-prenota .booking-v10-more{border-color:#dfe2d7!important;border-radius:13px!important}
body.page-prenota .booking-v9-grid input:focus,
body.page-prenota .booking-v9-grid select:focus,
body.page-prenota .booking-v9-grid textarea:focus{border-color:#687753!important;box-shadow:0 0 0 3px #6877531a!important}
/* Keep the original modal and slot logic; visually match selected state to ORIGO olive. */
body.page-prenota .booking-v11-date.is-selected,
body.page-prenota .booking-v11-time.booking-v13-time-row.is-selected{
  background:#687753!important;border-color:#687753!important;color:#fff!important;
}
body.page-prenota .booking-v11-date.is-selected .dot{background:#fff!important}
body.page-prenota .booking-v11-month-nav button:focus-visible,
body.page-prenota .booking-v11-date:focus-visible,
body.page-prenota .booking-v11-time:focus-visible{outline:2px solid #687753;outline-offset:2px}
@media(max-width:930px){
 body.page-prenota .booking-v9-shell{grid-template-columns:minmax(0,1fr)!important}
 body.page-prenota .origo-booking-aside{position:static!important;top:auto!important}
 body.page-prenota .booking-wizard-v9 .booking-service{min-height:165px!important}
}
@media(max-width:620px){
 body.page-prenota .booking-wizard-v9{padding-bottom:33px!important}
 body.page-prenota .booking-v9-head{
   width:calc(100% - 32px)!important;padding:23px 0 18px!important;
 }
 body.page-prenota .booking-v9-head h1{font-size:36px!important;max-width:360px!important}
 body.page-prenota .booking-v9-head p{font-size:13px!important}
 body.page-prenota .booking-v9-shell{width:calc(100% - 28px)!important;gap:13px!important}
 body.page-prenota .booking-v9-card{padding:17px!important}
 body.page-prenota .booking-v9-services{grid-template-columns:1fr!important;gap:9px!important}
 body.page-prenota .booking-wizard-v9 .booking-service{
   min-height:0!important;display:grid!important;
   grid-template-columns:1fr auto!important;column-gap:10px!important;
   padding:13px 15px!important;
 }
 body.page-prenota .booking-v9-service-top{grid-column:1/-1!important}
 body.page-prenota .booking-v9-time{grid-column:1!important;margin:8px 0 0!important}
 body.page-prenota .booking-wizard-v9 .booking-service p{
   grid-column:1/-1!important;margin:6px 0 0!important;
 }
 body.page-prenota .origo-booking-package-hint{margin-top:13px;font-size:11px}
 body.page-prenota .origo-booking-aside-inner{padding:18px!important}
 body.page-prenota .booking-v9-stage-head h2{font-size:22px!important}
}
