/* 115 Schiller booking v0.9.70 — safely navigable UI-only checkout preview.
   Existing shared /book/ styling and mobile QA remain intact. */
#booking-start{scroll-margin-top:108px}
#booking .sch-book-stage[hidden]{display:none!important}
.sch-book-step-nav{gap:8px}
.sch-book-step-nav button{
  display:flex;gap:9px;align-items:center;text-align:left;min-width:0;
  appearance:none;background:transparent;border:0;border-top:2px solid #e0e6df;
  border-radius:0;padding:12px 1px 7px;margin:0;
  font:650 12px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;
  cursor:pointer;color:#68766d;
}
.sch-book-step-nav button b{font-size:11px;letter-spacing:.08em;color:#a67d45}
.sch-book-step-nav button.current{
  border-top-color:#b99159;color:#17382f;
}
.sch-book-step-nav button:hover{color:#17382f;border-top-color:#a8c0ac}
.sch-book-step-nav button:focus-visible,
#booking .sch-book-back:focus-visible{
  outline:3px solid #b99159;outline-offset:4px;
}
.sch-book-preview-notice{
  background:#f2f6f1;border:1px solid #d7e5d7;line-height:1.65;
  color:#315743;margin:15px 0 25px;
}
.sch-book-preview-notice strong{color:#1d4836}
.sch-book-stage{min-width:0}
.sch-book-stage-kicker{
  font-size:11px;letter-spacing:.14em;font-weight:800;color:#9a7a4b;margin:12px 0 17px;
}
.sch-book-preview-summary{
  border:1px solid #d8e3d6;background:#f6f8f3;
  border-radius:14px;padding:clamp(18px,2.4vw,24px);margin:17px 0 23px;
}
.sch-book-preview-summary>strong{
  display:block;color:#1a3e30;font:400 25px/1.18 Georgia,serif;margin-bottom:16px;
}
.sch-book-preview-pairs{display:grid;gap:0;min-width:0}
.sch-book-preview-row{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  gap:12px;padding:10px 0;border-bottom:1px solid #dfe7dc;
  font-size:13px;line-height:1.5;
}
.sch-book-preview-row span{color:#65756a}
.sch-book-preview-row strong{color:#234c3a;font-weight:700;text-align:right;overflow-wrap:anywhere}
.sch-book-unavailable{
  margin-top:16px;padding-top:16px;display:flex;align-items:center;
  justify-content:space-between;flex-wrap:wrap;gap:6px 12px;
  font-size:13px;color:#657268;
}
.sch-book-unavailable strong{color:#344e40;font-size:13px}
.sch-book-preview-summary>p{
  font-size:13px;color:#5c7164;line-height:1.65;margin:17px 0 0;
}
#booking-stage-2 #personal{display:block}
#booking-stage-2 .sch-book-step-label{margin-top:19px}
#booking-stage-2 .safe-protect-panel{margin-top:23px}
.sch-book-back{
  margin-top:23px;min-height:44px;display:inline-flex;align-items:center;gap:8px;
  background:transparent;border:0;padding:8px 1px;font-size:14px;
  font-weight:750;color:#23543e;text-decoration:underline;text-underline-offset:4px;cursor:pointer;
}
.sch-book-payment-panel{
  display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px;align-items:start;
  margin:21px 0;padding:22px;border:1px solid #d9e2d7;border-radius:14px;background:#fffdfa;
}
.sch-book-payment-icon{
  width:48px;height:48px;border-radius:13px;background:#edf2eb;color:#37634e;
  display:grid;place-items:center;
}
.sch-book-payment-icon svg{width:26px;height:26px}
.sch-book-payment-panel h3{
  font:400 clamp(23px,2.2vw,29px)/1.2 Georgia,serif;color:#1c3d2f;margin:1px 0 10px;
}
.sch-book-payment-panel p{font-size:14px;line-height:1.72;color:#617266;margin:0}
#booking .sch-book-final-disabled{
  background:#b4c1b6;color:#f9fcf9;opacity:1;cursor:not-allowed;
}
.sch-book-preview-footnote{font-size:13px;line-height:1.6;color:#617166;margin:13px 0 0}
@media(max-width:760px){
  #booking-start{scroll-margin-top:96px}
  .sch-book-step-nav{gap:6px}
  .sch-book-step-nav button{padding:10px 1px 7px;font-size:11px;display:block;line-height:1.35}
  .sch-book-step-nav button b{display:block;margin:0 0 4px;font-size:10px}
  .sch-book-preview-summary{padding:18px}
  .sch-book-payment-panel{padding:18px}
}
@media(max-width:420px){
  .sch-book-step-nav button{font-size:10px}
  .sch-book-preview-row{grid-template-columns:1fr;gap:3px}
  .sch-book-preview-row strong{text-align:left}
  .sch-book-payment-panel{grid-template-columns:1fr;gap:12px}
}
@media(prefers-reduced-motion:reduce){.sch-book-step-nav button{transition:none}}

/* v0.9.71 · consent text, tax estimate, native-looking provider fields.
   All payment elements stay visual-only until an approved PSP is integrated. */
#booking .sch-book-consent{
  display:grid;grid-template-columns:20px minmax(0,1fr);
  gap:13px;align-items:start;margin:18px 0;
  padding:0;line-height:1.65;font-size:14px;
}
#booking .sch-book-consent input[type="checkbox"]{
  display:block;grid-column:1;grid-row:1;width:18px;height:18px;
  margin:4px 0 0;accent-color:#23533f;
}
#booking .sch-book-consent > span{
  display:block;grid-column:2;min-width:0;overflow-wrap:break-word;
}
#booking .sch-book-consent > span > a{
  display:inline;color:#235b43;white-space:normal;
  text-underline-offset:3px;text-decoration:underline;
  font-weight:650;
}
#booking .sch-book-price-lines{
  display:grid;gap:0;margin-top:16px;
}
#booking .sch-book-price-row{
  display:flex;justify-content:space-between;align-items:flex-start;gap:12px;
  padding:11px 0;border-bottom:1px solid #dfe7dc;
  font-size:13px;line-height:1.5;
}
#booking .sch-book-price-row > :first-child{color:#576b5f}
#booking .sch-book-price-row > :last-child{
  text-align:right;color:#244a39;font-weight:650;max-width:59%;
  overflow-wrap:anywhere;
}
#booking .sch-book-price-row.sch-book-price-major{
  margin-top:6px;padding:15px 0 6px;border-bottom:0;
}
#booking .sch-book-price-major > :last-child{font-weight:800}
#booking .sch-book-tax-caveat{
  font-size:12.5px;line-height:1.65;margin-top:17px;color:#5e7266;
}
#booking .sch-book-checkout-native{
  padding:clamp(18px,2.5vw,27px);margin:24px 0 18px;
  border:1px solid #d9e2d7;border-radius:16px;
  background:#fffdf8;
}
#booking .sch-book-native-header{
  display:grid;grid-template-columns:48px minmax(0,1fr);
  gap:16px;align-items:center;margin-bottom:23px;
}
#booking .sch-book-native-header .sch-book-payment-icon{width:46px;height:46px}
#booking .sch-book-native-header h3{
  color:#18382f;margin:0 0 6px;
  font:400 clamp(23px,2.5vw,30px)/1.18 Georgia,serif;
}
#booking .sch-book-native-header p{
  margin:0;color:#66766b;font-size:13px;line-height:1.55;
}
#booking .sch-book-payment-method{
  border:1px solid #d6e2d7;border-radius:13px;
  padding:clamp(16px,2vw,21px);background:white;
}
#booking .sch-book-payment-method-heading{
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:8px;margin:0 0 19px;
}
#booking .sch-book-payment-method-heading strong{font-size:14px;color:#15372b}
#booking .sch-book-payment-method-heading > span{
  font-size:10px;letter-spacing:.1em;font-weight:800;
  color:#84663b;border-radius:50px;background:#f7f0e3;padding:6px 9px;
}
#booking .sch-book-hosted-fields{display:grid;gap:16px}
#booking .sch-book-hosted-fields > div > span,
#booking .sch-book-field-two > div > span{
  display:block;color:#3d5b49;font-size:12px;font-weight:750;margin-bottom:7px;
}
#booking .sch-book-field-placeholder{
  padding:15px 14px;min-height:49px;border:1px solid #cfdbd0;
  border-radius:9px;color:#889a8d;font-size:14px;letter-spacing:.03em;
  background:#f8faf7;
}
#booking .sch-book-field-two{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
#booking .sch-book-payment-method > p{
  margin:15px 0 0;color:#64766a;font-size:12px;line-height:1.65;
}
#booking .sch-book-checkout-assurance{
  display:flex;gap:11px;align-items:flex-start;
  margin-top:19px;font-size:12px;line-height:1.65;color:#4e6b57;
}
#booking .sch-book-checkout-assurance > span:first-child{
  flex:0 0 22px;display:grid;place-items:center;background:#edf4ec;
  color:#336348;width:22px;height:22px;border-radius:50%;
}
@media(max-width:500px){
  #booking .sch-book-consent{gap:11px;font-size:13.5px}
  #booking .sch-book-native-header{grid-template-columns:1fr;gap:11px}
  #booking .sch-book-field-two{gap:10px}
  #booking .sch-book-checkout-native{padding:17px}
}

