@font-face{
font-family:"Lemon Milk";
src:url("https://cityhomebuilders.com.au/wp-content/uploads/2026/09/LEMONMILK-Light.ttf") format("truetype");
font-weight:300;font-style:normal;font-display:swap}
@font-face{
font-family:"Lemon Milk";
src:url("https://cityhomebuilders.com.au/wp-content/uploads/2026/09/LEMONMILK-Medium.ttf") format("truetype");
font-weight:500;font-style:normal;font-display:swap}

html.chb-booking-open,body.chb-booking-open{overflow:hidden!important}
.chb-booking-root,.chb-booking-root *{box-sizing:border-box;border-radius:0!important}

.chb-booking-root{
position:fixed;
inset:0;
z-index:9999999;
display:none;
font-family:Arial,Helvetica,sans-serif;
}

.chb-booking-root.is-open{display:block}

.chb-booking-backdrop{
position:absolute;
inset:0;
background:rgba(7,9,11,.86);
backdrop-filter:blur(8px);
}

.chb-booking-experience{
position:absolute;
inset:20px;
display:grid;
grid-template-columns:minmax(410px,.86fr) minmax(560px,1.14fr);
background:#fff;
overflow:hidden;
box-shadow:0 28px 90px rgba(0,0,0,.36);
}

.chb-booking-close{
position:absolute;
top:20px;
right:20px;
z-index:30;
width:48px;
height:48px;
border:1px solid rgba(17,19,21,.15);
background:#fff;
cursor:pointer;
}

.chb-booking-close span{
position:absolute;
left:50%;
top:50%;
width:18px;
height:1.5px;
background:#111315;
}
.chb-booking-close span:first-child{transform:translate(-50%,-50%) rotate(45deg)}
.chb-booking-close span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}
.chb-booking-close:hover{background:var(--chb-book-gold);border-color:var(--chb-book-gold)}

.chb-booking-visual{
position:relative;
overflow:hidden;
background:var(--chb-book-dark);
color:#fff;
min-width:0;
}

.chb-booking-visual__image{
position:absolute;
inset:0;
opacity:0;
background-position:center;
background-size:cover;
transition:opacity .55s ease,transform 1s ease;
transform:scale(1.035);
}
.chb-booking-visual__image.is-active{
opacity:.42;
transform:scale(1);
}
.chb-booking-visual__image:after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(180deg,rgba(8,10,12,.08) 0%,rgba(8,10,12,.55) 65%,rgba(8,10,12,.9) 100%);
}

.chb-booking-visual__pattern{
position:absolute;
inset:0;
overflow:hidden;
opacity:.2;
}
.chb-booking-visual__pattern:before,
.chb-booking-visual__pattern:after,
.chb-booking-visual__pattern span{
content:"";
position:absolute;
border:1px solid rgba(255,255,255,.22);
transform:rotate(36deg);
}
.chb-booking-visual__pattern:before{width:72%;height:46%;left:-18%;top:8%}
.chb-booking-visual__pattern:after{width:90%;height:54%;right:-44%;top:26%}
.chb-booking-visual__pattern span:nth-child(1){width:52%;height:33%;left:20%;bottom:16%}
.chb-booking-visual__pattern span:nth-child(2){width:48%;height:28%;right:-12%;bottom:-8%}
.chb-booking-visual__pattern span:nth-child(3){width:1px;height:140%;left:38%;top:-20%;border:0;background:rgba(255,255,255,.16);transform:rotate(24deg)}
.chb-booking-visual__pattern span:nth-child(4){width:1px;height:140%;left:66%;top:-20%;border:0;background:rgba(255,255,255,.12);transform:rotate(24deg)}

.chb-booking-visual__content{
position:absolute;
left:clamp(32px,4vw,70px);
right:clamp(32px,4vw,70px);
bottom:clamp(38px,5vh,72px);
z-index:3;
}

.chb-booking-eyebrow{
display:inline-flex;
align-items:center;
gap:12px;
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:300;
font-size:7px;
letter-spacing:.19em;
text-transform:uppercase;
color:var(--chb-book-gold);
}
.chb-booking-eyebrow:before{
content:"";
width:34px;
height:1px;
background:var(--chb-book-gold);
}

.chb-booking-visual h2{
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:500;
font-size:clamp(44px,4.5vw,72px);
line-height:.93;
letter-spacing:-.045em;
text-transform:uppercase;
margin:18px 0 20px;
max-width:650px;
}

.chb-booking-visual p{
font-size:14px;
line-height:1.7;
color:rgba(255,255,255,.66);
max-width:500px;
margin:0;
}

.chb-booking-step-rail{
margin-top:42px;
}

.chb-booking-step-rail__line{
height:1px;
background:rgba(255,255,255,.2);
overflow:hidden;
}
.chb-booking-step-rail__line span{
display:block;
width:25%;
height:100%;
background:var(--chb-book-gold);
transition:width .35s ease;
}

.chb-booking-step-rail__meta{
display:flex;
justify-content:space-between;
gap:20px;
margin-top:12px;
font-family:"Lemon Milk",Arial,sans-serif;
font-size:7px;
letter-spacing:.1em;
text-transform:uppercase;
color:rgba(255,255,255,.48);
}
.chb-booking-step-rail__meta b{
font-weight:500;
color:#fff;
}

.chb-booking-form-side{
min-width:0;
background:#fff;
}

.chb-booking-form{
height:100%;
display:grid;
grid-template-rows:minmax(0,1fr) auto;
position:relative;
}

.chb-booking-step{
display:none;
height:100%;
overflow-y:auto;
padding:clamp(60px,8vh,100px) clamp(34px,5vw,82px) 38px;
-webkit-overflow-scrolling:touch;
}
.chb-booking-step.is-active{
display:block;
animation:chbStepIn .32s ease both;
}
@keyframes chbStepIn{
from{opacity:0;transform:translateY(10px)}
to{opacity:1;transform:none}
}

.chb-booking-step__head{
max-width:750px;
margin-bottom:34px;
}

.chb-booking-step__head>span{
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:300;
font-size:7px;
letter-spacing:.18em;
color:var(--chb-book-gold);
text-transform:uppercase;
}

.chb-booking-step__head h3,
.chb-booking-success h3{
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:500;
font-size:clamp(36px,3.8vw,58px);
line-height:.98;
letter-spacing:-.04em;
text-transform:uppercase;
color:#18202a;
margin:13px 0 14px;
}

