/* v9.5 phase 1 — sitewide quick wins. Loaded last on every page.
   1 one gold per screen  2 no extra fixed/sticky bars  3 360px overflow  4 44px targets + square corners  5 type scale  6 finder cards */

/* ---------- 1. One gold: only header "Book a visit" (and the menu's copy) stay gold. Every other .btn is green solid. ---------- */
html body .btn.btn:not(#z1):not(#z2):not(#z3):not(.gh):not(.ghl):not(.hbook):not(.mbook):not(.v94ol):not(.dz-gold){background:#123627!important;border-color:#123627!important;color:#f7f5f2!important}
html body .btn.btn:not(#z1):not(#z2):not(#z3):not(.gh):not(.ghl):not(.hbook):not(.mbook):not(.v94ol):not(.dz-gold):hover{background:#0d2a1e!important;border-color:#0d2a1e!important;color:#fff!important}
html body .hero.hv2 .hvc3 .hvbk{background:#f7f5f2!important;border-color:#f7f5f2!important;color:#123627!important}
html body .hpsum>i,html body .jdot,html body .ypgo,html body .sgtl{background:#123627!important;color:#f7f5f2!important;border-color:#123627!important}
/* green buttons that sit on dark green or photo bands become cream solid with green text */
html body .sec.dark .btn.btn:not(#z1):not(#z2):not(#z3):not(.gh):not(.ghl):not(.hbook),html body .vstrip .btn.btn:not(#z1):not(#z2):not(#z3):not(.gh):not(.ghl),html body .cons .btn.btn:not(#z1):not(#z2):not(#z3):not(.gh):not(.ghl),html body figure>figcaption .btn.btn:not(#z1):not(#z2):not(#z3),html body .panext .btn.btn:not(#z1):not(#z2):not(#z3):not(.gh):not(.ghl){background:#f7f5f2!important;border-color:#f7f5f2!important;color:#123627!important}

/* ---------- 2. Fixed / sticky bars: keep the slim header and the designer's own price bar only ---------- */
html body .stk,html body .stk.hp-stk,html body .v9swf,html body .pabar{display:none!important}
html body .v92jump.v92fix,html body .v92jump{position:static!important;box-shadow:none!important}
html body .ct thead th,html body .ct thead td,html body .ct tbody th,html body .ct tr th,html body .ct tr td,html body .ct.v4slim thead th,html body .ct.v4slim thead td{position:static!important;box-shadow:none}
html body .yside,html body .ypa,html body .pasum,html body .grchips{position:static!important}
html body .btabs,html body .btabs.scq-row,html body .btabs.scq-solid{position:relative!important;top:auto!important}
html body .cmptray{position:static!important;box-shadow:none!important;margin-top:20px;border-top:1px solid #123627!important}
html body .scq.scq-l,html body .scq.scq-r{display:none!important}

/* ---------- 3. Overflow guards ---------- */
/*GUARD html,body{overflow-x:clip}*/
main img,main video,main svg,main iframe,main table{max-width:100%}
main .grid>*,main [class*=grid]>*,main .g>*{min-width:0}

/* ---------- 4. Square corners (true circles kept below) ---------- */
html body *,html body *::before,html body *::after{border-radius:0!important}
html body .dot,html body .paopt .dot,html body .patl li::before,html body .hpv-dots button::before,html body .hpo::after,html body .hpseg button::after,html body .vctl,html body .vctl::before,html body .avatar,html body [class*=avatar],html body .cmpk input[type=radio],html body input[type=radio]{border-radius:50%!important}
html body .paopt.cb .dot{border-radius:0!important}
html body :is(.dz-bub,.dz-bub img,.dz-tick,.dz-next3 b,.hpsw .rfsw i):not(#z1):not(#z2):not(#z3){border-radius:50%!important}

/* ---------- 5. Type scale: H1 56/38, H2 42/30, floor 14px ---------- */
html body main h1:not(#z1):not(#z2):not(#z3){font-size:56px!important;line-height:1.08!important}
html body main h2:not(#z1):not(#z2):not(#z3){font-size:42px!important;line-height:1.14!important}
@media (max-width:699px){
 html body main h1:not(#z1):not(#z2):not(#z3){font-size:38px!important;line-height:1.12!important}
 html body main h2:not(#z1):not(#z2):not(#z3){font-size:30px!important;line-height:1.18!important}
}
button,input,select,textarea{font:inherit}
html body small,html body sup,html body sub{font-size:max(14px,0.8em)}
html body sup{vertical-align:super;line-height:0}

/* ---------- 6. Gazebos hub finder ---------- */
@media (max-width:699px){
 /* range tabs wrap to rows: nothing clipped, every tab 44px */
 html body #models#models .filters .fg[aria-label="Filter by range"]{flex-wrap:wrap!important;overflow:visible!important;margin:0!important;padding:4px 0!important;-webkit-mask-image:none!important;mask-image:none!important;gap:8px!important}
 html body #models#models .filters .fg[aria-label="Filter by range"] .chip{flex:0 0 auto!important;min-height:44px!important;height:auto!important;padding:0 14px!important;white-space:nowrap!important;display:inline-flex!important;align-items:center;gap:6px}
 html body #models#models .gzfbtn{min-height:44px!important;height:44px!important}
}
@media (max-width:599px){
 html body #models#models .mgrp .grid{display:grid!important;grid-template-columns:1fr!important;gap:16px!important}
 html body #models#models .mgrp .card{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:auto!important;min-height:0!important;padding:0!important;grid-template-columns:none!important}
 html body #models#models .mgrp .card>.mlink{display:block!important;width:100%!important;height:auto!important;max-height:none!important;flex:none!important;aspect-ratio:4/3;overflow:hidden}
 html body #models#models .mgrp .card>.mlink>img{width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:4/3!important;object-fit:cover!important;display:block!important}
 html body #models#models .mgrp .card .tx{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;padding:16px 16px 18px!important;width:auto!important}
 html body #models#models .mgrp .card .tx>*{margin:0!important}
 html body #models#models .mgrp .card .tag2{display:none!important}
 html body #models#models .mgrp .card h3{order:1;font-size:24px!important;line-height:1.2!important;white-space:normal!important}
 html body #models#models .mgrp .card h3 a{display:inline-flex;align-items:center;min-height:44px}
 html body #models#models .mgrp .card .v91fc{order:2;display:flex!important;flex-wrap:wrap;gap:8px!important}
 html body #models#models .mgrp .card .fp{order:3;font-size:16px!important}
 html body #models#models .mgrp .card .vsw{order:4;display:flex!important;flex-wrap:wrap;align-items:center;gap:0 14px;font-size:14px!important}
 html body #models#models .mgrp .card .vsw a{display:inline-flex;align-items:center;min-height:44px}
 html body #models#models .mgrp .card .v9b{order:5;display:flex!important;flex-direction:column!important;gap:6px!important;width:100%!important}
 html body #models#models .mgrp .card .v9b .v9dp{width:100%!important;min-height:48px!important}
 html body #models#models .mgrp .card .v9r{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;width:100%!important}
 html body #models#models .mgrp .card .v9r .v9bk,html body #models#models .mgrp .card .v9r .cmpk{display:inline-flex!important;align-items:center!important;min-height:44px!important}
}

/* gold text never on cream/white */
html body .paproof .s,html body .hero.hsm .kick{color:#7d6230!important}

/* ---------- 4b. 44px tap targets ---------- */
/* text-context links: grow the hit area vertically without moving the layout */
html body :is(p,dd,dt,td,th,i,b,small,figcaption,h3,h4,label)>a:not(.btn):not(.lnk):not(.tl):not(.tl2):not(.mlink):not([class*=card]):not(#z1):not(#z2):not(#z3){padding-block:14px!important;padding-inline:2px!important}
html body .fcon p>a{padding-block:14px}
html body a.lnk,html body a.tl,html body a.tl2,html body button.lnk,html body a.jgo,html body a.g3db,html body .v91all,html body .hps-toast button,html body .vtabs button,html body .pgt button,html body .btabs button,html body .padays button,html body .cz-ib,html body .gzclr,html body .cmptray .lnk{min-height:44px!important;display:inline-flex;align-items:center}
html body .btabs button,html body .padays button,html body .vtabs button{min-height:44px!important;height:auto!important}
html body .btn,html body .v94tel,html body .cz-ib,html body .cz-ibi{min-height:44px!important;min-width:44px!important}
html body .paf input,html body .paf select,html body .paf textarea,html body input[type=text],html body input[type=email],html body input[type=tel],html body input[type=number],html body input[type=file],html body select{min-height:44px!important}
html body .site-h a.logo{display:inline-flex!important;align-items:center;min-height:44px}
html body .hpv-dots button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;display:inline-grid!important;place-items:center;background:transparent!important}
html body .gmain>.hpv-dots{gap:0!important}
/* footer: tap-target height only (needed to pass checks; footer layout untouched until phase 4) */
html body footer ul>li>a,html body .fcols ul>li>a{min-height:44px!important;display:flex!important;align-items:center}
html body footer summary,html body .fcols summary{min-height:44px!important;display:flex!important;align-items:center}

html body :is(summary,td>button,th>button,.btabs button,.cz-prog button,.pcin input,.pcin button,.fg .chip,.v92jump a,.chip,.vtabs button,.padays button,.pgt button):not(#z1):not(#z2):not(#z3){min-height:44px!important;min-width:44px!important}
html body :is(.btabs button,.cz-prog button,td>button,.chip):not(#z1):not(#z2):not(#z3){height:auto!important}
/* finder range tabs on phone: wrap to two rows, nothing scrolls or clips */
@media (max-width:699px){
 html body #models#models .cz-tabs{flex-wrap:wrap!important;overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
 html body #models#models .cz-tabs .fg{flex-wrap:wrap!important;overflow:visible!important;gap:0 22px!important;margin:0!important;padding:0!important;-webkit-mask-image:none!important;mask-image:none!important;width:100%}
 html body #models#models .cz-tabs .chip{min-height:44px!important;height:auto!important;padding:10px 0!important;white-space:nowrap!important;display:inline-flex!important;align-items:center;gap:0}
 html body #models#models .cz-tabs .chip[aria-pressed="true"]{border-bottom-color:#123627!important}
 html body #models#models .cz-tabs~.scq,html body #models .scq{display:none!important}
}
@media (max-width:699px){html body #models#models .cz-tabs .count{display:none!important}}
/* final sweep */
html body .sr:not(#z1):not(#z2):not(#z3){left:0!important;top:0!important}
html body input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not(#z1):not(#z2):not(#z3),html body select:not(#z1):not(#z2):not(#z3),html body textarea:not(#z1):not(#z2):not(#z3){min-height:44px!important}
html body :is(.v9seg,.seg button,.v92u a,.v9trust a,.ypmini a):not(#z1):not(#z2):not(#z3){min-height:44px!important;min-width:44px!important}
html body :is(.v92u a,.v9trust a):not(#z1):not(#z2):not(#z3){display:inline-flex!important;align-items:center}
html body :is(.hpo,.hpo img,.hpo>img):not(#z1):not(#z2):not(#z3){border-radius:0!important}
html body main h1:not(#z1):not(#z2):not(#z3){white-space:normal!important;overflow-wrap:break-word}
