/* Supplier-site additions to the design system: partnership line in the top bar, a header call to action, a sub-nav
   "Enquire" that stays visible while the section links scroll, the partnership band, a fuller footer identity block,
   lodge review titles, the "what the rate includes" box, the three assurance points above the enquiry stepper and a
   sticky booking bar that keeps its call to action on a phone. Colours are the design tokens only. */
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px}
.topbar .tb-left{font-family:var(--sans);font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--sand);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}
.topbar .tb-right{flex:none}
.nav-supplier .wrap{display:flex;align-items:center;gap:22px}
.nav-supplier .nav-focus-note{margin-left:auto}
.nav-supplier .nav-focus-note a{color:inherit;text-decoration:none}
.nav-supplier .nav-cta{padding:11px 20px;white-space:nowrap}
.hero .hero-sub{font-family:var(--serif);font-size:19px;line-height:1.5;color:var(--ivory);max-width:640px;margin:14px 0 18px}

/* sub-nav: the section links may scroll sideways; the Enquire button never leaves the screen */
.site-supplier .subnav .wrap{-webkit-mask-image:none;mask-image:none;gap:26px}
.site-supplier .subnav .sn-cta{position:sticky;right:0;margin-left:auto;flex:none;background:var(--brass);color:var(--white);padding:9px 18px;border-radius:2px;border-bottom:0;font-weight:600;box-shadow:-18px 0 16px var(--ivory)}
.site-supplier .subnav .sn-cta:hover,.site-supplier .subnav .sn-cta.active{color:var(--white);background:var(--brass-600);border-bottom:0}

.room .room-about{font-size:14.5px;line-height:1.6;color:var(--charcoal);margin:8px 0 2px}
.room .room-about p{margin:0 0 6px}
.incl-box{background:var(--ivory-dim);border-radius:4px;padding:26px 28px;max-width:920px}
.incl-box h3{font-family:var(--serif);font-size:22px;margin:0 0 8px}
.incl-box p{font-size:14.5px;margin:0 0 12px}
.rvcard .rv-title{font-family:var(--serif);font-size:17px;margin:8px 0 6px;color:var(--ink)}

/* the three assurance points above the stepper: one line, brass dots, room to breathe */
.enq .section-head .ph-points{list-style:none;margin:18px auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;font-family:var(--sans);font-size:14px;color:var(--soft-charcoal);font-weight:500}
.enq .section-head .ph-points li{display:inline-flex;align-items:center;gap:9px;margin:0;padding:0}
.enq .section-head .ph-points li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brass);flex:none}
.enq .start-here{margin-top:8px}

