/* Gold Coast Online Directory — single business detail (revamp)
 * Restyle of the single-listing.php theme template to match business.html.
 * Scoped under .gcod-listing so it never touches other pages. Tokens from gcod-frontend.css. */

.gcod-listing{font-family:'Inter',system-ui,sans-serif;color:var(--gcod-ink-2);line-height:1.6}
.gcod-listing .gcod-wrap{max-width:1200px;margin:0 auto;padding-left:32px;padding-right:32px}
.gcod-listing h1,.gcod-listing h2,.gcod-listing h3{font-family:'Inter',sans-serif;color:var(--gcod-ink);letter-spacing:-.02em;line-height:1.15}
.gcod-listing a:not(.gcod-btn){color:inherit;text-decoration:none}
.gcod-listing a.gcod-btn{text-decoration:none}
.gcod-listing .gcod-btn-brand{color:#fff}
.gcod-listing img{max-width:100%;display:block}

.gcod-listing .tight{padding:56px 0}
.gcod-listing .crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gcod-ink-3);font-weight:500;margin-bottom:24px;flex-wrap:wrap}
.gcod-listing .crumbs a:hover{color:var(--gcod-brand-deep)}
.gcod-listing .crumbs .sep{color:var(--gcod-line)}

.gcod-listing .detail{display:grid;grid-template-columns:1fr 340px;gap:36px;align-items:start}
.gcod-listing .dband{height:220px;border-radius:var(--gcod-radius-lg);position:relative;margin-bottom:60px;background:linear-gradient(120deg,#FFF3E7,#FFE0BD);background-size:cover;background-position:center}
.gcod-listing .dband .dchip{position:absolute;left:26px;bottom:-42px;z-index:2;width:88px;height:88px;border-radius:18px;background:#fff;border:1px solid var(--gcod-line);box-shadow:0 8px 22px rgba(23,27,35,.1);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:34px;color:var(--gcod-brand-deep);overflow:hidden}
.gcod-listing .dchip img{width:100%;height:100%;object-fit:contain;padding:10px;background:#fff}

.gcod-listing .dhead h1{font-size:32px;font-weight:800;letter-spacing:-.03em;margin:0}
.gcod-listing .dhead .dtop{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gcod-listing .rc-badge{font-size:11.5px;font-weight:700;color:var(--gcod-brand-deep);background:var(--gcod-brand-tint);padding:3px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}
.gcod-listing .dmeta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:14px;color:var(--gcod-ink-3)}
.gcod-listing .dmeta .mi{display:flex;align-items:center;gap:6px}
.gcod-listing .dmeta svg{color:var(--gcod-brand);flex:none}
.gcod-listing .stars{color:var(--gcod-brand);letter-spacing:1.5px;font-size:14px}

.gcod-listing .dsec{margin-top:34px}
.gcod-listing .dsec h2{font-size:20px;font-weight:700;margin-bottom:14px}
.gcod-listing .dsec p{color:var(--gcod-ink-2);margin-bottom:12px}
.gcod-listing .dsec :is(h1,h2,h3,h4){color:var(--gcod-ink)}

.gcod-listing .tags{display:flex;flex-wrap:wrap;gap:8px}
.gcod-listing .tags a,.gcod-listing .tags span{font-size:13px;font-weight:500;color:var(--gcod-ink-2);background:var(--gcod-bg-soft);border:1px solid var(--gcod-line);padding:7px 13px;border-radius:999px}
.gcod-listing .tags a:hover{border-color:var(--gcod-brand);color:var(--gcod-brand-deep)}

.gcod-listing .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gcod-listing .gallery a{display:block;height:130px;border-radius:12px;overflow:hidden;border:1px solid var(--gcod-line)}
.gcod-listing .gallery img{width:100%;height:100%;object-fit:cover}

/* Rating summary header */
.gcod-listing .rev-summary{display:flex;align-items:center;gap:20px;padding:18px 24px;border:1px solid var(--gcod-line);border-radius:16px;background:var(--gcod-bg-soft);margin-bottom:22px}
.gcod-listing .rev-summary .rs-num{font-size:42px;font-weight:800;line-height:1;color:var(--gcod-ink);letter-spacing:-.03em}
.gcod-listing .rev-summary .rs-meta{display:flex;flex-direction:column;gap:5px}
.gcod-listing .rev-summary .rs-stars{font-size:18px;letter-spacing:3px;line-height:1}
.gcod-listing .rev-summary .rs-count{font-size:13px;color:var(--gcod-ink-3);font-weight:500}

/* Review cards */
.gcod-listing .review{border:1px solid var(--gcod-line);border-radius:16px;padding:22px 24px;margin-bottom:14px;background:#fff;transition:box-shadow .18s ease,border-color .18s ease}
.gcod-listing .review:hover{border-color:#dfe3ea;box-shadow:0 6px 24px rgba(23,27,35,.06)}
.gcod-listing .review .rh{display:flex;align-items:center;gap:13px;margin-bottom:12px}
.gcod-listing .review .rav{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--gcod-brand-tint),var(--gcod-brand-tint-2));color:var(--gcod-brand-deep);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex:none}
.gcod-listing .review .rn{font-weight:700;color:var(--gcod-ink);font-size:15px}
.gcod-listing .review .rd{font-size:12.5px;color:var(--gcod-ink-3);margin-top:1px}
.gcod-listing .review .stars{font-size:15px;letter-spacing:2px;margin-bottom:9px}
.gcod-listing .review p{font-size:15px;line-height:1.65;color:var(--gcod-ink-2);margin:0}

.gcod-listing .aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}
.gcod-listing .abox{border:1px solid var(--gcod-line);border-radius:var(--gcod-radius);padding:22px}
.gcod-listing .abox h3{font-size:15px;font-weight:700;margin-bottom:14px}
.gcod-listing .abox .gcod-btn{width:100%;margin-bottom:10px}
.gcod-listing .abox .row{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--gcod-ink-2);padding:9px 0;border-top:1px solid var(--gcod-line-2);word-break:break-word}
.gcod-listing .abox .row:first-of-type{border-top:none}
.gcod-listing .abox .row svg{color:var(--gcod-brand);flex:none}
.gcod-listing .abox .row a:hover{color:var(--gcod-brand-deep)}

.gcod-listing .hours{display:flex;justify-content:space-between;font-size:13.5px;padding:6px 0;color:var(--gcod-ink-2)}
.gcod-listing .hours b{color:var(--gcod-ink);font-weight:600}
.gcod-listing .hours.today{color:var(--gcod-brand-deep)}
.gcod-listing .hours.today b{color:var(--gcod-brand-deep)}

.gcod-listing .map-embed iframe,.gcod-listing .map-embed img{width:100%;border:0;border-radius:12px;margin-bottom:14px}

/* Owner-only edit button + embedded Gravity forms sit on the design tokens */
.gcod-listing .gcod-edit-btn{display:inline-flex;align-items:center;font-size:13px;font-weight:600;color:var(--gcod-ink-2);border:1px solid var(--gcod-line);border-radius:8px;padding:5px 12px;background:#fff;cursor:pointer;text-decoration:none;line-height:1.4}
.gcod-listing .gcod-edit-btn:hover,.gcod-listing .gcod-edit-btn:focus{border-color:var(--gcod-brand);color:var(--gcod-brand-deep);background:#fff}
.gcod-listing .gform_wrapper{margin-top:6px}

/* ===================== ADD A REVIEW (Gravity Form 7) =====================
 * Premium, minimalist restyle of the review submission form. Scoped to
 * #add-review so it never touches other Gravity Forms on the site. */
.gcod-listing #add-review{margin-top:28px;border:1px solid var(--gcod-line);border-radius:18px;padding:26px 28px;background:#fff}
.gcod-listing #add-review>h3{font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--gcod-ink);margin:0 0 4px}
.gcod-listing #add-review .ar-sub{font-size:14px;color:var(--gcod-ink-3);margin:0 0 20px}
.gcod-listing #add-review .gform_wrapper{margin-top:0}
/* two-column grid; full-width for rating, comment, footer */
.gcod-listing #add-review .gform_wrapper .gform_fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;list-style:none;margin:0;padding:0}
.gcod-listing #add-review .gform_wrapper .gfield{margin:0;padding:0;width:auto;float:none;clear:none;box-sizing:border-box}
.gcod-listing #add-review .gform_wrapper .gfield--type-radio,
.gcod-listing #add-review .gform_wrapper .gfield--type-textarea{grid-column:1 / -1}
/* labels: top-left, medium (override the site-wide right-align) */
.gcod-listing #add-review .gform_wrapper .gfield_label{display:block;text-align:left !important;font-size:13px;font-weight:600;color:var(--gcod-ink-2);margin:0 0 7px}
.gcod-listing #add-review .gform_wrapper .gfield_required{color:var(--gcod-brand-deep);margin-left:2px;text-decoration:none}
/* text inputs + textarea */
.gcod-listing #add-review .gform_wrapper input[type=text],
.gcod-listing #add-review .gform_wrapper input[type=email],
.gcod-listing #add-review .gform_wrapper textarea{width:100%;box-sizing:border-box;font-family:'Inter',sans-serif;font-size:15px;color:var(--gcod-ink);background:var(--gcod-bg-soft);border:1px solid var(--gcod-line);border-radius:11px;padding:12px 14px;transition:border-color .15s,box-shadow .15s,background .15s}
.gcod-listing #add-review .gform_wrapper input::placeholder,
.gcod-listing #add-review .gform_wrapper textarea::placeholder{color:var(--gcod-ink-3)}
.gcod-listing #add-review .gform_wrapper input[type=text]:focus,
.gcod-listing #add-review .gform_wrapper input[type=email]:focus,
.gcod-listing #add-review .gform_wrapper textarea:focus{outline:none;background:#fff;border-color:var(--gcod-brand);box-shadow:0 0 0 3px rgba(255,144,35,.15)}
.gcod-listing #add-review .gform_wrapper textarea{min-height:120px;resize:vertical;line-height:1.6}
/* interactive star rating (radios rendered 5→1, reversed to read 1→5) */
.gcod-listing #add-review .gfield--type-radio .gfield_label{margin-bottom:9px}
.gcod-listing #add-review .gfield_radio{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:3px;margin:0;padding:0;list-style:none}
.gcod-listing #add-review .gfield_radio li{margin:0;padding:0}
.gcod-listing #add-review .gfield_radio input{position:absolute;opacity:0;width:1px;height:1px}
.gcod-listing #add-review .gfield_radio label{cursor:pointer;font-size:0;line-height:1;padding:0 2px;margin:0}
.gcod-listing #add-review .gfield_radio label::before{content:'\2605';font-size:30px;color:#dfe3ea;transition:color .12s ease,transform .12s ease}
.gcod-listing #add-review .gfield_radio li:has(input:checked) label::before,
.gcod-listing #add-review .gfield_radio li:has(input:checked) ~ li label::before{color:var(--gcod-brand)}
.gcod-listing #add-review .gfield_radio:hover li label::before{color:#dfe3ea}
.gcod-listing #add-review .gfield_radio li:hover label::before,
.gcod-listing #add-review .gfield_radio li:hover ~ li label::before{color:var(--gcod-brand)}
.gcod-listing #add-review .gfield_radio li:hover label::before{transform:scale(1.06)}
.gcod-listing #add-review .gfield_radio input:focus-visible + label::before{outline:2px solid var(--gcod-brand);outline-offset:3px;border-radius:2px}
/* submit button */
.gcod-listing #add-review .gform_footer{margin:6px 0 0;padding:0}
.gcod-listing #add-review .gform_button{appearance:none;-webkit-appearance:none;font-family:'Inter',sans-serif;font-weight:700;font-size:15px;color:#fff;background:var(--gcod-brand);border:none;border-radius:11px;padding:13px 28px;cursor:pointer;transition:background .16s,transform .16s,box-shadow .16s}
.gcod-listing #add-review .gform_button:hover{background:var(--gcod-brand-deep);transform:translateY(-1px);box-shadow:0 8px 20px rgba(255,144,35,.28)}
/* validation */
.gcod-listing #add-review .gform_wrapper .gfield_description.validation_message,
.gcod-listing #add-review .gform_wrapper .validation_message{font-size:12.5px;color:#c0392b;margin-top:5px}
.gcod-listing #add-review .gform_wrapper .gfield_error input,
.gcod-listing #add-review .gform_wrapper .gfield_error textarea{border-color:#e5b0a8;background:#fff7f6}
.gcod-listing #add-review .gform_wrapper .gform_validation_errors{border:1px solid #e5b0a8;background:#fff7f6;border-radius:11px;padding:12px 14px;margin-bottom:16px;font-size:13.5px;color:#c0392b}
@media(max-width:560px){
	.gcod-listing #add-review{padding:20px 18px}
	.gcod-listing #add-review .gform_wrapper .gform_fields{grid-template-columns:1fr}
	.gcod-listing .rev-summary{padding:16px 18px;gap:16px}
}

/* -------- Directory archive (category / suburb) ---------------------- */
.gcod-listing .phero{padding:44px 0 8px}
.gcod-listing .phero .eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gcod-brand-deep)}
.gcod-listing .phero h1{font-size:clamp(30px,4.4vw,44px);font-weight:800;letter-spacing:-.03em;margin:12px 0 8px}
.gcod-listing .phero p{color:var(--gcod-ink-2);max-width:640px}
/* Light photo hero (client wants a background image, but bright not dark) —
 * everywhere except the map hero. A warm-white veil, heaviest on the left where
 * the text sits, fades to reveal the bright beach shot on the right. Dark text. */
.gcod-listing .phero:not(.phero-map){position:relative;overflow:hidden;padding:60px 0 56px;background:linear-gradient(100deg,rgba(255,251,245,.97) 0%,rgba(255,250,242,.93) 36%,rgba(255,249,240,.62) 60%,rgba(255,248,238,.20) 100%),url('../img/hero-banner.webp') center/cover no-repeat;border-bottom:1px solid var(--gcod-line)}
.gcod-listing .phero:not(.phero-map)::after{display:none}
.gcod-listing .phero:not(.phero-map) .gcod-wrap{position:relative;z-index:1}
.gcod-listing .phero:not(.phero-map) .crumbs,.gcod-listing .phero:not(.phero-map) .crumbs a{color:var(--gcod-ink-3)}
.gcod-listing .phero:not(.phero-map) .crumbs a:hover{color:var(--gcod-brand-deep)}
.gcod-listing .phero:not(.phero-map) .crumbs .sep{color:var(--gcod-line)}
.gcod-listing .phero:not(.phero-map) .eyebrow{color:var(--gcod-brand-deep)}
.gcod-listing .phero:not(.phero-map) h1{color:var(--gcod-ink)}
.gcod-listing .phero:not(.phero-map) p{color:var(--gcod-ink-2)}

/* ---- Business-pin map (Leaflet) ---- */
.gcod-map{height:400px;border-radius:16px;overflow:hidden;border:1px solid var(--gcod-line);z-index:0;background:var(--gcod-bg-soft)}
.gcod-map .leaflet-container{font-family:'Inter',sans-serif}
.gcod-pin span{display:block;width:16px;height:16px;border-radius:50% 50% 50% 0;background:var(--gcod-brand);border:2px solid #fff;box-shadow:0 2px 6px rgba(23,27,35,.35);transform:rotate(-45deg);margin:3px}
.gcod-map .marker-cluster{background:rgba(255,144,35,.25)}
.gcod-map .marker-cluster div{background:var(--gcod-brand);color:#fff;font-family:'Inter',sans-serif;font-weight:700}

/* Standalone map band (e.g. /suburbs/) */
.gcod-map-band--std{padding:8px 0 40px}
/* Map as the top hero banner on /suburbs/ */
.gcod-map-band--hero{padding:0 0 8px}
.gcod-map-band--hero .gcod-wrap{max-width:none;padding:0}
.gcod-map-band--hero .gcod-map{border-radius:0;border-left:0;border-right:0;border-top:0}

/* Map as the archive hero banner */
.phero-map{position:relative;padding:0;min-height:460px;overflow:hidden}
.phero-map .gcod-map{position:absolute;inset:0;height:100%;width:100%;border-radius:0;border:0;border-bottom:1px solid var(--gcod-line)}
.phero-map .gcod-wrap{position:relative;z-index:400;pointer-events:none;padding-top:34px;padding-bottom:34px;min-height:460px;display:flex;align-items:flex-start}
.phero-mapcard{pointer-events:auto;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border:1px solid var(--gcod-line);border-radius:18px;box-shadow:0 18px 44px -20px rgba(23,27,35,.4);padding:22px 26px;max-width:440px;margin-top:6px}
.phero-mapcard .crumbs{margin-bottom:10px}
.phero-mapcard .eyebrow{display:block;color:var(--gcod-brand-deep);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.phero-mapcard h1{margin:.1em 0 .28em;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.08;letter-spacing:-.02em;color:var(--gcod-ink)}
.phero-mapcard p{margin:0;color:var(--gcod-ink-3);font-size:15px;line-height:1.5}

/* Rich pin popup card */
.gcod-pop-wrap .leaflet-popup-content-wrapper{border-radius:16px;padding:0;overflow:hidden;box-shadow:0 20px 50px -18px rgba(23,27,35,.5)}
.gcod-pop-wrap .leaflet-popup-content{margin:0;width:auto!important;font-family:'Inter',sans-serif}
.gcod-pop-wrap .leaflet-popup-tip{box-shadow:0 20px 50px -18px rgba(23,27,35,.5)}
.gcod-pop{width:248px}
.gcod-pop--loading{display:flex;align-items:center;justify-content:center;height:150px}
.gcod-pop-spin{width:22px;height:22px;border-radius:50%;border:2.5px solid var(--gcod-line);border-top-color:var(--gcod-brand);animation:gcodspin .7s linear infinite}
.gcod-pop-shot{display:block;height:118px;background:var(--gcod-bg-soft);position:relative;overflow:hidden}
.gcod-pop-shot img{width:100%;height:100%;object-fit:cover;display:block}
.gcod-pop-shot img.gcod-pop-shot-logo{object-fit:contain;padding:16px}
.gcod-pop-letter{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:38px;color:var(--gcod-brand);background:linear-gradient(135deg,#fff4e8,#ffe3c7)}
.gcod-pop-body{padding:12px 14px 14px}
.gcod-pop-head{display:flex;align-items:center;gap:9px;margin-bottom:5px}
.gcod-pop-logo{width:30px;height:30px;border-radius:8px;object-fit:contain;background:#fff;border:1px solid var(--gcod-line);flex:0 0 auto}
.gcod-pop-body h3{margin:0;font-size:15px;line-height:1.25;font-weight:700}
.gcod-pop-body h3 a{color:var(--gcod-ink);text-decoration:none}
.gcod-pop-rating{font-size:12.5px;color:var(--gcod-ink-3);margin-bottom:7px}
.gcod-pop-rating .stars{color:var(--gcod-brand);letter-spacing:1px}
.gcod-pop-rating b{color:var(--gcod-ink)}
.gcod-pop-body p{margin:0 0 11px;font-size:12.5px;line-height:1.5;color:var(--gcod-ink-3)}
.gcod-pop-cta{display:block;text-align:center;width:100%;padding:9px 12px;font-size:13px}
@keyframes gcodspin{to{transform:rotate(360deg)}}

@media(max-width:640px){.gcod-map-band .gcod-map{height:320px!important}}
@media(max-width:760px){
	.phero-map{min-height:0}
	.phero-map .gcod-map{position:static;height:280px;width:auto}
	.phero-map .gcod-wrap{position:static;min-height:0;display:block;padding-top:22px;padding-bottom:14px}
	.phero-mapcard{max-width:none;margin-top:0}
}
.gcod-listing .reshead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.gcod-listing .reshead .count{font-size:14px;color:var(--gcod-ink-3);font-weight:500}
.gcod-listing .results{display:flex;flex-direction:column}

.gcod-listing .rowcard{display:flex;gap:18px;background:#fff;border:1px solid var(--gcod-line);border-radius:var(--gcod-radius);padding:16px;transition:box-shadow .16s,border-color .16s,transform .16s;margin-bottom:14px}
.gcod-listing .rowcard:hover{border-color:#E2E6EC;box-shadow:0 14px 30px rgba(23,27,35,.08);transform:translateY(-2px)}
/* Screenshot thumbnail (falls back to logo, then a letter chip) */
.gcod-listing .rowcard .rc-shot{width:200px;height:132px;flex:none;border-radius:12px;overflow:hidden;background:var(--gcod-brand-tint);display:flex;align-items:center;justify-content:center}
.gcod-listing .rowcard .rc-shot img{width:100%;height:100%;object-fit:cover;display:block}
.gcod-listing .rowcard .rc-shot img.rc-shot-logo{object-fit:contain;padding:18px;background:#fff}
.gcod-listing .rowcard .rc-shot-letter{font-weight:800;font-size:44px;color:var(--gcod-brand-deep)}
.gcod-listing .rowcard .rc-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.gcod-listing .rowcard .rc-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gcod-listing .rowcard h3{font-size:18px;font-weight:700;color:var(--gcod-ink);margin:0}
.gcod-listing .rowcard h3 a{color:inherit}
.gcod-listing .rowcard h3 a:hover{color:var(--gcod-brand-deep)}
.gcod-listing .rowcard .rc-badge{font-size:11px;font-weight:700;color:var(--gcod-brand-deep);background:var(--gcod-brand-tint);padding:3px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}
/* Special offers block (single-listing, Pro-gated at source) */
.gcod-listing .gcod-offers{display:flex;flex-direction:column;gap:12px}
.gcod-listing .gcod-offer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 18px;border:1px solid var(--gcod-line);border-radius:14px;background:var(--gcod-brand-tint)}
.gcod-listing .gcod-offer .of-body{flex:1;min-width:200px}
.gcod-listing .gcod-offer h3{margin:0 0 4px;font-size:16px;font-weight:700;color:var(--gcod-ink)}
.gcod-listing .gcod-offer p{margin:0 0 4px;font-size:14px;color:var(--gcod-ink-2)}
.gcod-listing .gcod-offer .of-ends{font-size:12.5px;color:var(--gcod-ink-3);font-weight:600}
.gcod-listing .gcod-offer .of-action{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gcod-listing .gcod-offer .of-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;font-size:13.5px;color:var(--gcod-brand-deep);background:#fff;border:1px dashed var(--gcod-brand);border-radius:8px;padding:6px 12px;letter-spacing:.04em}

/* Special offers in the sidebar (compact, stacked for the narrow column) */
.gcod-listing .abox-offers .sb-offer{border:1px solid var(--gcod-brand-tint-2);border-radius:12px;background:var(--gcod-brand-tint);padding:14px 16px}
.gcod-listing .abox-offers .sb-offer + .sb-offer{margin-top:12px}
.gcod-listing .abox-offers .sb-offer-title{font-size:15px;font-weight:800;color:var(--gcod-ink);line-height:1.3;letter-spacing:-.01em}
.gcod-listing .abox-offers .sb-offer-desc{font-size:13.5px;color:var(--gcod-ink-2);margin-top:3px;line-height:1.5}
.gcod-listing .abox-offers .sb-offer-ends{font-size:12px;color:var(--gcod-ink-3);font-weight:600;margin-top:7px}
.gcod-listing .abox-offers .sb-offer-act{display:flex;flex-direction:column;gap:8px;margin-top:13px}
.gcod-listing .abox-offers .sb-offer-act .of-code{display:block;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;font-size:13.5px;color:var(--gcod-brand-deep);background:#fff;border:1px dashed var(--gcod-brand);border-radius:8px;padding:9px 12px;letter-spacing:.06em}
.gcod-listing .abox-offers .sb-offer-act .gcod-btn{width:100%;margin:0}

/* Featured plan ribbon (row-card + single-listing) */
.gcod-listing .rc-featured{font-size:11px;font-weight:800;letter-spacing:.02em;color:#fff;background:var(--gcod-brand);padding:3px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:4px;box-shadow:0 2px 8px -2px rgba(255,144,35,.6)}
.gcod-listing .rc-featured svg{fill:#fff;stroke:#fff}
.gcod-listing .rowcard.is-featured{border-color:var(--gcod-brand);box-shadow:0 0 0 1px var(--gcod-brand) inset,0 10px 30px -18px rgba(255,144,35,.7)}
.gcod-listing .rowcard .rc-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13.5px;color:var(--gcod-ink-3);margin:8px 0 9px}
.gcod-listing .rowcard .rc-meta .mi{display:flex;align-items:center;gap:5px}
.gcod-listing .rowcard .rc-meta .stars{color:var(--gcod-brand);letter-spacing:1px}
.gcod-listing .rowcard .rc-meta svg{color:var(--gcod-brand)}
.gcod-listing .rowcard p{font-size:14px;color:var(--gcod-ink-2);line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gcod-listing .rowcard .rc-side{display:flex;flex-direction:column;gap:8px;justify-content:center;flex:none;width:150px}
.gcod-listing .rowcard .rc-side .gcod-btn{width:100%;padding:10px;text-align:center;justify-content:center}

/* -------- Listings results: filters + sort -------------------------- */
.gcod-listing .gcod-results{display:grid;grid-template-columns:270px 1fr;gap:32px;align-items:start}
.gcod-listing .filters{border:1px solid var(--gcod-line);border-radius:var(--gcod-radius);padding:22px;position:sticky;top:96px}
.gcod-listing .filter-group{margin-bottom:18px}
.gcod-listing .filter-group h4{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gcod-ink-3);margin:0 0 10px}
.gcod-listing .filter-input{width:100%;box-sizing:border-box;font-family:'Inter',sans-serif;font-size:14px;color:var(--gcod-ink);border:1px solid var(--gcod-line);border-radius:10px;padding:10px 12px;background:#fff;outline:none}
.gcod-listing select.filter-input{appearance:none;-webkit-appearance:none;padding-right:30px;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7688' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") right 12px center/11px no-repeat}
.gcod-listing .filter-input:focus{border-color:var(--gcod-brand)}
.gcod-listing .filter-radio{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--gcod-ink-2);padding:6px 0;cursor:pointer}
.gcod-listing .filter-radio input{accent-color:var(--gcod-brand)}
.gcod-listing .filter-radio .fc{margin-left:auto;font-size:12.5px;color:var(--gcod-ink-3)}
.gcod-listing .filters .gcod-btn{margin-top:4px}
.gcod-listing .filter-clear{display:block;text-align:center;margin-top:12px;font-size:13px;font-weight:600;color:var(--gcod-ink-3)}
.gcod-listing .filter-clear:hover{color:var(--gcod-brand-deep)}
.gcod-listing .results-col{min-width:0}
.gcod-listing .reshead .count b{color:var(--gcod-ink);font-weight:700}
.gcod-listing .reshead .sort{font-size:13.5px;color:var(--gcod-ink-3);display:flex;align-items:center;gap:8px;margin:0}
.gcod-listing .reshead .sort select{width:auto;min-width:160px}
.gcod-listing .filter-check{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--gcod-ink-2);padding:6px 0;cursor:pointer}
.gcod-listing .filter-check input{accent-color:var(--gcod-brand);width:16px;height:16px}
.gcod-listing .filters-head{display:none}
.gcod-listing .gcod-filter-fab{display:none}
.gcod-listing .gcod-filter-backdrop[hidden]{display:none}

/* AJAX loading state */
.gcod-listing.is-loading .results,.gcod-listing.is-loading .pager{opacity:.45;pointer-events:none;transition:opacity .15s}
.gcod-listing.is-loading .results-col{position:relative}
.gcod-listing.is-loading .results::after{content:"";position:absolute;left:50%;top:120px;width:34px;height:34px;margin-left:-17px;border:3px solid var(--gcod-line);border-top-color:var(--gcod-brand);border-radius:50%;animation:gcod-spin .7s linear infinite}
@keyframes gcod-spin{to{transform:rotate(360deg)}}
body.gcod-noscroll{overflow:hidden}

.gcod-listing .pager{display:flex;justify-content:center;gap:6px;margin-top:32px;flex-wrap:wrap}
.gcod-listing .pager a,.gcod-listing .pager span{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gcod-line);border-radius:9px;font-size:14px;font-weight:600;color:var(--gcod-ink-2);padding:0 12px}
.gcod-listing .pager a:hover{border-color:var(--gcod-brand);color:var(--gcod-brand-deep)}
.gcod-listing .pager .current{background:var(--gcod-brand);border-color:var(--gcod-brand);color:#fff}
.gcod-listing .pager .ellipsis{border:none;color:var(--gcod-ink-3);min-width:24px}
.gcod-listing .empty{border:1px solid var(--gcod-line);border-radius:var(--gcod-radius);padding:40px;text-align:center;color:var(--gcod-ink-3)}

@media(max-width:900px){
  .gcod-listing .detail{grid-template-columns:1fr}
  .gcod-listing .aside{position:static}
  .gcod-listing .gcod-results{grid-template-columns:1fr}
  /* Filters become an off-canvas panel opened by the floating button. */
  .gcod-listing .filters{position:fixed;top:0;left:0;bottom:0;width:min(340px,86vw);max-height:100vh;overflow-y:auto;z-index:81;background:#fff;border:none;border-radius:0;transform:translateX(-100%);transition:transform .28s ease;box-shadow:0 0 44px rgba(6,24,40,.22);padding:20px 22px 32px}
  .gcod-listing .filters.open{transform:none}
  .gcod-listing .filters-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-weight:800;font-size:18px;color:var(--gcod-ink)}
  .gcod-listing .filters-close{background:none;border:none;font-size:28px;line-height:1;color:var(--gcod-ink-3);cursor:pointer;padding:0 4px}
  .gcod-listing .gcod-filter-backdrop{position:fixed;inset:0;background:rgba(6,24,40,.42);z-index:80}
  .gcod-listing .gcod-filter-fab{display:inline-flex;position:fixed;right:18px;bottom:18px;z-index:60;align-items:center;gap:8px;background:var(--gcod-brand);color:#fff;border:none;border-radius:999px;padding:13px 20px;font-family:'Inter',sans-serif;font-weight:600;font-size:15px;box-shadow:0 10px 26px rgba(255,144,35,.42);cursor:pointer}
}
/* Compact cards on mobile: small image, tighter, buttons on their own row. */
@media(max-width:640px){
  .gcod-listing .rowcard{flex-wrap:wrap;gap:12px;padding:12px}
  .gcod-listing .rowcard .rc-shot{width:86px;height:86px;border-radius:10px}
  .gcod-listing .rowcard .rc-shot-letter{font-size:30px}
  .gcod-listing .rowcard .rc-shot img.rc-shot-logo{padding:10px}
  .gcod-listing .rowcard .rc-body{flex:1;min-width:calc(100% - 98px)}
  .gcod-listing .rowcard h3{font-size:16px}
  .gcod-listing .rowcard .rc-meta{gap:10px;margin:5px 0 6px;font-size:12.5px}
  .gcod-listing .rowcard p{font-size:13px;-webkit-line-clamp:2}
  .gcod-listing .rowcard .rc-side{flex:1 1 100%;flex-direction:row;width:auto;gap:8px}
  .gcod-listing .rowcard .rc-side .gcod-btn{flex:1;padding:11px}
  .gcod-listing .reshead{flex-direction:column;align-items:flex-start;gap:10px}
}
@media(max-width:560px){
  .gcod-listing .tight{padding:36px 0}
  .gcod-listing .gcod-wrap{padding-left:20px;padding-right:20px}
  .gcod-listing .gallery{grid-template-columns:1fr 1fr}
  .gcod-listing .dhead h1{font-size:26px}
}

/* Social links as brand-icon chips (single-listing "Follow" box) */
.gcod-listing .dsocials{display:flex;flex-wrap:wrap;gap:8px}
.gcod-listing .dsocial{display:inline-flex;align-items:center;gap:7px;padding:7px 12px 7px 10px;border:1px solid var(--gcod-line);border-radius:999px;color:var(--gcod-ink-2);text-decoration:none;font-size:13px;font-weight:600;transition:border-color .15s,color .15s,background .15s}
.gcod-listing .dsocial:hover{border-color:var(--gcod-brand);color:var(--gcod-brand-deep);background:var(--gcod-brand-tint)}
.gcod-listing .dsocial svg{flex:0 0 auto}

/* ============================ Single-listing enhancements ============= */
/* Hero cover: subtle scrim so overlapping chip + any bright screenshot read cleanly */
/* Show the whole uploaded banner (~8:5) instead of cropping it to a fixed
 * 220px strip: drop the fixed height and let the band take the image's aspect
 * ratio so it scales with width. Placeholder gradient bands keep their 220px. */
.gcod-listing .dband.has-img{background-color:var(--gcod-bg-soft);height:auto;aspect-ratio:8/5;background-repeat:no-repeat;background-position:center}
.gcod-listing .dband.has-img::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(23,27,35,0) 55%,rgba(23,27,35,.12));pointer-events:none}

/* Lead / actions box */
.gcod-listing .abox-lead .gcod-btn{width:100%}
.gcod-listing .abox-lead .gcod-btn-lg{margin-bottom:10px}
.gcod-listing .dcta-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px}
.gcod-listing .dcta-row .gcod-btn{padding:11px 10px;font-size:14px;margin:0}
.gcod-listing .dcontact{margin-top:14px}
.gcod-listing .dshare{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:14px;padding:10px;background:none;border:1px dashed var(--gcod-line);border-radius:10px;color:var(--gcod-ink-3);font:600 13px/1 'Inter',sans-serif;cursor:pointer;transition:border-color .15s,color .15s}
.gcod-listing .dshare:hover,.gcod-listing .dshare:focus{border-color:var(--gcod-brand);color:var(--gcod-brand-deep);background:none}

/* Location mini-map */
.gcod-listing .dmap{margin-bottom:14px}
.gcod-listing .dmap .gcod-map{height:210px;border-radius:12px}
.gcod-listing .dmap-dir{width:100%;margin-top:12px}

/* Video embed (responsive 16:9) */
.gcod-listing .dvideo{position:relative;padding-top:56.25%;border-radius:14px;overflow:hidden;border:1px solid var(--gcod-line);background:#000}
.gcod-listing .dvideo iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

@media(max-width:640px){
	.gcod-listing .dmap .gcod-map{height:180px}
}

/* Description prose — restore list markers + clean typography (the global
 * chrome reset strips list-style; re-enable it inside the About content). */
.gcod-listing .dprose{color:var(--gcod-ink-2);font-size:15px;line-height:1.7}
.gcod-listing .dprose p{margin:0 0 1em}
.gcod-listing .dprose ul,.gcod-listing .dprose ol{margin:0 0 1em;padding-left:1.5em}
.gcod-listing .dprose ul{list-style:disc}
.gcod-listing .dprose ol{list-style:decimal}
.gcod-listing .dprose li{margin:.3em 0;display:list-item;list-style:inherit}
.gcod-listing .dprose li::marker{color:var(--gcod-brand-deep)}
.gcod-listing .dprose a{color:var(--gcod-brand-deep);text-decoration:underline}
.gcod-listing .dprose strong,.gcod-listing .dprose b{color:var(--gcod-ink);font-weight:700}
.gcod-listing .dprose h2,.gcod-listing .dprose h3,.gcod-listing .dprose h4{margin:1.2em 0 .5em;color:var(--gcod-ink);font-weight:700}
.gcod-listing .dprose h3{font-size:17px}
.gcod-listing .dprose h4{font-size:15.5px}
.gcod-listing .dprose blockquote{margin:0 0 1em;padding:10px 16px;border:1px solid var(--gcod-line);color:var(--gcod-ink-2);background:var(--gcod-bg-soft);border-radius:8px}
.gcod-listing .dprose img{border-radius:10px;margin:6px 0}
.gcod-listing .dprose > :last-child{margin-bottom:0}

/* Linked suburb/category in the title meta row */
.gcod-listing .dmeta a{color:inherit;text-decoration:none;transition:color .15s}
.gcod-listing .dmeta a:hover{color:var(--gcod-brand-deep);text-decoration:underline}
