.sbs-date-checker{
  --sbs-green:#1B4D3E;
  --sbs-green-deep:#123328;
  --sbs-gold:#B8965A;
  --sbs-gold-soft:#E4D5B7;
  --sbs-cream:#F5F0E6;
  --sbs-cream-warm:#EFE7D7;
  --sbs-ink:#1A1A17;
  --sbs-muted:#7A7568;
  --sbs-line:rgba(27,77,62,.14);
  --sbs-radius:2px;
  --sbs-display:'Cormorant Garamond',Georgia,serif;
  --sbs-body:'DM Sans',system-ui,-apple-system,sans-serif;
  background:var(--sbs-cream);
  color:var(--sbs-ink);
  font-family:var(--sbs-body);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  width:100%;
}
.sbs-date-checker,.sbs-date-checker *{box-sizing:border-box}
.sbs-date-checker button,.sbs-date-checker input,.sbs-date-checker select,.sbs-date-checker textarea{font:inherit}
.sbs-date-checker [hidden]{display:none!important}
.sbs-date-checker .sbs-tally[hidden]{display:flex!important;visibility:hidden!important;pointer-events:none!important}
.sbs-wrap{max-width:560px;margin:0 auto;padding:32px 20px 64px}

.sbs-masthead{text-align:center;margin-bottom:34px}
.sbs-eyebrow{font-family:var(--sbs-body);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--sbs-gold);font-weight:500;margin:0 0 14px}
.sbs-masthead h1{font-family:var(--sbs-display);font-size:clamp(34px,9vw,46px);line-height:1.02;font-weight:500;color:var(--sbs-green);margin:0 0 12px;letter-spacing:-.01em}
.sbs-masthead>p:last-child{margin:0 auto;max-width:34ch;font-size:14.5px;color:var(--sbs-muted)}

.sbs-modes{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--sbs-line);border-radius:var(--sbs-radius);background:#fff;overflow:hidden;margin-bottom:8px}
.sbs-date-checker .sbs-mode{-webkit-appearance:none!important;appearance:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;outline:none;background:transparent!important;background-color:transparent!important;background-image:none!important;padding:15px 10px 13px!important;cursor:pointer!important;font-family:var(--sbs-body)!important;text-align:center!important;color:var(--sbs-muted)!important;transition:background-color .18s ease,color .18s ease!important}
.sbs-date-checker .sbs-mode+.sbs-mode{border-left:1px solid var(--sbs-line)!important}
.sbs-date-checker .sbs-mode strong{display:block!important;margin:0!important;font-size:13.5px!important;font-weight:700!important;letter-spacing:.01em!important;line-height:1.4!important;color:inherit!important}
.sbs-date-checker .sbs-mode span{display:block!important;margin-top:3px!important;font-size:11px!important;line-height:1.4!important;color:inherit!important;opacity:.8!important}
.sbs-date-checker .sbs-mode:hover,.sbs-date-checker .sbs-mode:focus,.sbs-date-checker .sbs-mode:active,.sbs-date-checker .sbs-mode[aria-pressed="true"],.sbs-date-checker .sbs-mode[aria-pressed="true"]:hover,.sbs-date-checker .sbs-mode[aria-pressed="true"]:focus,.sbs-date-checker .sbs-mode[aria-pressed="true"]:active{background:var(--sbs-green)!important;background-color:var(--sbs-green)!important;background-image:none!important;color:var(--sbs-cream)!important;box-shadow:none!important}
.sbs-date-checker .sbs-mode:focus-visible{outline:2px solid var(--sbs-gold)!important;outline-offset:-2px!important}
.sbs-mode-note{font-size:12.5px;color:var(--sbs-muted);text-align:center;margin:0 0 22px;min-height:1.5em}

