/* Versora Persian booking UX — v3.6.0
 * Phase 4: Persian + isolated RTL
 * Phase 5: booking-flow UX refinement
 * Phase 6: calendar/time-slot refinement
 */
.snh-booking--fa{
  direction:rtl!important;
  text-align:right!important;
  font-family:IRANYekan,"IRANYekanX","Vazirmatn",Tahoma,Arial,sans-serif!important;
  font-feature-settings:"ss01" 1,"ss02" 1;
}
.snh-booking--fa *{letter-spacing:0!important}
.snh-booking--fa .snh-versora-cover{direction:rtl!important}
.snh-booking--fa .snh-versora-cover__content{text-align:right!important}
.snh-booking--fa .snh-booking__eyebrow{letter-spacing:0!important;font-weight:800!important}
.snh-booking--fa .snh-versora-cover__meta{justify-content:flex-start!important}
.snh-booking--fa .snh-progress{direction:rtl!important}
.snh-booking--fa .snh-progress li{justify-content:flex-start!important}
.snh-booking--fa .snh-meeting-card{text-align:right!important}
.snh-booking--fa .snh-meeting-card strong{padding-right:0!important;padding-left:34px!important}
.snh-booking--fa .snh-meeting-card__check{right:auto!important;left:14px!important}
.snh-booking--fa .snh-fields label{text-align:right!important}
.snh-booking--fa input[type="email"],
.snh-booking--fa input[type="tel"],
.snh-booking--fa input[name="telegram"]{direction:ltr!important;text-align:left!important}
.snh-booking--fa input[name="name"],
.snh-booking--fa input[name="company"],
.snh-booking--fa textarea,
.snh-booking--fa select{direction:rtl!important;text-align:right!important}
.snh-booking--fa .snh-consent{align-items:flex-start!important;text-align:right!important}
.snh-booking--fa .snh-consent input{flex:0 0 auto!important;margin:3px 0 0 8px!important}
.snh-booking--fa .snh-form__actions{justify-content:flex-start!important;direction:rtl!important}
.snh-booking--fa .snh-review{text-align:right!important}
.snh-booking--fa .snh-review dl>div{border-right:0!important;border-left:1px solid var(--snh-line)!important}
.snh-booking--fa .snh-review dl>div:nth-child(even){border-left:0!important}
.snh-booking--fa .snh-review .is-wide{border-left:0!important}
.snh-booking--fa .snh-review dt{text-transform:none!important;letter-spacing:0!important}
.snh-booking--fa .snh-step--success{text-align:center!important}
.snh-booking--fa .snh-success-actions{direction:rtl!important}

/* Step context makes each stage self-explanatory without adding visual noise. */
.snh-step-head{
  display:grid;
  gap:5px;
  margin:0 0 18px;
  padding:0 2px;
}
.snh-step-head>span{
  color:var(--snh-yellow)!important;
  font-size:11px!important;
  font-weight:850!important;
}
.snh-step-head h3{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(19px,2.2vw,25px)!important;
  font-weight:900!important;
  line-height:1.45!important;
}
.snh-step-head p{
  margin:0!important;
  color:#929dab!important;
  font-size:12.5px!important;
  line-height:1.8!important;
}
.snh-contact-note{margin-top:2px!important}

/* Progress becomes a clear RTL flow while keeping all four steps visible. */
.snh-booking--fa .snh-progress li{
  position:relative;
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
}
.snh-booking--fa .snh-progress li.is-complete{
  border-color:rgba(255,177,22,.18)!important;
  background:rgba(255,177,22,.035)!important;
}
.snh-booking--fa .snh-progress li.is-complete span::before{content:"✓";font-size:12px}
.snh-booking--fa .snh-progress li.is-complete span{font-size:0!important}

