/*
Theme Name: Bay Building Solutions — Divi Child
Theme URI: https://baybuildingsolutions.co.nz/
Description: Brand styling for the Bay Building Solutions Divi website.
Author: Bay Building Solutions
Template: Divi
Version: 1.2.0
Text Domain: bay-building-solutions
*/

/* Brand tokens (mirrors the Divi global colours gcid-bbs-*). Page layouts are built and styled in the Divi Visual Builder. */
:root{--bbs-navy:#162346;--bbs-deep:#111a39;--bbs-gold:#dfa92c;--bbs-gold-dark:#9b7720;--bbs-ink:#5f636b;--bbs-soft:#f6f5f1;--bbs-stone:#eaece7}
body{color:var(--bbs-ink)}
.et_pb_button,.et_pb_button:hover{border-radius:0}

/* ===== v1.2.0 (22 Oct 2026): sticky header, menu spacing, logo strips, new homepage/FAQ blocks ===== */
/* Sticky header (Theme Builder global header) */
.et-l--header{position:sticky;top:0;z-index:9990;background:#fff}
body.admin-bar .et-l--header{top:32px}
@media (max-width:782px){body.admin-bar .et-l--header{top:46px}}
@media (max-width:600px){body.admin-bar .et-l--header{top:0}}
/* Menu spacing (desktop only, stays on one line) */
@media (min-width:981px){
.et-l--header .et_pb_menu .et-menu>li{padding-left:17px!important;padding-right:17px!important}
.et-l--header .et_pb_menu .et-menu{flex-wrap:nowrap!important}
.et-l--header .et_pb_menu .et-menu>li>a{white-space:nowrap}
}
@media (min-width:981px) and (max-width:1365px){.et-l--header .et_pb_menu .et-menu>li{padding-left:8px!important;padding-right:8px!important}.et-l--header .et_pb_menu.et_pb_menu .et_pb_menu__menu>nav>ul>li>a{font-size:14px!important}}
@media (min-width:981px) and (max-width:1100px){.et-l--header .et_pb_menu .et-menu>li{padding-left:5px!important;padding-right:5px!important}.et-l--header .et_pb_menu.et_pb_menu .et_pb_menu__menu>nav>ul>li>a{font-size:13px!important}}
/* Logo strips */
.bbs-logos{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.bbs-logos .bbs-logo{display:flex;align-items:center;justify-content:center;height:78px;min-width:78px;padding:8px 12px;background:#fff;border-radius:4px;box-sizing:border-box}
.bbs-logos .bbs-logo img{max-height:62px;width:auto;max-width:120px;display:block}
.bbs-logos--footer{justify-content:center;gap:18px}
.bbs-logos--footer .bbs-logo{height:86px}
.bbs-logos--footer .bbs-logo img{max-height:68px}
@media (max-width:767px){.bbs-logos .bbs-logo{height:62px;min-width:62px;padding:6px 8px}.bbs-logos .bbs-logo img{max-height:48px;max-width:90px}.bbs-logos{gap:10px}}
/* Image placeholders (replace with real images) */
.bbs-ph{display:flex;align-items:center;justify-content:center;text-align:center;background:#d9d9d6;border:2px dashed #8a8d93;color:#3b3f46;font:700 12px/1.3 Manrope,Helvetica,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;box-sizing:border-box}
.bbs-logos .bbs-ph-logo{width:120px;padding:6px 10px;background:#d9d9d6}
.bbs-ph-photo{width:100%;aspect-ratio:4/5;max-width:240px;border-radius:4px}
@media (max-width:980px){.bbs-ph-photo{max-width:200px}}
/* PAS ticks */
.bbs-lead{font-size:20px!important;color:var(--bbs-navy)}
ul.bbs-ticks{list-style:none!important;padding:0!important;margin:18px 0 0!important}
ul.bbs-ticks li{position:relative;padding:0 0 14px 34px!important;margin:0!important;line-height:1.6}
ul.bbs-ticks li::before{content:'';position:absolute;left:0;top:7px;width:18px;height:10px;border-left:3px solid var(--bbs-gold);border-bottom:3px solid var(--bbs-gold);transform:rotate(-45deg)}
ul.bbs-ticks li strong{color:var(--bbs-navy)}
/* Proof stats + Halo strip */
.bbs-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.16)}
.bbs-stat{padding:30px 26px 6px 0;border-right:1px solid rgba(255,255,255,.16);margin-right:26px}
.bbs-stat:last-child{border-right:0;margin-right:0}
.bbs-stat p.bbs-stat-num{font:700 44px/1.05 Manrope,Helvetica,Arial,sans-serif;letter-spacing:-.04em;color:var(--bbs-gold);margin:0 0 10px;padding:0}
.bbs-stat p.bbs-stat-txt{font-size:16px;line-height:1.5;color:rgba(255,255,255,.8);margin:0;padding:0}
@media (max-width:980px){.bbs-stats{grid-template-columns:repeat(2,1fr)}.bbs-stat:nth-child(2){border-right:0;margin-right:0}}
@media (max-width:560px){.bbs-stats{grid-template-columns:1fr}.bbs-stat{border-right:0;margin-right:0;border-bottom:1px solid rgba(255,255,255,.16);padding:22px 0}.bbs-stat p.bbs-stat-num{font-size:36px}}
.bbs-halo{display:flex;gap:30px;align-items:center;background:rgba(255,255,255,.06);border-left:3px solid var(--bbs-gold);padding:26px 30px}
.bbs-halo img{width:96px;height:auto;flex:0 0 96px}
.bbs-halo h3{color:#fff!important;font:700 24px/1.2 Manrope,Helvetica,Arial,sans-serif;letter-spacing:-.02em;margin:0 0 8px;padding:0}
.bbs-halo p{margin:0 0 10px;padding:0}
@media (max-width:640px){.bbs-halo{flex-direction:column;align-items:flex-start;padding:22px}.bbs-halo img{width:76px;flex-basis:auto}}
/* Why choose grid */
.bbs-why{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.bbs-why-item{background:#fff;padding:28px 24px 22px;border-top:3px solid var(--bbs-gold)}
.bbs-why-num{display:block;font:700 13px/1 Manrope,Helvetica,Arial,sans-serif;letter-spacing:.17em;color:var(--bbs-gold-dark);margin-bottom:14px}
.bbs-why-item h3{font:700 20px/1.2 Manrope,Helvetica,Arial,sans-serif;letter-spacing:-.02em;color:var(--bbs-navy)!important;margin:0 0 10px;padding:0}
.bbs-why-item p{font-size:16px;line-height:1.6;margin:0;padding:0}
@media (max-width:1100px){.bbs-why{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.bbs-why{grid-template-columns:1fr}}
/* Vision / mission */
.bbs-vm{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.bbs-vm p.bbs-vm-txt{font:700 28px/1.3 Manrope,Helvetica,Arial,sans-serif;letter-spacing:-.025em;color:var(--bbs-navy);margin:0;padding:0}
@media (max-width:860px){.bbs-vm{grid-template-columns:1fr;gap:36px}.bbs-vm p.bbs-vm-txt{font-size:23px}}
/* FAQ accordion */
.bbs-faq-item{border-bottom:1px solid #d8d8d2;background:#fff;margin:0 0 10px;padding:0}
.bbs-faq-item summary{list-style:none;cursor:pointer;padding:22px 60px 22px 26px;position:relative}
.bbs-faq-item summary::-webkit-details-marker{display:none}
.bbs-faq-item summary::after{content:'+';position:absolute;right:24px;top:50%;transform:translateY(-50%);font:700 28px/1 Manrope,Helvetica,Arial,sans-serif;color:var(--bbs-gold-dark)}
.bbs-faq-item[open] summary::after{content:'\2013'}
.bbs-faq-item summary h3{display:inline;font:700 21px/1.3 Manrope,Helvetica,Arial,sans-serif;letter-spacing:-.02em;color:var(--bbs-navy)!important;padding:0;margin:0}
.bbs-faq-a{padding:0 26px 18px}
.bbs-faq-a p,.bbs-faq-a li{font-size:17px;line-height:1.65}
.bbs-faq-a ul{padding-left:20px!important;margin-bottom:14px}
.bbs-faq-item summary:focus-visible{outline:2px solid var(--bbs-gold);outline-offset:2px}
/* Blog post "Book a site visit" button */
.wp-block-buttons .wp-block-button.bbs-post-cta .wp-block-button__link{display:inline-block;background:var(--bbs-gold);color:var(--bbs-navy)!important;font:700 15px/1.2 Manrope,Helvetica,Arial,sans-serif;padding:17px 26px;border-radius:0;text-decoration:none!important;transition:background .2s,color .2s}
.wp-block-buttons .wp-block-button.bbs-post-cta .wp-block-button__link:hover{background:var(--bbs-navy);color:#fff!important}
.wp-block-buttons .wp-block-button.bbs-post-cta .wp-block-button__link::after{content:'  \2197'}
/* Footer logos inside first footer column (22 Oct 2026) */
.bbs-logos.bbs-logos--footcol{justify-content:flex-start;gap:10px;flex-wrap:wrap}
.bbs-logos--footcol .bbs-logo{height:68px;min-width:0;width:auto;padding:7px 10px;border-radius:6px}
.bbs-logos--footcol .bbs-logo img{max-height:54px;max-width:84px}
@media (max-width:767px){.bbs-logos--footcol .bbs-logo{height:60px;padding:6px 8px}.bbs-logos--footcol .bbs-logo img{max-height:46px;max-width:76px}}
.bbs-logos--footcol .bbs-logo{width:78px;padding:7px 8px}
.bbs-logos--footcol .bbs-logo img{max-width:62px}
@media (max-width:767px){.bbs-logos--footcol .bbs-logo{width:68px}.bbs-logos--footcol .bbs-logo img{max-width:54px}}
