.sr-booking{
  --sr-bg:#0c0b09;
  --sr-surface:#15120f;
  --sr-surface-2:#1d1813;
  --sr-gold:#b08a55;
  --sr-gold-soft:#c7a875;
  --sr-cream:#f0ece5;
  --sr-warm:#cfc5b7;
  --sr-muted:#94897c;
  --sr-border:#3b3127;
  --sr-danger:#d18b7f;
  background:var(--sr-bg);
  color:var(--sr-cream);
  padding:clamp(34px,5vw,72px) 0;
  font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.5;
}
.sr-booking *{box-sizing:border-box}

/* Speakeasy booking typography guard.
   Elementor/theme typography must not compress the wizard copy or headings. */
.sr-booking p,
.sr-booking label,
.sr-booking small,
.sr-booking em,
.sr-booking .sr-help,
.sr-booking .sr-status,
.sr-booking .sr-payment-note,
.sr-booking .sr-summary-note,
.sr-booking .sr-consent,
.sr-booking .sr-addon-copy p{
  line-height:1.65!important;
}
.sr-booking h2,
.sr-booking h3,
.sr-booking h4,
.sr-booking .sr-panel-no,
.sr-booking .sr-count-number,
.sr-booking .sr-summary-total strong{
  line-height:1.12!important;
}
.sr-booking .sr-kicker{line-height:1.5!important;margin-bottom:11px!important}
.sr-booking .sr-btn{line-height:1.3!important}
.sr-booking .sr-summary-row strong,
.sr-booking .sr-summary-addon-row strong{line-height:1.45!important}
.sr-booking button,.sr-booking input,.sr-booking textarea{font:inherit}
.sr-booking h2,.sr-booking h3,.sr-booking h4,.sr-booking p{margin-top:0}
.sr-shell{width:min(920px,calc(100% - 32px));margin:0 auto}
.sr-alert{margin:0 0 28px;padding:16px 18px;border:1px solid var(--sr-border);background:var(--sr-surface);color:var(--sr-warm)}
.sr-alert strong{color:var(--sr-cream)}
.sr-alert--success{border-color:var(--sr-gold)}
.sr-alert--error{border-color:var(--sr-danger)}
.sr-head{max-width:820px;margin:0 0 30px}
.sr-kicker{margin:0 0 9px!important;text-transform:uppercase;letter-spacing:.18em;font-size:11px;line-height:1.3;color:var(--sr-gold)}
.sr-head h2,.sr-panel-head h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;color:var(--sr-cream)}
.sr-head h2{margin:0 0 14px;font-size:clamp(42px,7vw,72px);line-height:.96;letter-spacing:-.02em}
.sr-lead{margin:0;color:var(--sr-warm);font-size:clamp(16px,2vw,19px);line-height:1.55;max-width:760px}
.sr-price-rule{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;margin-top:22px;padding:15px 0;border-top:1px solid var(--sr-border);border-bottom:1px solid var(--sr-border)}
.sr-price-rule strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;font-weight:500;line-height:1;color:var(--sr-cream)}
.sr-price-rule span{font-size:13px;color:var(--sr-warm)}

.sr-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin:0 0 30px!important;padding:0!important;list-style:none!important;border-top:1px solid var(--sr-border);border-bottom:1px solid var(--sr-border)}
.sr-progress li{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;padding:13px 7px;color:var(--sr-muted);border-right:1px solid var(--sr-border);transition:.18s ease}
.sr-progress li:last-child{border-right:0}
.sr-progress span{display:grid;place-items:center;width:23px;height:23px;border:1px solid var(--sr-border);font-size:11px;line-height:1;border-radius:50%}
.sr-progress small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr-progress li.is-active{color:var(--sr-cream);background:var(--sr-surface)}
.sr-progress li.is-active span{border-color:var(--sr-gold);color:var(--sr-gold)}
.sr-progress li.is-complete{color:var(--sr-gold-soft)}
.sr-progress li.is-complete span{border-color:var(--sr-gold);background:var(--sr-gold);color:var(--sr-bg)}