.chb-booking-step__head p{
margin:0;
font-size:14px;
line-height:1.65;
color:#6a7074;
}

.chb-booking-choice-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:10px;
max-width:900px;
}

.chb-booking-choice{
position:relative;
min-height:155px;
padding:19px;
border:1px solid #dfe2e3;
background:#f7f8f8;
cursor:pointer;
transition:border-color .18s ease,background .18s ease,transform .18s ease;
}

.chb-booking-choice input{
position:absolute;
opacity:0;
pointer-events:none;
}

.chb-booking-choice:hover{
border-color:#aeb4b7;
transform:translateY(-2px);
}

.chb-booking-choice:has(input:checked){
background:#18202a;
border-color:#18202a;
color:#fff;
}

.chb-booking-choice__number{
display:block;
font-family:"Lemon Milk",Arial,sans-serif;
font-size:6px;
letter-spacing:.1em;
color:var(--chb-book-gold);
margin-bottom:18px;
}

.chb-booking-choice__icon{
position:absolute;
top:16px;
right:16px;
width:32px;
height:32px;
color:#adb3b6;
}
.chb-booking-choice__icon svg{width:100%;height:100%}
.chb-booking-choice:has(input:checked) .chb-booking-choice__icon{color:var(--chb-book-gold)}

.chb-booking-choice strong{
display:block;
padding-right:42px;
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:500;
font-size:14px;
line-height:1.2;
text-transform:uppercase;
color:inherit;
}

.chb-booking-choice small{
display:block;
max-width:330px;
margin-top:9px;
font-size:11px;
line-height:1.45;
color:#767d81;
}
.chb-booking-choice:has(input:checked) small{color:rgba(255,255,255,.57)}

.chb-booking-choice__arrow{
position:absolute;
right:18px;
bottom:15px;
font-size:15px;
color:var(--chb-book-gold);
}

.chb-booking-fields{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:22px 18px;
max-width:900px;
}

.chb-booking-field--full{
grid-column:1/-1;
}

.chb-booking-field>span,
.chb-booking-consent>span{
display:block;
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:300;
font-size:7px;
letter-spacing:.08em;
text-transform:uppercase;
color:#62696d;
margin-bottom:9px;
}

.chb-booking-field input,
.chb-booking-field select,
.chb-booking-field textarea{
width:100%;
border:0;
border-bottom:1px solid #ccd1d3;
background:#f7f8f8;
padding:0 14px;
height:52px;
outline:none;
font-family:Arial,Helvetica,sans-serif;
font-size:14px;
color:#171a1d;
transition:border-color .18s ease,background .18s ease;
}
.chb-booking-field textarea{
height:110px;
padding-top:14px;
resize:vertical;
}
.chb-booking-field input:focus,
.chb-booking-field select:focus,
.chb-booking-field textarea:focus{
border-bottom-color:var(--chb-book-gold);
background:#f2f3f3;
}

.chb-booking-field.is-invalid input,
.chb-booking-field.is-invalid select,
.chb-booking-field.is-invalid textarea{
border-bottom-color:#b43131;
}

.chb-booking-pills{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:8px;
}
.chb-booking-pills input{position:absolute;opacity:0}
.chb-booking-pills span{
height:50px;
display:flex;
align-items:center;
justify-content:center;
border:1px solid #d7dbdd;
font-family:"Lemon Milk",Arial,sans-serif;
font-size:7px;
letter-spacing:.05em;
text-transform:uppercase;
cursor:pointer;
}
.chb-booking-pills label:has(input:checked) span{
background:#18202a;
border-color:#18202a;
color:#fff;
}

.chb-booking-consent{
grid-column:1/-1;
display:flex;
align-items:flex-start;
gap:10px;
cursor:pointer;
}
.chb-booking-consent input{
margin-top:1px;
width:16px;
height:16px;
accent-color:var(--chb-book-gold);
}
.chb-booking-consent>span{
margin:0;
text-transform:none;
letter-spacing:0;
font-family:Arial,Helvetica,sans-serif;
font-size:12px;
line-height:1.5;
}

.chb-booking-summary{
margin-top:28px;
padding:18px;
background:#18202a;
color:#fff;
}
.chb-booking-summary>span{
font-family:"Lemon Milk",Arial,sans-serif;
font-size:6px;
letter-spacing:.14em;
color:var(--chb-book-gold);
}
.chb-booking-summary__grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:12px;
margin-top:13px;
}
.chb-booking-summary__grid small{
display:block;
font-size:9px;
color:rgba(255,255,255,.45);
margin-bottom:3px;
}
.chb-booking-summary__grid strong{
font-size:12px;
font-weight:600;
}

.chb-booking-controls{
min-height:80px;
border-top:1px solid #e1e4e5;
padding:14px clamp(34px,5vw,82px);
display:grid;
grid-template-columns:1fr auto 1fr;
align-items:center;
gap:18px;
background:#fff;
}

.chb-booking-controls button{
min-height:48px;
padding:0 18px;
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:500;
font-size:7px;
letter-spacing:.08em;
text-transform:uppercase;
cursor:pointer;
}

.chb-booking-back{
justify-self:start;
border:1px solid #d7dbdd;
background:#fff;
color:#171a1d;
}
.chb-booking-back:disabled{opacity:.28;cursor:default}

.chb-booking-next,
.chb-booking-submit{
justify-self:end;
border:0;
background:var(--chb-book-gold);
color:#111;
min-width:150px;
}
.chb-booking-submit{display:none}

.chb-booking-save-note{
font-size:10px;
color:#94999c;
white-space:nowrap;
}

.chb-booking-mobile-progress{display:none}
.chb-booking-honeypot{position:absolute!important;left:-99999px!important}

.chb-booking-error{
display:none;
position:absolute;
left:50%;
bottom:90px;
transform:translateX(-50%);
background:#a83131;
color:#fff;
padding:10px 14px;
font-size:12px;
z-index:10;
}
.chb-booking-error.is-visible{display:block}