/* v0.9.72 · Good Life pet selection, priced only after host approval. */
#booking .sch-book-pet-note{
  display:block;margin-top:9px;font-size:12px;line-height:1.65;
  color:#536b5c;max-width:100%;overflow-wrap:break-word;
}

/* Hayden's Hideout: make the ordinary-pets restriction unmistakably noninteractive.
   Only the Hayden apartment locks the selector; Good Life stays fully usable. */
#booking .sch-book-animal-field.is-pets-blocked > #animal{display:none!important}
#booking .sch-book-pets-blocked[hidden]{display:none!important}
#booking .sch-book-pets-blocked{
  display:flex;align-items:center;gap:13px;min-height:62px;
  padding:14px 17px;border:1px solid #d7dfd8;border-radius:11px;
  background:#f1f3f0;color:#839287;cursor:not-allowed;
  font-size:15px;font-weight:700;line-height:1.4;
}
#booking .sch-book-pets-blocked svg{
  width:22px;height:22px;flex:0 0 22px;opacity:.74;
}
#booking .sch-book-animal-field.is-pets-blocked .sch-book-pet-note{
  color:#61776a;opacity:1;
}
@media(max-width:550px){
  #booking .sch-book-pets-blocked{min-height:58px;padding:12px 14px;font-size:14px}
}

