/* ═══════════════════════════════════════════════════════════════════
   TOAT booking — visual design
   Cormorant Garamond for display, Manrope for everything else.
   Both are expected from the theme (self-hosted); nothing is fetched
   from Google here. The fallbacks are chosen to sit close if a font
   fails to load rather than collapsing to something unrelated.
   ═══════════════════════════════════════════════════════════════════ */

.toat-wiz{
  /* palette — every one of these is overridable from Elementor */
  --gold:#C9962B;
  --gold-soft:rgba(201,150,43,.08);
  --bone:#F2EFE9;
  --dim:#8A857B;
  --line:rgba(242,239,233,.13);
  --line-soft:rgba(242,239,233,.07);
  --field:rgba(242,239,233,.02);

  /* type */
  --serif:"Cormorant Garamond",Garamond,Georgia,"Times New Roman",serif;
  --sans:"Manrope","Helvetica Neue",Helvetica,Arial,sans-serif;

  /* one spacing scale, so nothing is arbitrary */
  --s1:8px;
  --s2:14px;
  --s3:22px;
  --s4:clamp(26px,3.2vw,38px);
  --s5:clamp(34px,4.5vw,56px);
  --s6:clamp(46px,6vw,78px);

  font-family:var(--sans);
  font-weight:300;
  font-size:16px;
  line-height:1.7;
  color:var(--bone);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.toat-wiz *,.toat-wiz *::before,.toat-wiz *::after{box-sizing:border-box}

/* ── theme reset ────────────────────────────────────────────────────
   Astra, Elementor and most themes style form elements and tables
   globally. Everything the widget owns is reset here first so the
   design below is what actually renders.
   ─────────────────────────────────────────────────────────────────── */
.toat-wiz input,
.toat-wiz select,
.toat-wiz textarea,
.toat-wiz button{
  margin:0;box-shadow:none;outline:none;border-radius:0;
  font-family:inherit;color:inherit;
  -webkit-appearance:none;appearance:none;
}
.toat-wiz input:focus,
.toat-wiz select:focus,
.toat-wiz textarea:focus{box-shadow:none;outline:none}
.toat-wiz button{border:0;background:none;text-align:inherit}
.toat-wiz table{border:0;border-collapse:collapse;border-spacing:0;background:transparent;margin:0}
.toat-wiz th,.toat-wiz td{border:0;background:transparent}
.toat-wiz ul,.toat-wiz ol{margin:0;padding:0}
.toat-wiz h1,.toat-wiz h2,.toat-wiz h3,.toat-wiz p{margin:0}
.toat-wiz label{margin:0;display:block;color:inherit}
.toat-wiz b,.toat-wiz strong{color:inherit}
.toat-wiz h1,.toat-wiz h2,.toat-wiz h3,.toat-wiz h4,.toat-wiz h5,.toat-wiz h6{color:var(--bone)}
.toat-wiz a{text-decoration:none}
.toat-wiz input[type=checkbox]{-webkit-appearance:checkbox;appearance:checkbox}
.toat-wiz input[type=date],
.toat-wiz input[type=time]{-webkit-appearance:none;appearance:none}

.toat-wiz ::selection{background:var(--gold);color:#0A0A0A}

/* ── step bar ───────────────────────────────────────────────────── */
.toat-steps{
  display:grid;grid-template-columns:repeat(5,1fr);gap:0;
  margin:0 0 var(--s5);padding:0;list-style:none;
  border-top:1px solid var(--line);
}
.toat-steps li{
  padding:var(--s2) var(--s1) 0;
  border-top:2px solid transparent;margin-top:-1px;
  transition:border-color .5s cubic-bezier(.16,1,.3,1);
}
.toat-steps .n{
  display:block;font-size:10px;letter-spacing:.24em;font-weight:500;
  color:rgba(242,239,233,.28);
}
.toat-steps .t{
  display:block;margin-top:5px;font-size:12px;line-height:1.4;
  letter-spacing:.01em;color:var(--dim);
}
.toat-steps li.done{border-top-color:rgba(242,239,233,.28)}
.toat-steps li.done .t{color:rgba(242,239,233,.55)}
.toat-steps li.on{border-top-color:var(--gold)}
.toat-steps li.on .n{color:var(--gold)}
.toat-steps li.on .t{color:var(--bone);font-weight:400}

@media(max-width:780px){
  .toat-steps{grid-template-columns:repeat(5,1fr)}
  .toat-steps li{padding-inline:4px}
  .toat-steps .t{display:none}
  .toat-steps .n{font-size:11px;text-align:center;padding-bottom:var(--s2)}
  .toat-steps li.on .n{color:var(--gold)}
}

/* ── panels ─────────────────────────────────────────────────────── */
.toat-panel{display:none}
.toat-panel.on{display:block;animation:toatIn .55s cubic-bezier(.16,1,.3,1) both}
@keyframes toatIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.toat-wiz h3{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(25px,2.8vw,34px);line-height:1.18;letter-spacing:.005em;
  margin:0 0 var(--s2);color:var(--bone);
}
.toat-wiz .toat-panel > p{margin:0 0 var(--s3);color:#C6C1B7;max-width:62ch}

.toat-stamp,.toat-scrollstate{
  display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--dim);line-height:1.6;
}
.toat-scrollstate{margin-top:var(--s2)}
.toat-none{font-size:14px;color:var(--dim);line-height:1.6}
.toat-err{
  margin:var(--s3) 0 0;padding:13px 16px;font-size:14px;line-height:1.6;
  color:#E8B4B4;background:rgba(200,80,80,.07);border-left:2px solid #C05A5A;
}

/* ── fields ─────────────────────────────────────────────────────── */
.toat-fields{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--s4) var(--s3);margin-top:var(--s4);
}
.toat-f{display:flex;flex-direction:column;gap:9px;min-width:0}
.toat-f--full{grid-column:1/-1}
.toat-f label{
  font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  font-weight:500;color:var(--dim);
}
.toat-f input,.toat-f select,.toat-f textarea{
  width:100%;background:var(--field);border:0;border-bottom:1px solid var(--line);
  color:var(--bone);font-family:var(--sans);font-weight:300;font-size:16px;
  line-height:1.5;padding:12px 2px;border-radius:0;
  transition:border-color .4s cubic-bezier(.16,1,.3,1),background .4s;
}
.toat-f input::placeholder,.toat-f textarea::placeholder{
  color:rgba(242,239,233,.26);font-weight:300;font-size:15px;letter-spacing:.01em;
}
.toat-f input:hover,.toat-f select:hover,.toat-f textarea:hover{border-bottom-color:rgba(242,239,233,.32)}
.toat-f input:focus,.toat-f select:focus,.toat-f textarea:focus{
  outline:none;border-bottom-color:var(--gold);background:var(--gold-soft);
}
.toat-f textarea{min-height:128px;resize:vertical;padding-top:14px}
.toat-wiz .toat-f select{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  cursor:pointer;padding-right:30px;
  height:auto;min-height:0;line-height:1.5;text-overflow:ellipsis;
  /* themes often set a fixed height on selects, which clips the label */
  background-image:linear-gradient(45deg,transparent 50%,var(--dim) 50%),
                   linear-gradient(135deg,var(--dim) 50%,transparent 50%);
  background-position:calc(100% - 12px) 21px,calc(100% - 7px) 21px;
  background-size:5px 5px;background-repeat:no-repeat;
}
.toat-f select option{background:#0C0C0C;color:var(--bone)}
.toat-f input[type=date],.toat-f input[type=time]{color-scheme:dark}

/* Chrome and Opera paint saved values pale blue and ignore background rules.
   The inset shadow is the only way to override it. */
.toat-wiz input:-webkit-autofill,
.toat-wiz input:-webkit-autofill:hover,
.toat-wiz input:-webkit-autofill:focus,
.toat-wiz input:-webkit-autofill:active,
.toat-wiz textarea:-webkit-autofill,
.toat-wiz select:-webkit-autofill{
  -webkit-text-fill-color:var(--bone);
  -webkit-box-shadow:0 0 0 60px #0A0A0A inset;
  box-shadow:0 0 0 60px #0A0A0A inset;
  caret-color:var(--bone);
  transition:background-color 9999s ease-out 0s;
}
.toat-wiz input:-internal-autofill-selected{
  background-color:transparent!important;color:var(--bone)!important;
}

@media(max-width:700px){
  .toat-fields{grid-template-columns:1fr;gap:var(--s3)}
  .toat-f input,.toat-f select,.toat-f textarea{font-size:16px;padding-block:14px}
}

/* ── package cards ──────────────────────────────────────────────── */
.toat-pkgs{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));
  gap:var(--s2);margin-top:var(--s2);
}
.toat-pkg{
  display:block;width:100%;text-align:left;cursor:pointer;
  padding:var(--s3) var(--s3) calc(var(--s3) + 2px);
  background:transparent;border:1px solid var(--line);
  transition:border-color .35s,background .35s,transform .35s cubic-bezier(.16,1,.3,1);
}
.toat-pkg:hover{border-color:rgba(242,239,233,.34);transform:translateY(-2px)}
.toat-pkg.sel{border-color:var(--gold);background:var(--gold-soft)}
.toat-pkg .c{
  display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  font-weight:500;color:var(--dim);margin-top:2px;
}
.toat-pkg h3{
  font-family:var(--serif);font-size:clamp(22px,2.2vw,28px);font-weight:400;
  line-height:1.2;margin:0;color:var(--bone);
}
.toat-pkg .p{
  font-family:var(--serif);font-size:clamp(28px,3vw,36px);font-weight:400;
  line-height:1.1;margin:var(--s1) 0 4px;color:var(--bone);
}
.toat-pkg.sel .p{color:var(--gold)}