.partner-band{background:var(--ivory);padding:72px 0;border-top:1px solid var(--bone)}
.partner-band .wrap{max-width:860px}
.partner-band h2{font-size:30px;margin:12px 0 16px}
.partner-band p{font-size:16px;line-height:1.7}
.foot-supplier .foot-id{display:flex;flex-direction:column;gap:8px;padding:34px 0 22px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-supplier .foot-id img{width:180px;height:auto}
.foot-supplier .foot-id p{font-size:13px;line-height:1.6;color:var(--bone);margin:0}
.foot-supplier .foot-id a{color:var(--sand)}
.foot-supplier .foot-assure{color:var(--sand);letter-spacing:.3px}
@media (max-width:767px){
  .topbar .tb-left{display:none}
  .nav-supplier .nav-focus-note{display:none}
  .hero .hero-sub{font-size:16.5px}
  .site-supplier .subnav .sn-cta{padding:8px 14px}
  .enq .section-head .ph-points{gap:8px 22px;font-size:13px}
}

/* sticky booking bar on a phone: the price stays short and the call to action always fits */
@media (max-width:900px){
  .bookbar .wrap{gap:10px}
  .bookbar .bb-price{min-width:0;flex:1 1 auto;overflow:hidden}
  .bookbar .bb-price .l,.bookbar .bb-price .code{display:none}
  .bookbar .bb-price b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .bookbar .bb-form{flex:0 0 auto;margin-left:auto;gap:8px}
  .bookbar .bb-cta{display:inline-flex;white-space:nowrap}
  .bookbar .bb-fallback{flex:1 1 0;min-width:0;overflow:hidden}
  .bookbar .bb-fallback b{max-width:none}
}
@media (max-width:640px){
  .bookbar .bb-price{font-size:14px}
  .bookbar .bb-price::before{content:"From";display:block;font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:var(--sand)}
  .bookbar .bb-price .u{display:none}
}

/* section bar: fixed to the top, off-screen until the visitor scrolls, then it slides in as the header slides out */
.site-supplier .subnav{position:fixed;top:0;left:0;right:0;z-index:75;transform:translateY(-100%);transition:transform .28s ease}
.site-supplier .subnav.on{transform:translateY(0)}
.site-supplier .subnav .sn-cta{position:sticky;right:0;margin-left:auto;flex:none;background:var(--brass);color:var(--white);padding:9px 18px;border-radius:2px;border-bottom:0;font-weight:600;box-shadow:-18px 0 16px var(--ivory)}
.site-supplier .subnav .sn-cta:hover,.site-supplier .subnav .sn-cta.active{color:var(--white);background:var(--brass-600);border-bottom:0}

/* room cards keep their own height: opening one card's rates no longer stretches its neighbour (Riaan, 21 Sep 2026) */
.rooms-grid{align-items:start}
.room .body .feat{flex:none;align-content:start}
.room .body .row{margin-top:auto}
/* room features: plain tick marks, and breathing room above the closing rule */
.fac-all .list-grid.fac.room-feats{padding-bottom:22px}

/* price card: proof, currency switcher, two-field availability check, why-here list, office-hours line */
.price-card .pc-proof{display:flex;align-items:center;gap:6px;font-family:var(--sans);font-size:12px;color:var(--charcoal);text-decoration:none;margin-bottom:10px}
.price-card .pc-proof .i-star{width:13px;height:13px;fill:var(--brass)}
.price-card .pc-proof b{font-weight:600}
.cur-switch{display:flex;gap:4px;margin-top:10px}
.cur-switch .cur{font-family:var(--sans);font-size:10.5px;letter-spacing:1px;padding:4px 9px;border:1px solid var(--bone);border-radius:2px;background:transparent;color:var(--soft-charcoal);cursor:pointer}
.cur-switch .cur.on{background:var(--charcoal);color:var(--ivory);border-color:var(--charcoal)}
.cur-note{font-size:11px;color:var(--soft-charcoal);margin:6px 0 0;line-height:1.4}
.pc-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:14px}
.pc-form .btn{min-width:0;white-space:normal;text-align:center}
.pc-form .btn{grid-column:1/-1;width:100%}
.pc-field{display:flex;flex-direction:column;gap:4px;min-width:0;font-family:var(--sans);font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--brass-600)}
.pc-field input{font-family:var(--sans);font-size:13.5px;padding:9px 10px;border:1px solid var(--bone);border-radius:2px;background:var(--white);color:var(--ink);min-width:0;width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none}
.price-card .note.pc-hours .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--bone);margin-right:6px;vertical-align:middle}
.price-card .note.pc-hours .dot.on{background:var(--brass);box-shadow:0 0 0 3px var(--sand-tint)}
.pc-why{list-style:none;margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--ivory-dim);display:grid;gap:5px;font-family:var(--sans);font-size:12.5px;color:var(--charcoal)}
.pc-why li{display:flex;gap:8px;align-items:flex-start}
.pc-why li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--brass);margin-top:6px}
.hero .hero-kicker{font-family:var(--sans);font-size:13px;letter-spacing:.6px;text-transform:uppercase;color:var(--sand);margin:8px 0 0}
/* objections, answered in one line each, right above the form */
.enq-objections{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin:30px 0 0}
.enq-objections div{background:var(--white);border:1px solid var(--bone);border-radius:4px;padding:16px 18px}
.enq-objections dt{font-family:var(--serif);font-size:16.5px;margin:0 0 6px;color:var(--ink)}
.enq-objections dd{margin:0;font-size:13.5px;line-height:1.6;color:var(--charcoal)}
/* sticky bar: call beside enquire */
.bookbar .bb-call{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;background:transparent;color:var(--ivory);border:1px solid rgba(255,255,255,.35)}
.bookbar .bb-call:hover,.bookbar .bb-call:focus-visible{border-color:var(--brass);color:var(--brass)}
.bookbar .bb-fallback{overflow:hidden}
.bookbar .bb-fallback b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1180px){.bb-reply{display:none}}
@media(max-width:640px){.bookbar .bb-fallback b{white-space:normal;font-size:11px;line-height:1.25;max-height:2.6em}
  .bookbar .wrap{padding:0 12px;gap:8px}
  .bookbar .bb-cta{padding:11px 12px;font-size:10px;letter-spacing:.8px}
  .bookbar .bb-call{padding:10px}}