.sbs-cal{background:#fff;border:1px solid var(--sbs-line);border-radius:var(--sbs-radius);padding:20px 16px 16px}
.sbs-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.sbs-cal-head h2{font-family:var(--sbs-display);font-size:23px;font-weight:500;color:var(--sbs-green);margin:0;letter-spacing:.005em}
.sbs-nav{appearance:none;border:1px solid var(--sbs-line);background:#fff;width:34px;height:34px;border-radius:var(--sbs-radius);cursor:pointer;color:var(--sbs-green);font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease;padding:0}
.sbs-nav:hover:not(:disabled){background:var(--sbs-cream-warm);border-color:var(--sbs-gold)}
.sbs-nav:disabled{opacity:.28;cursor:default}
.sbs-nav:focus-visible{outline:2px solid var(--sbs-gold);outline-offset:2px}
.sbs-dow{display:grid;grid-template-columns:22px repeat(7,1fr);gap:2px;margin-bottom:6px}
.sbs-dow span{text-align:center;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--sbs-muted);font-weight:500;padding-bottom:4px}
.sbs-weeks{display:flex;flex-direction:column;gap:2px}
.sbs-week{display:grid;grid-template-columns:22px repeat(7,1fr);gap:2px}
.sbs-tally{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding-top:2px}
.sbs-pip{width:5px;height:5px;border:1px solid var(--sbs-gold);transform:rotate(45deg);opacity:.5}
.sbs-pip.is-filled{background:var(--sbs-gold);opacity:1}
.sbs-day{appearance:none;border:1px solid transparent;background:var(--sbs-cream);border-radius:var(--sbs-radius);aspect-ratio:1/1;min-height:42px;cursor:pointer;font-family:var(--sbs-body);font-size:14px;font-weight:500;color:var(--sbs-ink);position:relative;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease,border-color .15s ease;padding:0}
.sbs-day:hover:not(:disabled){background:var(--sbs-gold-soft);border-color:var(--sbs-gold)}
.sbs-day:focus-visible{outline:2px solid var(--sbs-green);outline-offset:1px;z-index:2}
.sbs-day.is-empty{background:transparent;cursor:default;pointer-events:none}
.sbs-day.is-past{color:#C9C4B8;background:transparent;cursor:default}
.sbs-day.is-blocked{color:#B9B3A6;background:repeating-linear-gradient(135deg,transparent,transparent 4px,rgba(27,77,62,.07) 4px,rgba(27,77,62,.07) 5px);cursor:default}
.sbs-day.is-soon{color:var(--sbs-gold);background:#fff;border-color:var(--sbs-gold-soft)}
.sbs-day.is-selected{background:var(--sbs-green);color:var(--sbs-cream);border-color:var(--sbs-green)}
.sbs-day.is-selected:hover{background:var(--sbs-green-deep)}
.sbs-day.is-today::after{content:"";position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:3px;height:3px;border-radius:50%;background:var(--sbs-gold)}
.sbs-day.is-selected.is-today::after{background:var(--sbs-cream)}
.sbs-legend{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:16px;padding-top:14px;border-top:1px solid var(--sbs-line);font-size:11.5px;color:var(--sbs-muted)}
.sbs-legend span{display:inline-flex;align-items:center;gap:6px}
.sbs-sw{width:11px;height:11px;border-radius:1px;display:inline-block;flex:none}
.sbs-sw.sbs-open{background:var(--sbs-cream);border:1px solid var(--sbs-line)}
.sbs-sw.sbs-soon{background:#fff;border:1px solid var(--sbs-gold)}
.sbs-sw.sbs-blocked{background:repeating-linear-gradient(135deg,transparent,transparent 3px,rgba(27,77,62,.18) 3px,rgba(27,77,62,.18) 4px);border:1px solid var(--sbs-line)}

.sbs-panel{margin-top:22px;background:var(--sbs-green);color:var(--sbs-cream);border-radius:var(--sbs-radius);padding:26px 22px 24px;animation:sbs-rise .3s ease both}
@keyframes sbs-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.sbs-panel-date{font-family:var(--sbs-display);font-size:27px;font-weight:500;margin:0 0 4px;line-height:1.15;color:var(--sbs-cream)}
.sbs-panel-status{font-size:12.5px;color:var(--sbs-gold-soft);margin:0 0 22px}
.sbs-form-host{margin:0}
.sbs-form-host .elementor,.sbs-form-host .elementor-section,.sbs-form-host .e-con,.sbs-form-host .elementor-widget-container{background:transparent!important}
.sbs-form-host .elementor-section>.elementor-container,.sbs-form-host .e-con{max-width:none!important;min-height:0!important;padding:0!important;margin:0!important}
.sbs-form-host .elementor-section>.elementor-container>.elementor-column,.sbs-form-host .elementor-widget-wrap{width:100%!important;padding:0!important}
.sbs-form-host .elementor-widget-form{margin:0!important}
.sbs-form-host .elementor-form-fields-wrapper{display:flex!important;flex-wrap:wrap!important;margin-left:-6px!important;margin-right:-6px!important}
.sbs-form-host .elementor-field-group{padding-left:6px!important;padding-right:6px!important;margin-bottom:14px!important}
.sbs-form-host .elementor-field-group.elementor-col-50{width:50%!important;flex:0 0 50%!important;max-width:50%!important}
.sbs-form-host .elementor-field-group.elementor-col-100{width:100%!important;flex:0 0 100%!important;max-width:100%!important}
.sbs-form-host .elementor-field-label{display:block!important;font-family:var(--sbs-body)!important;font-size:10px!important;line-height:1.4!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--sbs-gold-soft)!important;margin-bottom:6px!important;font-weight:500!important}
.sbs-form-host input.elementor-field,.sbs-form-host textarea.elementor-field{width:100%!important;padding:11px 12px!important;border:1px solid rgba(245,240,230,.24)!important;background-color:rgba(245,240,230,.06)!important;color:var(--sbs-cream)!important;border-radius:var(--sbs-radius)!important;font-family:var(--sbs-body)!important;font-size:15px!important;line-height:1.4!important;box-shadow:none!important;outline:none!important;transition:border-color .15s ease,background .15s ease!important}
.sbs-form-host input.elementor-field::placeholder,.sbs-form-host textarea.elementor-field::placeholder{color:rgba(245,240,230,.42)!important;opacity:1!important}
.sbs-form-host input.elementor-field:focus,.sbs-form-host textarea.elementor-field:focus{outline:none!important;border-color:var(--sbs-gold)!important;background-color:rgba(245,240,230,.11)!important;box-shadow:none!important}
.sbs-form-host .elementor-field-type-select .elementor-select-wrapper{width:100%!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.sbs-form-host .elementor-field-type-select .select-caret-down-wrapper,.sbs-form-host .elementor-field-type-select .elementor-select-wrapper::before{display:none!important}
.sbs-form-host select.elementor-field,.sbs-form-host select.elementor-field-textual{width:100%!important;height:auto!important;min-height:0!important;padding:11px 38px 11px 12px!important;border:1px solid rgba(245,240,230,.24)!important;border-radius:var(--sbs-radius)!important;background-color:rgba(245,240,230,.06)!important;color:var(--sbs-cream)!important;font-family:var(--sbs-body)!important;font-size:15px!important;line-height:1.4!important;box-shadow:none!important;outline:none!important;appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background-image:linear-gradient(45deg,transparent 50%,var(--sbs-gold-soft) 50%),linear-gradient(135deg,var(--sbs-gold-soft) 50%,transparent 50%)!important;background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%!important;background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important;color-scheme:dark!important}
.sbs-form-host select.elementor-field:focus,.sbs-form-host select.elementor-field-textual:focus{outline:none!important;border-color:var(--sbs-gold)!important;background-color:rgba(245,240,230,.11)!important;box-shadow:none!important}
.sbs-form-host select.elementor-field option,.sbs-form-host select.elementor-field-textual option{background-color:var(--sbs-green-deep)!important;color:var(--sbs-cream)!important}
.sbs-form-host textarea.elementor-field{resize:vertical!important;min-height:64px!important}
.sbs-form-host .elementor-field-type-hidden{display:none!important}
.sbs-form-host .elementor-field-type-submit{margin-top:8px!important;margin-bottom:0!important}
.sbs-form-host .elementor-button{width:100%!important;appearance:none!important;border:0!important;background:var(--sbs-gold)!important;color:var(--sbs-green-deep)!important;font-family:var(--sbs-body)!important;font-size:12px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:.16em!important;text-transform:uppercase!important;padding:15px!important;border-radius:var(--sbs-radius)!important;cursor:pointer!important;min-height:0!important;box-shadow:none!important;transition:background .15s ease!important}
.sbs-form-host .elementor-button:hover{background:#C9A868!important;color:var(--sbs-green-deep)!important}
.sbs-form-host .elementor-button:focus-visible{outline:2px solid var(--sbs-cream)!important;outline-offset:2px}
.sbs-form-host .elementor-button[disabled]{opacity:.55;cursor:default}
.sbs-form-host .elementor-message{font-family:var(--sbs-body)!important;font-size:12.5px!important;line-height:1.5!important;margin:10px 0 0!important;color:#F0C9C0!important}
.sbs-form-host .elementor-message-success{color:var(--sbs-gold-soft)!important}
.sbs-fineprint{font-size:11.5px;color:rgba(245,240,230,.55);margin:14px 0 0;text-align:center;line-height:1.5}
.sbs-setup-message{border:1px solid rgba(245,240,230,.3);padding:14px;font-size:13px;color:var(--sbs-cream)}
.sbs-setup-message a{color:var(--sbs-gold-soft)}
.sbs-done{text-align:center;padding:14px 0 6px}
.sbs-done h3{font-family:var(--sbs-display);font-size:29px;font-weight:500;margin:0 0 10px;color:var(--sbs-cream)}
.sbs-done p{font-size:14px;color:var(--sbs-gold-soft);margin:0 auto;max-width:32ch}
.sbs-date-checker .sbs-again,.sbs-date-checker .sbs-again:hover,.sbs-date-checker .sbs-again:focus,.sbs-date-checker .sbs-again:active{-webkit-appearance:none!important;appearance:none!important;display:inline-block!important;width:auto!important;min-width:0!important;min-height:0!important;margin:20px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;background-color:transparent!important;background-image:none!important;color:var(--sbs-gold)!important;font-family:var(--sbs-body)!important;font-size:12px!important;font-weight:400!important;line-height:1.4!important;letter-spacing:.1em!important;text-transform:uppercase!important;text-decoration-line:underline!important;text-decoration-color:var(--sbs-gold)!important;text-decoration-thickness:1px!important;text-underline-offset:3px!important;cursor:pointer!important;transition:none!important}
.sbs-date-checker .sbs-again:focus-visible{outline:1px solid var(--sbs-gold)!important;outline-offset:5px!important}
.sbs-foot{text-align:center;margin-top:30px;font-size:12px;color:var(--sbs-muted)}
.sbs-foot a{color:var(--sbs-green);text-decoration:none;border-bottom:1px solid var(--sbs-gold)}

@media(max-width:400px){
  .sbs-wrap{padding:24px 14px 48px}
  .sbs-cal{padding:16px 11px 13px}
  .sbs-day{min-height:38px;font-size:13px}
  .sbs-form-host .elementor-field-group.elementor-col-50{width:100%!important;flex-basis:100%!important;max-width:100%!important}
}
@media(prefers-reduced-motion:reduce){.sbs-date-checker *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