/* ── time slots ─────────────────────────────────────────────────── */
.toat-slots{display:flex;flex-wrap:wrap;gap:var(--s1);margin-top:var(--s2)}
.toat-slot{
  border:1px solid var(--line);background:transparent;color:var(--bone);
  padding:11px 17px;font-family:var(--sans);font-size:12.5px;font-weight:300;
  letter-spacing:.06em;cursor:pointer;line-height:1;
  transition:border-color .3s,background .3s,color .3s;
}
.toat-slot:hover{border-color:var(--bone)}
.toat-slot.sel{background:var(--gold);border-color:var(--gold);color:#0A0A0A;font-weight:500}
@media(max-width:560px){
  .toat-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
  .toat-slot{text-align:center;padding:13px 8px}
}

/* ── summary table ──────────────────────────────────────────────── */
/* Themes routinely put a full border on every cell. Reset all four sides
   first, then add back only the hairline underneath. */
.toat-wiz table.toat-summary,
.toat-wiz table.toat-summary tr,
.toat-wiz table.toat-summary thead,
.toat-wiz table.toat-summary tbody{
  border:0;background:transparent;
}
.toat-summary{
  width:100%;border-collapse:collapse;border-spacing:0;margin-top:var(--s4);
  table-layout:auto;
}
.toat-wiz .toat-summary th,
.toat-wiz .toat-summary td{
  border:0;border-bottom:1px solid var(--line-soft);
  padding:18px 0;vertical-align:baseline;background:transparent;
}
.toat-wiz .toat-summary th{
  width:46%;text-align:left;padding-right:var(--s4);font-weight:500;
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);
  line-height:1.8;
}
.toat-wiz .toat-summary td{
  text-align:right;font-size:15.5px;font-weight:300;color:var(--bone);
  line-height:1.6;padding-left:var(--s2);
}
.toat-wiz .toat-summary tr.hi th{color:var(--gold)}
.toat-wiz .toat-summary tr.hi td{color:var(--gold);font-size:19px}
.toat-wiz .toat-summary tr:last-child th,
.toat-wiz .toat-summary tr:last-child td{border-bottom:0}

