:root{--bfw-blue:#6586c1;--bfw-blue-dark:#4f6fa8;--bfw-blue-light:#95acd3;--bfw-grey-bg:#f3f3f3;--bfw-grey-strip:#e8e8e8;--bfw-text:#2c3338;--bfw-text-soft:#3f444b;--bfw-white:#fff;--bfw-coral:#ff7a8b;--bfw-shadow:0 2px 10px rgba(0,0,0,.06)}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bfw-white);color:var(--bfw-text);font-family:'Nunito','Helvetica Neue',Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:'Poppins','Nunito',sans-serif;font-weight:700;color:var(--bfw-text);margin:0 0 1rem;letter-spacing:-.01em}
h1{font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.15}
h2{font-size:clamp(1.5rem,2.8vw,2rem);line-height:1.2}
h3{font-size:1.25rem}
p{margin:0 0 1rem}
a{color:var(--bfw-blue);text-decoration:none}
a:hover{color:var(--bfw-blue-dark);text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.wp-site-blocks,body.page,body.home,main{background:var(--bfw-white)}
.bfw-site-header{background:var(--bfw-white);padding:1rem 0;border-bottom:0}
.bfw-site-header .bfw-header-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.bfw-logo-block{display:flex;align-items:flex-start;gap:1rem}
.bfw-logo-block img{width:72px;height:auto;flex-shrink:0}
.bfw-logo-text{display:flex;flex-direction:column}
.bfw-logo-text .bfw-brand{font-family:'Poppins',sans-serif;font-size:1.4rem;font-weight:700;color:var(--bfw-blue);line-height:1.1;margin:0}
.bfw-logo-text .bfw-tagline{font-family:'Poppins',sans-serif;font-size:1.05rem;color:var(--bfw-text);font-weight:500;margin:.15rem 0 0}
.bfw-header-phone{display:flex;align-items:center;gap:.75rem}
.bfw-header-phone .bfw-phone-icon{width:36px;height:36px;color:var(--bfw-blue);flex-shrink:0}
.bfw-header-phone .bfw-phone-text{line-height:1.2}
.bfw-header-phone .bfw-phone-label{display:block;font-size:1.05rem;font-weight:700;color:var(--bfw-text)}
.bfw-header-phone a{font-size:1.05rem;font-weight:600;color:var(--bfw-text)}
.bfw-header-search{display:flex;align-items:center;background:var(--bfw-grey-bg);border-radius:6px;overflow:hidden;width:260px}
.bfw-header-search input{flex:1;background:transparent;border:0;padding:.7rem 1rem;font-family:inherit;font-size:.95rem;outline:none}
.bfw-header-search button{background:var(--bfw-blue);color:#fff;border:0;padding:.7rem 1rem;cursor:pointer;font-size:1rem}
.bfw-header-cart{background:var(--bfw-blue);color:#fff;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;text-decoration:none}
.bfw-header-cart .bfw-cart-count{position:absolute;top:-4px;right:-4px;background:#fff;color:var(--bfw-blue);width:22px;height:22px;border-radius:50%;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--bfw-blue)}
.bfw-main-nav{background:var(--bfw-blue);color:#fff}
.bfw-main-nav .bfw-nav-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;gap:0;flex-wrap:wrap}
.bfw-main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:0;flex-wrap:wrap;align-items:center;width:100%}
.bfw-main-nav li{position:relative}
.bfw-main-nav a{color:#fff;font-family:'Poppins',sans-serif;font-weight:600;font-size:.95rem;padding:1rem 1.25rem;display:block;transition:background .15s}
.bfw-main-nav a:hover{background:var(--bfw-blue-dark);text-decoration:none}
.bfw-main-nav .menu-item-has-children>a::after{content:' \25BE';font-size:.7rem;margin-left:.35rem;opacity:.8}
.bfw-main-nav li ul{position:absolute;top:100%;left:0;background:var(--bfw-blue-dark);display:none;min-width:220px;flex-direction:column;z-index:1000;box-shadow:var(--bfw-shadow)}
.bfw-main-nav li:hover>ul{display:flex}
.bfw-main-nav li ul a{padding:.8rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}
.bfw-delivery-strip{background:var(--bfw-grey-strip);padding:1.5rem 0}
.bfw-delivery-strip-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.bfw-delivery-strip h2{margin:0;font-size:clamp(1.3rem,2.6vw,1.85rem);color:var(--bfw-text);font-weight:700}
.bfw-btn-outline{display:inline-block;padding:.85rem 1.75rem;background:#fff;color:var(--bfw-text);border:2px solid var(--bfw-text);font-family:'Poppins',sans-serif;font-weight:700;border-radius:4px;text-decoration:none;transition:all .15s}
.bfw-btn-outline:hover{background:var(--bfw-text);color:#fff;text-decoration:none}
.bfw-slider{position:relative;overflow:hidden;min-height:480px;background:#000}
.bfw-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease-in-out;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center}
.bfw-slide.active{opacity:1}
.bfw-slide-card{background:rgba(255,255,255,.92);padding:2.5rem 3rem;max-width:560px;margin:0 1.5rem;text-align:center;border-radius:2px}
.bfw-slide-card h3{font-family:'Poppins',sans-serif;font-weight:300;font-size:clamp(1.4rem,2.6vw,1.9rem);color:#555;letter-spacing:.04em;margin:0 0 1.25rem}
.bfw-slide-card .bfw-btn{display:inline-block;background:#c5d7e8;color:var(--bfw-text);padding:.7rem 1.6rem;font-weight:600;letter-spacing:.12em;text-decoration:none;border-radius:0;font-family:'Poppins',sans-serif;font-size:.95rem}
.bfw-slide-card .bfw-btn:hover{background:var(--bfw-blue);color:#fff}
.bfw-slider-nav{position:absolute;top:50%;transform:translateY(-50%);background:var(--bfw-blue-light);width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:0;z-index:5;color:#fff;font-size:1.4rem}
.bfw-slider-nav.prev{left:1rem}
.bfw-slider-nav.next{right:1rem}
.bfw-welcome{padding:4rem 1.5rem 3rem;background:var(--bfw-white)}
.bfw-welcome-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.bfw-welcome .bfw-kicker{color:var(--bfw-blue);font-family:'Poppins',sans-serif;font-weight:700;letter-spacing:.15em;font-size:.85rem;text-transform:uppercase;margin:0 0 .5rem}
.bfw-welcome h2{font-size:clamp(1.6rem,3vw,2.15rem);color:var(--bfw-text);margin:0 0 1.25rem}
.bfw-welcome p{color:var(--bfw-text-soft);line-height:1.7}
.bfw-welcome a{color:var(--bfw-blue);font-weight:700}
.bfw-welcome img{width:100%;height:auto;border-radius:2px;box-shadow:var(--bfw-shadow)}
.bfw-section-alt{background:var(--bfw-grey-bg);padding:4rem 1.5rem}
.bfw-section-alt-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.bfw-section-alt h2{font-size:clamp(1.6rem,3vw,2.15rem);margin:0 0 1rem}
.bfw-btn-primary{display:inline-block;background:var(--bfw-blue);color:#fff;padding:.85rem 1.85rem;font-family:'Poppins',sans-serif;font-weight:700;border-radius:4px;text-decoration:none;letter-spacing:.03em;transition:background .15s}
.bfw-btn-primary:hover{background:var(--bfw-blue-dark);color:#fff;text-decoration:none}
.bfw-postcode-wrap{background:var(--bfw-white);padding:3rem 1.5rem;border-top:1px solid #eee}
.bfw-postcode-wrap-inner{max-width:780px;margin:0 auto;text-align:center}
.bfw-postcode-wrap h2{margin:0 0 1rem;font-size:1.6rem}
.bfw-featured-wrap{padding:4rem 1.5rem;background:var(--bfw-white)}
.bfw-featured-wrap h2{text-align:center;margin:0 0 2.5rem;font-size:clamp(1.6rem,3vw,2.15rem)}
.bfw-featured-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}
.bfw-featured-grid .product{background:#fff;border:1px solid #eee;border-radius:4px;padding:1rem;transition:box-shadow .2s}
.bfw-featured-grid .product:hover{box-shadow:var(--bfw-shadow)}
.bfw-featured-grid .product h3,.bfw-featured-grid .product h2{font-size:1.05rem;margin:.75rem 0 .25rem}
.bfw-featured-grid .price{color:var(--bfw-blue);font-weight:700;font-size:1.1rem}
.bfw-featured-grid .button{display:inline-block;margin-top:.75rem;padding:.5rem 1rem;background:var(--bfw-blue);color:#fff;border-radius:3px;font-size:.9rem;font-weight:600}
.bfw-usps{background:var(--bfw-blue);color:#fff;padding:2.5rem 1.5rem;text-align:center}
.bfw-usps-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem}
.bfw-usps h3{color:#fff;margin:0 0 .35rem;font-size:1.05rem}
.bfw-usps p{color:rgba(255,255,255,.9);margin:0;font-size:.92rem}
.bfw-reviews{padding:4rem 1.5rem;background:var(--bfw-grey-bg)}
.bfw-reviews h2{text-align:center;margin:0 0 2.5rem}
.bfw-reviews-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
.bfw-review-card{background:#fff;border-radius:6px;padding:1.5rem;box-shadow:var(--bfw-shadow)}
.bfw-review-card .bfw-stars{color:#f5b301;margin-bottom:.5rem}
.bfw-review-card .bfw-author{font-weight:700;margin-top:.75rem;color:var(--bfw-text)}
.bfw-review-card .bfw-date{font-size:.85rem;color:#888}
.bfw-cutoff{background:var(--bfw-blue);color:#fff;text-align:center;padding:.85rem 1rem;font-family:'Poppins',sans-serif;font-weight:600;letter-spacing:.02em;font-size:.95rem}
.bfw-site-footer{background:var(--bfw-text);color:#ddd;padding:3rem 1.5rem 1.5rem;font-size:.95rem}
.bfw-site-footer-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2.5rem}
.bfw-site-footer h4{color:#fff;margin:0 0 .85rem;font-size:1rem;font-family:'Poppins',sans-serif;letter-spacing:.05em;text-transform:uppercase}
.bfw-site-footer a{color:#ddd}
.bfw-site-footer a:hover{color:#fff}
.bfw-site-footer ul{list-style:none;padding:0;margin:0}
.bfw-site-footer li{margin:.4rem 0}
.bfw-footer-copy{max-width:1180px;margin:2rem auto 0;padding-top:1.25rem;border-top:1px solid #444;text-align:center;color:#aaa;font-size:.85rem}
.bfw-enquiry{max-width:640px;margin:2rem auto;padding:2rem;background:#fff;border:1px solid #eee;border-radius:6px;box-shadow:var(--bfw-shadow)}
.bfw-enquiry h2{margin:0 0 1.5rem;color:var(--bfw-text)}
.bfw-enquiry label{display:block;margin:1rem 0 .35rem;font-weight:600;font-size:.92rem}
.bfw-enquiry input,.bfw-enquiry textarea,.bfw-enquiry select{width:100%;padding:.75rem;border:1px solid #ccc;border-radius:4px;font-family:inherit;font-size:1rem}
.bfw-enquiry button{margin-top:1.5rem;background:var(--bfw-blue);color:#fff;padding:.85rem 2rem;border:0;border-radius:4px;font-family:'Poppins',sans-serif;font-weight:700;cursor:pointer;font-size:1rem}
.bfw-enquiry button:hover{background:var(--bfw-blue-dark)}
.bfw-postcode-check{max-width:520px;margin:0 auto}
.bfw-postcode-check form{display:flex;gap:.5rem}
.bfw-postcode-check input{flex:1;padding:.85rem 1rem;border:2px solid #ddd;border-radius:4px;font-size:1rem;text-transform:uppercase}
.bfw-postcode-check button{background:var(--bfw-blue);color:#fff;border:0;padding:.85rem 1.5rem;border-radius:4px;font-family:'Poppins',sans-serif;font-weight:700;cursor:pointer}
.bfw-postcode-check .bfw-pc-result{margin-top:1rem;padding:1rem;border-radius:4px}
.bfw-postcode-check .bfw-pc-ok{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}
.bfw-postcode-check .bfw-pc-fail{background:#fff3e0;color:#bf5000;border:1px solid #ffb74d}
body.home .wp-block-post-title,body.page .wp-block-post-title.is-home{display:none}
@media(max-width:900px){
  .bfw-welcome-inner,.bfw-section-alt-inner{grid-template-columns:1fr}
  .bfw-header-search{width:100%;order:10}
  .bfw-main-nav ul{flex-direction:column;width:100%;display:none}
  .bfw-main-nav ul.open{display:flex}
  .bfw-main-nav a{padding:.9rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}
  .bfw-burger{display:block;background:transparent;color:#fff;border:0;padding:1rem;cursor:pointer;font-size:1.3rem;margin-left:auto}
}
@media(min-width:901px){.bfw-burger{display:none}}

/* Full-width layout — cancel block theme constraints on home and other pages */
body.home main, body.home .entry-content, body.home .wp-block-post-content {
  max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; margin-top: 0 !important;
}
body.home main > *, body.home .entry-content > *, body.home .wp-block-post-content > * {
  max-width: 100% !important;
}
body.home main { margin-top: 0 !important; }
body.home main, body.home .wp-block-post-content, body.home .entry-content {
    max-width: 100% !important; width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; margin: 0 !important;
}
body.home main > *, body.home .wp-block-post-content > *, body.home .entry-content > * {
    max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important;
}
/* Inline postcode check — wrap in our styled section */
body.home .bfw-postcode {
  max-width: 720px; margin: 2rem auto; padding: 2rem; background: #fff; border-radius: 6px; box-shadow: var(--bfw-shadow); text-align: center;
}
body.home .bfw-postcode__heading { margin: 0 0 1rem; color: var(--bfw-text); font-size: 1.5rem; }
body.home .bfw-postcode__form { display: flex; gap: .5rem; justify-content: center; max-width: 440px; margin: 0 auto; }
body.home .bfw-postcode__input { flex: 1; padding: .75rem 1rem; border: 2px solid #ddd; border-radius: 4px; font-size: 1rem; text-transform: uppercase; }
body.home .bfw-postcode__submit { background: var(--bfw-blue); color: #fff; border: 0; padding: .75rem 1.5rem; border-radius: 4px; font-weight: 700; cursor: pointer; font-family: 'Poppins',sans-serif; }
body.home .bfw-postcode__submit:hover { background: var(--bfw-blue-dark); }
body.home .bfw-postcode__result { margin-top: 1rem; padding: 1rem; border-radius: 4px; }
body.home .bfw-postcode__result.is-ok { background: #e8f5e9; color: #2e7d32; }
body.home .bfw-postcode__result.is-fail { background: #fff3e0; color: #bf5000; }

html, body { overflow-x: hidden; }
