        :root{
            --navy:#10283f;
            --blue:#126df9;
            --blue-dark:#0c4cad;
            --cream:#f5f1ea;
            --sand:#e8dfd2;
            --ink:#20252b;
            --muted:#68717a;
            --line:#d9dfe4;
            --white:#fff;
            --success:#18794e;
        }

        html{scroll-behavior:smooth;scroll-padding-top:90px}
        body{
            margin:0;
            color:var(--ink);
            background:#fff;
            font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
        }

        img{display:block;max-width:100%}
        a{text-decoration:none}

        .announcement{
            background:var(--navy);
            color:#fff;
            font-size:.84rem;
        }

        .announcement span{
            display:inline-flex;
            align-items:center;
            gap:.45rem;
        }

        .navbar{
            min-height:82px;
            background:rgba(255,255,255,.97);
            border-bottom:1px solid rgba(16,40,63,.1);
            backdrop-filter:blur(12px);
        }

        .navbar-brand img{width:165px;height:auto}

        .navbar-nav .nav-link{
            color:var(--navy);
            font-weight:700;
            font-size:.92rem;
        }

        .navbar-nav .nav-link:hover{color:var(--blue)}

        .cart-button{
            position:relative;
            display:inline-flex;
            align-items:center;
            gap:.65rem;
            padding:.75rem 1rem;
            color:#fff;
            background:var(--navy);
            border:0;
            border-radius:0;
            font-weight:800;
        }

        .cart-button:hover{background:var(--blue);color:#fff}

        .cart-count{
            min-width:22px;
            height:22px;
            display:grid;
            place-items:center;
            padding:0 .3rem;
            border-radius:999px;
            background:#fff;
            color:var(--navy);
            font-size:.72rem;
        }

        .shop-hero{
            position:relative;
            min-height:690px;
            display:flex;
            align-items:center;
            overflow:hidden;
            background:
                linear-gradient(90deg,rgba(16,40,63,.96) 0%,rgba(16,40,63,.82) 47%,rgba(16,40,63,.12) 100%),
                url("../img/workshop.png") center/cover no-repeat;
        }

        .shop-hero::after{
            content:"";
            position:absolute;
            right:-140px;
            top:-140px;
            width:420px;
            height:420px;
            border:70px solid rgba(255,255,255,.06);
            border-radius:50%;
        }

        .hero-content{
            position:relative;
            z-index:2;
            max-width:760px;
            padding:100px 0;
        }

        .hero-label{
            display:inline-flex;
            align-items:center;
            gap:.55rem;
            margin-bottom:1.3rem;
            color:#bcd6ff;
            font-size:.78rem;
            font-weight:800;
            letter-spacing:.18em;
            text-transform:uppercase;
        }

        .hero-label::before{
            content:"";
            width:42px;
            height:2px;
            background:#bcd6ff;
        }

        .shop-hero h1{
            max-width:760px;
            color:#fff;
            font-family:Georgia,"Times New Roman",serif;
            font-size:clamp(3.5rem,7vw,7rem);
            line-height:.92;
            letter-spacing:-.05em;
        }

        .shop-hero h1 span{color:#77aaff}

        .shop-hero p{
            max-width:610px;
            color:rgba(255,255,255,.8);
            font-size:1.12rem;
            line-height:1.8;
        }

        .hero-btn{
            display:inline-flex;
            align-items:center;
            gap:.55rem;
            padding:1rem 1.35rem;
            background:var(--blue);
            color:#fff;
            border:1px solid var(--blue);
            font-weight:800;
        }

        .hero-btn:hover{background:#fff;color:var(--navy);border-color:#fff}

        .hero-trust{
            display:flex;
            flex-wrap:wrap;
            gap:1.4rem;
            margin-top:2rem;
            color:rgba(255,255,255,.78);
            font-size:.9rem;
        }

        .hero-trust i{color:#9fc2ff}

        .benefits{
            background:var(--cream);
            border-bottom:1px solid #e2ddd4;
        }

        .benefit{
            display:flex;
            align-items:center;
            gap:1rem;
            min-height:120px;
            padding:1.5rem;
            border-right:1px solid #ddd4c8;
        }

        .benefit:last-child{border-right:0}

        .benefit i{
            font-size:1.7rem;
            color:var(--blue);
        }

        .benefit strong{
            display:block;
            color:var(--navy);
            margin-bottom:.2rem;
        }

        .benefit span{
            color:var(--muted);
            font-size:.9rem;
        }

        .shop-section{padding:100px 0;background:#fff}

        .section-heading{
            display:flex;
            flex-wrap:wrap;
            justify-content:space-between;
            align-items:end;
            gap:1.5rem;
            margin-bottom:3rem;
        }

        .section-heading small{
            display:block;
            margin-bottom:.65rem;
            color:var(--blue);
            font-weight:800;
            letter-spacing:.16em;
            text-transform:uppercase;
        }

        .section-heading h2{
            margin:0;
            color:var(--navy);
            font-family:Georgia,"Times New Roman",serif;
            font-size:clamp(2.7rem,5vw,4.8rem);
            letter-spacing:-.04em;
        }

        .section-heading p{
            max-width:520px;
            margin:0;
            color:var(--muted);
            line-height:1.75;
        }

        .product-card{
            height:100%;
            display:flex;
            flex-direction:column;
            background:#fff;
            border:1px solid var(--line);
            border-radius:0;
            overflow:hidden;
            transition:transform .25s ease,box-shadow .25s ease;
        }

        .product-card:hover{
            transform:translateY(-6px);
            box-shadow:0 18px 45px rgba(16,40,63,.11);
        }

        .product-image{
            position:relative;
            height:310px;
            overflow:hidden;
            background:#e9ecef;
        }

        .product-image img{
            width:100%;
            height:100%;
            object-fit:cover;
            transition:transform .45s ease;
        }

        .product-card:hover .product-image img{transform:scale(1.04)}

        .badge-product{
            position:absolute;
            top:1rem;
            left:1rem;
            padding:.5rem .7rem;
            background:var(--navy);
            color:#fff;
            font-size:.72rem;
            font-weight:800;
            letter-spacing:.08em;
            text-transform:uppercase;
        }

        .product-body{
            display:flex;
            flex:1;
            flex-direction:column;
            padding:1.4rem;
        }

        .product-category{
            color:var(--blue);
            font-size:.74rem;
            font-weight:800;
            letter-spacing:.12em;
            text-transform:uppercase;
        }

        .product-title{
            margin:.45rem 0 .65rem;
            color:var(--navy);
            font-size:1.35rem;
            font-weight:800;
        }

        .product-description{
            min-height:78px;
            color:var(--muted);
            line-height:1.65;
        }

        .product-meta{
            display:flex;
            justify-content:space-between;
            align-items:center;
            gap:1rem;
            padding-top:1.1rem;
            margin-top:auto;
            border-top:1px solid var(--line);
        }

        .price{
            color:var(--navy);
            font-size:1.5rem;
            font-weight:900;
        }

        .price small{
            display:block;
            color:var(--muted);
            font-size:.72rem;
            font-weight:600;
        }

        .add-button{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:.5rem;
            padding:.8rem 1rem;
            background:var(--blue);
            color:#fff;
            border:0;
            font-weight:800;
        }

        .add-button:hover{background:var(--blue-dark)}

        .custom-strip{
            position:relative;
            min-height:480px;
            display:flex;
            align-items:center;
            color:#fff;
            background:
                linear-gradient(90deg,rgba(16,40,63,.95),rgba(18,109,249,.55)),
                url("../img/mancave-bar.webp") center/cover no-repeat;
        }

        .custom-strip h2{
            max-width:780px;
            font-family:Georgia,"Times New Roman",serif;
            font-size:clamp(3rem,6vw,6rem);
            line-height:.95;
            letter-spacing:-.05em;
        }

        .custom-strip p{
            max-width:620px;
            color:rgba(255,255,255,.8);
            line-height:1.8;
        }

        .story-section{padding:100px 0;background:var(--cream)}

        .story-image{
            min-height:540px;
            background:url("../img/workshop.png") center/cover no-repeat;
        }

        .story-copy{
            padding:clamp(2rem,5vw,5rem);
            background:#fff;
            height:100%;
        }

        .story-copy h2{
            color:var(--navy);
            font-family:Georgia,"Times New Roman",serif;
            font-size:clamp(2.6rem,4vw,4.5rem);
            letter-spacing:-.04em;
        }

        .story-copy p{
            color:var(--muted);
            line-height:1.8;
        }

        .story-list{
            display:grid;
            grid-template-columns:repeat(2,1fr);
            gap:1rem;
            margin-top:2rem;
        }

        .story-list div{
            padding:1rem;
            border:1px solid var(--line);
            font-weight:700;
        }

        .story-list i{color:var(--blue);margin-right:.5rem}

        .contact-section{padding:100px 0;background:#fff}

        .contact-box{
            display:grid;
            grid-template-columns:.9fr 1.1fr;
            border:1px solid var(--line);
        }

        .contact-info{
            padding:clamp(2rem,5vw,4.5rem);
            background:var(--navy);
            color:#fff;
        }

        .contact-info h2{
            font-family:Georgia,"Times New Roman",serif;
            font-size:clamp(2.5rem,4vw,4.2rem);
            letter-spacing:-.04em;
        }

        .contact-info p{color:rgba(255,255,255,.72);line-height:1.8}

        .contact-line{
            display:flex;
            gap:1rem;
            padding:1.2rem 0;
            border-top:1px solid rgba(255,255,255,.18);
        }

        .contact-line a,.contact-line span{color:#fff}

        .contact-form{padding:clamp(2rem,5vw,4.5rem)}

        .form-label{
            font-size:.78rem;
            font-weight:800;
            letter-spacing:.08em;
            text-transform:uppercase;
        }

        .form-control,.form-select{
            min-height:52px;
            border-radius:0;
        }

        textarea.form-control{min-height:135px}

        footer{
            padding:65px 0 28px;
            background:#0a1724;
            color:rgba(255,255,255,.68);
        }

        footer img{
            width:175px;
            filter:brightness(0) invert(1);
        }

        footer h3{
            color:#fff;
            font-size:.8rem;
            letter-spacing:.1em;
            text-transform:uppercase;
        }

        footer a{color:rgba(255,255,255,.68)}
        footer a:hover{color:#fff}

        .footer-bottom{
            margin-top:3rem;
            padding-top:1.4rem;
            border-top:1px solid rgba(255,255,255,.12);
            font-size:.86rem;
        }

        .offcanvas{width:min(440px,100vw)!important}

        .cart-item{
            display:grid;
            grid-template-columns:82px 1fr auto;
            gap:1rem;
            padding:1rem 0;
            border-bottom:1px solid var(--line);
        }

        .cart-item img{
            width:82px;
            height:82px;
            object-fit:cover;
        }

        .cart-item h4{
            margin:0 0 .3rem;
            color:var(--navy);
            font-size:1rem;
            font-weight:800;
        }

        .cart-item-price{
            color:var(--muted);
            font-size:.9rem;
        }

        .qty-control{
            display:inline-flex;
            align-items:center;
            margin-top:.55rem;
            border:1px solid var(--line);
        }

        .qty-control button{
            width:30px;
            height:30px;
            border:0;
            background:#fff;
        }

        .qty-control span{
            min-width:30px;
            text-align:center;
            font-size:.9rem;
        }

        .remove-item{
            border:0;
            background:transparent;
            color:#8b2d2d;
            font-size:1rem;
        }

        .cart-empty{
            padding:3rem 1rem;
            text-align:center;
            color:var(--muted);
        }

        .cart-empty i{
            display:block;
            margin-bottom:1rem;
            color:#b7bec5;
            font-size:3rem;
        }

        .cart-summary{
            margin-top:auto;
            padding-top:1.25rem;
            border-top:1px solid var(--line);
        }

        .summary-row{
            display:flex;
            justify-content:space-between;
            gap:1rem;
            margin-bottom:.65rem;
        }

        .summary-row.total{
            margin-top:1rem;
            padding-top:1rem;
            border-top:1px solid var(--line);
            color:var(--navy);
            font-size:1.15rem;
            font-weight:900;
        }

        .checkout-button{
            width:100%;
            margin-top:1rem;
            padding:1rem;
            background:var(--blue);
            color:#fff;
            border:0;
            font-weight:900;
        }

        .checkout-button:hover{background:var(--blue-dark)}
        .checkout-button:disabled{background:#aeb6be;cursor:not-allowed}

        .toast-container{z-index:2000}

        @media(max-width:991.98px){
            .benefit{border-right:0;border-bottom:1px solid #ddd4c8}
            .contact-box{grid-template-columns:1fr}
        }

        @media(max-width:767.98px){
            .shop-hero{min-height:610px;background-position:62% center}
            .shop-section,.story-section,.contact-section{padding:75px 0}
            .product-image{height:280px}
            .story-list{grid-template-columns:1fr}
        }
/* 2026 Blue Cap Timber brand refresh */
:root{--navy:#0d2942;--blue:#174a36;--blue-dark:#0f3828;--cream:#f6ecd8;--sand:#e9d3ad;--ink:#2d261f;--muted:#716a61;--line:#ded4c4;--success:#174a36;--timber:#c99055;--bark:#4b2d1b}
.announcement{background:var(--navy)}
.navbar{border-bottom-color:rgba(13,41,66,.13)}
.navbar-brand img{width:104px;height:104px;object-fit:contain;margin:-17px 0}
.navbar-nav .nav-link:hover{color:var(--green,var(--blue))}
.cart-button{background:var(--navy)}.cart-button:hover{background:var(--blue)}
.shop-hero{background:linear-gradient(90deg,rgba(7,26,42,.96) 0%,rgba(13,41,66,.84) 48%,rgba(13,41,66,.16) 100%),url("../img/workshop.png") center/cover no-repeat}
.hero-label,.shop-hero h1 span,.hero-trust i{color:#e8c99a}.hero-label::before{background:#e8c99a}.hero-btn{background:var(--blue);border-color:var(--blue)}
.benefits{background:var(--cream)}.benefit i,.section-heading small{color:var(--blue)}
.product-card{border-color:var(--line);box-shadow:0 8px 28px rgba(75,45,27,.035)}
.product-title a{color:var(--navy)}.product-title a:hover{color:var(--blue)}
.badge-product{background:var(--navy)!important}.price{color:var(--bark)!important}
.add-button{background:var(--navy)!important;border-color:var(--navy)!important}.add-button:hover{background:var(--blue)!important;border-color:var(--blue)!important}.add-button:disabled{opacity:.55;cursor:not-allowed}
.custom-strip{background:var(--green,var(--blue))!important}
footer img{width:160px!important;height:160px;object-fit:contain}
footer{background:#071a2a!important}
@media(max-width:991.98px){.navbar-brand img{width:84px;height:84px;margin:-12px 0}.navbar{min-height:72px}}

/* Product detail gallery */
.product-gallery-main{overflow:hidden;border:1px solid var(--line);border-radius:1rem;background:#f5f1e9;box-shadow:0 14px 38px rgba(13,41,66,.07)}
.product-gallery-main img{display:block;width:100%;height:min(560px,62vw);min-height:420px;object-fit:cover}
.product-gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem;margin-top:.85rem}
.product-gallery-thumb{padding:0;border:2px solid transparent;border-radius:.7rem;overflow:hidden;background:#fff;transition:border-color .15s ease,transform .15s ease;aspect-ratio:1/1}
.product-gallery-thumb:hover{transform:translateY(-2px)}
.product-gallery-thumb.active{border-color:var(--blue);box-shadow:0 0 0 2px rgba(23,74,54,.10)}
.product-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:767.98px){.product-gallery-main img{height:72vw;min-height:300px}.product-gallery-thumbs{grid-template-columns:repeat(4,1fr)}}


/* Shop product cards - alternating Blue Cap Timber brand colours */
.shop-products-grid .row > [class*="col-"]:nth-child(odd) .product-card{
    background:var(--navy);
    border-color:rgba(13,41,66,.8);
    box-shadow:0 12px 34px rgba(7,26,42,.16);
}
.shop-products-grid .row > [class*="col-"]:nth-child(even) .product-card{
    background:var(--blue);
    border-color:rgba(23,74,54,.85);
    box-shadow:0 12px 34px rgba(15,56,40,.16);
}
.shop-products-grid .product-body{color:#fff}
.shop-products-grid .product-category{color:#f0cf9d}
.shop-products-grid .product-title,
.shop-products-grid .product-title a{color:#fff}
.shop-products-grid .product-title a:hover{color:#f0cf9d}
.shop-products-grid .product-description{color:rgba(255,255,255,.78)}
.shop-products-grid .product-meta{border-top-color:rgba(255,255,255,.18)}
.shop-products-grid .price{color:#fff!important}
.shop-products-grid .price small{color:rgba(255,255,255,.68)}
.shop-products-grid .add-button{
    background:var(--cream)!important;
    color:var(--navy)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    transition:background .18s ease,color .18s ease,transform .18s ease;
}
.shop-products-grid .row > [class*="col-"]:nth-child(even) .add-button{color:var(--blue)!important}
.shop-products-grid .add-button:hover{
    background:#fff!important;
    color:var(--navy)!important;
    transform:translateY(-1px);
}
.shop-products-grid .row > [class*="col-"]:nth-child(even) .add-button:hover{color:var(--blue)!important}
.shop-products-grid .add-button:disabled{background:rgba(255,255,255,.72)!important;color:rgba(13,41,66,.65)!important}
.shop-products-grid .badge-product{
    background:var(--cream)!important;
    color:var(--navy);
    box-shadow:0 5px 16px rgba(7,26,42,.14);
}
.shop-products-grid .product-card:hover{box-shadow:0 20px 48px rgba(7,26,42,.22)}


/* Rich product description content */
.product-rich-description h2,
.product-rich-description h3,
.product-rich-description h4 { color: var(--navy); margin-top: 1.35rem; margin-bottom: .65rem; }
.product-rich-description p { margin-bottom: 1rem; }
.product-rich-description ul,
.product-rich-description ol { padding-left: 1.35rem; margin-bottom: 1rem; }
.product-rich-description blockquote { border-left: 4px solid var(--green); padding-left: 1rem; color: #5f665f; margin: 1.25rem 0; }
.product-rich-description a { color: var(--blue); font-weight: 600; }

/* Footer logo: preserve original logo colours */
footer img.footer-logo-original{filter:none!important;opacity:1!important;mix-blend-mode:normal!important}


/* Product card spacing fix
   Keep the short description directly beneath the product title. */
.product-card .product-body{
    justify-content:flex-start !important;
}
.product-card .product-title{
    margin-bottom:.65rem !important;
}
.product-card .product-description{
    margin-top:0 !important;
    min-height:0 !important;
    flex:0 0 auto !important;
}
.product-card .product-description > :first-child{
    margin-top:0 !important;
}
.product-card .product-description > :last-child{
    margin-bottom:0 !important;
}
.product-card .product-meta{
    margin-top:auto !important;
}