/* Calendar: Persian weekday order (Saturday → Friday), premium status hierarchy. */
.snh-booking--fa .snh-timezone{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:12px!important;
  padding:11px 13px!important;
  border:1px solid rgba(255,177,22,.12)!important;
  border-radius:12px!important;
  background:rgba(255,177,22,.035)!important;
}
.snh-booking--fa .snh-timezone span{color:#9ba5b2!important}
.snh-booking--fa .snh-timezone strong{color:#f2c35e!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;font-size:11px!important}
.snh-booking--fa .snh-calendar{overflow:hidden!important;border-radius:20px!important}
.snh-booking--fa .snh-calendar__toolbar{
  direction:ltr!important;
  min-height:62px!important;
  padding:10px 12px!important;
  border-bottom:1px solid rgba(255,255,255,.065)!important;
}
.snh-booking--fa .snh-calendar__month{
  color:#fff!important;
  font-size:16px!important;
  font-weight:900!important;
  text-align:center!important;
}
.snh-booking--fa .snh-calendar__nav{
  width:38px!important;
  height:38px!important;
  padding:0!important;
  border-radius:11px!important;
  font-size:24px!important;
  line-height:1!important;
}
.snh-booking--fa .snh-calendar__weekdays{
  direction:rtl!important;
  padding:11px 12px 6px!important;
  color:#788391!important;
  font-size:11px!important;
  font-weight:800!important;
}
.snh-booking--fa .snh-calendar__grid{direction:rtl!important;padding:6px 12px 14px!important;gap:6px!important}
.snh-booking--fa .snh-calendar__day{
  position:relative!important;
  min-height:46px!important;
  border-radius:12px!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:800!important;
}
.snh-booking--fa .snh-calendar__day.is-unavailable{opacity:.36!important;filter:saturate(.2)}
.snh-booking--fa .snh-calendar__day.is-available:not(.is-selected){
  border-color:rgba(255,255,255,.095)!important;
  background:linear-gradient(150deg,#19212b,#141b24)!important;
}
.snh-booking--fa .snh-calendar__day i{
  right:50%!important;
  bottom:5px!important;
  width:4px!important;
  height:4px!important;
  transform:translateX(50%)!important;
  box-shadow:0 0 10px rgba(255,177,22,.5)!important;
}
.snh-booking--fa .snh-calendar__day.is-selected i{background:#111!important;box-shadow:none!important}
.snh-booking--fa .snh-calendar__day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px rgba(255,177,22,.24)!important}
.snh-booking--fa .snh-calendar__hint{
  margin:0 12px 14px!important;
  padding:11px 13px!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.025)!important;
  color:#8f9aa8!important;
  font-size:11.5px!important;
  line-height:1.7!important;
  text-align:center!important;
}
.snh-booking--fa .snh-calendar__times{
  margin:0!important;
  padding:14px 12px 16px!important;
  border-top:1px solid rgba(255,255,255,.065)!important;
  background:linear-gradient(180deg,rgba(255,177,22,.025),rgba(255,255,255,.008))!important;
}
.snh-booking--fa .snh-calendar__times-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:12px!important;
  text-align:right!important;
}
.snh-booking--fa .snh-calendar__times-head>div{display:grid!important;gap:3px!important}
.snh-booking--fa .snh-calendar__times-head span{color:#8d98a6!important;font-size:10.5px!important}
.snh-booking--fa .snh-calendar__times-head strong{color:#fff!important;font-size:13px!important}
.snh-booking--fa .snh-calendar__times-head button{min-height:34px!important;padding:7px 10px!important;border-radius:9px!important;font-family:inherit!important;font-size:10px!important}
.snh-booking--fa .snh-calendar__slots{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.snh-booking--fa .snh-slot{min-width:0!important}
.snh-booking--fa .snh-slot span{
  display:grid!important;
  gap:3px!important;
  min-height:62px!important;
  place-content:center!important;
  border-radius:12px!important;
  text-align:center!important;
}
.snh-booking--fa .snh-slot strong{font-size:15px!important;font-weight:900!important}
.snh-booking--fa .snh-slot small{display:flex!important;justify-content:center!important;gap:4px!important;font-size:9.5px!important}
.snh-booking--fa .snh-slot small b{font:inherit!important;font-weight:700!important}

/* Validation and actions */
.snh-booking--fa .snh-form__error{text-align:right!important;line-height:1.7!important}
.snh-booking--fa .snh-button{font-family:inherit!important}
.snh-booking--fa .snh-button--primary::after{content:"←";margin-right:8px;font:900 16px/1 Arial,sans-serif}
.snh-booking--fa [data-snh-submit].snh-button--primary::after{content:"✓"}
.snh-booking--fa .snh-success-actions .snh-button--primary::after{content:"↗"}

@media(max-width:760px){
  .snh-modal__close{right:auto!important;left:12px!important}
  .snh-booking--fa .snh-versora-cover__mark{direction:ltr!important}
  .snh-booking--fa .snh-progress{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .snh-booking--fa .snh-progress li{font-size:0!important;justify-content:center!important}
  .snh-booking--fa .snh-progress li span{font-size:11px!important}
  .snh-booking--fa .snh-progress li.is-complete span{font-size:0!important}
  .snh-step-head{margin-bottom:14px!important;padding:0 1px!important}
  .snh-step-head h3{font-size:19px!important}
  .snh-step-head p{font-size:11.5px!important}
  .snh-booking--fa .snh-calendar__slots{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .snh-booking--fa .snh-calendar__day{min-height:42px!important;border-radius:10px!important}
  .snh-booking--fa .snh-timezone{align-items:flex-start!important;flex-direction:column!important;gap:4px!important}
  .snh-booking--fa .snh-form__actions{direction:rtl!important}
}
@media(max-width:360px){
  .snh-booking--fa .snh-calendar__grid{gap:4px!important;padding-right:8px!important;padding-left:8px!important}
  .snh-booking--fa .snh-calendar__weekdays{padding-right:8px!important;padding-left:8px!important}
  .snh-booking--fa .snh-calendar__day{min-height:38px!important;font-size:11px!important}
  .snh-booking--fa .snh-calendar__slots{grid-template-columns:1fr 1fr!important;gap:6px!important}
}

/* v3.7.0 — Mobile matrix hardening: 320 / 360 / 375 / 390 / 412 / 480 / 768 */
.snh-modal,.snh-modal *,.snh-inline-booking,.snh-inline-booking *{max-inline-size:100%;box-sizing:border-box}
.snh-modal__dialog,.snh-booking,.snh-step,.snh-fields,.snh-meeting-grid,.snh-calendar,.snh-calendar__grid,.snh-calendar__slots,.snh-review{min-width:0}
.snh-modal__dialog{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.snh-booking--fa img{max-width:100%;height:auto}
.snh-booking--fa input,.snh-booking--fa textarea,.snh-booking--fa select,.snh-booking--fa button{max-width:100%}
.snh-booking--fa input[type=email],.snh-booking--fa input[type=tel],.snh-booking--fa input[name=telegram]{direction:ltr;text-align:left}
.snh-booking--fa .snh-review dd,.snh-booking--fa .snh-step-head p,.snh-booking--fa .snh-contact-note span,.snh-booking--fa .snh-versora-cover__content>p{overflow-wrap:anywhere}

@media(max-width:768px){
  html.snh-modal-open,body.snh-modal-open{overflow:hidden!important;touch-action:none}
  .snh-modal{padding:0!important;align-items:end!important;justify-items:center!important}
  .snh-modal__dialog{width:100vw!important;max-width:100vw!important;height:auto!important;max-height:calc(100dvh - env(safe-area-inset-top))!important;margin:0!important;border-radius:24px 24px 0 0!important;overflow-x:hidden!important;overflow-y:auto!important}
  .snh-booking{width:100%!important;padding:12px 12px max(18px,env(safe-area-inset-bottom))!important}
  .snh-booking--fa .snh-versora-cover__visual{min-height:clamp(150px,38vw,210px)!important}
  .snh-booking--fa .snh-versora-cover__photo{width:100%!important;height:100%!important;object-fit:cover!important}
  .snh-booking--fa .snh-versora-cover__content{padding:18px 16px 20px!important}
  .snh-booking--fa .snh-versora-cover h2{font-size:clamp(28px,8.5vw,40px)!important;line-height:1.08!important}
  .snh-booking--fa .snh-versora-cover__content>p{font-size:12px!important;line-height:1.8!important}
  .snh-booking--fa .snh-versora-cover__meta{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
  .snh-booking--fa .snh-versora-cover__meta span{flex:0 1 auto!important;white-space:normal!important}
  .snh-progress{width:100%;overflow:hidden}
  .snh-progress li{min-width:0!important}
  .snh-meeting-grid{grid-template-columns:1fr!important}
  .snh-fields{grid-template-columns:1fr!important}
  .snh-field--full{grid-column:auto!important}
  .snh-booking--fa input[type=text],.snh-booking--fa input[type=email],.snh-booking--fa input[type=tel],.snh-booking--fa textarea,.snh-booking--fa select{font-size:16px!important;min-height:48px!important}
  .snh-booking--fa .snh-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr))!important}
  .snh-booking--fa .snh-calendar__weekdays{grid-template-columns:repeat(7,minmax(0,1fr))!important}
  .snh-booking--fa .snh-review dl{grid-template-columns:1fr!important}
  .snh-booking--fa .snh-review dl>div{grid-column:auto!important;border-right:0!important}
  .snh-form__actions{position:sticky!important;z-index:15;bottom:calc(-1 * max(18px,env(safe-area-inset-bottom)))!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .snh-form__actions .snh-button{width:100%!important;min-width:0!important;padding-inline:10px!important}
  .snh-form__actions .snh-button:only-child{grid-column:1/-1!important}
  .snh-success-actions{display:grid!important;grid-template-columns:1fr!important}.snh-success-actions .snh-button{width:100%!important;min-width:0!important}
}

@media(max-width:600px){
  .snh-widget{max-width:min(var(--snh-mobile-width),calc(100vw - 16px))!important}
  .snh-widget--left{left:max(8px,env(safe-area-inset-left))!important}.snh-widget--right{right:max(8px,env(safe-area-inset-right))!important}
  .snh-widget{bottom:max(8px,env(safe-area-inset-bottom))!important}
  .snh-booking--fa .snh-calendar__slots{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .snh-booking--fa .snh-calendar__toolbar{padding-inline:8px!important}.snh-booking--fa .snh-calendar__grid,.snh-booking--fa .snh-calendar__weekdays{padding-inline:8px!important}
  .snh-booking--fa .snh-calendar__day{min-width:0!important;padding-inline:2px!important}
}

@media(max-width:480px){
  .snh-modal__dialog{border-radius:20px 20px 0 0!important}
  .snh-modal__close{top:9px!important;left:9px!important;right:auto!important;width:36px!important;height:36px!important;font-size:22px!important}
  .snh-booking{padding-inline:9px!important}
  .snh-booking__header.snh-versora-cover{border-radius:16px!important}
  .snh-booking--fa .snh-versora-cover__visual{min-height:145px!important}
  .snh-booking--fa .snh-versora-cover__mark{right:9px!important;left:9px!important;bottom:9px!important}
  .snh-booking--fa .snh-versora-cover__content{padding:17px 13px 18px!important}
  .snh-booking--fa .snh-versora-cover__meta span{font-size:7.5px!important;padding:5px 7px!important}
  .snh-progress{margin:9px 0 13px!important}
  .snh-progress li{min-height:36px!important;padding:5px 2px!important}.snh-progress span{width:22px!important;height:22px!important}
  .snh-step-head h3{font-size:18px!important}.snh-step-head p{line-height:1.75!important}
  .snh-meeting-card{min-height:128px!important;padding:15px!important}
  .snh-contact-note{padding:12px!important}
  .snh-booking--fa .snh-calendar__month{font-size:14px!important}
  .snh-booking--fa .snh-calendar__day{min-height:40px!important;font-size:11px!important}
  .snh-booking--fa .snh-calendar__slots{gap:6px!important}.snh-booking--fa .snh-slot span{min-height:56px!important}
  .snh-review dl>div{padding:14px!important}
  .snh-form__actions{margin-inline:-9px!important;padding-inline:9px!important}
}

@media(max-width:412px){
  .snh-booking--fa .snh-versora-cover__meta span:nth-child(3){display:none!important}
  .snh-booking--fa .snh-calendar__weekdays span{font-size:8px!important}
  .snh-booking--fa .snh-calendar__grid{gap:4px!important}
  .snh-booking--fa .snh-calendar__day{min-height:38px!important;border-radius:9px!important}
  .snh-booking--fa .snh-slot strong{font-size:14px!important}
}

@media(max-width:375px){
  .snh-booking--fa .snh-versora-cover__visual{min-height:132px!important}
  .snh-booking--fa .snh-versora-cover h2{font-size:27px!important}
  .snh-booking--fa .snh-versora-cover__mark strong{font-size:10px!important}
  .snh-booking--fa .snh-calendar__toolbar{min-height:54px!important}
  .snh-booking--fa .snh-calendar__nav{width:34px!important;height:34px!important}
  .snh-form__actions{grid-template-columns:1fr!important}.snh-form__actions .snh-button{grid-column:auto!important}
}

@media(max-width:340px){
  .snh-booking{padding-inline:7px!important}
  .snh-booking--fa .snh-versora-cover__content{padding-inline:11px!important}
  .snh-booking--fa .snh-versora-cover__meta span:nth-child(2){display:none!important}
  .snh-booking--fa .snh-calendar__grid,.snh-booking--fa .snh-calendar__weekdays{padding-inline:5px!important;gap:3px!important}
  .snh-booking--fa .snh-calendar__day{min-height:36px!important;font-size:10px!important}
  .snh-booking--fa .snh-calendar__slots{grid-template-columns:1fr!important}
  .snh-form__actions{margin-inline:-7px!important;padding-inline:7px!important}
}


/* v3.9.0 — RTL ordering and compact modal polish */
.snh-booking--fa .snh-booking__header.snh-versora-cover{direction:rtl!important}
.snh-booking--fa .snh-versora-cover__content{text-align:right!important}
.snh-booking--fa .snh-versora-cover__visual{border-left:0!important;border-right:1px solid rgba(255,255,255,.075)!important}
.snh-booking--fa .snh-versora-cover__top-badge{right:auto!important;left:14px!important}
.snh-booking--fa .snh-versora-cover__mark{direction:ltr!important}
.snh-booking--fa .snh-versora-cover__mark span{justify-items:start!important}
.snh-booking--fa .snh-versora-cover__highlights{direction:rtl!important}
.snh-booking--fa .snh-versora-cover__highlights>span{text-align:right!important}
.snh-booking--fa .snh-progress li{white-space:normal!important}
@media(max-width:980px){.snh-booking--fa .snh-versora-cover__visual{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.075)!important}.snh-booking--fa .snh-versora-cover__top-badge{left:11px!important}}
@media(max-width:760px){.snh-booking--fa .snh-versora-cover__top-badge{font-size:8.5px!important;left:11px!important}.snh-booking--fa .snh-versora-cover__mark{right:11px!important;left:11px!important;bottom:11px!important}.snh-booking--fa .snh-progress li{justify-content:center!important}}

/* ======================================================================
 * v4.0.0 — viewport-fit modal system / phases 5–8
 * One-piece dialog, zero page/modal scrolling, compact step-aware cover.
 * ====================================================================== */
html.snh-modal-open,
body.snh-modal-open{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  max-width:100%!important;
}
.snh-modal{
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  width:100vw!important;
  height:100dvh!important;
  padding:10px!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
.snh-modal__backdrop{
  inset:-2px!important;
  background:
    radial-gradient(circle at 76% 14%,rgba(255,184,0,.14),transparent 26%),
    radial-gradient(circle at 12% 88%,rgba(255,184,0,.07),transparent 24%),
    rgba(3,6,10,.84)!important;
  backdrop-filter:blur(18px) saturate(112%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(112%)!important;
}
.snh-modal__dialog{
  position:relative!important;
  width:min(1160px,calc(100vw - 20px))!important;
  max-width:min(1160px,calc(100vw - 20px))!important;
  max-height:calc(100dvh - 20px)!important;
  margin:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  scrollbar-width:none!important;
  border:1px solid rgba(255,190,54,.24)!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 95% 0%,rgba(255,184,0,.055),transparent 31%),
    linear-gradient(155deg,#101720 0%,#0b1017 52%,#090d13 100%)!important;
  box-shadow:0 42px 110px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.025) inset!important;
  contain:layout paint!important;
}
.snh-modal__dialog::-webkit-scrollbar{display:none!important}
.snh-modal__close{
  top:12px!important;
  right:auto!important;
  left:12px!important;
  display:grid!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:13px!important;
  background:rgba(9,13,19,.72)!important;
  color:#fff!important;
  box-shadow:0 10px 25px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.05)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  font-size:22px!important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease!important;
}
.snh-modal__close:hover{
  transform:translateY(-1px) rotate(3deg)!important;
  border-color:rgba(255,184,0,.55)!important;
  background:rgba(255,184,0,.10)!important;
  color:#ffd35a!important;
}
.snh-modal__close:focus-visible{
  outline:3px solid rgba(255,184,0,.28)!important;
  outline-offset:2px!important;
}

.snh-modal .snh-booking{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:14px!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr)!important;
  gap:8px!important;
  overflow:hidden!important;
}
.snh-modal .snh-booking *,
.snh-modal .snh-form,
.snh-modal .snh-step,
.snh-modal .snh-progress,
.snh-modal .snh-fields,
.snh-modal .snh-meeting-grid,
.snh-modal .snh-calendar,
.snh-modal .snh-calendar__grid,
.snh-modal .snh-calendar__slots,
.snh-modal .snh-review{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Cover: full on the first step, compact branded rail afterwards. */
.snh-modal .snh-booking__header.snh-versora-cover{
  min-height:0!important;
  height:158px!important;
  grid-template-columns:minmax(0,1.42fr) minmax(260px,.58fr)!important;
  border-radius:20px!important;
  overflow:hidden!important;
  transition:height .22s ease,grid-template-columns .22s ease!important;
}
.snh-modal .snh-versora-cover__content{
  min-width:0!important;
  padding:18px 22px!important;
  justify-content:center!important;
}
.snh-modal .snh-versora-cover .snh-booking__eyebrow{
  margin:0 0 7px!important;
  padding:5px 9px!important;
  font-size:8.5px!important;
  line-height:1.2!important;
}
.snh-modal .snh-versora-cover h2{
  max-width:none!important;
  margin:0 0 7px!important;
  font-size:clamp(27px,3.15vw,42px)!important;
  line-height:1.02!important;
}
.snh-modal .snh-versora-cover__content>p{
  display:-webkit-box!important;
  max-width:650px!important;
  margin:0!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  font-size:11.5px!important;
  line-height:1.65!important;
}
.snh-modal .snh-versora-cover__meta{
  margin-top:9px!important;
  gap:5px!important;
}
.snh-modal .snh-versora-cover__meta span{
  padding:5px 8px!important;
  font-size:8.5px!important;
  line-height:1.15!important;
}
.snh-modal .snh-versora-cover__highlights{display:none!important}
.snh-modal .snh-versora-cover__visual{
  min-height:0!important;
  height:158px!important;
  overflow:hidden!important;
}
.snh-modal .snh-versora-cover__photo{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 42%!important;
  transform:scale(1.015)!important;
}
.snh-modal .snh-versora-cover__top-badge{
  top:10px!important;
  left:10px!important;
  right:auto!important;
  padding:5px 8px!important;
  font-size:8px!important;
}
.snh-modal .snh-versora-cover__mark{
  right:10px!important;
  left:10px!important;
  bottom:9px!important;
  min-height:38px!important;
  padding:6px 9px!important;
  border-radius:12px!important;
}
.snh-modal .snh-versora-cover__mark img{width:28px!important;height:28px!important}
.snh-modal .snh-versora-cover__mark strong{font-size:10px!important}
.snh-modal .snh-versora-cover__mark small{font-size:6.5px!important}

.snh-modal .snh-booking--compact-cover .snh-booking__header.snh-versora-cover{
  height:68px!important;
  grid-template-columns:minmax(0,1fr) 220px!important;
}
.snh-modal .snh-booking--compact-cover .snh-versora-cover__content{padding:9px 16px!important}
.snh-modal .snh-booking--compact-cover .snh-versora-cover .snh-booking__eyebrow{margin-bottom:3px!important;padding:0!important;border:0!important;background:transparent!important;font-size:7.5px!important}
.snh-modal .snh-booking--compact-cover .snh-versora-cover h2{margin:0!important;font-size:22px!important;line-height:1.05!important}
.snh-modal .snh-booking--compact-cover .snh-versora-cover__content>p,
.snh-modal .snh-booking--compact-cover .snh-versora-cover__meta,
.snh-modal .snh-booking--compact-cover .snh-versora-cover__top-badge{display:none!important}
.snh-modal .snh-booking--compact-cover .snh-versora-cover__visual{height:68px!important}
.snh-modal .snh-booking--compact-cover .snh-versora-cover__mark{right:8px!important;left:8px!important;bottom:7px!important;min-height:32px!important;padding:4px 7px!important}
.snh-modal .snh-booking--compact-cover .snh-versora-cover__mark img{width:23px!important;height:23px!important}

/* Compact stepper — visually clear, never wider than the dialog. */
.snh-modal .snh-progress{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
  width:100%!important;
  height:38px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.snh-modal .snh-progress li{
  position:relative!important;
  min-width:0!important;
  min-height:38px!important;
  height:38px!important;
  justify-content:center!important;
  gap:6px!important;
  padding:5px 8px!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.022)!important;
  color:#818b99!important;
  font-size:10.5px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.snh-modal .snh-progress li span{
  flex:0 0 21px!important;
  width:21px!important;
  height:21px!important;
  font-size:9.5px!important;
}
.snh-modal .snh-progress li.is-active{
  border-color:rgba(255,184,0,.64)!important;
  background:linear-gradient(135deg,rgba(255,184,0,.13),rgba(255,184,0,.035))!important;
  color:#fff!important;
  box-shadow:0 0 0 1px rgba(255,184,0,.04) inset!important;
}
.snh-modal .snh-progress li.is-complete{color:#aab2bd!important}

/* Form skeleton — the active step owns only the remaining viewport area. */
.snh-modal .snh-form{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  overflow:hidden!important;
}
.snh-modal .snh-step{
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  overflow:hidden!important;
  animation:snhVersoraStepIn .18s ease both!important;
}
@keyframes snhVersoraStepIn{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}
.snh-modal .snh-step-head{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  grid-template-areas:"label title" "label copy"!important;
  align-items:center!important;
  column-gap:10px!important;
  row-gap:1px!important;
  min-height:42px!important;
  margin:0 0 7px!important;
  padding:0 1px!important;
}
.snh-modal .snh-step-head>span{
  grid-area:label!important;
  align-self:stretch!important;
  display:grid!important;
  place-items:center!important;
  min-width:72px!important;
  margin:0!important;
  padding:5px 8px!important;
  border:1px solid rgba(255,184,0,.20)!important;
  border-radius:11px!important;
  background:rgba(255,184,0,.055)!important;
  color:#ffc94e!important;
  font-size:8.5px!important;
  line-height:1.3!important;
  text-align:center!important;
}
.snh-modal .snh-step-head h3{
  grid-area:title!important;
  margin:0!important;
  font-size:18px!important;
  line-height:1.28!important;
}
.snh-modal .snh-step-head p{
  grid-area:copy!important;
  display:block!important;
  margin:0!important;
  color:#84909e!important;
  font-size:10.5px!important;
  line-height:1.4!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Step 1: dense, premium selection cards. */
.snh-modal .snh-meeting-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
}
.snh-modal .snh-meeting-card{
  min-height:96px!important;
  padding:12px 13px!important;
  border-radius:14px!important;
  background:linear-gradient(150deg,#151c25,#111720)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.snh-modal .snh-meeting-card:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(255,184,0,.42)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.03)!important;
}
.snh-modal .snh-meeting-card:has(input:checked){
  border-color:#ffb800!important;
  background:linear-gradient(145deg,rgba(255,184,0,.12),#141a22 70%)!important;
  box-shadow:0 0 0 1px rgba(255,184,0,.06) inset,0 10px 26px rgba(0,0,0,.12)!important;
}
.snh-modal .snh-meeting-card__check{top:10px!important;right:10px!important;width:21px!important;height:21px!important;font-size:11px!important}
.snh-modal .snh-meeting-card strong{padding-right:28px!important;font-size:13.5px!important;line-height:1.3!important}
.snh-modal .snh-meeting-card>span:not(.snh-meeting-card__check){
  display:-webkit-box!important;
  margin-top:5px!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  color:#8f9aa8!important;
  font-size:10.5px!important;
  line-height:1.45!important;
}
.snh-modal .snh-meeting-card small{padding-top:6px!important;font-size:8.5px!important}

/* Step 2: compact calendar. Once a day is selected, month grid collapses. */
.snh-modal .snh-timezone{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:24px!important;
  margin:0 0 5px!important;
  padding:3px 7px!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.018)!important;
  font-size:9px!important;
}
.snh-modal .snh-calendar{border-radius:15px!important;overflow:hidden!important}
.snh-modal .snh-calendar__toolbar{
  grid-template-columns:32px 1fr 32px!important;
  min-height:36px!important;
  gap:6px!important;
  padding:4px 8px!important;
}
.snh-modal .snh-calendar__month{font-size:13px!important}
.snh-modal .snh-calendar__nav{width:30px!important;height:30px!important;border-radius:9px!important;font-size:20px!important}
.snh-modal .snh-calendar__weekdays,.snh-modal .snh-calendar__grid{gap:4px!important}
.snh-modal .snh-calendar__weekdays{padding:7px 9px 2px!important}
.snh-modal .snh-calendar__weekdays span{font-size:7.5px!important}
.snh-modal .snh-calendar__grid{padding:3px 9px 8px!important}
.snh-modal .snh-calendar__blank,.snh-modal .snh-calendar__day{min-height:31px!important;height:31px!important}
.snh-modal .snh-calendar__day{padding:2px!important;border-radius:8px!important;font-size:10.5px!important}
.snh-modal .snh-calendar__day.is-today:after{inset:2px!important;border-radius:6px!important}
.snh-modal .snh-calendar__day i{right:3px!important;bottom:3px!important;width:3px!important;height:3px!important}
.snh-modal .snh-calendar__hint{min-height:28px!important;margin:0!important;padding:6px 9px!important;font-size:9px!important;line-height:1.5!important}
.snh-modal .snh-calendar__times-head{min-height:43px!important;padding:7px 10px 5px!important}
.snh-modal .snh-calendar__times-head span{margin-bottom:2px!important;font-size:7.5px!important}
.snh-modal .snh-calendar__times-head strong{font-size:11px!important}
.snh-modal .snh-calendar__times-head button{padding:5px 7px!important;border-radius:8px!important;font-size:8px!important}
.snh-modal .snh-calendar__slots{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:5px!important;
  padding:0 10px 9px!important;
  overflow:hidden!important;
}
.snh-modal .snh-calendar__slots .snh-slot span{
  min-height:43px!important;
  padding:5px 4px!important;
  border-radius:9px!important;
  gap:2px!important;
}
.snh-modal .snh-calendar__slots .snh-slot strong{font-size:11px!important}
.snh-modal .snh-calendar__slots .snh-slot small{font-size:7px!important}
.snh-modal .snh-calendar.is-date-selected .snh-calendar__toolbar,
.snh-modal .snh-calendar.is-date-selected .snh-calendar__weekdays,
.snh-modal .snh-calendar.is-date-selected .snh-calendar__grid,
.snh-modal .snh-calendar.is-date-selected .snh-calendar__hint{display:none!important}
.snh-modal .snh-calendar.is-date-selected .snh-calendar__times{border-top:0!important}

/* Step 3: all contact fields fit in a dense three-column matrix. */
.snh-modal .snh-contact-note{
  display:flex!important;
  align-items:center!important;
  min-height:38px!important;
  gap:8px!important;
  margin:0 0 6px!important;
  padding:7px 9px!important;
  border-radius:11px!important;
}
.snh-modal .snh-contact-note:before{flex:0 0 26px!important;width:26px!important;height:26px!important;border-radius:8px!important;font-size:12px!important}
.snh-modal .snh-contact-note strong{font-size:10.5px!important}
.snh-modal .snh-contact-note span{margin-top:1px!important;font-size:8.5px!important;line-height:1.35!important}
.snh-modal .snh-fields{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:5px 7px!important;
}
.snh-modal .snh-fields label{gap:3px!important;min-width:0!important}
.snh-modal .snh-fields label>span{font-size:9px!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.snh-modal .snh-field--full{grid-column:1/-1!important}
.snh-modal .snh-booking input[type=text],
.snh-modal .snh-booking input[type=email],
.snh-modal .snh-booking input[type=tel],
.snh-modal .snh-booking select{
  min-height:38px!important;
  height:38px!important;
  padding:7px 9px!important;
  border-radius:9px!important;
  font-size:11px!important;
}
.snh-modal .snh-booking textarea{
  min-height:48px!important;
  height:48px!important;
  max-height:48px!important;
  padding:7px 9px!important;
  border-radius:9px!important;
  resize:none!important;
  font-size:10.5px!important;
  line-height:1.35!important;
}

/* Step 4: three-column review, tightly packed. */
.snh-modal .snh-review{border-radius:14px!important;overflow:hidden!important}
.snh-modal .snh-review dl{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.snh-modal .snh-review dl>div{
  min-width:0!important;
  min-height:48px!important;
  padding:7px 9px!important;
  border-color:rgba(255,255,255,.065)!important;
}
.snh-modal .snh-review .is-wide{grid-column:1/-1!important}
.snh-modal .snh-review dt{margin-bottom:2px!important;font-size:7.5px!important;line-height:1.2!important}
.snh-modal .snh-review dd{
  display:-webkit-box!important;
  margin:0!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  font-size:10.5px!important;
  line-height:1.35!important;
}
.snh-modal .snh-consent{align-items:flex-start!important;gap:6px!important;margin:6px 1px 0!important;font-size:9px!important;line-height:1.45!important}
.snh-modal .snh-consent input{margin-top:1px!important}

/* Error and actions stay inside the panel, never create another scroll layer. */
.snh-modal .snh-form__error{
  min-height:0!important;
  margin:5px 0 0!important;
  padding:7px 9px!important;
  border-radius:9px!important;
  font-size:9px!important;
  line-height:1.35!important;
}
.snh-modal .snh-form__actions{
  position:static!important;
  z-index:auto!important;
  display:flex!important;
  justify-content:flex-start!important;
  gap:6px!important;
  min-height:40px!important;
  margin:7px 0 0!important;
  padding:0!important;
  background:transparent!important;
}
.snh-modal .snh-form__actions .snh-button{
  width:auto!important;
  min-width:126px!important;
  min-height:40px!important;
  height:40px!important;
  padding:8px 14px!important;
  border-radius:10px!important;
  font-size:10.5px!important;
  box-shadow:none!important;
  transition:transform .16s ease,filter .16s ease,border-color .16s ease!important;
}
.snh-modal .snh-form__actions .snh-button:hover{transform:translateY(-1px)!important;filter:brightness(1.035)!important}
.snh-modal .snh-button:focus-visible,
.snh-modal input:focus-visible,
.snh-modal textarea:focus-visible,
.snh-modal select:focus-visible{
  outline:3px solid rgba(255,184,0,.20)!important;
  outline-offset:1px!important;
}

/* Success view. */
.snh-modal .snh-step--success{padding:12px 0 4px!important;text-align:center!important}
.snh-modal .snh-success-icon{width:52px!important;height:52px!important;margin:5px auto 9px!important;font-size:25px!important;box-shadow:0 12px 30px rgba(255,184,0,.18)!important}
.snh-modal .snh-step--success h3{margin:0 0 5px!important;font-size:22px!important}
.snh-modal .snh-step--success p{margin:4px 0!important;font-size:10.5px!important}
.snh-modal .snh-success-actions{gap:6px!important;margin-top:10px!important}
.snh-modal .snh-success-actions .snh-button{min-height:40px!important;min-width:140px!important;padding:8px 14px!important;font-size:10.5px!important}

/* Laptop / tablet: retain one-piece dialog and intelligently reduce the cover. */
@media(max-width:980px){
  .snh-modal{padding:7px!important}
  .snh-modal__dialog{width:calc(100vw - 14px)!important;max-width:calc(100vw - 14px)!important;max-height:calc(100dvh - 14px)!important;border-radius:22px!important}
  .snh-modal .snh-booking{padding:10px!important;gap:6px!important}
  .snh-modal .snh-booking__header.snh-versora-cover{height:124px!important;grid-template-columns:minmax(0,1fr) 220px!important}
  .snh-modal .snh-versora-cover__visual{display:block!important;height:124px!important;min-height:0!important;border-bottom:0!important;border-right:1px solid rgba(255,255,255,.075)!important}
  .snh-modal .snh-versora-cover__content{order:1!important;padding:13px 17px!important}
  .snh-modal .snh-versora-cover__visual{order:2!important}
  .snh-modal .snh-versora-cover h2{font-size:29px!important}
  .snh-modal .snh-versora-cover__content>p{-webkit-line-clamp:1!important;font-size:10.5px!important}
  .snh-modal .snh-booking--compact-cover .snh-booking__header.snh-versora-cover{height:58px!important;grid-template-columns:minmax(0,1fr) 180px!important}
  .snh-modal .snh-booking--compact-cover .snh-versora-cover__visual{height:58px!important}
  .snh-modal .snh-booking--compact-cover .snh-versora-cover h2{font-size:19px!important}
  .snh-modal .snh-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .snh-modal .snh-review dl{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .snh-modal .snh-calendar__slots{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* Mobile: full-screen card, still no vertical/horizontal scroll. */
@media(max-width:768px){
  html.snh-modal-open,body.snh-modal-open{position:fixed!important;inset:0!important;width:100%!important;height:100%!important}
  .snh-modal{
    align-items:center!important;
    justify-items:center!important;
    padding:4px!important;
  }
  .snh-modal__dialog{
    width:calc(100vw - 8px)!important;
    max-width:calc(100vw - 8px)!important;
    height:calc(100dvh - 8px)!important;
    max-height:calc(100dvh - 8px)!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  .snh-modal__close{top:8px!important;left:8px!important;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;border-radius:10px!important;font-size:19px!important}
  .snh-modal .snh-booking{height:100%!important;padding:7px!important;gap:5px!important;grid-template-rows:auto auto minmax(0,1fr)!important}
  .snh-modal .snh-booking__header.snh-versora-cover{
    height:72px!important;
    grid-template-columns:minmax(0,1fr) 96px!important;
    border-radius:13px!important;
  }
  .snh-modal .snh-versora-cover__content{padding:8px 10px!important}
  .snh-modal .snh-versora-cover .snh-booking__eyebrow{margin-bottom:3px!important;padding:0!important;border:0!important;background:transparent!important;font-size:6.5px!important}
  .snh-modal .snh-versora-cover h2{margin:0!important;font-size:19px!important;line-height:1.06!important}
  .snh-modal .snh-versora-cover__content>p,
  .snh-modal .snh-versora-cover__meta,
  .snh-modal .snh-versora-cover__top-badge{display:none!important}
  .snh-modal .snh-versora-cover__visual{display:block!important;height:72px!important;min-height:0!important;border:0!important;border-right:1px solid rgba(255,255,255,.075)!important}
  .snh-modal .snh-versora-cover__mark{right:5px!important;left:5px!important;bottom:5px!important;min-height:25px!important;padding:3px 5px!important;border-radius:8px!important}
  .snh-modal .snh-versora-cover__mark img{width:18px!important;height:18px!important}
  .snh-modal .snh-versora-cover__mark strong{font-size:7px!important}.snh-modal .snh-versora-cover__mark small{display:none!important}
  .snh-modal .snh-booking--compact-cover .snh-booking__header.snh-versora-cover{height:48px!important;grid-template-columns:minmax(0,1fr) 72px!important}
  .snh-modal .snh-booking--compact-cover .snh-versora-cover__content{padding:6px 9px!important}
  .snh-modal .snh-booking--compact-cover .snh-versora-cover .snh-booking__eyebrow{display:none!important}
  .snh-modal .snh-booking--compact-cover .snh-versora-cover h2{font-size:15px!important}
  .snh-modal .snh-booking--compact-cover .snh-versora-cover__visual{height:48px!important}
  .snh-modal .snh-booking--compact-cover .snh-versora-cover__mark{display:none!important}

  .snh-modal .snh-progress{height:31px!important;gap:4px!important}
  .snh-modal .snh-progress li{height:31px!important;min-height:31px!important;padding:3px!important;border-radius:9px!important;font-size:0!important}
  .snh-modal .snh-progress li span{width:19px!important;height:19px!important;flex-basis:19px!important;font-size:8.5px!important}

  .snh-modal .snh-form{height:100%!important;min-height:0!important;overflow:hidden!important}
  .snh-modal .snh-step{height:auto!important;min-height:0!important;overflow:hidden!important}
  .snh-modal .snh-step-head{min-height:36px!important;grid-template-columns:52px 1fr!important;column-gap:6px!important;margin-bottom:4px!important}
  .snh-modal .snh-step-head>span{min-width:52px!important;padding:3px 4px!important;border-radius:8px!important;font-size:6.8px!important}
  .snh-modal .snh-step-head h3{font-size:13.5px!important;line-height:1.2!important}
  .snh-modal .snh-step-head p{font-size:7.5px!important;line-height:1.25!important}

  .snh-modal .snh-meeting-grid{grid-template-columns:1fr!important;gap:4px!important}
  .snh-modal .snh-meeting-card{min-height:54px!important;height:54px!important;padding:7px 10px!important;border-radius:10px!important}
  .snh-modal .snh-meeting-card__check{top:7px!important;right:7px!important;width:18px!important;height:18px!important;font-size:9px!important}
  .snh-modal .snh-meeting-card strong{padding-right:24px!important;font-size:11px!important;line-height:1.2!important}
  .snh-modal .snh-meeting-card>span:not(.snh-meeting-card__check){margin-top:2px!important;-webkit-line-clamp:1!important;font-size:7.5px!important;line-height:1.25!important}
  .snh-modal .snh-meeting-card small{position:absolute!important;left:9px!important;bottom:6px!important;padding:0!important;font-size:6.8px!important}

  .snh-modal .snh-timezone{min-height:20px!important;margin-bottom:3px!important;padding:2px 5px!important;font-size:7.5px!important;flex-direction:row!important}
  .snh-modal .snh-calendar{border-radius:11px!important}
  .snh-modal .snh-calendar__toolbar{grid-template-columns:28px 1fr 28px!important;min-height:32px!important;padding:2px 5px!important}
  .snh-modal .snh-calendar__nav{width:26px!important;height:26px!important;font-size:17px!important}.snh-modal .snh-calendar__month{font-size:10.5px!important}
  .snh-modal .snh-calendar__weekdays{padding:4px 5px 1px!important}.snh-modal .snh-calendar__weekdays span{font-size:6.3px!important}
  .snh-modal .snh-calendar__grid{gap:2px!important;padding:2px 5px 5px!important}
  .snh-modal .snh-calendar__blank,.snh-modal .snh-calendar__day{min-height:26px!important;height:26px!important}.snh-modal .snh-calendar__day{font-size:8.5px!important;border-radius:6px!important}
  .snh-modal .snh-calendar__hint{min-height:23px!important;padding:4px 5px!important;font-size:7px!important}
  .snh-modal .snh-calendar__times-head{min-height:35px!important;padding:4px 6px!important}.snh-modal .snh-calendar__times-head span{font-size:6px!important}.snh-modal .snh-calendar__times-head strong{font-size:9px!important}.snh-modal .snh-calendar__times-head button{padding:4px 6px!important;font-size:6.5px!important}
  .snh-modal .snh-calendar__slots{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:3px!important;padding:0 6px 6px!important}
  .snh-modal .snh-calendar__slots .snh-slot span{min-height:34px!important;height:34px!important;padding:3px!important;border-radius:7px!important}.snh-modal .snh-calendar__slots .snh-slot strong{font-size:9px!important}.snh-modal .snh-calendar__slots .snh-slot small{font-size:5.8px!important}

  .snh-modal .snh-contact-note{min-height:29px!important;margin-bottom:3px!important;padding:4px 6px!important;gap:5px!important}.snh-modal .snh-contact-note:before{width:20px!important;height:20px!important;flex-basis:20px!important;border-radius:6px!important;font-size:9px!important}.snh-modal .snh-contact-note strong{font-size:8px!important}.snh-modal .snh-contact-note span{font-size:6.5px!important}
  .snh-modal .snh-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:3px 5px!important}
  .snh-modal .snh-fields label{gap:1px!important}.snh-modal .snh-fields label>span{font-size:7.4px!important;line-height:1.15!important}
  .snh-modal .snh-field--full{grid-column:1/-1!important}
  .snh-modal .snh-booking input[type=text],.snh-modal .snh-booking input[type=email],.snh-modal .snh-booking input[type=tel],.snh-modal .snh-booking select{min-height:35px!important;height:35px!important;padding:5px 6px!important;border-radius:7px!important;font-size:16px!important;line-height:1!important}
  .snh-modal .snh-booking textarea{min-height:40px!important;height:40px!important;max-height:40px!important;padding:5px 6px!important;border-radius:7px!important;font-size:12px!important}

  .snh-modal .snh-review dl{grid-template-columns:repeat(2,minmax(0,1fr))!important}.snh-modal .snh-review dl>div{min-height:39px!important;padding:5px 6px!important}.snh-modal .snh-review dt{font-size:6px!important}.snh-modal .snh-review dd{font-size:8px!important;line-height:1.25!important}.snh-modal .snh-review .is-wide{grid-column:1/-1!important}
  .snh-modal .snh-consent{margin-top:4px!important;font-size:7px!important;line-height:1.3!important}

  .snh-modal .snh-form__error{margin-top:3px!important;padding:4px 6px!important;font-size:7px!important}
  .snh-modal .snh-form__actions{min-height:35px!important;height:35px!important;margin-top:4px!important;gap:4px!important;display:grid!important;grid-template-columns:1fr 1fr!important}
  .snh-modal .snh-form__actions .snh-button{width:100%!important;min-width:0!important;min-height:35px!important;height:35px!important;padding:5px 8px!important;border-radius:8px!important;font-size:8.5px!important}
  .snh-modal .snh-form__actions .snh-button:only-child{grid-column:1/-1!important}
  .snh-modal .snh-booking--fa .snh-button--primary::after{margin-right:5px!important;font-size:11px!important}
}

/* Very short screens: remove nonessential chrome, never introduce a scrollbar. */
@media(max-height:700px){
  .snh-modal .snh-booking--compact-cover .snh-booking__header.snh-versora-cover{height:46px!important}
  .snh-modal .snh-booking--compact-cover .snh-versora-cover__visual{height:46px!important}
  .snh-modal .snh-step-head p{display:none!important}
  .snh-modal .snh-step-head{grid-template-areas:"label title"!important;min-height:34px!important}
}
@media(max-height:590px){
  .snh-modal .snh-booking[data-snh-current-step="2"] .snh-booking__header,
  .snh-modal .snh-booking[data-snh-current-step="3"] .snh-booking__header,
  .snh-modal .snh-booking[data-snh-current-step="4"] .snh-booking__header,
  .snh-modal .snh-booking[data-snh-current-step="success"] .snh-booking__header{display:none!important}
  .snh-modal .snh-booking[data-snh-current-step="1"] .snh-booking__header.snh-versora-cover{height:54px!important}
  .snh-modal .snh-booking[data-snh-current-step="1"] .snh-versora-cover__visual{height:54px!important}
  .snh-modal .snh-booking[data-snh-current-step="1"] .snh-versora-cover__content>p,
  .snh-modal .snh-booking[data-snh-current-step="1"] .snh-versora-cover__meta{display:none!important}
  .snh-modal .snh-progress{height:28px!important}.snh-modal .snh-progress li{height:28px!important;min-height:28px!important}
  .snh-modal .snh-step-head{min-height:30px!important;margin-bottom:2px!important}
  .snh-modal .snh-contact-note{display:none!important}
}

@media(max-width:360px){
  .snh-modal{padding:2px!important}
  .snh-modal__dialog{width:calc(100vw - 4px)!important;max-width:calc(100vw - 4px)!important;height:calc(100dvh - 4px)!important;max-height:calc(100dvh - 4px)!important;border-radius:14px!important}
  .snh-modal .snh-booking{padding:5px!important}
  .snh-modal .snh-booking__header.snh-versora-cover{grid-template-columns:minmax(0,1fr) 78px!important}
  .snh-modal .snh-versora-cover h2{font-size:17px!important}
  .snh-modal .snh-calendar__slots{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .snh-modal .snh-form__actions{grid-template-columns:1fr 1fr!important}
}

/* Accessibility / motion polish. */
@media(prefers-reduced-motion:reduce){
  .snh-modal .snh-step,
  .snh-modal__close,
  .snh-modal .snh-meeting-card,
  .snh-modal .snh-button{animation:none!important;transition:none!important}
}
