/* Summit site theme for Leo's booking widget (loaded after summit-booking-widget.css on /book).
   Leo's .sb styles stay verbatim; these rules only align it with the site: square corners, the site's
   next/font Cinzel + Montserrat (exposed as --font-cinzel / --font-montserrat), coal cards and crimson accents. */
.sb {
  --sb-black: #151515; --sb-field: #1c1c1c; --sb-card: #1c1c1c; --sb-line: #2a2a2a; --sb-red: #aa0f18; --sb-silver: #c0c0c0;
  max-width: none; margin: 0; padding: 24px; border: 1px solid var(--sb-line); border-radius: 0;
  font-family: var(--font-montserrat), 'Montserrat', system-ui, sans-serif;
}
@media (max-width: 480px) { .sb { padding: 16px; } }
.sb input:not([type=checkbox]), .sb select, .sb gmp-place-autocomplete {
  border-radius: 0; font-family: var(--font-montserrat), 'Montserrat', sans-serif;
}
.sb input:not([type=checkbox]):focus, .sb select:focus { outline: none; border-color: var(--sb-red); box-shadow: 0 0 0 1px rgb(170 15 24 / .6); }
.sb input[type=date]::-webkit-calendar-picker-indicator { filter: invert(.8); }
.sb-f { font-weight: 700; letter-spacing: .18em; color: #8a8a8a; }
.sb-lbl, .sb-card-name, .sb-card-price, .sb-ref { font-family: var(--font-cinzel), 'Cinzel', Georgia, serif; letter-spacing: .04em; }
.sb-lbl { color: #fff; }
.sb-steps li { font-weight: 700; letter-spacing: .2em; }
.sb-btn {
  border-radius: 0; font: 700 12px var(--font-montserrat), 'Montserrat', sans-serif; letter-spacing: .2em; text-transform: uppercase;
  box-shadow: 0 12px 40px -14px rgb(170 15 24 / .6); transition: background .15s;
}
.sb-btn:hover:not(:disabled) { background: #d4151f; }
.sb-btn-alt { box-shadow: none; border-color: rgb(192 192 192 / .5); }
.sb-btn-alt:hover:not(:disabled) { background: rgb(255 255 255 / .05); border-color: #fff; }
.sb-back { border-radius: 0; font: 700 11px var(--font-montserrat), 'Montserrat', sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.sb-back:hover { color: #fff; border-color: #c0c0c0; }
.sb-card, .sb-summary, .sb-msg, .sb-warn, .sb-fake-card { border-radius: 0; }
.sb-card { transition: border-color .15s, transform .15s; }
.sb-card:not(:disabled):hover { border-color: rgb(170 15 24 / .6); transform: translateY(-2px); }
.sb-photo { background: #0d0d0d; }
.sb-chk a, .sb-link { text-decoration-color: var(--sb-red); text-underline-offset: 3px; }
.sb-portal { line-height: 1.2; }
