/* Component typography and spacing must win over the surrounding page theme.
   Keep overflow available for short windows and enlarged text; never crop dates. */
.shv2[data-build-profile] #booking #shv2-date-dialog {
  width:min(760px,calc(100vw - 32px));max-width:none;
  max-height:calc(100dvh - 24px);padding:18px 24px 14px;
  border:1px solid var(--shv2-line);border-radius:20px;background:#fff;
  color:var(--shv2-ink);font-family:var(--shv2-body);overflow:auto;
  box-sizing:border-box;scroll-padding-block:12px;
}
.shv2[data-build-profile] #booking #shv2-date-dialog :is(h2,h3,p,.shv2-eyebrow) {
  color:var(--shv2-ink);letter-spacing:normal;
}
.shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-top {
  position:static;margin:0;padding:0;gap:12px;border:0;background:#fff;
}
.shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-top>div {min-width:0}
.shv2[data-build-profile] #booking #shv2-date-dialog .shv2-eyebrow {
  font:500 11px/1.4 var(--shv2-body);margin:0 0 4px!important;color:var(--shv2-muted);
}
.shv2[data-build-profile] #booking #shv2-date-dialog h2 {
  font:600 24px/1.25 var(--shv2-body);margin:0;overflow-wrap:normal;word-break:normal;
}
.shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-selection {
  grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;
}
.shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-selection button {
  min-width:0;min-height:62px;padding:8px 12px;gap:3px;border-width:1px;
}
.shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-selection button[aria-pressed="true"] {
  padding:8px 12px;box-shadow:inset 0 0 0 1px var(--shv2-accent);
}
.shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-selection button span {font:500 12px/1.4 var(--shv2-body)}
.shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-selection button strong {font:600 16px/1.4 var(--shv2-body)}
.shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-toolbar {margin:0 0 10px;gap:10px}
.shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-toolbar p {font:500 13px/1.4 var(--shv2-body);margin:0}
.shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-months {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-month {padding:0;overflow:visible;border:0}
.shv2[data-build-profile] #booking #shv2-date-dialog h3 {font:600 16px/1.5 var(--shv2-body);margin:0 0 8px;text-align:center}
.shv2[data-build-profile] #booking #shv2-date-dialog th {font:500 11px/1.5 var(--shv2-body);padding:0 0 6px;color:var(--shv2-muted)}
.shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-bottom {margin-top:12px;padding-top:8px;gap:12px;min-height:44px}
.shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-range-summary {font:500 12px/1.5 var(--shv2-body);margin:0}
.shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-clear {font:500 13px/1.5 var(--shv2-body)}
.shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-keyboard {font:400 11px/1.4 var(--shv2-body);margin:8px 0 0;color:var(--shv2-muted)}
@media(max-width:899px){
 .shv2[data-build-profile] #booking #shv2-date-dialog {width:min(420px,calc(100vw - 20px));max-height:calc(100dvh - 20px);padding:16px;border-radius:16px}
 .shv2[data-build-profile] #booking #shv2-date-dialog h2 {font-size:22px}
 .shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-months {grid-template-columns:minmax(0,1fr);gap:0}
 .shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-selection {gap:8px;margin:12px 0}
 .shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-selection button strong {font-size:14px}
 .shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-keyboard {display:none}
}

@media(min-width:900px) and (max-height:700px){
 .shv2[data-build-profile] #booking #shv2-date-dialog .shv2-date-keyboard {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
