/* SPITI Booking Engine frontend stylesheet — generated from assets/src/css components.
 * Run: php scripts/build-frontend-css.php
 */

/* SPITI Booking Engine — premium guest-facing interface */
.spiti-booking{
  --spiti-ink:#171512;
  --spiti-muted:#736b62;
  --spiti-soft:#f7f4ef;
  --spiti-soft-2:#fbfaf8;
  --spiti-line:#e5ddd2;
  --spiti-line-strong:#d8ccbd;
  --spiti-success:#25714a;
  --spiti-danger:#9a3030;
  --spiti-shadow:0 28px 80px rgba(50,38,26,.11),0 3px 14px rgba(50,38,26,.05);
  width:100%;
  max-width:1240px;
  margin:0 auto;
  color:var(--spiti-ink);
  font-family:inherit;
  line-height:1.5;
  box-sizing:border-box;
}
.spiti-booking,.spiti-booking *{box-sizing:border-box}
.spiti-booking[hidden],.spiti-booking [hidden]{display:none!important}
.spiti-booking svg{display:block;width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.spiti-booking__surface{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#fff 76%,#fdfbf8 100%);
  border:1px solid rgba(171,139,104,.28);
  border-radius:32px;
  padding:clamp(26px,4.5vw,58px);
  box-shadow:var(--spiti-shadow);
}
.spiti-booking__surface:before{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  top:-250px;
  right:-130px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(176,130,87,.11),rgba(176,130,87,0) 70%);
  pointer-events:none;
}
.spiti-booking__intro{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  margin:0 0 clamp(24px,3vw,36px);
}
.spiti-booking__intro-icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border:1px solid rgba(171,139,104,.34);
  border-radius:18px;
  color:var(--spiti-brand,#a97751);
  background:linear-gradient(145deg,#fff,#f6f0e9);
  box-shadow:0 10px 28px rgba(76,55,36,.08);
}
.spiti-booking__intro-icon svg{width:27px;height:27px}
.spiti-booking__intro-copy{min-width:0}
.spiti-booking__eyebrow{
  display:block;
  margin:0 0 5px;
  color:var(--spiti-brand,#a97751);
  font-size:11px;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.spiti-booking__intro h2{
  margin:0;
  color:var(--spiti-ink);
  font-size:clamp(25px,2.5vw,35px);
  line-height:1.12;
  letter-spacing:-.035em;
  font-weight:650;
}
.spiti-booking__intro p{
  margin:7px 0 0;
  color:var(--spiti-muted);
  font-size:15px;
}
.spiti-booking__direct-badge{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:186px;
  padding:12px 15px;
  border:1px solid var(--spiti-line);
  border-radius:15px;
  background:rgba(250,248,244,.88);
}
.spiti-booking__direct-badge>span:last-child{display:grid;gap:1px}
.spiti-booking__direct-badge strong{font-size:12px;color:#39332c}
.spiti-booking__direct-badge small{font-size:11px;color:var(--spiti-muted)}
.spiti-booking__direct-dot{
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-radius:50%;
  background:#43a66f;
  box-shadow:0 0 0 5px rgba(67,166,111,.12);
}
.spiti-search-form{
  position:relative;
  display:grid;
  grid-template-columns:minmax(170px,1.05fr) repeat(2,minmax(170px,1.05fr)) repeat(2,minmax(130px,.72fr)) minmax(195px,1fr);
  gap:12px;
  align-items:end;
  padding:17px;
  background:var(--spiti-soft);
  border:1px solid rgba(204,190,174,.58);
  border-radius:22px;
}
.spiti-search-form--locked{
  grid-template-columns:repeat(2,minmax(180px,1.14fr)) repeat(2,minmax(135px,.74fr)) minmax(205px,1fr);
}
.spiti-field{display:flex;min-width:0;flex-direction:column;gap:8px}
.spiti-field label{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:9px;
  min-height:18px;
  margin:0 2px;
  color:#5d554c;
  font-size:11px;
  font-weight:800;
  letter-spacing:.105em;
  line-height:1.25;
  text-transform:uppercase;
}
.spiti-field label small{
  color:#9a8f83;
  font-size:9px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.spiti-control{
  position:relative;
  display:flex;
  align-items:center;
  min-height:60px;
  overflow:hidden;
  border:1px solid var(--spiti-line-strong);
  border-radius:14px;
  background:#fff;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.spiti-control:focus-within{
  border-color:var(--spiti-brand,#a97751);
  box-shadow:0 0 0 4px rgba(169,119,81,.12),0 8px 24px rgba(58,42,29,.06);
}
.spiti-control>svg{
  position:absolute;
  left:15px;
  z-index:1;
  width:20px;
  height:20px;
  color:var(--spiti-brand,#a97751);
  pointer-events:none;
}
.spiti-field input,.spiti-field select,.spiti-field textarea{
  width:100%;
  max-width:none;
  min-height:52px;
  margin:0;
  border:1px solid var(--spiti-line-strong);
  border-radius:13px;
  background:#fff;
  color:var(--spiti-ink);
  font:inherit;
  font-size:15px;
  line-height:1.35;
  outline:none;
  box-shadow:none;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.spiti-field input,.spiti-field select{padding:13px 15px}
.spiti-control input,.spiti-control select{
  min-height:58px;
  border:0;
  border-radius:0;
  padding:13px 14px 13px 46px;
  background:transparent;
  box-shadow:none!important;
}
.spiti-control--select select{padding-right:36px;appearance:auto}
.spiti-field textarea{min-height:112px;padding:14px 15px;resize:vertical}
.spiti-field>input:focus,.spiti-field>select:focus,.spiti-field>textarea:focus{
  border-color:var(--spiti-brand,#a97751);
  box-shadow:0 0 0 4px rgba(169,119,81,.12),0 8px 24px rgba(58,42,29,.05);
}
.spiti-field input[readonly]{background:#f8f6f2;color:#71695f}
.spiti-field input::placeholder,.spiti-field textarea::placeholder{color:#a49b91}
.spiti-field input[type=date]{color:#302b26;min-width:0}
.spiti-field input[type=date]::-webkit-calendar-picker-indicator{opacity:.58;cursor:pointer}
.spiti-stepper{
  display:grid;
  grid-template-columns:42px minmax(42px,1fr) 42px;
  align-items:center;
  min-height:60px;
  overflow:hidden;
  border:1px solid var(--spiti-line-strong);
  border-radius:14px;
  background:#fff;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.spiti-stepper:focus-within{
  border-color:var(--spiti-brand,#a97751);
  box-shadow:0 0 0 4px rgba(169,119,81,.12),0 8px 24px rgba(58,42,29,.05);
}
.spiti-stepper input{
  min-width:0;
  min-height:58px;
  padding:0 2px;
  border:0!important;
  border-radius:0;
  text-align:center;
  font-size:16px;
  font-weight:700;
  -moz-appearance:textfield;
  box-shadow:none!important;
}
.spiti-stepper input::-webkit-outer-spin-button,.spiti-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.spiti-stepper__button{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  margin:auto;
  padding:0;
  border:0;
  border-radius:10px;
  background:#f3efe9;
  color:#51483f;
  font:inherit;
  font-size:21px;
  line-height:1;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.spiti-stepper__button:hover,.spiti-stepper__button:focus-visible{background:var(--spiti-brand,#a97751);color:#fff;outline:0;transform:translateY(-1px)}
.spiti-button{
  appearance:none;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  min-height:58px;
  padding:15px 22px;
  overflow:hidden;
  border:1px solid transparent;
  border-radius:14px;
  background:var(--spiti-brand,#a97751);
  color:#fff!important;
  font:inherit;
  font-size:14px;
  font-weight:800;
  letter-spacing:.005em;
  line-height:1.2;
  text-decoration:none!important;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(105,75,50,.22);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,opacity .2s ease;
}
.spiti-button:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.16) 48%,transparent 72%);
  transform:translateX(-120%);
  transition:transform .65s ease;
}
.spiti-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(105,75,50,.28);filter:saturate(1.04)}
.spiti-button:hover:before{transform:translateX(120%)}
.spiti-button:focus-visible{outline:3px solid rgba(169,119,81,.28);outline-offset:3px}
.spiti-button:disabled{opacity:.68;cursor:wait;transform:none;box-shadow:none}
.spiti-button>svg{position:relative;width:19px;height:19px;transition:transform .2s ease}
.spiti-button:hover>svg{transform:translateX(3px)}
.spiti-button__label{position:relative}
.spiti-button__loader{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spiti-spin .8s linear infinite}
.spiti-button.is-loading .spiti-button__loader{display:block}
.spiti-button.is-loading>svg{display:none}
@keyframes spiti-spin{to{transform:rotate(360deg)}}
.spiti-button--search{width:100%;min-height:60px;padding-inline:18px}
.spiti-booking__assurances{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 30px;
  margin:18px 0 0;
  color:#766e65;
  font-size:12px;
}
.spiti-booking__assurances span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.spiti-booking__assurances svg{width:16px;height:16px;color:var(--spiti-brand,#a97751)}
.spiti-message{
  position:relative;
  margin:22px 0 0;
  padding:14px 17px 14px 46px;
  border:1px solid #e4ded5;
  border-radius:13px;
  background:#f8f5f1;
  color:#554d45;
  font-size:14px;
}
.spiti-message:before{
  content:"";
  position:absolute;
  left:18px;
  top:50%;
  width:15px;
  height:15px;
  margin-top:-8px;
  border:2px solid currentColor;
  border-top-color:transparent;
  border-radius:50%;
  animation:spiti-spin .8s linear infinite;
}
.spiti-message--error{border-color:#f0caca;background:#fff5f5;color:var(--spiti-danger)}
.spiti-message--error:before{content:"!";display:grid;place-items:center;width:18px;height:18px;margin-top:-9px;border:1px solid currentColor;border-radius:50%;font-size:12px;font-weight:800;animation:none}
.spiti-message--success{border-color:#cbe4d5;background:#f1faf5;color:var(--spiti-success)}
.spiti-message--success:before{content:"✓";display:grid;place-items:center;width:18px;height:18px;margin-top:-9px;border:0;font-weight:900;animation:none}
.spiti-results,.spiti-checkout{scroll-margin-top:115px;margin-top:clamp(38px,5vw,64px);padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--spiti-line)}
.spiti-stage-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin:0 0 22px;
}
.spiti-stage-heading__eyebrow,.spiti-form-heading__step{
  display:block;
  margin-bottom:5px;
  color:var(--spiti-brand,#a97751);
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.spiti-stage-heading h3,.spiti-form-heading h3{
  margin:0;
  color:var(--spiti-ink);
  font-size:clamp(24px,2.5vw,32px);
  line-height:1.18;
  letter-spacing:-.03em;
}
.spiti-text-button,.spiti-back{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--spiti-brand,#a97751);
  font:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  text-decoration:underline;
  text-decoration-color:rgba(169,119,81,.35);
  text-underline-offset:4px;
}
.spiti-summary{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  margin-bottom:20px;
  padding:18px 20px;
  border:1px solid var(--spiti-line);
  border-radius:17px;
  background:linear-gradient(135deg,#faf8f4,#fff);
}
.spiti-summary__icon{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:13px;
  background:#eee5db;
  color:var(--spiti-brand,#a97751);
}
.spiti-summary__icon svg{width:21px;height:21px}
.spiti-summary__main strong{display:block;font-size:17px;line-height:1.25}
.spiti-summary__main span{display:block;margin-top:3px;color:var(--spiti-muted);font-size:13px}
.spiti-summary__main i{margin:0 5px;color:#aaa097;font-style:normal}
.spiti-summary__facts{display:flex;align-items:center;gap:8px}
.spiti-summary__facts>span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 11px;
  border:1px solid #e7dfd5;
  border-radius:999px;
  background:#fff;
  color:#6c645c;
  font-size:11px;
  white-space:nowrap;
}
.spiti-summary__facts svg{width:14px;height:14px;color:var(--spiti-brand,#a97751)}
.spiti-summary__facts b{color:#37312b;font-weight:750}
.spiti-rate-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.spiti-plan{
  position:relative;
  display:flex;
  min-width:0;
  min-height:410px;
  flex-direction:column;
  padding:25px;
  overflow:hidden;
  border:1px solid var(--spiti-line);
  border-radius:21px;
  background:#fff;
  box-shadow:0 8px 28px rgba(52,39,27,.045);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.spiti-plan:hover{transform:translateY(-4px);border-color:#cebca9;box-shadow:0 20px 42px rgba(52,39,27,.10)}
.spiti-plan--non_refundable{
  border-color:rgba(169,119,81,.58);
  background:linear-gradient(180deg,#fff 0%,#fcf8f3 100%);
  box-shadow:0 18px 44px rgba(94,65,42,.10);
}
.spiti-plan__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.spiti-plan__tag{
  display:block;
  color:var(--spiti-brand,#a97751);
  font-size:10px;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.spiti-plan h4{margin:7px 0 0;font-size:20px;line-height:1.22;letter-spacing:-.025em}
.spiti-plan__ribbon{
  display:inline-flex;
  padding:7px 9px;
  border-radius:999px;
  background:var(--spiti-brand,#a97751);
  color:#fff;
  font-size:9px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.spiti-plan__description{min-height:66px;margin:17px 0 15px;color:var(--spiti-muted);font-size:13px;line-height:1.55}
.spiti-plan__features{display:grid;gap:10px;margin:0 0 23px;padding:0;list-style:none}
.spiti-plan__features li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;color:#514a43;font-size:12px;line-height:1.45}
.spiti-plan__features svg{width:16px;height:16px;margin-top:1px;color:var(--spiti-success);stroke-width:2.2}
.spiti-plan__price-block{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:auto 0 17px;padding-top:18px;border-top:1px solid #eee7de}
.spiti-plan__badge{max-width:110px;color:var(--spiti-success);font-size:11px;font-weight:800;line-height:1.35}
.spiti-plan__price{text-align:right}
.spiti-plan__price small,.spiti-plan__price span{display:block;color:#8a8178;font-size:10px;font-weight:600}
.spiti-plan__price strong{display:block;margin:2px 0;color:var(--spiti-ink);font-size:27px;line-height:1.05;letter-spacing:-.04em}
.spiti-button--plan{width:100%;min-height:52px;padding:13px 17px;border-radius:13px;font-size:13px}
.spiti-progress{
  display:flex;
  align-items:center;
  justify-content:center;
  max-width:650px;
  margin:0 auto 31px;
  color:#9a9188;
  font-size:11px;
  font-weight:750;
}
.spiti-progress span{display:flex;align-items:center;gap:7px;white-space:nowrap}
.spiti-progress i{display:grid;place-items:center;width:25px;height:25px;border:1px solid #d9d0c6;border-radius:50%;background:#fff;font-style:normal}
.spiti-progress b{height:1px;flex:1;margin:0 13px;background:#dfd8cf}
.spiti-progress .is-complete,.spiti-progress .is-active{color:#433a32}
.spiti-progress .is-complete i{border-color:var(--spiti-brand,#a97751);background:var(--spiti-brand,#a97751);color:#fff}
.spiti-progress .is-active i{border:2px solid var(--spiti-brand,#a97751);color:var(--spiti-brand,#a97751)}
.spiti-back{display:inline-flex;align-items:center;gap:7px;margin:0 0 18px;padding:0;text-decoration:none}
.spiti-back span{font-size:18px;line-height:1}
.spiti-checkout-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.78fr);gap:22px;align-items:start}
.spiti-guest-form,.spiti-order-card{
  border:1px solid var(--spiti-line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 8px 32px rgba(52,39,27,.045);
}
.spiti-guest-form{padding:clamp(23px,3vw,34px)}
.spiti-form-heading{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #eee7de}
.spiti-form-heading p{margin:7px 0 0;color:var(--spiti-muted);font-size:13px}
.spiti-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.spiti-field--wide{grid-column:1/-1}
.spiti-account-note{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:12px;
  align-items:start;
  margin:0 0 22px;
  padding:14px 16px;
  border:1px solid #e4dbcf;
  border-radius:14px;
  background:#faf7f3;
  color:#5f574f;
  font-size:12px;
  line-height:1.48;
}
.spiti-account-note>svg{width:21px;height:21px;margin-top:2px;color:var(--spiti-brand,#a97751)}
.spiti-account-note span{display:grid;gap:2px}
.spiti-account-note strong{color:#332d28;font-size:12px}
.spiti-consent{display:flex;align-items:flex-start;gap:11px;margin:21px 0;color:#655d55;font-size:12px;line-height:1.5}
.spiti-consent input{width:17px;height:17px;flex:0 0 17px;margin:2px 0 0;accent-color:var(--spiti-brand,#a97751)}
.spiti-consent a{color:var(--spiti-brand,#a97751);font-weight:700;text-underline-offset:3px}
.spiti-button--checkout{width:100%;min-height:58px}
.spiti-secure-note{display:flex;align-items:center;justify-content:center;gap:7px;margin:13px 0 0;color:#827a72;font-size:10px;text-align:center}
.spiti-secure-note svg{width:14px;height:14px;color:var(--spiti-success)}
.spiti-order-card{position:sticky;top:24px;overflow:hidden;background:linear-gradient(180deg,#fbf9f6,#fff)}
.spiti-order-card__head{display:grid;gap:3px;padding:20px 22px;border-bottom:1px solid var(--spiti-line);background:#f5f0e9}
.spiti-order-card__head span{color:var(--spiti-brand,#a97751);font-size:9px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.spiti-order-card__head strong{font-size:18px}
.spiti-order-details{padding:21px 22px}
.spiti-order-property{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;padding-bottom:18px;border-bottom:1px solid #e9e2d9}
.spiti-order-property__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eee5db;color:var(--spiti-brand,#a97751)}
.spiti-order-property__icon svg{width:20px;height:20px}
.spiti-order-property strong,.spiti-order-property span,.spiti-order-property small{display:block}
.spiti-order-property strong{font-size:15px}
.spiti-order-property span{margin-top:2px;color:#6d655d;font-size:11px}
.spiti-order-property small{margin-top:4px;color:#91877d;font-size:10px}
.spiti-order-rate{display:grid;gap:2px;padding:14px 0;border-bottom:1px solid #e9e2d9}
.spiti-order-rate span{color:#8a8178;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.spiti-order-rate strong{font-size:12px}
.spiti-order-line,.spiti-order-total,.spiti-order-due{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #eee8e0;color:#6c645c;font-size:11px}
.spiti-order-line strong{color:#3d3630}
.spiti-order-line--discount,.spiti-order-line--discount strong{color:var(--spiti-success)}
.spiti-order-total{align-items:center;padding:17px 0 8px;border-bottom:0;color:#332d28;font-size:14px;font-weight:800}
.spiti-order-total strong{font-size:22px;letter-spacing:-.03em}
.spiti-order-due{margin-top:6px;padding:10px 12px;border:0;border-radius:10px;background:#f2ece4;color:#453c34;font-weight:700}
.spiti-order-policy{display:grid;grid-template-columns:19px minmax(0,1fr);gap:9px;margin:16px 0 0;padding-top:15px;border-top:1px solid #eee7de;color:#756d64;font-size:10px;line-height:1.48}
.spiti-order-policy svg{width:17px;height:17px;color:var(--spiti-success)}
.spiti-order-policy p{margin:0}
.spiti-order-card__support{padding:16px 22px;border-top:1px solid var(--spiti-line);background:#fff}
.spiti-order-card__support span{font-size:11px;font-weight:800}
.spiti-order-card__support p{margin:3px 0 0;color:#81786f;font-size:10px;line-height:1.45}
.spiti-honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Customer account area */
.woocommerce-account .spiti-account-head,.spiti-account-head{margin:0 0 26px}
.spiti-account-head h2{margin:0 0 6px;font-size:30px;letter-spacing:-.03em}
.spiti-account-head p{margin:0;color:var(--spiti-muted,#736b62)}
.spiti-account-bookings{display:grid;gap:17px}
.spiti-account-booking,.spiti-account-detail,.spiti-detail-card,.spiti-account-empty{
  border:1px solid #e5ddd2;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 32px rgba(48,37,26,.055);
}
.spiti-account-booking{position:relative;padding:24px;overflow:hidden}
.spiti-account-booking:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--spiti-brand,#a97751)}
.spiti-account-booking__top,.spiti-account-detail__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.spiti-account-booking h3,.spiti-account-detail h2{margin:0 0 4px;letter-spacing:-.025em}
.spiti-booking-reference,.spiti-eyebrow,.spiti-muted{font-size:.82rem;color:#777068}
.spiti-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:.72rem;font-weight:800;background:#efede8;white-space:nowrap}
.spiti-status-confirmed,.spiti-status-checked_in,.spiti-status-completed{background:#e8f5eb;color:#1d6831}
.spiti-status-awaiting_payment,.spiti-status-awaiting_card,.spiti-status-payment_overdue{background:#fff1d5;color:#7b5200}
.spiti-status-cancelled,.spiti-status-expired,.spiti-status-payment_failed,.spiti-status-no_show{background:#fde8e8;color:#8b2222}
.spiti-account-summary,.spiti-detail-list,.spiti-money-list{margin:18px 0;display:grid;gap:10px}
.spiti-account-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.spiti-account-summary div{display:block;padding:13px 14px;border:1px solid #ece5dc;border-radius:12px;background:#faf8f5}
.spiti-account-summary dt,.spiti-detail-list dt,.spiti-money-list dt{font-size:.76rem;color:#777067}
.spiti-account-summary dd,.spiti-detail-list dd,.spiti-money-list dd{margin:4px 0 0;font-weight:700;color:#38322c}
.spiti-detail-list div,.spiti-money-list div{display:flex;justify-content:space-between;gap:16px;padding-bottom:9px;border-bottom:1px solid #eee8e0}
.spiti-account-actions,.spiti-document-list{display:flex;flex-wrap:wrap;gap:10px}
.woocommerce-account .spiti-account-booking .button,.woocommerce-account .spiti-account-detail .button,.spiti-account-booking .button,.spiti-account-detail .button{
  min-height:40px;padding:10px 16px!important;border:1px solid #d6c9ba!important;border-radius:11px!important;background:#fff!important;color:#4a4139!important;font-weight:750!important;line-height:1.2!important;box-shadow:none!important
}
.woocommerce-account .spiti-account-booking .button.alt,.woocommerce-account .spiti-account-detail .button.alt,.spiti-account-booking .button.alt,.spiti-account-detail .button.alt{border-color:var(--spiti-brand,#a97751)!important;background:var(--spiti-brand,#a97751)!important;color:#fff!important}
.spiti-back-link{text-decoration:none;color:var(--spiti-brand,#a97751);font-weight:700}
.spiti-account-detail{padding:30px}
.spiti-detail-status{display:grid;justify-items:end;gap:7px}
.spiti-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:22px 0}
.spiti-detail-card{padding:21px;margin:17px 0}
.spiti-detail-card h3{margin:0 0 15px;font-size:18px}
.spiti-detail-list dd{text-align:right}
.spiti-money-list .is-total{padding-top:12px;border-top:2px solid #ded5ca;font-size:1.03rem}
.spiti-policy-result{padding:13px 14px;border-left:4px solid currentColor;border-radius:0 10px 10px 0;background:#f7f5f0}
.spiti-responsive-table{overflow:auto;border:1px solid #eee7de;border-radius:12px}
.spiti-responsive-table table{width:100%;min-width:560px;border-collapse:collapse}
.spiti-responsive-table th,.spiti-responsive-table td{padding:11px 12px;border-bottom:1px solid #eee7dd;text-align:left;font-size:12px}
.spiti-responsive-table th{background:#f7f4ef;color:#655d55;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.spiti-timeline summary{cursor:pointer;font-weight:800}
.spiti-timeline ol{margin:18px 0 0;padding:0;list-style:none}
.spiti-timeline li{position:relative;padding:0 0 18px 24px;border-left:2px solid #e8e2d8}
.spiti-timeline li:before{content:"";position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--spiti-brand,#a97751)}
.spiti-timeline li span{display:block;font-size:.75rem;color:#736e67}
.spiti-timeline li p{margin:5px 0 0}
.spiti-account-empty{padding:42px;text-align:center}

@media(max-width:1120px){
  .spiti-search-form,.spiti-search-form--locked{grid-template-columns:repeat(3,minmax(0,1fr))}
  .spiti-button--search{grid-column:auto}
  .spiti-rate-plans{grid-template-columns:1fr}
  .spiti-plan{min-height:0}
  .spiti-plan__description{min-height:0}
  .spiti-checkout-grid{grid-template-columns:minmax(0,1.4fr) minmax(285px,.8fr)}
}
@media(max-width:860px){
  .spiti-booking__surface{border-radius:25px;padding:28px}
  .spiti-booking__intro{grid-template-columns:auto minmax(0,1fr)}
  .spiti-booking__direct-badge{grid-column:1/-1;width:max-content;margin-left:76px}
  .spiti-search-form,.spiti-search-form--locked{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spiti-button--search{grid-column:1/-1}
  .spiti-summary{grid-template-columns:auto minmax(0,1fr)}
  .spiti-summary__facts{grid-column:2;justify-content:flex-start}
  .spiti-checkout-grid{grid-template-columns:1fr}
  .spiti-order-card{position:static;order:-1}
  .spiti-account-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spiti-detail-grid{grid-template-columns:1fr}
  .spiti-account-detail{padding:22px}
}
@media(max-width:600px){
  .spiti-booking{max-width:none}
  .spiti-booking__surface{border-radius:20px;padding:21px 17px;box-shadow:0 17px 45px rgba(50,38,26,.10)}
  .spiti-booking__intro{grid-template-columns:45px minmax(0,1fr);gap:12px;margin-bottom:21px}
  .spiti-booking__intro-icon{width:45px;height:45px;border-radius:14px}
  .spiti-booking__intro-icon svg{width:22px;height:22px}
  .spiti-booking__eyebrow{font-size:9px;letter-spacing:.12em}
  .spiti-booking__intro h2{font-size:23px}
  .spiti-booking__intro p{font-size:12px;line-height:1.45}
  .spiti-booking__direct-badge{display:none}
  .spiti-search-form,.spiti-search-form--locked{grid-template-columns:1fr;gap:13px;padding:14px;border-radius:17px}
  .spiti-search-form>*{grid-column:auto}
  .spiti-control,.spiti-stepper,.spiti-button--search{min-height:56px}
  .spiti-control input,.spiti-control select,.spiti-stepper input{min-height:54px}
  .spiti-booking__assurances{justify-content:flex-start;gap:8px 17px;margin-top:15px;font-size:10px}
  .spiti-booking__assurances span{white-space:normal}
  .spiti-results,.spiti-checkout{margin-top:34px;padding-top:29px}
  .spiti-stage-heading{display:grid;gap:9px}
  .spiti-stage-heading h3,.spiti-form-heading h3{font-size:24px}
  .spiti-summary{grid-template-columns:40px minmax(0,1fr);gap:11px;padding:15px}
  .spiti-summary__icon{width:40px;height:40px}
  .spiti-summary__facts{grid-column:1/-1;flex-wrap:wrap}
  .spiti-plan{padding:21px;border-radius:18px}
  .spiti-plan__price-block{align-items:center}
  .spiti-plan__price strong{font-size:25px}
  .spiti-progress{justify-content:flex-start;overflow:hidden;font-size:9px}
  .spiti-progress b{margin:0 7px}
  .spiti-progress i{width:22px;height:22px}
  .spiti-guest-form{padding:20px 16px}
  .spiti-form-grid{grid-template-columns:1fr}
  .spiti-field--wide{grid-column:auto}
  .spiti-order-details,.spiti-order-card__head,.spiti-order-card__support{padding-left:17px;padding-right:17px}
  .spiti-account-summary{grid-template-columns:1fr}
  .spiti-account-booking__top,.spiti-account-detail__header{display:grid}
  .spiti-detail-status{justify-items:start}
  .spiti-detail-list div,.spiti-money-list div{align-items:flex-start}
  .spiti-account-booking,.spiti-detail-card,.spiti-account-detail{padding:17px}
}
@media(prefers-reduced-motion:reduce){
  .spiti-booking *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
.spiti-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}


/* Compact property booking search */
.spiti-booking{
  width:min(100%,1820px);
  max-width:1820px;
}
.spiti-booking--compact .spiti-booking__surface{
  overflow:visible;
  padding:clamp(26px,2.4vw,38px);
  border-radius:30px;
}
.spiti-booking--compact .spiti-search-form,
.spiti-booking--compact .spiti-search-form--locked{
  display:grid;
  width:100%;
  min-width:0;
  max-width:100%;
  gap:24px;
  align-items:end;
}
.spiti-booking--compact .spiti-search-form--locked{
  grid-template-columns:minmax(0,3fr) minmax(0,3fr) minmax(0,2fr) minmax(0,2fr) minmax(220px,2.4fr);
}
.spiti-booking--compact .spiti-search-form:not(.spiti-search-form--locked){
  grid-template-columns:repeat(12,minmax(0,1fr));
}
.spiti-booking--compact .spiti-search-form:not(.spiti-search-form--locked) .spiti-field--property{grid-column:1/-1}
.spiti-booking--compact .spiti-search-form:not(.spiti-search-form--locked) .spiti-field--date{grid-column:span 3}
.spiti-booking--compact .spiti-search-form:not(.spiti-search-form--locked) .spiti-field--guest{grid-column:span 2}
.spiti-booking--compact .spiti-search-form:not(.spiti-search-form--locked) .spiti-button--search{grid-column:span 2}
.spiti-booking--compact .spiti-search-form>*,
.spiti-booking--compact .spiti-field,
.spiti-booking--compact .spiti-button--search{
  width:100%;
  min-width:0;
  max-width:100%;
}
.spiti-booking--compact .spiti-field{gap:12px}
.spiti-booking--compact .spiti-field label{
  margin:0 4px;
  font-size:12px;
  letter-spacing:.1em;
}
.spiti-booking--compact .spiti-field--guest label{
  display:flex;
  min-height:34px;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:4px;
  white-space:normal;
}
.spiti-booking--compact .spiti-field--guest label small{
  display:block;
  color:#7ea3ad;
  font-size:10px;
  letter-spacing:.06em;
  line-height:1.1;
}
.spiti-booking--compact .spiti-control,
.spiti-booking--compact .spiti-stepper,
.spiti-booking--compact .spiti-button--search{
  height:62px;
  min-height:62px;
}
.spiti-booking--compact .spiti-control input,
.spiti-booking--compact .spiti-control select,
.spiti-booking--compact .spiti-stepper input{
  min-height:60px;
  font-size:16px;
}
.spiti-booking--compact .spiti-stepper{grid-template-columns:40px minmax(0,1fr) 40px}
.spiti-booking--compact .spiti-stepper__button{
  width:32px;
  height:32px;
  border-radius:10px;
  font-size:18px;
}
.spiti-booking--compact .spiti-button{
  min-height:62px;
  padding:14px 20px;
  border-radius:20px;
  font-size:14px;
  letter-spacing:0;
}
.spiti-booking--compact .spiti-button--search{
  min-width:0;
  align-self:end;
  justify-self:stretch;
  gap:10px;
  white-space:normal;
}
.spiti-booking--compact .spiti-button--search .spiti-button__label{
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  text-align:center;
  font-size:14px;
  font-weight:800;
  line-height:1.15;
}
.spiti-booking--compact .spiti-button>svg{width:17px;height:17px}

@media (max-width:1460px){
  .spiti-booking--compact .spiti-search-form,
  .spiti-booking--compact .spiti-search-form--locked{
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:18px;
  }
  .spiti-booking--compact .spiti-search-form--locked .spiti-field--date,
  .spiti-booking--compact .spiti-search-form:not(.spiti-search-form--locked) .spiti-field--date{grid-column:span 3}
  .spiti-booking--compact .spiti-search-form--locked .spiti-field--guest,
  .spiti-booking--compact .spiti-search-form:not(.spiti-search-form--locked) .spiti-field--guest,
  .spiti-booking--compact .spiti-search-form--locked .spiti-button--search,
  .spiti-booking--compact .spiti-search-form:not(.spiti-search-form--locked) .spiti-button--search{grid-column:span 2}
  .spiti-booking--compact .spiti-search-form:not(.spiti-search-form--locked) .spiti-field--property{grid-column:1/-1}
}
@media (max-width:1100px){
  .spiti-booking--compact .spiti-search-form,
  .spiti-booking--compact .spiti-search-form--locked{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }
  .spiti-booking--compact .spiti-search-form--locked .spiti-field--date,
  .spiti-booking--compact .spiti-search-form--locked .spiti-field--guest,
  .spiti-booking--compact .spiti-search-form:not(.spiti-search-form--locked) .spiti-field--date,
  .spiti-booking--compact .spiti-search-form:not(.spiti-search-form--locked) .spiti-field--guest{grid-column:span 1}
  .spiti-booking--compact .spiti-search-form--locked .spiti-button--search,
  .spiti-booking--compact .spiti-search-form:not(.spiti-search-form--locked) .spiti-button--search,
  .spiti-booking--compact .spiti-search-form:not(.spiti-search-form--locked) .spiti-field--property{grid-column:1/-1}
  .spiti-booking--compact .spiti-field--guest label{min-height:auto}
}
@media (max-width:680px){
  .spiti-booking--compact .spiti-booking__surface{
    padding:18px;
    border-radius:22px;
  }
  .spiti-booking--compact .spiti-search-form,
  .spiti-booking--compact .spiti-search-form--locked{
    grid-template-columns:1fr;
    gap:14px;
  }
  .spiti-booking--compact .spiti-search-form--locked .spiti-field--date,
  .spiti-booking--compact .spiti-search-form--locked .spiti-field--guest,
  .spiti-booking--compact .spiti-search-form--locked .spiti-button--search,
  .spiti-booking--compact .spiti-search-form:not(.spiti-search-form--locked) .spiti-field--property,
  .spiti-booking--compact .spiti-search-form:not(.spiti-search-form--locked) .spiti-field--date,
  .spiti-booking--compact .spiti-search-form:not(.spiti-search-form--locked) .spiti-field--guest,
  .spiti-booking--compact .spiti-search-form:not(.spiti-search-form--locked) .spiti-button--search{grid-column:1}
}

/* RC11 premium results and wide Elementor breakout */
.spiti-booking--compact .spiti-results{
  border-top-color:#dce8eb;
}
.spiti-booking--compact .spiti-stage-heading{
  align-items:center;
  margin-bottom:20px;
}
.spiti-booking--compact .spiti-stage-heading h3{
  font-size:clamp(27px,2.3vw,38px);
  font-weight:650;
  letter-spacing:-.035em;
}
.spiti-booking--compact .spiti-edit-search{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:10px 16px;
  border:1px solid #c8dce1;
  border-radius:999px;
  background:#fff;
  color:var(--spiti-brand,#387E8E);
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 7px 20px rgba(45,103,116,.07);
  transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease;
}
.spiti-booking--compact .spiti-edit-search svg{width:17px;height:17px}
.spiti-booking--compact .spiti-edit-search:hover,
.spiti-booking--compact .spiti-edit-search:focus-visible{
  border-color:var(--spiti-brand,#387E8E);
  background:#eff6f7;
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(45,103,116,.11);
  outline:0;
}
.spiti-booking--compact .spiti-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:26px;
  padding:20px 22px;
  border-color:#d6e5e8;
  border-radius:20px;
  background:#fff;
  box-shadow:0 9px 30px rgba(45,91,102,.055);
}
.spiti-booking--compact .spiti-summary__stay{
  display:flex;
  align-items:center;
  gap:15px;
  min-width:0;
}
.spiti-booking--compact .spiti-summary__icon{
  flex:0 0 48px;
  width:48px;
  height:48px;
  border-radius:15px;
  background:#edf6f7;
}
.spiti-booking--compact .spiti-summary__main strong{font-size:19px}
.spiti-booking--compact .spiti-summary__main span{font-size:13px}
.spiti-booking--compact .spiti-summary__facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(100px,auto));
  gap:10px;
  flex:0 0 auto;
}
.spiti-booking--compact .spiti-summary__facts>span{
  display:grid;
  grid-template-columns:auto auto;
  grid-template-rows:auto auto;
  justify-content:center;
  align-items:center;
  column-gap:7px;
  min-width:104px;
  padding:10px 14px;
  border-color:#d9e7ea;
  border-radius:14px;
  background:#f8fbfc;
  text-align:center;
}
.spiti-booking--compact .spiti-summary__facts>span>svg{
  grid-row:1/3;
  width:16px;
  height:16px;
}
.spiti-booking--compact .spiti-summary__facts b{
  font-size:15px;
  line-height:1.1;
}
.spiti-booking--compact .spiti-summary__facts small{
  color:#78929a;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1.1;
  text-transform:uppercase;
}
.spiti-booking--compact .spiti-rate-plans{
  grid-template-columns:repeat(3,minmax(300px,1fr));
  gap:24px;
}
.spiti-booking--compact .spiti-plan{
  min-height:430px;
  padding:28px;
  border-color:#d6e5e8;
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 38px rgba(45,91,102,.065);
}
.spiti-booking--compact .spiti-plan:hover{
  transform:translateY(-3px);
  border-color:#a9ccd4;
  box-shadow:0 22px 50px rgba(45,91,102,.11);
}
.spiti-booking--compact .spiti-plan--non_refundable{
  border:1.5px solid var(--spiti-brand,#387E8E);
  background:linear-gradient(180deg,#f5fafb 0%,#fff 34%);
  box-shadow:0 18px 48px rgba(45,103,116,.13);
}
.spiti-booking--compact .spiti-plan__header{
  min-height:74px;
  gap:16px;
}
.spiti-booking--compact .spiti-plan__tag{
  font-size:10px;
  color:var(--spiti-brand,#387E8E);
}
.spiti-booking--compact .spiti-plan h4{
  margin-top:8px;
  font-size:clamp(21px,1.55vw,26px);
  line-height:1.18;
}
.spiti-booking--compact .spiti-plan__ribbon{
  padding:7px 10px;
  border-radius:999px;
  font-size:9px;
}
.spiti-booking--compact .spiti-plan__intro{
  min-height:24px;
  margin:12px 0 18px;
  color:#71868c;
  font-size:13px;
  line-height:1.45;
}
.spiti-booking--compact .spiti-plan__terms{
  display:grid;
  gap:0;
  margin-bottom:22px;
  overflow:hidden;
  border:1px solid #dfeaed;
  border-radius:16px;
  background:#fbfdfe;
}
.spiti-booking--compact .spiti-plan__terms>div{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  align-items:center;
  gap:12px;
  min-height:56px;
  padding:12px 14px;
}
.spiti-booking--compact .spiti-plan__terms>div+div{border-top:1px solid #e3ecef}
.spiti-booking--compact .spiti-plan__terms span{
  color:#7c939a;
  font-size:9px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.spiti-booking--compact .spiti-plan__terms strong{
  color:#263b41;
  font-size:12px;
  line-height:1.35;
}
.spiti-booking--compact .spiti-plan__description,
.spiti-booking--compact .spiti-plan__features{display:none}
.spiti-booking--compact .spiti-plan__price-block{
  align-items:flex-end;
  margin-top:auto;
  margin-bottom:18px;
  padding-top:20px;
  border-top-color:#e2ebed;
}
.spiti-booking--compact .spiti-plan__badge{
  max-width:130px;
  color:var(--spiti-brand,#387E8E);
  font-size:11px;
}
.spiti-booking--compact .spiti-plan__price strong{
  font-size:32px;
}
.spiti-booking--compact .spiti-button--plan{
  min-height:54px;
  border-radius:15px;
  font-size:13px;
}
@media(max-width:1120px){
  .spiti-booking--compact .spiti-rate-plans{grid-template-columns:1fr}
  .spiti-booking--compact .spiti-plan{min-height:0}
  .spiti-booking--compact .spiti-plan__header{min-height:0}
}
@media(max-width:760px){
  .spiti-booking--compact .spiti-stage-heading{display:grid;gap:14px}
  .spiti-booking--compact .spiti-edit-search{width:max-content}
  .spiti-booking--compact .spiti-summary{display:grid;gap:16px}
  .spiti-booking--compact .spiti-summary__facts{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .spiti-booking--compact .spiti-summary__facts>span{min-width:0;padding:10px 8px}
}
@media(max-width:480px){
  .spiti-booking--compact .spiti-summary__facts{grid-template-columns:1fr}
  .spiti-booking--compact .spiti-summary__facts>span{grid-template-columns:auto auto;justify-content:flex-start;text-align:left}
  .spiti-booking--compact .spiti-plan{padding:22px}
}


/* RC12 capacity, cancellation and premium results refinement */
.spiti-booking{max-width:1600px;width:100%}
.spiti-booking--compact .spiti-results{max-width:1380px;margin-left:auto;margin-right:auto}
.spiti-booking--compact .spiti-stage-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.spiti-booking--compact .spiti-stage-heading>div{text-align:left}
.spiti-booking--compact .spiti-edit-search{
  min-height:48px;
  padding:11px 19px;
  border:1px solid #bcd5db;
  border-radius:14px;
  background:#f7fbfc;
  font-size:12px;
  box-shadow:none;
}
.spiti-booking--compact .spiti-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  padding:22px 24px;
}
.spiti-booking--compact .spiti-summary__stay{justify-content:flex-start}
.spiti-booking--compact .spiti-summary__facts{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}
.spiti-booking--compact .spiti-summary__facts>span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:112px;
  min-height:44px;
  padding:10px 14px;
  border:1px solid #d9e7ea;
  border-radius:999px;
  background:#f8fbfc;
  white-space:nowrap;
  text-align:center;
}
.spiti-booking--compact .spiti-summary__facts b,
.spiti-booking--compact .spiti-summary__facts small{
  display:inline;
  font-size:12px;
  line-height:1;
  letter-spacing:0;
  text-transform:none;
}
.spiti-booking--compact .spiti-summary__facts b{font-size:14px;color:#243b41}
.spiti-booking--compact .spiti-summary__facts small{color:#617d84;font-weight:700}
.spiti-booking--compact .spiti-rate-plans{
  grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
  gap:26px;
  width:100%;
  max-width:1320px;
  margin:0 auto;
}
.spiti-booking--compact .spiti-plan{
  min-height:460px;
  padding:30px;
  text-align:center;
}
.spiti-booking--compact .spiti-plan__header{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:88px;
  text-align:center;
}
.spiti-booking--compact .spiti-plan__header>div{width:100%;text-align:center}
.spiti-booking--compact .spiti-plan__ribbon{position:absolute;top:0;right:0}
.spiti-booking--compact .spiti-plan__intro{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  margin:8px auto 20px;
  text-align:center;
}
.spiti-booking--compact .spiti-plan__terms{
  width:100%;
  margin:0 auto 24px;
  text-align:center;
}
.spiti-booking--compact .spiti-plan__terms>div{
  display:grid;
  grid-template-columns:1fr;
  justify-items:center;
  gap:5px;
  min-height:68px;
  padding:14px 18px;
  text-align:center;
}
.spiti-booking--compact .spiti-plan__terms span,
.spiti-booking--compact .spiti-plan__terms strong{display:block;text-align:center}
.spiti-booking--compact .spiti-plan__terms strong{font-size:13px}
.spiti-booking--compact .spiti-plan__price-block{
  display:grid;
  grid-template-columns:1fr;
  justify-items:center;
  gap:12px;
  text-align:center;
}
.spiti-booking--compact .spiti-plan__badge{max-width:none;text-align:center}
.spiti-booking--compact .spiti-plan__price{text-align:center}
.spiti-booking--compact .spiti-button--plan{max-width:320px;margin:0 auto}
@media(max-width:900px){
  .spiti-booking--compact .spiti-summary{grid-template-columns:1fr}
  .spiti-booking--compact .spiti-summary__facts{justify-content:flex-start;flex-wrap:wrap}
  .spiti-booking--compact .spiti-rate-plans{grid-template-columns:1fr}
}
@media(max-width:620px){
  .spiti-booking--compact .spiti-stage-heading{display:grid;justify-items:start}
  .spiti-booking--compact .spiti-summary__facts{display:grid;grid-template-columns:1fr 1fr 1fr;width:100%}
  .spiti-booking--compact .spiti-summary__facts>span{min-width:0;padding:9px 7px}
}

/* RC14 flexible payment choices, coupons and final two-rate structure */
.spiti-booking--compact .spiti-rate-plans{
  grid-template-columns:repeat(2,minmax(360px,1fr));
  max-width:1120px;
}
.spiti-booking--compact .spiti-plan{min-height:440px}
.spiti-promo{
  display:flex;
  justify-content:flex-end;
  margin:14px 0 24px;
}
.spiti-promo-form{
  width:min(100%,430px);
  padding:14px 16px;
  border:1px solid #d9e7ea;
  border-radius:16px;
  background:#f8fbfc;
}
.spiti-promo-form>label{
  display:block;
  margin-bottom:7px;
  color:var(--spiti-brand,#387E8E);
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.spiti-promo__controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}
.spiti-promo__controls input{
  min-width:0;
  height:42px;
  padding:9px 12px;
  border:1px solid #c7dade;
  border-radius:11px;
  background:#fff;
  font:inherit;
  text-transform:uppercase;
}
.spiti-promo__apply,.spiti-promo__remove{
  min-height:42px;
  padding:9px 14px;
  border:1px solid var(--spiti-brand,#387E8E);
  border-radius:11px;
  background:var(--spiti-brand,#387E8E);
  color:#fff;
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.spiti-promo__remove{background:#fff;color:var(--spiti-brand,#387E8E)}
.spiti-promo__status{margin:9px 2px 0;font-size:12px}
.spiti-promo__status.is-success{color:#25714a}.spiti-promo__status.is-error{color:#9a3030}
.spiti-payment-choice{
  margin:0 0 24px;
  padding:20px;
  border:1px solid #d8e6e9;
  border-radius:18px;
  background:#f8fbfc;
}
.spiti-payment-choice__head{display:grid;gap:3px;margin-bottom:14px}
.spiti-payment-choice__head span{color:var(--spiti-brand,#387E8E);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.spiti-payment-choice__head strong{font-size:18px}
.spiti-payment-choice__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.spiti-payment-option{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:start;
  min-height:122px;
  padding:16px;
  border:1px solid #cfdee2;
  border-radius:15px;
  background:#fff;
  cursor:pointer;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.spiti-payment-option:hover,.spiti-payment-option.is-selected{border-color:var(--spiti-brand,#387E8E);box-shadow:0 10px 24px rgba(56,126,142,.09);transform:translateY(-1px)}
.spiti-payment-option input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--spiti-brand,#387E8E)}
.spiti-payment-option>span{display:grid;gap:5px}
.spiti-payment-option strong{font-size:14px;color:#263b41}
.spiti-payment-option small{font-size:11px;line-height:1.45;color:#6d8389}
.spiti-payment-option>b{grid-column:2;color:var(--spiti-brand,#387E8E);font-size:12px}
@media(max-width:900px){
  .spiti-booking--compact .spiti-rate-plans{grid-template-columns:1fr}
  .spiti-payment-choice__options{grid-template-columns:1fr}
}
@media(max-width:520px){
  .spiti-promo__controls{grid-template-columns:1fr 1fr}
  .spiti-promo__controls input{grid-column:1/-1}
}


/* RC15 checkout coupon placement, flexible policy copy and navigation polish */
.spiti-booking--compact .spiti-promo--checkout{
  display:block;
  margin:0;
  padding:18px 22px;
  border-bottom:1px solid #dfe9ec;
  background:#fbfdfe;
}
.spiti-booking--compact .spiti-promo--checkout .spiti-promo-form{
  width:100%;
  max-width:none;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.spiti-booking--compact .spiti-promo--checkout .spiti-promo-form>label{
  margin:0 0 9px;
  font-size:10px;
  text-align:left;
}
.spiti-booking--compact .spiti-promo--checkout .spiti-promo__controls{
  grid-template-columns:minmax(0,1fr) auto auto;
}
.spiti-booking--compact .spiti-promo--checkout .spiti-promo__controls input{
  text-transform:uppercase;
}
.spiti-booking--compact .spiti-back{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:42px;
  margin:0 0 22px;
  padding:10px 16px;
  border:1px solid #b9d1d7;
  border-radius:999px;
  background:#fff;
  color:var(--spiti-brand,#387E8E);
  font-size:12px;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  box-shadow:0 7px 20px rgba(56,126,142,.06);
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.spiti-booking--compact .spiti-back svg{width:16px;height:16px}
.spiti-booking--compact .spiti-back:hover,
.spiti-booking--compact .spiti-back:focus-visible{
  border-color:var(--spiti-brand,#387E8E);
  background:var(--spiti-brand,#387E8E);
  color:#fff;
  outline:0;
  transform:translateY(-1px);
  box-shadow:0 11px 25px rgba(56,126,142,.16);
}
.spiti-booking--compact .spiti-plan__terms div{
  min-height:76px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 18px;
}
.spiti-booking--compact .spiti-plan__terms strong{
  max-width:100%;
  font-size:13px;
  line-height:1.35;
  text-wrap:balance;
}
@media(max-width:520px){
  .spiti-booking--compact .spiti-promo--checkout{padding:16px 17px}
  .spiti-booking--compact .spiti-promo--checkout .spiti-promo__controls{grid-template-columns:1fr 1fr}
  .spiti-booking--compact .spiti-promo--checkout .spiti-promo__controls input{grid-column:1/-1}
}

/* RC16 checkout summary alignment and coupon action polish */
.spiti-booking--compact .spiti-order-property{
  grid-template-columns:1fr;
  justify-items:center;
  align-items:center;
  gap:10px;
  text-align:center;
}
.spiti-booking--compact .spiti-order-property__icon{margin:0 auto}
.spiti-booking--compact .spiti-order-property>div{width:100%;text-align:center}
.spiti-booking--compact .spiti-order-property strong,
.spiti-booking--compact .spiti-order-property span,
.spiti-booking--compact .spiti-order-property small{text-align:center}
.spiti-booking--compact .spiti-promo__apply{
  border-color:var(--spiti-brand,#387E8E)!important;
  background:var(--spiti-brand,#387E8E)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(56,126,142,.16)!important;
}
.spiti-booking--compact .spiti-promo__apply:hover,
.spiti-booking--compact .spiti-promo__apply:focus-visible{
  filter:brightness(.92);
  color:#fff!important;
  outline:0;
}


/* RC18 complete guest journey */
.spiti-child-ages{grid-column:1/-1;padding:18px;border:1px solid #d9e7ea;border-radius:16px;background:#f8fbfc}
.spiti-child-ages__heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:12px;color:#2e6f7e}
.spiti-child-ages__heading strong{font-size:14px}.spiti-child-ages__heading span{font-size:12px;color:#738a90}
.spiti-child-ages__grid{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:12px}
.spiti-child-age{display:grid;gap:6px;color:#4b6166;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}
.spiti-child-age select{min-height:45px;padding:9px 12px;border:1px solid #c9dce1;border-radius:11px;background:#fff;color:#252a2c}
.spiti-error-summary{margin:20px 0 0;padding:17px 20px;border:1px solid #efc4c4;border-radius:14px;background:#fff7f7;color:#8b2727}
.spiti-error-summary strong{display:block;margin-bottom:7px}.spiti-error-summary ul{margin:0;padding-left:20px}
.spiti-waitlist{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:24px;align-items:center;margin-top:24px;padding:24px;border:1px solid #d7e6ea;border-radius:20px;background:#f7fbfc}
.spiti-waitlist__copy span,.spiti-extras__heading span{color:var(--spiti-brand);font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.spiti-waitlist__copy h3,.spiti-extras__heading h4{margin:4px 0 5px;font-size:22px}.spiti-waitlist__copy p{margin:0;color:#687b80}
.spiti-waitlist-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.spiti-waitlist-form .spiti-field label{display:grid;gap:7px}.spiti-waitlist-form .spiti-button{min-width:150px}
.spiti-waitlist__status{grid-column:1/-1;margin:0;padding:10px 13px;border-radius:10px}.spiti-waitlist__status.is-success{background:#eff9f3;color:#237147}.spiti-waitlist__status.is-error{background:#fff3f3;color:#922}
.spiti-extras{margin:0 0 25px;padding:22px;border:1px solid #dce7e9;border-radius:18px;background:#f9fbfc}
.spiti-extras__heading{margin-bottom:15px}.spiti-extras__heading h4{font-size:20px}
.spiti-extras__list{display:grid;gap:10px}.spiti-extra{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:18px;align-items:center;padding:14px;border:1px solid #e0e9eb;border-radius:13px;background:#fff}
.spiti-extra strong{display:block;color:#222}.spiti-extra p{margin:3px 0;color:#718085;font-size:12px}.spiti-extra span{color:var(--spiti-brand);font-size:12px;font-weight:700}.spiti-extra label{display:grid;gap:5px;color:#688087;font-size:10px;font-weight:800;text-transform:uppercase}.spiti-extra select{min-height:42px;border:1px solid #cadce0;border-radius:10px;background:#fff}
.spiti-turnstile{min-height:65px;margin:18px 0;display:flex;justify-content:center}
.spiti-account-section{margin-top:20px;padding:22px;border:1px solid #dce7e9;border-radius:17px;background:#fff}.spiti-account-section h3{margin:0 0 8px}.spiti-account-section p{color:#697a7f}.spiti-account-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.spiti-account-form-grid .wide{grid-column:1/-1}
@media(max-width:900px){.spiti-child-ages__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spiti-waitlist{grid-template-columns:1fr}.spiti-waitlist-form{grid-template-columns:1fr auto}}
@media(max-width:620px){.spiti-child-ages__heading{display:grid}.spiti-child-ages__grid,.spiti-waitlist-form,.spiti-account-form-grid{grid-template-columns:1fr}.spiti-extra{grid-template-columns:1fr}.spiti-account-form-grid .wide{grid-column:auto}}

/* RC18 all-property availability search */
.spiti-property-results{display:grid;gap:16px;margin:0 0 22px}
.spiti-property-option{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:22px;align-items:center;padding:18px;border:1px solid #d7e5e9;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(42,76,87,.055)}
.spiti-property-option>img{width:150px;height:108px;object-fit:cover;border-radius:14px}
.spiti-property-option>div>span{display:block;color:var(--spiti-brand,#387E8E);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.spiti-property-option h4{margin:5px 0 5px;font-size:22px;line-height:1.2}
.spiti-property-option p{margin:0;color:var(--spiti-muted);font-size:13px}
.spiti-property-option__price{display:grid;min-width:155px;justify-items:end;gap:4px;text-align:right}
.spiti-property-option__price small{color:var(--spiti-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.spiti-property-option__price strong{font-size:24px;line-height:1}
.spiti-property-option__price .spiti-button{margin-top:8px;min-height:46px;padding:11px 18px;border-radius:13px}
@media(max-width:760px){.spiti-property-option{grid-template-columns:1fr}.spiti-property-option>img{width:100%;height:180px}.spiti-property-option__price{justify-items:start;text-align:left}}

/* RC18 guest registration, requests and account accessibility */
.spiti-account-notice{display:grid;gap:5px;margin:14px 0 18px;padding:15px 17px;border:1px solid #cfe1e5;border-radius:13px;background:#f3f9fa;color:#315d67}.spiti-account-notice strong{font-size:13px}.spiti-account-notice span{font-size:12px}.spiti-account-notice small{color:#678087;font-size:11px}
.spiti-guest-registration{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:15px;border:1px solid #dce7e9;border-radius:14px;background:#fafcfd}.spiti-guest-registration legend{padding:0 7px;color:var(--spiti-brand,#387e8e);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.spiti-guest-registration label{display:grid;gap:6px;color:#4f6268;font-size:11px;font-weight:700}.spiti-guest-registration input{width:100%;min-height:42px;border:1px solid #cfdee2;border-radius:9px;background:#fff;padding:8px 10px}.spiti-guest-registration label:last-of-type:nth-child(5){grid-column:1/-1}
.spiti-error-summary:focus{outline:3px solid rgba(56,126,142,.25);outline-offset:3px}
.spiti-field [aria-invalid=true],.spiti-account-form-grid [aria-invalid=true]{border-color:#b93e3e!important;box-shadow:0 0 0 3px rgba(185,62,62,.11)!important}
@media(max-width:620px){.spiti-guest-registration{grid-template-columns:1fr}}

/* Approval-required optional extras */
.spiti-extra__approval{display:block;margin-top:6px;color:#6f8790;font-size:11px;line-height:1.4}
.spiti-order-line--pending{align-items:flex-start;background:#f5f9fa;border-radius:10px;padding:10px 12px}
.spiti-order-line--pending span{display:grid;gap:2px}
.spiti-order-line--pending span small{color:#6f8790;font-size:10px;font-weight:600}
.spiti-order-line--pending strong{max-width:130px;color:var(--spiti-brand,#387E8E);font-size:11px;text-align:right}



/* RC24 approved SPITI public palette — protected from legacy saved settings/theme overrides */
.spiti-booking{--spiti-brand:#387E8E!important;--spiti-accent:#D6E6EA!important}
.spiti-booking .spiti-button,.spiti-booking .spiti-button--search,.spiti-booking .spiti-button--checkout,.spiti-booking .spiti-button--plan{background:#387E8E!important;border-color:#387E8E!important;color:#fff!important;box-shadow:0 14px 30px rgba(56,126,142,.18)!important}
.spiti-booking .spiti-stepper__button{background:#EAF2F4!important;color:#387E8E!important}
.spiti-booking .spiti-stepper__button:hover,.spiti-booking .spiti-stepper__button:focus-visible{background:#387E8E!important;color:#fff!important}
.spiti-booking .spiti-control>svg,.spiti-booking .spiti-field label,.spiti-booking .spiti-child-ages__heading strong{color:#387E8E!important}


/* RC25 canonical SPITI palette safeguard */
.spiti-booking{--spiti-brand:#387E8E!important;--spiti-accent:#D6E6EA!important}
.spiti-booking .spiti-button,.spiti-booking .spiti-button--search,.spiti-booking .spiti-button--checkout,.spiti-booking .spiti-button--plan{background:#387E8E!important;border-color:#387E8E!important;color:#fff!important}
.spiti-booking .spiti-stepper__button{background:#EAF3F5!important;color:#387E8E!important}
.spiti-booking .spiti-stepper__button:hover,.spiti-booking .spiti-stepper__button:focus-visible{background:#387E8E!important;color:#fff!important}