/* On a narrow screen a two-column table cannot breathe — stack it. */
@media(max-width:620px){
  .toat-wiz .toat-summary,
  .toat-wiz .toat-summary tbody,
  .toat-wiz .toat-summary tr,
  .toat-wiz .toat-summary th,
  .toat-wiz .toat-summary td{display:block;width:100%}
  .toat-wiz .toat-summary tr{
    padding:16px 0;border-bottom:1px solid var(--line-soft);
  }
  .toat-wiz .toat-summary tr:last-child{border-bottom:0}
  .toat-wiz .toat-summary th{
    border:0;padding:0 0 5px;width:auto;
  }
  .toat-wiz .toat-summary td{
    border:0;padding:0;text-align:left;font-size:16px;
  }
}

/* ── agreement panel ────────────────────────────────────────────── */
.toat-doc{
  max-height:52vh;overflow-y:auto;overscroll-behavior:contain;
  border:1px solid var(--line);background:rgba(242,239,233,.015);
  padding:var(--s4);margin-top:var(--s2);
  scrollbar-width:thin;scrollbar-color:var(--gold) transparent;
}
.toat-doc::-webkit-scrollbar{width:3px}
.toat-doc::-webkit-scrollbar-track{background:transparent}
.toat-doc::-webkit-scrollbar-thumb{background:var(--gold);border-radius:0}
.toat-doc h1{
  font-family:var(--serif);font-weight:400;font-size:clamp(21px,2.2vw,27px);
  line-height:1.25;margin:0 0 var(--s3);color:var(--bone);
}
.toat-doc h2{
  font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin:var(--s4) 0 var(--s1);
}
.toat-doc h2:first-of-type{margin-top:var(--s3)}
.toat-doc p,.toat-doc li{font-size:14.5px;line-height:1.8;color:#BEB8AC;margin:0 0 var(--s2)}
.toat-doc ul{margin:0 0 var(--s3);padding-left:18px}
.toat-doc li{margin-bottom:6px}
.toat-doc strong{color:var(--bone);font-weight:500}
.toat-doc > :last-child{margin-bottom:0}
@media(max-width:600px){.toat-doc{max-height:58vh;padding:var(--s3)}}

/* ── acknowledgements ───────────────────────────────────────────── */
.toat-ack{
  display:flex;gap:var(--s2);align-items:flex-start;
  padding:17px 0;border-bottom:1px solid var(--line-soft);cursor:pointer;
  transition:padding-left .35s cubic-bezier(.16,1,.3,1);
}
.toat-ack:hover{padding-left:6px}
.toat-ack:last-of-type{border-bottom:0}
.toat-ack input{
  flex:none;width:18px;height:18px;margin:3px 0 0;accent-color:var(--gold);cursor:pointer;
}
.toat-ack span{font-size:14.5px;line-height:1.65;color:#C6C1B7}
.toat-ack strong{color:var(--bone);font-weight:500}

/* ── signature ──────────────────────────────────────────────────── */
.toat-sig{
  margin-top:var(--s4);padding:var(--s4);
  border:1px solid var(--line);background:rgba(242,239,233,.015);
}
.toat-sig .toat-fields{margin-top:0}
.toat-sig input{font-family:var(--serif);font-size:24px;letter-spacing:.01em}

/* ── note ───────────────────────────────────────────────────────── */
.toat-note{
  margin:var(--s4) 0 0;padding:15px 18px;
  border-left:2px solid var(--gold);background:var(--gold-soft);
  font-size:13.5px;line-height:1.75;color:#C3B79E;
}
.toat-note strong{color:var(--gold);font-weight:500}

/* ── buttons ────────────────────────────────────────────────────── */
.toat-nav{
  display:flex;justify-content:space-between;align-items:center;
  gap:var(--s2);flex-wrap:wrap;margin-top:var(--s5);
}
.toat-btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  padding:16px 32px;border:1px solid rgba(242,239,233,.3);background:transparent;
  color:var(--bone);font-family:var(--sans);font-size:10.5px;font-weight:500;
  letter-spacing:.26em;text-transform:uppercase;line-height:1;cursor:pointer;
  text-decoration:none;overflow:hidden;
  /* a new stacking context, so the fill can sit behind a bare text node */
  isolation:isolate;
  transition:color .45s,border-color .45s,background .45s;
}
.toat-btn::before{
  content:"";position:absolute;inset:0;background:var(--gold);z-index:-1;
  transform:translateY(101%);transition:transform .5s cubic-bezier(.16,1,.3,1);
}
.toat-btn > *{position:relative}
.toat-btn:hover{color:#0A0A0A;border-color:var(--gold)}
.toat-btn:hover::before{transform:translateY(0)}
.toat-btn--gold{background:var(--gold);border-color:var(--gold);color:#0A0A0A}
.toat-btn--gold::before{background:var(--bone)}
.toat-btn--gold:hover{color:#0A0A0A;border-color:var(--bone)}
.toat-btn[disabled],.toat-btn.off{opacity:.28;pointer-events:none}
.toat-btn:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
@media(max-width:560px){
  .toat-nav{flex-direction:column-reverse;align-items:stretch;gap:var(--s1)}
  .toat-btn{width:100%;padding-block:17px}
  .toat-nav .toat-stamp{text-align:center;margin-top:var(--s2)}
}

/* ── status page ────────────────────────────────────────────────── */
.toat-status .toat-label{
  font-size:10px;letter-spacing:.28em;text-transform:uppercase;
  font-weight:500;color:var(--gold);margin:0 0 var(--s2);
}
.toat-status h2{
  font-family:var(--serif);font-weight:400;font-size:clamp(30px,4vw,46px);
  line-height:1.14;margin:0 0 var(--s3);color:var(--bone);
}
.toat-status h3{font-size:clamp(19px,2vw,23px);margin-top:var(--s5)}
.toat-status p{color:#C6C1B7;max-width:62ch}
.toat-status .toat-btn{margin-top:var(--s3)}

/* ── intro line above the wizard ────────────────────────────────── */
.toat-intro{
  font-family:var(--sans);font-size:clamp(15px,1.4vw,17px);font-weight:300;
  line-height:1.8;color:#C6C1B7;max-width:62ch;margin:0 0 var(--s4);
}

/* ── reduced motion ─────────────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  .toat-wiz *{animation:none!important;transition:none!important}
}

/* ── editor preview only ────────────────────────────────────────── */
.toat-preview{pointer-events:none}
.toat-preview input,.toat-preview textarea,.toat-preview .toat-doc{pointer-events:none}
.toat-preview .toat-pkg,.toat-preview .toat-slot,.toat-preview .toat-btn{display:inline-flex}
.toat-preview .toat-pkg{display:block}
.elementor-editor-active .toat-preview{background:#050505;padding:clamp(20px,3vw,34px)}

/* a field that failed a check */
.toat-f input[aria-invalid="true"],
.toat-f textarea[aria-invalid="true"]{border-bottom-color:#C05A5A;background:rgba(200,80,80,.05)}

/* ── service tabs ───────────────────────────────────────────────── */
.toat-tabs{display:flex;border-bottom:1px solid var(--line);margin:var(--s4) 0 var(--s3);flex-wrap:wrap}
.toat-tab{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--dim);
  font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  padding:16px 20px 14px;cursor:pointer;transition:color .3s,border-color .3s}
.toat-tab:hover{color:var(--bone)}
.toat-tab.on{color:var(--gold);border-bottom-color:var(--gold)}
.toat-tab .n{font-size:10px;margin-left:7px;color:var(--dim)}
@media(max-width:560px){.toat-tab{flex:1;padding:14px 6px;text-align:center}.toat-tab .n{display:none}}

/* ── package rows ───────────────────────────────────────────────── */
.toat-rows{border-top:1px solid var(--line-soft)}
.toat-row{display:grid;grid-template-columns:minmax(140px,1fr) 1.9fr auto auto;gap:clamp(10px,2.2vw,26px);
  align-items:center;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line-soft);
  color:inherit;font-family:var(--sans);padding:18px 12px;cursor:pointer;
  transition:background .35s var(--ease),padding-left .35s var(--ease)}
.toat-row:hover{background:var(--gold-soft);padding-left:19px}
.toat-row.sel{background:var(--gold-soft);box-shadow:inset 2px 0 0 var(--gold)}
.toat-row .nm{font-family:var(--serif);font-size:clamp(18px,1.9vw,22px);line-height:1.2}
.toat-row .inc{font-size:13px;color:var(--dim);line-height:1.55}
.toat-row .tg{display:inline-block;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);
  border:1px solid rgba(201,150,43,.35);padding:3px 8px;margin-top:7px}
.toat-row .pr{font-family:var(--serif);font-size:clamp(20px,2.1vw,25px);white-space:nowrap;text-align:right}
.toat-row.sel .pr{color:var(--gold)}
.toat-row .pr small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--dim);margin-top:3px}
.toat-row .go{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);white-space:nowrap;
  border:1px solid var(--line);padding:9px 13px;transition:.3s}
.toat-row:hover .go{border-color:var(--gold);color:var(--gold)}
.toat-row.sel .go{background:var(--gold);border-color:var(--gold);color:#0A0A0A;font-weight:500}
@media(max-width:760px){
  .toat-row{grid-template-columns:1fr auto;row-gap:5px}
  .toat-row .inc{grid-column:1/-1;order:3}
  .toat-row .go{grid-column:1/-1;order:4;justify-self:start;margin-top:5px}
}

/* ── tiers ──────────────────────────────────────────────────────── */
.toat-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:var(--s3)}
.toat-tier{background:var(--black);padding:var(--s4) var(--s3);cursor:pointer;border:0;color:inherit;
  font-family:var(--sans);text-align:left;transition:background .4s}
.toat-tier:hover{background:#0C0C0C}
.toat-tier.sel{background:linear-gradient(180deg,rgba(201,150,43,.13),transparent 70%)}
.toat-tier .b{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.toat-tier h4{font-family:var(--serif);font-weight:400;font-size:25px;margin:10px 0 0}
.toat-tier .p{font-family:var(--serif);font-size:40px;margin:6px 0 2px}
.toat-tier .h{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.toat-tier ul{list-style:none;margin:18px 0 0;padding:0}
.toat-tier li{font-size:13px;color:var(--body);padding:7px 0;border-bottom:1px solid var(--line-soft)}
.toat-tier li:last-child{border-bottom:0}
@media(max-width:860px){.toat-tiers{grid-template-columns:1fr}}

.toat-back{background:none;border:0;color:var(--dim);font-family:var(--sans);font-size:10px;letter-spacing:.24em;
  text-transform:uppercase;cursor:pointer;padding:0 0 16px;transition:color .3s}
.toat-back:hover{color:var(--gold)}

/* ── panels, chips, add-ons ─────────────────────────────────────── */
.toat-enq{border:1px solid var(--line);background:rgba(242,239,233,.015);padding:var(--s4);margin-top:var(--s3)}
.toat-enq h3{margin-bottom:10px}
.toat-enq p{font-size:14.5px;color:var(--body);max-width:62ch}
.toat-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:var(--s2)}
.toat-chips button{background:none;border:1px solid var(--line);color:var(--bone);font-family:var(--sans);
  font-size:13px;padding:10px 15px;cursor:pointer;transition:.3s}
.toat-chips button:hover{border-color:var(--bone)}
.toat-chips button.on{background:var(--gold);border-color:var(--gold);color:#0A0A0A;font-weight:500}

.toat-addon{display:flex;gap:var(--s2);align-items:flex-start;padding:16px 0;
  border-bottom:1px solid var(--line-soft);cursor:pointer}
.toat-addon:last-of-type{border-bottom:0}
.toat-addon input[type=checkbox]{flex:none;width:18px;height:18px;margin-top:3px;accent-color:var(--gold);cursor:pointer}
.toat-addon .tx{flex:1}
.toat-addon .tx b{display:block;font-family:var(--serif);font-weight:400;font-size:19px;
  color:var(--bone);line-height:1.25}
.toat-addon .tx p{font-size:13px;color:var(--dim);line-height:1.55;margin-top:2px}
.toat-addon .pr{font-family:var(--serif);font-size:19px;white-space:nowrap;color:var(--gold)}
.toat-addon .pr em{font-family:var(--sans);font-style:normal;font-size:11px;color:var(--dim)}
.toat-qty{width:62px;background:rgba(242,239,233,.02);border:0;border-bottom:1px solid var(--line);
  color:var(--bone);font-family:var(--sans);padding:6px 4px;font-size:14px;margin-left:8px}

.toat-btn--wa{border-color:#25D366;color:#25D366}
.toat-btn--wa::before{background:#25D366}
.toat-btn--wa:hover{color:#08240F;border-color:#25D366}

/* ── extras priced individually ─────────────────────────────────── */
.toat-onreq{padding:var(--s4) 0}
.toat-onreq .toat-label{font-size:10px;letter-spacing:.28em;text-transform:uppercase;
  font-weight:500;color:var(--gold);margin:0 0 var(--s2)}
.toat-onreq__lede{font-size:15px;line-height:1.8;color:var(--body);max-width:62ch;margin:0 0 var(--s3)}
.toat-onreq__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-soft)}
.toat-onreq__list li{display:grid;grid-template-columns:minmax(150px,1fr) 2fr auto;
  gap:clamp(10px,2.2vw,26px);align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line-soft)}
.toat-onreq__list .n{font-family:var(--serif);font-size:clamp(18px,1.9vw,21px);color:var(--bone);font-weight:400}
.toat-onreq__list .d{font-size:13.5px;color:var(--dim);line-height:1.6}
.toat-onreq__list .p{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
@media(max-width:700px){
  .toat-onreq__list li{grid-template-columns:1fr auto;row-gap:5px}
  .toat-onreq__list .d{grid-column:1/-1}
}

/* the same list, quieter, inside the booking form */
.toat-onreq--inline{border-top:1px solid var(--line-soft);margin-top:var(--s3);padding-top:var(--s3)}
.toat-onreq--inline .toat-onreq__list{border-top:0}
.toat-onreq--inline .toat-onreq__list li{padding:10px 0;border-bottom:0}
.toat-onreq--inline .toat-onreq__list .n{font-size:16px}