.sr-form{margin:0}
.sr-panel{scroll-margin-top:24px;padding:clamp(24px,4vw,38px);border:1px solid var(--sr-border);background:linear-gradient(180deg,var(--sr-surface),#100e0c)}
.sr-panel[hidden]{display:none!important}
.sr-panel-head{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;align-items:start;margin-bottom:30px;padding-bottom:24px;border-bottom:1px solid var(--sr-border)}
.sr-panel-no{font-family:"Cormorant Garamond",Georgia,serif;font-size:32px;line-height:1;color:var(--sr-gold)}
.sr-panel-head h3{margin:0!important;margin-bottom:14px!important;font-size:clamp(34px,5vw,49px);line-height:1.12!important}
.sr-panel-head p:not(.sr-kicker){margin:0!important;max-width:720px;color:var(--sr-warm);font-size:14px;line-height:1.7!important}
.sr-label{display:block;margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--sr-cream)}
.sr-help,.sr-status,.sr-payment-note{margin:12px 0 0!important;color:var(--sr-muted);font-size:13px;line-height:1.65!important}
.sr-status{min-height:20px;color:var(--sr-gold-soft)}
.sr-error{min-height:20px;margin-top:10px;color:var(--sr-danger);font-size:13px;font-weight:600}

.sr-date-wrap{position:relative;max-width:520px}
.sr-date-wrap input,.sr-fields input,.sr-fields textarea{display:block;width:100%;min-width:0;border:1px solid var(--sr-border);border-radius:0;background:#100e0c;color:var(--sr-cream);outline:none;transition:.16s ease}
.sr-date-wrap input{min-height:58px;padding:14px 52px 14px 16px;color-scheme:dark}
.sr-fields input{min-height:52px;padding:13px 14px}
.sr-fields textarea{padding:13px 14px;resize:vertical;min-height:100px}
.sr-date-wrap input:focus,.sr-fields input:focus,.sr-fields textarea:focus{border-color:var(--sr-gold);box-shadow:0 0 0 1px var(--sr-gold)}
.sr-calendar{position:absolute;right:16px;top:50%;width:22px;height:22px;transform:translateY(-50%);color:var(--sr-gold);pointer-events:none}
.sr-calendar svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sr-date-wrap input::-webkit-calendar-picker-indicator{position:absolute;right:13px;width:28px;height:28px;opacity:0;cursor:pointer}

.sr-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sr-choice{position:relative;margin:0;cursor:pointer}
.sr-choice input,.sr-count-card input{position:absolute;opacity:0;pointer-events:none}
.sr-choice span{display:flex;align-items:center;justify-content:center;min-height:72px;border:1px solid var(--sr-border);background:#100e0c;color:var(--sr-warm);font-family:"Cormorant Garamond",Georgia,serif;font-size:27px;line-height:1;transition:.16s ease}
.sr-choice:hover span,.sr-choice.is-selected span{border-color:var(--sr-gold);background:#211a14;color:var(--sr-cream)}
.sr-choice.is-selected span{box-shadow:inset 0 0 0 1px var(--sr-gold)}
.sr-choice.is-disabled{cursor:not-allowed}
.sr-choice.is-disabled span{opacity:.3;border-color:var(--sr-border);background:#100e0c;color:var(--sr-muted)}

.sr-table-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.sr-count-card{position:relative;display:flex;min-width:0;min-height:170px;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px 9px;border:1px solid var(--sr-border);background:#100e0c;cursor:pointer;transition:.16s ease}
.sr-count-card:hover,.sr-count-card.is-selected{border-color:var(--sr-gold);background:#211a14}
.sr-count-card.is-selected{box-shadow:inset 0 0 0 1px var(--sr-gold)}
.sr-count-card.is-disabled{opacity:.27;cursor:not-allowed}
.sr-count-number{font-family:"Cormorant Garamond",Georgia,serif;font-size:43px;line-height:.95;color:var(--sr-cream)}
.sr-count-card strong{margin-top:7px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--sr-gold-soft)}
.sr-count-card small{margin-top:4px;color:var(--sr-warm);font-size:12px}
.sr-count-card em{margin-top:10px;color:var(--sr-muted);font-size:10px;line-height:1.35;font-style:normal}

.sr-addons{display:grid;gap:10px}
.sr-addon{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px;border:1px solid var(--sr-border);background:#100e0c;transition:.16s ease}
.sr-addon.has-qty{border-color:var(--sr-gold);background:#211a14}
.sr-addon-copy h4{margin:0 0 9px!important;font-family:"Cormorant Garamond",Georgia,serif;font-size:27px;font-weight:500;line-height:1.05;color:var(--sr-cream)}
.sr-addon-copy p{margin:0 0 10px!important;color:var(--sr-warm);font-size:13px;line-height:1.45}
.sr-addon-copy strong{color:var(--sr-gold-soft);font-size:12px;font-weight:600}
.sr-qty{display:grid;grid-template-columns:38px 42px 38px;align-items:center;border:1px solid var(--sr-border)}
.sr-qty button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;background:transparent;color:var(--sr-cream);cursor:pointer;font-size:21px;line-height:1}
.sr-qty button:hover{background:var(--sr-surface-2);color:var(--sr-gold-soft)}
.sr-qty span{text-align:center;color:var(--sr-cream);font-weight:600}
.sr-addon-controls{display:flex;align-items:center;justify-content:flex-end;min-width:148px}
.sr-addon-toggle{appearance:none;min-width:148px;min-height:42px;padding:10px 15px;border:1px solid var(--sr-gold);border-radius:0;background:transparent;color:var(--sr-gold-soft);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700;line-height:1.3!important;cursor:pointer}
.sr-addon.has-qty .sr-addon-toggle{background:var(--sr-gold);color:var(--sr-bg)}
.sr-addon-person-calc{display:block;margin-top:8px;color:var(--sr-muted);font-size:11px;line-height:1.55!important}
.sr-addon-person-calc b{color:var(--sr-cream);font-weight:600}
.sr-addon-total{display:flex;justify-content:space-between;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid var(--sr-border);color:var(--sr-warm)}
.sr-addon-total strong{color:var(--sr-gold-soft)}
.sr-empty-addon{padding:22px;border:1px solid var(--sr-border);background:#100e0c;color:var(--sr-warm)}
.sr-empty-addon strong{display:block;margin-bottom:5px;color:var(--sr-cream)}
.sr-empty-addon p{margin:0}

.sr-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.sr-fields label{display:block;min-width:0;color:var(--sr-warm);font-size:13px}
.sr-fields label input,.sr-fields label textarea{margin-top:7px}
.sr-field-wide{grid-column:1/-1}

.sr-summary{border-top:1px solid var(--sr-border)}
.sr-summary-row,.sr-summary-addon-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:12px 0;border-bottom:1px solid var(--sr-border)}
.sr-summary-row span,.sr-summary-addon-row span{color:var(--sr-muted);font-size:13px}
.sr-summary-row strong,.sr-summary-addon-row strong{color:var(--sr-cream);font-size:14px;text-align:right;font-weight:600}
.sr-summary-addons:empty{display:none}
.sr-summary-row--extras strong{color:var(--sr-gold-soft)}
.sr-summary-total{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:21px 0;border-bottom:1px solid var(--sr-gold)}
.sr-summary-total span{text-transform:uppercase;letter-spacing:.12em;color:var(--sr-cream);font-size:12px}
.sr-summary-total strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:39px;line-height:1;color:var(--sr-gold-soft);font-weight:500;text-align:right}
.sr-summary-note{margin:22px 0!important;color:var(--sr-warm);font-size:13px;line-height:1.55}
.sr-summary-note strong{color:var(--sr-cream)}
.sr-consent{display:flex;align-items:flex-start;gap:12px;margin:24px 0 0!important;color:var(--sr-warm);font-size:13px;line-height:1.5}
.sr-consent input{flex:0 0 auto;margin-top:3px;accent-color:var(--sr-gold)}
.sr-consent a{color:var(--sr-cream);text-decoration-color:var(--sr-gold);text-underline-offset:2px}

.sr-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px;padding-top:22px;border-top:1px solid var(--sr-border)}
.sr-actions--three{display:grid;grid-template-columns:auto 1fr auto}
.sr-btn{appearance:none;display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 22px;border:1px solid var(--sr-border);border-radius:0;background:transparent;color:var(--sr-cream);text-decoration:none!important;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:700;cursor:pointer;transition:.16s ease}
.sr-btn:hover{border-color:var(--sr-gold);color:var(--sr-cream)}
.sr-btn--primary{min-width:180px;border-color:var(--sr-gold);background:var(--sr-gold);color:#0c0b09}
.sr-btn--primary:hover{background:var(--sr-gold-soft);color:#0c0b09}
.sr-btn--ghost{background:#100e0c}
.sr-btn--text{justify-self:center;border-color:transparent;color:var(--sr-muted);text-decoration:underline!important;text-underline-offset:4px;text-transform:none;letter-spacing:0;font-weight:500}
.sr-btn:disabled{opacity:.45;cursor:wait}
.sr-submit{min-width:250px}
.sr-payment-note{text-align:right}
.sr-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

@media (max-width:780px){
  .sr-shell{width:min(100% - 24px,920px)}
  .sr-progress small{display:none}
  .sr-progress li{padding:11px 4px}
  .sr-progress span{width:25px;height:25px}
  .sr-panel{padding:24px 18px}
  .sr-panel-head{grid-template-columns:42px minmax(0,1fr);gap:12px;margin-bottom:24px;padding-bottom:19px}
  .sr-panel-no{font-size:26px}
  .sr-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sr-table-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sr-count-card{min-height:145px}
  .sr-fields{grid-template-columns:1fr}
  .sr-field-wide{grid-column:auto}
  .sr-actions--three{grid-template-columns:1fr 1fr}
  .sr-actions--three .sr-btn--text{grid-column:1/-1;grid-row:2;justify-self:center}
}

@media (max-width:520px){
  .sr-booking{padding:26px 0 44px}
  .sr-head{margin-bottom:22px}
  .sr-head h2{font-size:43px}
  .sr-price-rule{display:block}
  .sr-price-rule strong{display:block;margin-bottom:7px;font-size:27px}
  .sr-panel{padding:21px 15px}
  .sr-panel-head{grid-template-columns:1fr;gap:7px}
  .sr-panel-no{font-size:22px}
  .sr-panel-head h3{font-size:35px}
  .sr-table-counts{grid-template-columns:1fr}
  .sr-count-card{min-height:112px;padding:14px;display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto auto;text-align:left;column-gap:14px}
  .sr-count-number{grid-row:1/4;align-self:center;font-size:44px}
  .sr-count-card strong,.sr-count-card small,.sr-count-card em{margin:0}
  .sr-addon{grid-template-columns:1fr;gap:14px}
  .sr-addon-controls{justify-content:flex-start;min-width:0}
  .sr-qty{justify-self:start}
  .sr-actions,.sr-actions--three{display:grid;grid-template-columns:1fr;gap:9px}
  .sr-actions>span{display:none}
  .sr-actions .sr-btn{width:100%}
  .sr-actions .sr-btn--primary{grid-row:1}
  .sr-actions .sr-btn--ghost{grid-row:2}
  .sr-actions--three .sr-btn--text{grid-row:3;grid-column:auto}
  .sr-summary-row,.sr-summary-addon-row{gap:14px}
  .sr-summary-total strong{font-size:34px}
  .sr-payment-note{text-align:left}
}