/* Compact taxes-and-fees disclosure, consistent across guest review and payment. */
#booking .sch-book-tax-details{margin:0}
#booking .sch-book-tax-details > summary{
  cursor:pointer;list-style:none;position:relative;outline-offset:3px;
}
#booking .sch-book-tax-details > summary::-webkit-details-marker{display:none}
#booking .sch-book-tax-details > summary:focus-visible{outline:3px solid #a77f48}
#booking .sch-book-tax-details .sch-book-tax-summary > span:first-child{
  display:inline-flex;align-items:center;gap:9px;color:#254936;font-weight:700;
}
/* Center a font-independent chevron on the Taxes & fees row in both states. */
#booking .sch-book-tax-details > summary.sch-book-tax-summary{
  display:flex;align-items:center;
}
#booking .sch-book-tax-details .sch-book-tax-summary > span:first-child::after{
  content:"";box-sizing:border-box;display:block;flex:0 0 9px;
  width:9px;height:9px;border:0;border-right:2px solid #527861;
  border-bottom:2px solid #527861;border-radius:0;
  transform:rotate(45deg);transform-origin:50% 50%;
  transition:transform .18s ease;
}
#booking .sch-book-tax-details[open] .sch-book-tax-summary > span:first-child::after{
  transform:rotate(225deg);
}
#booking .sch-book-tax-details .sch-book-tax-breakdown{
  background:#f2f6f0;border-radius:10px;margin:1px 0 9px;padding:5px 16px;
}
#booking .sch-book-tax-breakdown .sch-book-price-row{font-size:12.5px;padding:9px 0}
#booking .sch-book-tax-breakdown .sch-book-price-row:last-child{border-bottom:0}
@media(prefers-reduced-motion:reduce){
  #booking .sch-book-tax-details .sch-book-tax-summary > span:first-child::after{transition:none}
}