.chb-booking-success{
display:none;
height:100%;
padding:clamp(60px,8vh,100px) clamp(34px,6vw,90px);
align-content:center;
}
.chb-booking-success.is-active{
display:grid;
animation:chbStepIn .35s ease both;
}
.chb-booking-success__mark{
width:72px;
height:72px;
display:grid;
place-items:center;
background:var(--chb-book-gold);
color:#111;
margin-bottom:30px;
}
.chb-booking-success__mark svg{width:42px;height:42px}
.chb-booking-success>span{
font-family:"Lemon Milk",Arial,sans-serif;
font-size:7px;
letter-spacing:.16em;
color:var(--chb-book-gold);
}
.chb-booking-success p{
max-width:610px;
font-size:15px;
line-height:1.7;
color:#697075;
margin:0 0 22px;
}
.chb-booking-reference{
font-size:12px;
color:#777;
margin-bottom:28px;
}
.chb-booking-reference strong{color:#171a1d}
.chb-booking-success button{
width:max-content;
min-height:48px;
padding:0 18px;
border:1px solid #ccd1d3;
background:#fff;
font-family:"Lemon Milk",Arial,sans-serif;
font-size:7px;
text-transform:uppercase;
cursor:pointer;
}

.chb-booking-launcher{
position:fixed;
right:22px;
bottom:22px;
z-index:99990;
height:54px;
padding:0 18px 0 7px;
display:flex;
align-items:center;
gap:12px;
border:0;
background:#111315;
color:#fff;
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:500;
font-size:7px;
letter-spacing:.07em;
text-transform:uppercase;
cursor:pointer;
box-shadow:0 12px 34px rgba(0,0,0,.2);
}
.chb-booking-launcher__icon{
width:40px;
height:40px;
display:grid;
place-items:center;
background:var(--chb-book-gold);
color:#111;
}
.chb-booking-launcher__icon svg{width:16px;height:16px}

.chb-booking-inline-trigger{
min-height:50px;
padding:0 18px;
border:0;
background:var(--chb-book-gold,#b79b3a);
color:#111;
font-family:"Lemon Milk",Arial,sans-serif;
font-weight:500;
font-size:8px;
letter-spacing:.07em;
text-transform:uppercase;
cursor:pointer;
}

@media(max-width:1050px){
.chb-booking-experience{
grid-template-columns:380px 1fr;
}
.chb-booking-visual h2{font-size:46px}
.chb-booking-choice-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:760px){
.chb-booking-backdrop{background:#111315}
.chb-booking-experience{
inset:0;
grid-template-columns:1fr;
grid-template-rows:132px minmax(0,1fr);
box-shadow:none;
}

.chb-booking-close{
position:fixed;
top:14px;
right:14px;
width:42px;
height:42px;
background:#111315;
border-color:rgba(255,255,255,.15);
}
.chb-booking-close span{background:#fff}

.chb-booking-visual{
min-height:132px;
}

.chb-booking-visual__content{
left:18px;
right:72px;
bottom:18px;
}

.chb-booking-eyebrow{font-size:6px}
.chb-booking-eyebrow:before{width:22px}

.chb-booking-visual h2{
font-size:25px;
line-height:.96;
margin:9px 0 0;
max-width:290px;
}
.chb-booking-visual p,
.chb-booking-step-rail{
display:none;
}

.chb-booking-form-side{min-height:0}

.chb-booking-form{
grid-template-rows:auto minmax(0,1fr) auto;
}

.chb-booking-mobile-progress{
display:grid;
grid-template-columns:auto 1fr;
gap:14px;
align-items:center;
padding:13px 18px;
border-bottom:1px solid #e2e4e5;
background:#fff;
}
.chb-booking-mobile-progress>span{
font-family:"Lemon Milk",Arial,sans-serif;
font-size:6px;
letter-spacing:.08em;
color:#6d7478;
}
.chb-booking-mobile-progress>div{
height:2px;
background:#eceeef;
}
.chb-booking-mobile-progress>div span{
display:block;
width:25%;
height:100%;
background:var(--chb-book-gold);
transition:width .35s ease;
}

.chb-booking-step{
padding:27px 16px 24px;
height:100%;
}

.chb-booking-step__head{
margin-bottom:22px;
}
.chb-booking-step__head h3{
font-size:30px;
margin:9px 0 10px;
}
.chb-booking-step__head p{
font-size:13px;
}

.chb-booking-choice-grid{
grid-template-columns:1fr;
gap:7px;
}
.chb-booking-choice{
min-height:104px;
padding:14px;
}
.chb-booking-choice__number{margin-bottom:12px}
.chb-booking-choice strong{font-size:12px}
.chb-booking-choice small{font-size:10px;margin-top:5px;padding-right:30px}
.chb-booking-choice__icon{width:26px;height:26px}

.chb-booking-fields{
grid-template-columns:1fr;
gap:17px;
}
.chb-booking-field--full{grid-column:auto}

.chb-booking-field input,
.chb-booking-field select{
height:48px;
}
.chb-booking-field textarea{height:100px}

.chb-booking-pills{
grid-template-columns:1fr;
gap:6px;
}
.chb-booking-pills span{height:46px}

.chb-booking-summary__grid{
grid-template-columns:1fr 1fr;
}

.chb-booking-controls{
min-height:72px;
padding:10px 16px calc(10px + env(safe-area-inset-bottom));
grid-template-columns:auto 1fr;
gap:8px;
}
.chb-booking-save-note{display:none}
.chb-booking-controls button{
min-height:48px;
}
.chb-booking-next,
.chb-booking-submit{
width:100%;
min-width:0;
}

.chb-booking-error{
bottom:82px;
width:calc(100% - 32px);
text-align:center;
}

.chb-booking-success{
padding:34px 18px;
overflow-y:auto;
}
.chb-booking-success h3{font-size:34px}
.chb-booking-success p{font-size:14px}

.chb-booking-launcher{
right:12px;
bottom:12px;
height:50px;
padding-right:14px;
}
.chb-booking-launcher__icon{
width:36px;
height:36px;
}
}

@media(max-width:430px){
.chb-booking-launcher>span:last-child{display:none}
.chb-booking-launcher{
width:50px;
padding:7px;
}
.chb-booking-launcher__icon{
width:36px;
}
}


/* =========================================================
   v1.0.1 — VISUAL COPY + GLOBAL LAUNCHER UPGRADE
   ========================================================= */

/* Keep the visual-panel hero copy white, regardless of theme H2 rules. */
.chb-booking-visual h2{
  color:#fff!important;
  opacity:1!important;
}
.chb-booking-visual p{
  color:rgba(255,255,255,.72)!important;
}
.chb-booking-eyebrow{
  color:var(--chb-book-gold)!important;
}

/* Premium site-wide booking launcher */
.chb-booking-launcher{
  position:fixed!important;
  right:22px!important;
  bottom:22px!important;
  z-index:99990!important;
  width:auto!important;
  min-width:260px!important;
  height:68px!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:54px 1fr 42px!important;
  align-items:center!important;
  gap:0!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background:#111315!important;
  color:#fff!important;
  box-shadow:0 18px 50px rgba(0,0,0,.24)!important;
  overflow:hidden!important;
  cursor:pointer!important;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease!important;
}

.chb-booking-launcher:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 22px 58px rgba(0,0,0,.30)!important;
  background:#171a1d!important;
}

.chb-booking-launcher__icon{
  width:54px!important;
  height:68px!important;
  display:grid!important;
  place-items:center!important;
  background:var(--chb-book-gold)!important;
  color:#111!important;
  flex:none!important;
}

.chb-booking-launcher__icon svg{
  display:block!important;
  width:24px!important;
  height:24px!important;
  overflow:visible!important;
}

.chb-booking-launcher__copy{
  min-width:0;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:4px!important;
  padding:0 16px!important;
  text-align:left!important;
}

.chb-booking-launcher__copy small{
  display:block!important;
  margin:0!important;
  font-family:"Lemon Milk",Arial,sans-serif!important;
  font-weight:300!important;
  font-size:5.5px!important;
  line-height:1!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  color:var(--chb-book-gold)!important;
}

.chb-booking-launcher__copy strong{
  display:block!important;
  margin:0!important;
  font-family:"Lemon Milk",Arial,sans-serif!important;
  font-weight:500!important;
  font-size:7px!important;
  line-height:1.2!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  color:#fff!important;
  white-space:nowrap!important;
}

.chb-booking-launcher__arrow{
  width:42px!important;
  height:68px!important;
  display:grid!important;
  place-items:center!important;
  color:rgba(255,255,255,.72)!important;
  border-left:1px solid rgba(255,255,255,.09)!important;
}

.chb-booking-launcher__arrow svg{
  width:15px!important;
  height:15px!important;
}

/* Inline trigger gets the same premium visual language */
.chb-booking-inline-trigger{
  min-height:54px!important;
  padding:0 20px!important;
  border:1px solid #111315!important;
  background:#111315!important;
  color:#fff!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:16px!important;
  box-shadow:none!important;
  transition:background .2s ease,color .2s ease,transform .2s ease!important;
}
.chb-booking-inline-trigger:hover{
  background:var(--chb-book-gold,#b79b3a)!important;
  border-color:var(--chb-book-gold,#b79b3a)!important;
  color:#111!important;
  transform:translateY(-2px)!important;
}

/* Mobile: use a clean compact square icon button, never the broken text-pill state */
@media(max-width:760px){
  .chb-booking-visual h2{
    color:#fff!important;
    opacity:1!important;
  }

  .chb-booking-launcher{
    right:14px!important;
    bottom:14px!important;
    min-width:0!important;
    width:58px!important;
    height:58px!important;
    grid-template-columns:1fr!important;
    border:1px solid rgba(255,255,255,.08)!important;
    background:#111315!important;
    box-shadow:0 14px 34px rgba(0,0,0,.28)!important;
  }

  .chb-booking-launcher__icon{
    width:58px!important;
    height:58px!important;
    background:var(--chb-book-gold)!important;
    color:#111!important;
  }

  .chb-booking-launcher__icon svg{
    width:25px!important;
    height:25px!important;
    display:block!important;
  }

  .chb-booking-launcher__copy,
  .chb-booking-launcher__arrow{
    display:none!important;
  }

  .chb-booking-launcher:hover{
    transform:translateY(-2px)!important;
  }
}

@media(max-width:430px){
  .chb-booking-launcher{
    width:56px!important;
    height:56px!important;
    right:12px!important;
    bottom:12px!important;
    padding:0!important;
  }

  .chb-booking-launcher__icon{
    width:56px!important;
    height:56px!important;
  }
}


/* =========================================================
   v1.0.2 — BUTTON / HOVER LOCK + LAUNCHER RENDER FIX
   Prevent theme/global button styles from turning controls blue.
   ========================================================= */

/* Reset WordPress/theme button styling inside this experience */
.chb-booking-root button,
.chb-booking-root input[type="button"],
.chb-booking-root input[type="submit"],
.chb-booking-launcher,
.chb-booking-inline-trigger{
  -webkit-appearance:none!important;
  appearance:none!important;
  text-shadow:none!important;
  background-image:none!important;
  outline:none!important;
  box-shadow:none;
}

/* GOLD PRIMARY CONTROLS — locked for default/hover/focus/active */
.chb-booking-root .chb-booking-next,
.chb-booking-root .chb-booking-submit{
  background:var(--chb-book-gold,#b79b3a)!important;
  background-color:var(--chb-book-gold,#b79b3a)!important;
  border:1px solid var(--chb-book-gold,#b79b3a)!important;
  color:#111315!important;
  box-shadow:none!important;
}

.chb-booking-root .chb-booking-next:hover,
.chb-booking-root .chb-booking-next:focus,
.chb-booking-root .chb-booking-next:focus-visible,
.chb-booking-root .chb-booking-next:active,
.chb-booking-root .chb-booking-submit:hover,
.chb-booking-root .chb-booking-submit:focus,
.chb-booking-root .chb-booking-submit:focus-visible,
.chb-booking-root .chb-booking-submit:active{
  background:#111315!important;
  background-color:#111315!important;
  border-color:#111315!important;
  color:#fff!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Secondary controls stay neutral — never blue */
.chb-booking-root .chb-booking-back,
.chb-booking-root .chb-booking-success button{
  background:#fff!important;
  background-color:#fff!important;
  border:1px solid #d7dbdd!important;
  color:#171a1d!important;
}

.chb-booking-root .chb-booking-back:hover,
.chb-booking-root .chb-booking-back:focus,
.chb-booking-root .chb-booking-back:active,
.chb-booking-root .chb-booking-success button:hover,
.chb-booking-root .chb-booking-success button:focus,
.chb-booking-root .chb-booking-success button:active{
  background:#f0ead5!important;
  background-color:#f0ead5!important;
  border-color:var(--chb-book-gold,#b79b3a)!important;
  color:#111315!important;
  outline:0!important;
}

/* Close button stays black/white/gold — no theme hover blue */
.chb-booking-root .chb-booking-close,
.chb-booking-root .chb-booking-close:hover,
.chb-booking-root .chb-booking-close:focus,
.chb-booking-root .chb-booking-close:active{
  outline:0!important;
  box-shadow:none!important;
}
.chb-booking-root .chb-booking-close:hover,
.chb-booking-root .chb-booking-close:focus{
  background:var(--chb-book-gold,#b79b3a)!important;
  border-color:var(--chb-book-gold,#b79b3a)!important;
}

/* Choice/pill hover + focus states — gold/dark only */
.chb-booking-root .chb-booking-choice:hover,
.chb-booking-root .chb-booking-choice:focus-within{
  border-color:var(--chb-book-gold,#b79b3a)!important;
  box-shadow:none!important;
}

.chb-booking-root .chb-booking-pills label:hover span,
.chb-booking-root .chb-booking-pills input:focus + span{
  border-color:var(--chb-book-gold,#b79b3a)!important;
  color:#111315!important;
  background:#f0ead5!important;
}
.chb-booking-root .chb-booking-pills label:has(input:checked) span{
  background:#18202a!important;
  border-color:#18202a!important;
  color:#fff!important;
}

/* Field focus — gold, never browser/theme blue */
.chb-booking-root .chb-booking-field input:focus,
.chb-booking-root .chb-booking-field select:focus,
.chb-booking-root .chb-booking-field textarea:focus{
  border-color:var(--chb-book-gold,#b79b3a)!important;
  outline:none!important;
  box-shadow:none!important;
}

/* Premium floating launcher — own variables because it lives outside popup root */
button.chb-booking-launcher{
  --launcher-gold:var(--chb-book-gold,#b79b3a);
  --launcher-dark:var(--chb-book-dark,#111315);
  background:var(--launcher-dark)!important;
  background-color:var(--launcher-dark)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  color:#fff!important;
  box-shadow:0 18px 50px rgba(0,0,0,.24)!important;
}

button.chb-booking-launcher:hover,
button.chb-booking-launcher:focus,
button.chb-booking-launcher:focus-visible,
button.chb-booking-launcher:active{
  background:#171a1d!important;
  background-color:#171a1d!important;
  border-color:rgba(183,155,58,.45)!important;
  color:#fff!important;
  outline:none!important;
  box-shadow:0 22px 58px rgba(0,0,0,.30)!important;
}

button.chb-booking-launcher .chb-booking-launcher__icon{
  background:var(--launcher-gold)!important;
  background-color:var(--launcher-gold)!important;
  color:#111315!important;
  opacity:1!important;
}

button.chb-booking-launcher .chb-booking-launcher__icon svg,
button.chb-booking-launcher .chb-booking-launcher__arrow svg{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

button.chb-booking-launcher .chb-booking-launcher__icon svg path{
  stroke:#111315!important;
}

button.chb-booking-launcher .chb-booking-launcher__arrow{
  color:#fff!important;
}

button.chb-booking-launcher .chb-booking-launcher__arrow svg path{
  stroke:#fff!important;
}

/* Inline booking trigger */
button.chb-booking-inline-trigger,
a.chb-booking-inline-trigger{
  background:#111315!important;
  background-color:#111315!important;
  border-color:#111315!important;
  color:#fff!important;
}
button.chb-booking-inline-trigger:hover,
button.chb-booking-inline-trigger:focus,
button.chb-booking-inline-trigger:active,
a.chb-booking-inline-trigger:hover,
a.chb-booking-inline-trigger:focus,
a.chb-booking-inline-trigger:active{
  background:var(--chb-book-gold,#b79b3a)!important;
  background-color:var(--chb-book-gold,#b79b3a)!important;
  border-color:var(--chb-book-gold,#b79b3a)!important;
  color:#111315!important;
}

/* Mobile launcher: force a clean gold square with a visible black calendar icon */
@media(max-width:760px){
  button.chb-booking-launcher{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    height:58px!important;
    min-height:58px!important;
    padding:0!important;
    overflow:hidden!important;
    background:var(--launcher-gold)!important;
    background-color:var(--launcher-gold)!important;
    border:0!important;
  }

  button.chb-booking-launcher:hover,
  button.chb-booking-launcher:focus,
  button.chb-booking-launcher:active{
    background:#111315!important;
    background-color:#111315!important;
  }

  button.chb-booking-launcher .chb-booking-launcher__icon{
    display:grid!important;
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    min-height:58px!important;
    place-items:center!important;
    background:transparent!important;
    color:#111315!important;
  }

  button.chb-booking-launcher:hover .chb-booking-launcher__icon,
  button.chb-booking-launcher:focus .chb-booking-launcher__icon{
    color:#fff!important;
  }

  button.chb-booking-launcher .chb-booking-launcher__icon svg{
    width:27px!important;
    height:27px!important;
    display:block!important;
  }

  button.chb-booking-launcher .chb-booking-launcher__icon svg path{
    stroke:#111315!important;
  }

  button.chb-booking-launcher:hover .chb-booking-launcher__icon svg path,
  button.chb-booking-launcher:focus .chb-booking-launcher__icon svg path{
    stroke:#fff!important;
  }

  button.chb-booking-launcher .chb-booking-launcher__copy,
  button.chb-booking-launcher .chb-booking-launcher__arrow{
    display:none!important;
  }
}

/* Hard safety net: no blue hover/focus color inside booking UI */
.chb-booking-root a:hover,
.chb-booking-root a:focus,
.chb-booking-root button:hover,
.chb-booking-root button:focus{
  text-decoration:none!important;
}


/* =========================================================
   v1.0.3 — FINAL STEP SUBMIT BUTTON FIX
   ========================================================= */
.chb-booking-root .chb-booking-submit{
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-width:170px!important;
}

.chb-booking-root .chb-booking-submit[style*="inline-flex"]{
  display:inline-flex!important;
}

@media(max-width:760px){
  .chb-booking-root .chb-booking-submit[style*="inline-flex"]{
    display:flex!important;
    width:100%!important;
  }
}


/* =========================================================
   v1.0.4 — CONTINUE BUTTON LAYOUT + NO SHADOW LAUNCHER
   ========================================================= */

/* Bottom control bar: stop theme styles from shrinking/distorting CTA */
.chb-booking-root .chb-booking-controls{
  grid-template-columns:170px 1fr 190px!important;
  align-items:center!important;
}

.chb-booking-root .chb-booking-next,
.chb-booking-root .chb-booking-submit{
  width:190px!important;
  min-width:190px!important;
  max-width:190px!important;
  min-height:50px!important;
  height:50px!important;
  padding:0 18px!important;
  display:inline-flex;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:visible!important;
  border:1px solid var(--chb-book-gold,#b79b3a)!important;
  box-sizing:border-box!important;
}

/* Keep visibility controlled by JS, but preserve the correct flex layout */
.chb-booking-root .chb-booking-next[style*="none"],
.chb-booking-root .chb-booking-submit[style*="none"]{
  display:none!important;
}

.chb-booking-root .chb-booking-next[style*="inline-flex"],
.chb-booking-root .chb-booking-submit[style*="inline-flex"]{
  display:inline-flex!important;
}

/* Force button text / arrow to stay centred and readable */
.chb-booking-root .chb-booking-next span,
.chb-booking-root .chb-booking-submit span{
  display:inline-block!important;
  line-height:1!important;
  margin:0!important;
}

/* Remove every shadow from the floating booking launcher/icon */
button.chb-booking-launcher,
button.chb-booking-launcher:hover,
button.chb-booking-launcher:focus,
button.chb-booking-launcher:focus-visible,
button.chb-booking-launcher:active,
.chb-booking-launcher__icon,
.chb-booking-launcher__copy,
.chb-booking-launcher__arrow{
  box-shadow:none!important;
  filter:none!important;
  text-shadow:none!important;
}

/* Desktop launcher stays crisp and flat */
button.chb-booking-launcher{
  border:1px solid rgba(17,19,21,.18)!important;
}

/* Mobile controls */
@media(max-width:760px){
  .chb-booking-root .chb-booking-controls{
    grid-template-columns:68px minmax(0,1fr)!important;
    gap:8px!important;
  }

  .chb-booking-root .chb-booking-back{
    width:68px!important;
    min-width:68px!important;
    max-width:68px!important;
    height:50px!important;
    min-height:50px!important;
    padding:0 8px!important;
  }

  .chb-booking-root .chb-booking-next,
  .chb-booking-root .chb-booking-submit{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:50px!important;
    min-height:50px!important;
    padding:0 16px!important;
  }

  button.chb-booking-launcher,
  button.chb-booking-launcher:hover,
  button.chb-booking-launcher:focus,
  button.chb-booking-launcher:active,
  .chb-booking-launcher__icon{
    box-shadow:none!important;
    filter:none!important;
  }
}


/* =========================================================
   v1.1.0 — STATIC CONTACT PAGE EXPERIENCE
   Shortcode: [cityhome_contact_form]
   ========================================================= */

.chb-contact-static,
.chb-contact-static *{
  box-sizing:border-box;
  border-radius:0!important;
}

.chb-contact-static{
  position:relative;
  background:#eef0f1;
  color:#18202a;
  padding:96px 0 110px;
  overflow:hidden;
}

.chb-contact-static:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(24,32,42,.025) 1px,transparent 1px),
    linear-gradient(rgba(24,32,42,.025) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,transparent 0%,black 35%,black 100%);
}

.chb-contact-static__shell{
  position:relative;
  z-index:2;
  width:min(100%,1540px);
  margin:0 auto;
  padding:0 32px;
}

.chb-contact-static__top{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.65fr);
  gap:90px;
  align-items:end;
  margin-bottom:44px;
}

.chb-contact-static__eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  font-family:"Lemon Milk",Arial,sans-serif;
  font-weight:300;
  font-size:7px;
  letter-spacing:.18em;
  color:var(--chb-book-gold);
  text-transform:uppercase;
}

.chb-contact-static__eyebrow:before{
  content:"";
  width:34px;
  height:1px;
  background:var(--chb-book-gold);
}

.chb-contact-static__top h2{
  margin:15px 0 0;
  max-width:900px;
  font-family:"Lemon Milk",Arial,sans-serif!important;
  font-weight:500!important;
  font-size:clamp(58px,6vw,98px);
  line-height:.9;
  letter-spacing:-.055em;
  text-transform:uppercase;
  color:#18202a!important;
}

.chb-contact-static__top>p{
  max-width:500px;
  margin:0 0 6px;
  font-size:15px;
  line-height:1.75;
  color:#687075;
}

.chb-contact-static__experience{
  display:grid;
  grid-template-columns:minmax(400px,.82fr) minmax(600px,1.18fr);
  min-height:790px;
  background:#fff;
  border:1px solid #dce0e2;
}

.chb-contact-static__visual{
  min-height:790px;
}

.chb-contact-static__form-side{
  min-width:0;
  background:#fff;
}

.chb-contact-static .chb-booking-form{
  min-height:790px;
  height:auto;
}

.chb-contact-static .chb-booking-step{
  min-height:705px;
  height:auto;
  overflow:visible;
  padding-top:66px;
}

.chb-contact-static .chb-booking-controls{
  position:relative;
  bottom:auto;
}

.chb-contact-static__contact-strip{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  margin-top:28px;
  font-family:"Lemon Milk",Arial,sans-serif;
  font-weight:300;
  font-size:6px;
  letter-spacing:.12em;
  color:rgba(255,255,255,.48);
  text-transform:uppercase;
}

.chb-contact-static .chb-booking-success{
  min-height:705px;
}

.chb-contact-static .chb-booking-error{
  position:fixed;
  z-index:9999999;
}

@media(max-width:1100px){
  .chb-contact-static__top{
    grid-template-columns:1fr;
    gap:22px;
  }

  .chb-contact-static__top>p{
    max-width:680px;
  }

  .chb-contact-static__experience{
    grid-template-columns:360px minmax(0,1fr);
  }

  .chb-contact-static__visual{
    min-height:760px;
  }
}

@media(max-width:760px){
  .chb-contact-static{
    padding:60px 0 72px;
  }

  .chb-contact-static__shell{
    padding:0 12px;
  }

  .chb-contact-static__top{
    margin-bottom:28px;
  }

  .chb-contact-static__top h2{
    font-size:48px;
    max-width:390px;
  }

  .chb-contact-static__top>p{
    font-size:13px;
  }

  .chb-contact-static__experience{
    display:grid;
    grid-template-columns:1fr;
    min-height:0;
    border:0;
  }

  .chb-contact-static__visual{
    min-height:210px;
    height:210px;
  }

  .chb-contact-static .chb-booking-visual__content{
    left:18px;
    right:18px;
    bottom:20px;
  }

  .chb-contact-static .chb-booking-visual h2{
    font-size:28px;
    max-width:330px;
  }

  .chb-contact-static .chb-booking-visual p{
    display:none;
  }

  .chb-contact-static__contact-strip{
    display:none;
  }

  .chb-contact-static .chb-booking-step-rail{
    display:block;
    margin-top:18px;
  }

  .chb-contact-static .chb-booking-step-rail__meta{
    display:flex;
  }

  .chb-contact-static .chb-booking-form{
    min-height:0;
    height:auto;
  }

  .chb-contact-static .chb-booking-step{
    min-height:0;
    height:auto;
    padding:28px 16px 34px;
  }

  .chb-contact-static .chb-booking-success{
    min-height:560px;
  }

  .chb-contact-static .chb-booking-controls{
    position:sticky;
    bottom:0;
    z-index:10;
  }
}


/* =========================================================
   v1.1.2 — CONTACT PAGE TOP SPACING
   ========================================================= */
.chb-contact-static{
  padding-top:145px!important;
}

@media(max-width:760px){
  .chb-contact-static{
    padding-top:88px!important;
  }
}


/* =========================================================
   v1.2.0 — MOBILE-FIRST POPUP REDESIGN
   Applies ONLY to the global popup. Static contact form stays untouched.
   ========================================================= */
@media(max-width:760px){

  /* Full-screen app shell */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-backdrop{
    background:#0d0f10!important;
    backdrop-filter:none!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-experience{
    inset:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:116px minmax(0,1fr)!important;
    background:#fff!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }

  /* Compact branded header */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual{
    min-height:116px!important;
    height:116px!important;
    overflow:hidden!important;
    background:#0d0f10!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual__image{
    opacity:0!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual__pattern{
    opacity:.20!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual__pattern:before,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual__pattern:after,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual__pattern span{
    border-color:rgba(255,255,255,.14)!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual__content{
    left:16px!important;
    right:70px!important;
    bottom:17px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-eyebrow{
    gap:9px!important;
    font-size:5.5px!important;
    letter-spacing:.18em!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-eyebrow:before{
    width:22px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual h2{
    margin:8px 0 0!important;
    max-width:270px!important;
    font-size:23px!important;
    line-height:.96!important;
    letter-spacing:-.04em!important;
    color:#fff!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-visual p,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step-rail{
    display:none!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-close{
    position:fixed!important;
    top:14px!important;
    right:14px!important;
    width:44px!important;
    height:44px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:transparent!important;
    z-index:50!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-close:hover,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-close:focus{
    background:var(--chb-book-gold)!important;
    border-color:var(--chb-book-gold)!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-close:hover span,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-close:focus span{
    background:#111315!important;
  }

  /* Main body */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-form-side{
    min-height:0!important;
    background:#fff!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-form{
    height:100%!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
  }

  /* Progress becomes part of the interface, not a separate clunky row */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-mobile-progress{
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    align-items:center!important;
    gap:14px!important;
    height:42px!important;
    padding:0 16px!important;
    border-bottom:1px solid #eceeef!important;
    background:#fff!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-mobile-progress>span{
    font-size:5.5px!important;
    letter-spacing:.12em!important;
    color:#858c90!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-mobile-progress>div{
    height:1px!important;
    background:#e5e8e9!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-mobile-progress>div span{
    background:var(--chb-book-gold)!important;
    height:2px!important;
    transform:translateY(-.5px);
  }

  /* Scrollable step area */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step{
    height:100%!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    padding:24px 14px 34px!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step.is-active{
    animation:chbMobileStepIn .38s cubic-bezier(.2,.7,.2,1) both!important;
  }

  @keyframes chbMobileStepIn{
    from{opacity:0;transform:translateY(12px)}
    to{opacity:1;transform:none}
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step__head{
    max-width:360px!important;
    margin:0 0 22px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step__head>span{
    display:block!important;
    margin-bottom:9px!important;
    font-size:5.5px!important;
    letter-spacing:.16em!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step__head h3{
    max-width:350px!important;
    margin:0 0 10px!important;
    font-size:29px!important;
    line-height:.97!important;
    letter-spacing:-.045em!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step__head p{
    max-width:330px!important;
    font-size:11.5px!important;
    line-height:1.55!important;
    color:#767e82!important;
  }

  /* Premium service choices */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    max-width:none!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice{
    min-height:82px!important;
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr) 24px!important;
    grid-template-rows:auto auto!important;
    column-gap:12px!important;
    align-items:center!important;
    padding:13px 13px!important;
    background:#fafafa!important;
    border:1px solid #dfe3e5!important;
    transform:none!important;
    overflow:hidden!important;
    transition:
      border-color .22s ease,
      background .22s ease,
      color .22s ease,
      transform .22s ease!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
    background:var(--chb-book-gold);
    transform:scaleY(0);
    transform-origin:center;
    transition:transform .22s ease;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:hover,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:focus-within{
    background:#f5f5f3!important;
    border-color:#c9ced0!important;
    transform:translateX(2px)!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:has(input:checked){
    background:#171b1e!important;
    border-color:#171b1e!important;
    color:#fff!important;
    transform:none!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:has(input:checked):before{
    transform:scaleY(1);
  }

  /* Turn the house icon into the card's visual anchor */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice__icon{
    position:static!important;
    grid-column:1!important;
    grid-row:1 / span 2!important;
    width:30px!important;
    height:30px!important;
    display:grid!important;
    place-items:center!important;
    color:#aeb5b8!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice__icon svg{
    width:28px!important;
    height:28px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:has(input:checked) .chb-booking-choice__icon{
    color:var(--chb-book-gold)!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice__number{
    position:absolute!important;
    top:8px!important;
    left:auto!important;
    right:9px!important;
    margin:0!important;
    font-size:5px!important;
    color:#c2a43f!important;
    opacity:.8;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice strong{
    grid-column:2!important;
    grid-row:1!important;
    align-self:end!important;
    padding:0!important;
    font-size:11px!important;
    line-height:1.15!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice small{
    grid-column:2!important;
    grid-row:2!important;
    align-self:start!important;
    margin:4px 0 0!important;
    padding:0!important;
    max-width:270px!important;
    font-size:9.5px!important;
    line-height:1.35!important;
    color:#777f83!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:has(input:checked) small{
    color:rgba(255,255,255,.58)!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice__arrow{
    position:static!important;
    grid-column:3!important;
    grid-row:1 / span 2!important;
    align-self:center!important;
    justify-self:center!important;
    color:var(--chb-book-gold)!important;
    font-size:15px!important;
    transition:transform .22s ease!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:hover .chb-booking-choice__arrow,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice:has(input:checked) .chb-booking-choice__arrow{
    transform:translateX(3px)!important;
  }

  /* Fields — calmer, less "form plugin" */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-fields{
    grid-template-columns:1fr!important;
    gap:15px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-field>span,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-consent>span{
    font-size:5.5px!important;
    letter-spacing:.09em!important;
    margin-bottom:7px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-field input,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-field select{
    height:48px!important;
    background:#f7f8f8!important;
    font-size:13px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-field textarea{
    min-height:96px!important;
    height:96px!important;
    background:#f7f8f8!important;
    font-size:13px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-pills{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-pills span{
    height:44px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-summary{
    margin-top:20px!important;
    padding:15px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-summary__grid{
    grid-template-columns:1fr 1fr!important;
    gap:12px 10px!important;
  }

  /* Sticky app-style controls */
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-controls{
    position:relative!important;
    min-height:68px!important;
    display:grid!important;
    grid-template-columns:70px minmax(0,1fr)!important;
    gap:8px!important;
    padding:9px 14px calc(9px + env(safe-area-inset-bottom))!important;
    border-top:1px solid #e7eaeb!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:none!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-controls button{
    min-height:48px!important;
    font-size:6px!important;
    letter-spacing:.08em!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-back{
    width:70px!important;
    padding:0!important;
    border:1px solid #d8dddf!important;
    background:#fff!important;
    color:#697075!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-next,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-submit{
    width:100%!important;
    min-width:0!important;
    border:1px solid var(--chb-book-gold)!important;
    background:var(--chb-book-gold)!important;
    color:#111315!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-next:hover,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-next:focus,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-submit:hover,
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-submit:focus{
    background:#111315!important;
    border-color:#111315!important;
    color:#fff!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-save-note{
    display:none!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-error{
    bottom:78px!important;
    width:calc(100% - 28px)!important;
    padding:10px 12px!important;
    font-size:11px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-success{
    padding:28px 16px 34px!important;
    overflow-y:auto!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-success h3{
    font-size:31px!important;
  }
}

@media(max-width:430px){
  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-step__head h3{
    font-size:27px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice{
    grid-template-columns:28px minmax(0,1fr) 20px!important;
    column-gap:10px!important;
    padding:12px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice__icon{
    width:27px!important;
    height:27px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-choice__icon svg{
    width:25px!important;
    height:25px!important;
  }

  .chb-booking-root[data-chb-mode="popup"] .chb-booking-controls{
    padding-left:12px!important;
    padding-right:12px!important;
  }
}


/* =========================================================
   v1.2.1 — CONTACT PAGE MOBILE TOP PADDING
   Adds more breathing room below the fixed mobile header.
   Static contact page only. Popup is untouched.
   ========================================================= */
@media(max-width:760px){
  .chb-contact-static{
    padding-top:128px!important;
  }
}


/* =========================================================
   v1.2.2 — STATIC CONTACT PAGE CONTINUE BUTTON FIX
   Popup remains untouched.
   ========================================================= */
@media(min-width:1101px){
  .chb-contact-static .chb-booking-controls{
    grid-template-columns:170px minmax(0,1fr) 230px!important;
    gap:20px!important;
    padding:14px 34px!important;
  }

  .chb-contact-static .chb-booking-next,
  .chb-contact-static .chb-booking-submit{
    justify-self:stretch!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:54px!important;
    height:54px!important;
    padding:0 18px!important;
    display:inline-flex;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    background:var(--chb-book-gold,#b79b3a)!important;
    border:1px solid var(--chb-book-gold,#b79b3a)!important;
    color:#111315!important;
    box-shadow:none!important;
  }

  .chb-contact-static .chb-booking-next:hover,
  .chb-contact-static .chb-booking-next:focus,
  .chb-contact-static .chb-booking-submit:hover,
  .chb-contact-static .chb-booking-submit:focus{
    background:#111315!important;
    border-color:#111315!important;
    color:#fff!important;
  }

  .chb-contact-static .chb-booking-next span,
  .chb-contact-static .chb-booking-submit span{
    margin-left:auto!important;
  }
}


/* =========================================================
   v1.2.3 — MOBILE STATIC CONTACT PAGE CTA FIX
   Fixes the Continue / Send Request button layout on mobile.
   Popup remains untouched.
   ========================================================= */
@media(max-width:760px){
  .chb-contact-static .chb-booking-controls{
    grid-template-columns:78px minmax(0,1fr)!important;
    gap:10px!important;
    padding:14px 14px calc(14px + env(safe-area-inset-bottom,0px))!important;
    align-items:center!important;
  }

  .chb-contact-static .chb-booking-back{
    width:78px!important;
    min-width:78px!important;
    max-width:78px!important;
    height:52px!important;
    min-height:52px!important;
    padding:0 10px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
  }

  .chb-contact-static .chb-booking-next,
  .chb-contact-static .chb-booking-submit{
    justify-self:stretch!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:52px!important;
    min-height:52px!important;
    padding:0 16px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:visible!important;
    background:var(--chb-book-gold,#b79b3a)!important;
    border:1px solid var(--chb-book-gold,#b79b3a)!important;
    color:#111315!important;
    box-shadow:none!important;
  }

  .chb-contact-static .chb-booking-next:hover,
  .chb-contact-static .chb-booking-next:focus,
  .chb-contact-static .chb-booking-submit:hover,
  .chb-contact-static .chb-booking-submit:focus{
    background:#111315!important;
    border-color:#111315!important;
    color:#fff!important;
  }

  .chb-contact-static .chb-booking-next span,
  .chb-contact-static .chb-booking-submit span{
    display:inline-block!important;
    line-height:1!important;
    margin-left:auto!important;
  }
}


/* =========================================================
   v1.2.4 — MOBILE BUTTON VISIBILITY FIX
   Only the correct action button shows for the current step.
   ========================================================= */
@media(max-width:760px){
  .chb-contact-static .chb-booking-next[style*="display: none"],
  .chb-contact-static .chb-booking-submit[style*="display: none"]{
    display:none!important;
  }

  .chb-contact-static .chb-booking-next[style*="display: inline-flex"],
  .chb-contact-static .chb-booking-submit[style*="display: inline-flex"]{
    display:inline-flex!important;
  }
}