.bookbar .bb-call svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7}
@media (max-width:767px){
  .enq-objections{grid-template-columns:1fr;gap:10px}
  .bookbar .bb-call span{display:none}
  .bookbar .bb-call{padding:10px 12px}
}

/* price-card date picker: same calendar as the stepper, dropped below the two fields */
.pc-dates{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;position:relative}
.pc-field input[readonly]{cursor:pointer}
.pc-cal{position:absolute;top:calc(100% + 6px);left:0;z-index:40;width:min(330px,100%);max-width:none;text-align:left;padding:10px 12px 6px}
.eq-cal{max-width:330px;padding:10px 12px 6px}   /* compact calendar, price card and stepper alike (Riaan, 21 Sep 2026) */
.eq-cal .cal-head{margin-bottom:2px}
.eq-cal .cal-title{font-size:15px}
.eq-cal .cal-nav{width:26px;height:26px;font-size:17px}
.eq-cal .cal-hint{font-size:11px;margin:0 0 6px}
.eq-cal .cal-grid{gap:1px}
.eq-cal .cal-dow{font-size:9px;padding:2px 0}
.eq-cal .cal-day{min-height:32px;padding:2px 1px;border-radius:4px}
.eq-cal .cal-day b{font-size:12px}
.eq-cal .cal-day small{font-size:8px}
.eq-cal .cal-foot{margin-top:4px}
.eq-cal .cal-close{padding:4px 2px;font-size:11px}

/* video inside the overview copy fills the column (Riaan, 21 Sep 2026) */
.ov-video{margin:18px 0 22px}
.ov-video iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:4px;background:var(--ink)}
/* getting there: three equal columns, long values wrap */
.near-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.near-grid .qf-row .v{white-space:normal;text-align:right}
@media(max-width:760px){.near-grid{grid-template-columns:1fr}}

/* lightbox: keep the photo's own proportions (Riaan, 21 Sep 2026: images looked stretched) */
.lb img{width:auto;height:auto;max-width:88vw;max-height:82vh;object-fit:contain}
.pc-cal.cal-end{left:auto;right:0}   /* the popover follows the field being chosen */

/* objection answers above the enquiry form + Good to know grid (AGENT-READINESS.md section 10, lodge page standard) */
.objections{padding:64px 0 8px;}
.obj-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:8px;}
.obj h3{font-family:var(--serif); font-size:19px; line-height:1.3; margin:0 0 8px; color:var(--ink);}
.obj p{font-size:14.5px; line-height:1.6; color:var(--soft-charcoal); margin:0;}
@media(max-width:900px){ .obj-grid{grid-template-columns:1fr; gap:18px;} .gtk-grid{grid-template-columns:1fr !important;} }

/* the price-card calendar must not be clipped by the hero or hidden behind the band below it (Riaan, 5 Oct 2026) */
.hero{overflow:visible;z-index:5}
.hero .hero-bg,.hero .hero-scrim{overflow:hidden}
