/* =========================================================
   BYRE
   Professional E-commerce UI
   ========================================================= */

:root {
    --green: #405189;
    --green-dark: #303d6b;
    --green-light: #eef0f8;

    --text: #14231b;
    --muted: #66736b;

    --white: #ffffff;
    --bg: #f7faf8;

    --border: #e2e9e4;

    --shadow-sm:
        0 2px 8px rgba(15, 40, 25, 0.05);

    --shadow-md:
        0 12px 35px rgba(15, 40, 25, 0.08);

    --radius: 14px;
}


/* =========================================================
   RESET
   ========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    width: 100%;
    min-height: 100%;

    overflow-x: hidden;

    scroll-behavior: smooth;
}

body {
    width: 100%;
    min-height: 100vh;

    margin: 0;

    overflow-x: hidden;

    background: var(--bg);
    color: var(--text);

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;

    font-size: 15px;
    line-height: 1.65;

    display: flex;
    flex-direction: column;

    -webkit-font-smoothing: antialiased;
}

img,
svg {
    max-width: 100%;
}

img {
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea,
select {
    font: inherit;
}


/* =========================================================
   GLOBAL CONTAINER
   ========================================================= */

.wrap,
.container {
    width: 100%;
    max-width: 1120px;

    margin-left: auto;
    margin-right: auto;

    padding-left: 22px;
    padding-right: 22px;

    min-width: 0;
}


/* =========================================================
   HEADER
   ========================================================= */

.site-header {
    width: 100%;

    flex: 0 0 auto;

    background: var(--green-dark);

    border-bottom: 1px solid var(--green-dark);

    position: relative;

    z-index: 20;
}

.nav {
    min-height: 70px;

    display: flex;

    align-items: center;

    justify-content: flex-start;

    gap: 32px;

    min-width: 0;
}


/* =========================================================
   BRAND
   ========================================================= */

.brand {
    display: inline-flex;

    align-items: center;

    gap: 11px;

    flex: 0 0 auto;

    min-width: 0;

    color: #ffffff;

    font-size: 19px;

    font-weight: 800;

    letter-spacing: -0.35px;

    white-space: nowrap;
}


/* =========================================================
   LOGO FIXED CONTAINER
   IMPORTANT:
   Logo हमेशा इसी box के अंदर रहेगा.
   बड़ी image छोटी होगी.
   छोटी image proportion के अनुसार fit होगी.
   कोई crop नहीं होगा.
   ========================================================= */

.brand-logo {
    width: 42px !important;
    height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;

    flex: 0 0 42px !important;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    position: relative;

    border-radius: 8px;
}


/* Logo image */

.brand-logo img {
    display: block !important;

    width: 42px !important;
    height: 42px !important;

    max-width: 42px !important;
    max-height: 42px !important;

    object-fit: contain !important;

    object-position: center center !important;

    margin: 0 !important;
}


/* Logo text */

.brand-text {
    line-height: 1;

    min-width: 0;

    overflow: hidden;

    text-overflow: ellipsis;
}


/* =========================================================
   OLD SVG LOGO SUPPORT
   यदि किसी पुराने page में brand-mark अभी मौजूद हो
   तो वह भी सही रहेगा.
   ========================================================= */

.brand-mark {
    width: 38px;
    height: 38px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    flex: 0 0 38px;

    overflow: hidden;
}

.brand-mark svg {
    width: 38px;
    height: 38px;

    max-width: 100%;
    max-height: 100%;

    overflow: visible;
}

.brand-mark rect {
    fill: var(--green);
}

.brand-mark path {
    fill: none;

    stroke: #ffffff;

    stroke-width: 2.4;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.main-nav {
    display: flex;

    align-items: center;

    gap: 22px;

    flex-wrap: wrap;

    min-width: 0;

    padding-top: 5px;
}

.main-nav a {
    position: relative;

    padding: 8px 0;

    color: #ffffff;

    font-size: 14px;

    font-weight: 600;

    white-space: nowrap;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.main-nav a::after {
    content: "";

    position: absolute;

    left: 0;
    right: 100%;

    bottom: 1px;

    height: 2px;

    background: #ffffff;

    transition: right 0.2s ease;
}

.main-nav a:hover {
    color: #ffffff;
}

.main-nav a:hover::after {
    right: 0;
}


/* =========================================================
   MAIN
   ========================================================= */

main {
    width: 100%;

    flex: 1 0 auto;

    min-width: 0;
}

.container {
    padding-top: 48px;
    padding-bottom: 48px;
}


/* =========================================================
   HEADINGS
   ========================================================= */

h1,
h2,
h3,
h4 {
    color: var(--text);

    line-height: 1.2;

    letter-spacing: -0.5px;
}

h1 {
    font-size: clamp(32px, 5vw, 48px);

    margin-top: 0;
    margin-bottom: 14px;
}

h2 {
    font-size: clamp(25px, 4vw, 34px);
}

h3 {
    font-size: 21px;
}


/* =========================================================
   HOMEPAGE SLIDER
   FIXED RESPONSIVE CONTAINER
   NO CROP
   NO DISTORTION
   ========================================================= */

.hero-slider {
    position: relative;

    width: 100%;
    max-width: 100%;

    /*
     * Slider का fixed visual area.
     * Desktop पर height नियंत्रित रहेगी.
     */
    height: 500px;

    background: #f3f7f4;

    overflow: hidden;
}

.hero-slides {
    position: relative;

    width: 100%;
    height: 100%;

    max-width: 100%;

    overflow: hidden;
}

.hero-slide {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    display: none;

    align-items: center;
    justify-content: center;

    background: #f3f7f4;

    overflow: hidden;
}

.hero-slide.active {
    display: flex;
}


/* =========================================================
   SLIDER IMAGE CONTAINER
   ========================================================= */

.hero-slide picture {
    width: 100%;
    height: 100%;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;
}


/* =========================================================
   SLIDER IMAGE
   ========================================================= */

.hero-slide img {
    display: block;

    width: 100%;
    height: 100%;

    max-width: 100%;
    max-height: 100%;

    margin: 0 auto;

    /*
     * contain = पूरी image दिखाई देगी.
     * कोई crop नहीं.
     * कोई distortion नहीं.
     */
    object-fit: contain;

    object-position: center center;
}


/* =========================================================
   SLIDER ARROWS
   ========================================================= */

.slider-arrow {
    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    z-index: 10;

    width: 42px;
    height: 42px;

    padding: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 0;

    border-radius: 50%;

    background: rgba(23, 59, 38, 0.78);

    color: #ffffff;

    font-size: 28px;

    line-height: 1;

    cursor: pointer;
}

.slider-arrow:hover {
    background: #173b26;
}

.slider-prev {
    left: 18px;
}

.slider-next {
    right: 18px;
}


/* =========================================================
   SLIDER DOTS
   ========================================================= */

.slider-dots {
    position: absolute;

    left: 50%;

    bottom: 14px;

    transform: translateX(-50%);

    z-index: 10;

    display: flex;

    align-items: center;

    gap: 7px;
}

.slider-dot {
    width: 8px;
    height: 8px;

    min-height: 8px;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background: rgba(23, 59, 38, 0.35);

    cursor: pointer;
}

.slider-dot.active {
    width: 24px;

    border-radius: 10px;

    background: #173b26;
}


/* =========================================================
   FALLBACK HERO
   ========================================================= */

.hero {
    width: 100%;

    padding: 80px 0;

    background: var(--green-light);
}

.hero-copy {
    max-width: 720px;
}

.hero-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 44px;

    padding: 10px 20px;

    border-radius: 9px;

    background: var(--green);

    color: #ffffff;

    font-weight: 700;
}


/* =========================================================
   LATEST PRODUCTS
   ========================================================= */

.home-products {
    width: 100%;

    padding: 48px 0;
}

.section-heading {
    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 20px;
}

.section-label {
    display: block;

    margin-bottom: 5px;

    color: var(--green);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1px;
}

.section-heading h2 {
    margin-top: 0;
    margin-bottom: 0;
}

.section-link {
    color: var(--green-dark);

    font-weight: 700;

    white-space: nowrap;
}


/* =========================================================
   PRODUCT GRID
   ========================================================= */

.grid {
    width: 100%;

    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(min(230px, 100%), 1fr)
        );

    gap: 22px;

    margin: 28px 0 45px;

    min-width: 0;
}


/* =========================================================
   PRODUCT CARD
   ========================================================= */

.card {
    width: 100%;

    min-width: 0;

    background: var(--white);

    border: 1px solid var(--border);

    border-radius: var(--radius);

    padding: 22px;

    box-shadow: var(--shadow-sm);

    overflow: hidden;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.card:hover {
    transform: translateY(-2px);

    box-shadow: var(--shadow-md);
}


/* =========================================================
   PRODUCT IMAGE FIXED CONTAINER
   ========================================================= */

.card img {
    width: 100%;

    height: 230px;

    max-width: 100%;
    max-height: 230px;

    margin: 0 auto;

    display: block;

    /*
     * Image बड़ी हो तो छोटी होगी.
     * छोटी हो तो available area में fit होगी.
     * Crop नहीं.
     */
    object-fit: contain;

    object-position: center center;

    border-radius: 10px;

    overflow: hidden;
}


/* =========================================================
   PRICE
   ========================================================= */

.price {
    color: var(--green-dark);

    font-weight: 800;
}


/* =========================================================
   FORMS
   ========================================================= */

form {
    width: 100%;

    max-width: 760px;

    margin-left: auto;
    margin-right: auto;
}

label {
    display: block;

    margin: 0 0 7px;

    color: var(--text);

    font-size: 14px;

    font-weight: 600;
}

input,
textarea,
select {
    display: block;

    width: 100%;
    max-width: 100%;
    min-width: 0;

    padding: 13px 14px;

    margin: 0 0 17px;

    color: var(--text);

    background: #ffffff;

    border: 1px solid #d7e0da;

    border-radius: 9px;

    outline: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--green);

    box-shadow:
        0 0 0 3px
        rgba(22, 131, 75, 0.10);
}

textarea {
    min-height: 165px;

    resize: vertical;
}


/* =========================================================
   BUTTONS
   ========================================================= */

button,
.btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 44px;

    max-width: 100%;

    padding: 10px 20px;

    border: 0;

    border-radius: 9px;

    background: var(--green);

    color: #ffffff;

    font-weight: 700;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

button:hover,
.btn:hover {
    background: var(--green-dark);

    transform: translateY(-1px);

    box-shadow:
        0 7px 18px
        rgba(22, 131, 75, 0.20);
}


/* =========================================================
   ALERTS
   ========================================================= */

.success,
.error {
    width: 100%;

    max-width: 760px;

    margin: 0 auto 20px;

    padding: 12px 14px;

    border-radius: 9px;

    font-size: 14px;
}

.success {
    background: var(--green-light);

    border: 1px solid #c9ead5;

    color: #126b3d;
}

.error {
    background: #fff0f0;

    border: 1px solid #f0cccc;

    color: #a00000;
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
    width: 100%;

    flex: 0 0 auto;

    margin-top: auto;

    padding: 12px 0;

    background: var(--green-dark);

    color: rgba(255, 255, 255, 0.88);

    font-size: 12px;
}

.footer-inner {
    min-height: 30px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 12px;
}

.footer-brand {
    display: inline-flex;

    align-items: center;

    gap: 7px;

    font-weight: 600;
}

.footer-dot {
    width: 6px;
    height: 6px;

    flex: 0 0 6px;

    border-radius: 50%;

    background: #ffffff;
}

.footer-copy {
    color: rgba(255, 255, 255, 0.70);

    text-align: right;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 760px) {

    .wrap,
    .container {
        padding-left: 18px;
        padding-right: 18px;
    }


    /* Header */

    .nav {
        min-height: 0;

        padding-top: 14px;
        padding-bottom: 14px;

        align-items: flex-start;

        flex-direction: column;

        gap: 12px;
    }


    .brand {
        max-width: 100%;
    }


    .main-nav {
        width: 100%;

        justify-content: flex-start;

        gap: 5px 18px;
    }


    /* Slider */

    .hero-slider {
        height: 400px;
    }

    .hero-slide img {
        width: 100%;
        height: 100%;

        object-fit: contain;
    }


    .slider-arrow {
        width: 34px;
        height: 34px;

        font-size: 22px;
    }

    .slider-prev {
        left: 10px;
    }

    .slider-next {
        right: 10px;
    }

    .slider-dots {
        bottom: 9px;
    }


    /* Hero */

    .hero {
        padding: 55px 0;
    }


    /* Footer */

    .footer-inner {
        flex-direction: column;

        align-items: flex-start;
    }

    .footer-copy {
        text-align: left;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .wrap,
    .container {
        padding-left: 14px;
        padding-right: 14px;
    }


    /* Logo */

    .brand {
        font-size: 18px;
    }

    .brand-logo {
        width: 36px !important;
        height: 36px !important;
        max-width: 36px !important;
        max-height: 36px !important;

        flex-basis: 36px !important;
    }

    .brand-logo img {
        width: 36px !important;
        height: 36px !important;
        max-width: 36px !important;
        max-height: 36px !important;
    }


    /* Navigation */

    .main-nav {
        gap: 4px 13px;
    }

    .main-nav a {
        font-size: 13px;
    }


    /* Slider */

    .hero-slider {
        height: 280px;
    }

    .hero-slide img {
        width: 100%;
        height: 100%;

        object-fit: contain;
    }


    /* General */

    .container {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .hero {
        padding: 42px 0;
    }


    /* Products */

    .grid {
        grid-template-columns: 1fr;

        gap: 16px;
    }

    .card img {
        height: 210px;

        max-height: 210px;
    }


    /* Forms */

    form {
        width: 100%;
    }


    /* Footer */

    .site-footer {
        padding: 10px 0;
    }

    .footer-inner {
        min-height: 25px;

        gap: 4px;
    }

    .footer-copy,
    .footer-brand {
        font-size: 11px;
    }
}


/* =========================================================
   VERY SMALL DEVICES
   ========================================================= */

@media (max-width: 360px) {

    .wrap,
    .container {
        padding-left: 11px;
        padding-right: 11px;
    }


    .brand-logo {
        width: 34px !important;
        height: 34px !important;
        max-width: 34px !important;
        max-height: 34px !important;

        flex-basis: 34px !important;
    }

    .brand-logo img {
        width: 34px !important;
        height: 34px !important;
        max-width: 34px !important;
        max-height: 34px !important;
    }


    .main-nav {
        gap: 3px 9px;
    }

    .main-nav a {
        font-size: 12px;
    }


    .hero-slider {
        height: 240px;
    }


    .card img {
        height: 190px;

        max-height: 190px;
    }
}

/* Professional product catalogue and gallery */
.products-page { padding-top:48px; padding-bottom:70px; }
.products-heading { margin-bottom:24px; }
.products-heading h1 { margin:0; font-size:clamp(34px,5vw,54px); font-weight:800; letter-spacing:-1.4px; }
.products-eyebrow { margin:0 0 7px; color:#19733b; font-size:13px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.product-showcase { position:relative; margin-bottom:48px; padding:0 34px; }
.product-category-filter { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 28px; }
.product-category-filter a { padding:8px 14px; border:1px solid #cbdacf; border-radius:999px; color:#1b5131; background:#fff; text-decoration:none; font-weight:600; }
.product-category-filter a:hover,.product-category-filter a:focus-visible,.product-category-filter a.active { color:#fff; background:#197343; border-color:#197343; }
.product-slider-track { display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.product-slider-track::-webkit-scrollbar { display:none; }
.product-slider-item { display:grid; flex:0 0 clamp(280px,38vw,420px); min-width:0; aspect-ratio:1/1; place-items:center; padding:18px; overflow:hidden; background:#f5f8f6; border:1px solid #dce8df; border-radius:16px; scroll-snap-align:start; box-shadow:0 9px 30px rgba(18,55,31,.08); }
.product-slider-item img { display:block; width:100%; height:100%; object-fit:contain; }
.product-slider-arrow { position:absolute; z-index:4; top:42%; width:42px; height:42px; padding:0; color:#fff; background:#147438; border:0; border-radius:50%; box-shadow:0 7px 20px rgba(14,52,27,.25); cursor:pointer; }
.product-slider-arrow.previous { left:0; transform:translate(-15%,-50%); }
.product-slider-arrow.next { right:0; transform:translate(15%,-50%); }
.product-grid-large { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; align-items:start; }
.product-card-large { display:flex; min-width:0; height:auto; flex-direction:column; overflow:hidden; background:#fff; border:1px solid #dce8df; border-radius:16px; box-shadow:0 9px 30px rgba(18,55,31,.08); transition:transform .2s ease,box-shadow .2s ease; }
.product-card-large:hover { transform:translateY(-3px); box-shadow:0 14px 34px rgba(18,55,31,.14); }
.product-card-media { position:relative; aspect-ratio:4/3; background:#f5f8f6; }
.product-image-link { display:grid; width:100%; height:100%; place-items:center; padding:18px; }
.product-image-link img { width:100%; height:100%; object-fit:contain; }
.product-image-placeholder { color:#7b8d82; font-weight:600; }
.product-card-content { display:flex; min-width:0; flex:1; flex-direction:column; padding:19px 21px 22px; overflow-wrap:anywhere; }
.product-card-content small { color:#19733b; font-weight:700; }
.product-card-content h2 { margin:6px 0 9px; font-size:clamp(19px,2.2vw,25px); font-weight:750; letter-spacing:-.35px; }
.product-card-content h2 a { color:inherit; }
.product-card-content > p:last-child { margin-bottom:0; color:#617069; line-height:1.55; }
.product-card-price { display:flex; align-items:center; gap:10px; margin:0 0 10px; }
.product-card-price del { color:#8a9690; }
.product-card-price strong { color:#0f6b34; font-size:20px; }
.product-card-actions { display:flex; gap:10px; margin:2px 0 12px; }
.product-card-actions a { display:inline-flex; min-width:88px; min-height:36px; align-items:center; justify-content:center; padding:7px 17px; color:#fff; border-radius:999px; font-size:13px; font-weight:750; box-shadow:0 5px 14px rgba(30,64,175,.16); }
.product-card-view { background:#475569; }
.product-card-buy { background:#2563eb; }
.product-card-actions a:hover { filter:brightness(.94); }
.product-detail-page { padding-top:48px; padding-bottom:75px; }
.product-detail-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:42px; align-items:start; }
.product-gallery,.product-detail-summary { min-width:0; }
.product-main-image { display:grid; width:100%; min-height:clamp(340px,42vw,620px); place-items:center; padding:25px; overflow:hidden; background:#f5f8f6; border:1px solid #dce8df; border-radius:16px; cursor:zoom-in; }
.product-main-image img { display:block; width:100%; height:auto; max-height:clamp(300px,40vw,580px); object-fit:contain; }
.product-thumbnails { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; margin-top:12px; }
.product-thumbnail { aspect-ratio:1; padding:5px; overflow:hidden; background:#fff; border:1px solid #dce8df; border-radius:8px; cursor:pointer; }
.product-thumbnail.active { border:2px solid #147438; }
.product-thumbnail img { width:100%; height:100%; object-fit:contain; }
.product-detail-summary { padding-top:15px; }
.product-detail-summary > small { color:#19733b; font-weight:700; }
.product-detail-summary h1 { margin:7px 0 18px; font-size:clamp(32px,5vw,52px); font-weight:800; line-height:1.08; letter-spacing:-1.2px; }
.product-detail-price { display:flex; align-items:center; gap:12px; margin:0 0 24px; }
.product-detail-price del { color:#8a9690; font-size:19px; }
.product-detail-price strong { color:#0f6b34; font-size:29px; }
.product-purchase-button { display:inline-flex; min-height:42px; align-items:center; padding:9px 24px; color:#fff; background:#147438; border-radius:9px; font-weight:750; }
.product-rich-description { min-width:0; margin-top:45px; padding:28px 32px; overflow-wrap:anywhere; background:#fff; border:1px solid #dce8df; border-radius:16px; line-height:1.7; }
.product-rich-description h2 { margin:0 0 10px; font-size:25px; font-weight:800; }
.product-rich-description h3 { margin:24px 0 8px; font-size:20px; font-weight:750; }

/* Product detail and integration release — scoped additions only */
.header-cart-link{display:inline-flex;align-items:center;gap:5px;color:#14231b;text-decoration:none}.header-cart-link svg{width:28px;height:28px;fill:none;stroke:#f4b400;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.header-cart-link>span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#f4b400;color:#172014;font-size:12px;font-weight:800}
.product-card-actions,.product-detail-actions{align-items:stretch}.product-card-actions form,.product-card-actions a,.product-detail-actions form,.product-detail-actions a{flex:1}.product-card-cart,.product-card-buy,.product-purchase-button{display:inline-flex!important;align-items:center;justify-content:center;width:100%;min-height:42px!important;padding:9px 15px!important;border-radius:10px!important;font-weight:750;text-align:center;text-decoration:none;box-sizing:border-box}.product-card-cart{background:#f6c744!important;border:1px solid #d8a900!important;color:#211b00!important}.product-card-buy,.product-purchase-button{background:#3169a8!important;border:1px solid #285c96!important;color:#fff!important}
.cart-empty .product-card-buy{display:inline-flex;width:auto;min-width:170px;background:#168447!important;border-color:#116c39!important;color:#fff!important}
.product-about,.product-rich-description{margin-top:24px;padding:24px 28px;background:#fff;border:1px solid #dce8df;border-radius:16px;line-height:1.7}.product-about h2,.product-rich-description>h2{margin:0 0 12px;font-size:22px}.product-feature-list{margin:18px 0}.product-feature-list h2{font-size:18px;margin:0 0 8px}.product-feature-list ul{margin:0;padding-left:22px}.product-feature-list li{margin:6px 0}
.page-content>h1,.products-heading h1,.product-detail-summary h1,.product-not-found h1,.help-hero h1,.contact-header h1,.cart-page>header h1,.checkout-page>header h1,.order-success h1{font-size:clamp(23px,3vw,32px)!important;line-height:1.15!important;letter-spacing:-.02em}.product-card-large h2{font-size:clamp(18px,2vw,23px)!important}
.product-feature-row{display:grid;grid-template-columns:1fr 42px;gap:8px;align-items:start;margin:8px 0}.product-feature-row textarea{margin:0}.product-feature-row .remove-feature{min-height:42px;padding:6px!important;background:#fff1f1!important;color:#a51e1e!important;border:1px solid #e1b4b4!important}.field-word-count{margin-top:-8px;color:#5d6c63;font-size:13px}
@media(max-width:700px){.header-cart-link svg{width:25px;height:25px}.product-about,.product-rich-description{padding:19px}.page-content>h1,.products-heading h1,.product-detail-summary h1,.help-hero h1,.contact-header h1,.cart-page>header h1,.checkout-page>header h1,.order-success h1{font-size:24px!important}}
.product-lightbox { width:min(92vw,1000px); height:min(88vh,780px); padding:42px 20px 20px; background:#fff; border:0; border-radius:16px; }
.product-lightbox::backdrop { background:rgba(0,0,0,.78); }
.product-lightbox img { width:100%; height:100%; object-fit:contain; }
.product-lightbox button { position:absolute; top:8px; right:12px; width:34px; height:34px; padding:0; color:#fff; background:#147438; border:0; border-radius:50%; font-size:25px; cursor:pointer; }
@media (max-width:760px) {
  .product-slider-item { flex-basis:min(82vw,360px); }
  .product-grid-large,.product-detail-hero { grid-template-columns:1fr; }
  .product-showcase { padding:0 22px; }
  .product-thumbnails { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .product-rich-description { padding:21px; }
  .product-main-image { min-height:280px; }
}

/* Balanced public header and compact centred footer */
.site-header .nav { position:relative; max-width:1440px; padding-inline:clamp(24px,4vw,64px); }
.site-header .brand { margin-right:auto; }
.site-header .main-nav { position:absolute; left:50%; justify-content:center; transform:translateX(-50%); }
.site-footer { padding:7px 0 !important; }
.footer-inner { min-height:22px !important; justify-content:center !important; text-align:center; }
.footer-copy { width:100%; font-size:12px; }
.product-price-note,.product-tax-note { margin:4px 0 9px; color:#52645a; font-size:12px; font-weight:650; }
.page-content { padding-top:42px; padding-bottom:62px; }
.page-body { line-height:1.7; }
@media(max-width:860px){
  .site-header .main-nav{
    position:static;
    width:100%;
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    transform:none;
    -webkit-overflow-scrolling:touch;
  }
  .site-header .main-nav a{flex:0 0 auto;}
  .site-header .nav{flex-wrap:wrap;}
}
.help-hero{padding:42px 0 18px}.help-hero h1{margin:.35rem 0;font-size:clamp(2rem,5vw,3.5rem)}.eyebrow{color:#16884f;font-weight:800;letter-spacing:.12em}.help-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.7fr);gap:24px;margin-bottom:42px}.help-aside{align-self:start}.help-aside h3{margin-top:24px}@media(max-width:760px){.help-layout{grid-template-columns:1fr}}
.professional-footer{margin-top:auto;padding:36px 0 28px;color:#eaf7ef;background:#104f32}.professional-footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:28px}.professional-footer-column h2{margin:0 0 10px;color:#fff;font-size:16px;font-weight:750}.professional-footer-column p{margin:0 0 8px;color:#d8eee1;font-size:13px;font-weight:450;line-height:1.65}.professional-footer-column a{display:inline-flex;margin-top:8px;color:#fff;font-size:13px;font-weight:700}.professional-footer-column a:hover{text-decoration:underline}

/* Compact footer, complete mobile homepage and secure checkout */
html,body{max-width:100%;overflow-x:hidden}.professional-footer{padding:18px 0 13px;overflow-x:hidden}.professional-footer-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px 20px}.professional-footer-column{min-width:0;overflow-wrap:anywhere}.professional-footer-column h2{margin:0 0 5px;font-size:14px}.professional-footer-column p,.professional-footer-column div{margin:0 0 4px;font-size:12px;line-height:1.4}.professional-footer-column a{margin-top:3px;font-size:12px}.site-footer{padding:6px 0!important}.home-intro,.home-products,.home-categories,.home-support{margin-top:38px;margin-bottom:38px}.home-products h2,.home-categories h2,.home-support h2{margin:4px 0 18px;font-size:clamp(25px,4vw,38px)}.home-section-action{text-align:center;margin-top:18px}.home-categories>div{display:flex;flex-wrap:wrap;gap:9px}.home-categories a{padding:8px 13px;border:1px solid #cfe2d5;border-radius:999px;background:#fff;color:#155f36;font-weight:700}.home-support{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px;border-radius:16px;background:#eaf6ee}.home-support h2{margin:0 0 5px}.home-support p{margin:0}.checkout-page{padding-top:38px;padding-bottom:55px}.checkout-grid{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:24px;align-items:start}.checkout-summary,.checkout-form,.order-success .panel{padding:22px;border:1px solid #d9e6dc;border-radius:14px;background:#fff}.checkout-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.checkout-form label{display:grid;gap:6px;font-weight:700}.checkout-form input,.checkout-form select{width:100%;min-height:40px;padding:8px 10px;border:1px solid #cbd9cf;border-radius:8px}.checkout-form .wide{grid-column:1/-1}.checkout-form .check{display:flex;grid-column:1/-1;flex-direction:row;align-items:center}.checkout-form .check input{width:auto;min-height:0}.gst-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-error{padding:10px;border:1px solid #e0b7b7;border-radius:8px;background:#fff0f0;color:#8b1717}.order-success{padding-top:60px;padding-bottom:60px}.order-success .panel{max-width:720px;margin:auto}
@media(max-width:700px){.hero-slider,.hero-slides{min-height:0}.hero-slide picture{height:clamp(190px,58vw,300px)}.hero-slide img{width:100%;height:100%;object-fit:contain}.hero-caption{left:12px;right:12px;bottom:12px;padding:10px 12px}.hero-caption h2{font-size:21px}.home-intro,.home-products,.home-categories,.home-support{margin-top:24px;margin-bottom:24px}.home-support{align-items:flex-start;flex-direction:column}.professional-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checkout-grid,.checkout-form{grid-template-columns:1fr}.gst-fields{grid-template-columns:1fr}.checkout-form .wide{grid-column:auto}}
@media(max-width:420px){.professional-footer-grid{grid-template-columns:1fr}.professional-footer{padding:14px 0 10px}}

/* Cart and inventory controls */
.product-card-actions,.product-detail-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.product-cart-form{margin:0}.product-cart-form button,.product-detail-actions button,.product-purchase-button,.product-sold-out{min-height:38px;padding:.55rem 1rem;border:0;border-radius:999px;font:inherit;font-weight:700}.product-cart-form button,.product-detail-actions button{background:#2759a5;color:#fff;cursor:pointer}.product-purchase-button{display:inline-flex;align-items:center;background:#176a3e;color:#fff;text-decoration:none}.product-sold-out,.stock-out{color:#a52626;font-weight:800}.cart-page{padding-block:2rem}.cart-table{width:100%;border-collapse:collapse;background:#fff}.cart-table th,.cart-table td{padding:.8rem;border-bottom:1px solid #dfe7e1;text-align:left}.cart-table input{width:80px;padding:.5rem}.cart-remove{border:0;border-radius:999px;padding:.45rem .8rem;background:#a52626;color:#fff;cursor:pointer}.cart-summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;background:#fff}.cart-summary>div{display:flex;gap:.7rem;align-items:center}.cart-empty{padding:2rem;background:#fff;text-align:center}.checkout-grid{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:1.2rem}.checkout-summary,.checkout-form{background:#fff;padding:1.2rem;border-radius:14px}.checkout-summary p{display:flex;justify-content:space-between;gap:1rem}.checkout-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkout-form label{display:grid;gap:.35rem}.checkout-form input,.checkout-form select{width:100%;padding:.7rem}.checkout-form .wide{grid-column:1/-1}.checkout-form .check{display:flex;align-items:center}.checkout-form .check input{width:auto}.gst-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:720px){.checkout-grid{grid-template-columns:1fr}.checkout-form{grid-template-columns:1fr}.checkout-form .wide{grid-column:auto}.gst-fields{grid-template-columns:1fr}.cart-summary{align-items:stretch;flex-direction:column}.cart-summary>div{align-items:stretch;flex-direction:column}}

/* E-commerce checkout controls */
.cart-actions{display:grid!important;grid-template-columns:repeat(2,minmax(160px,1fr));gap:10px!important}.cart-actions>button,.cart-actions>a{width:100%;min-height:42px!important;margin:0!important;padding:9px 16px!important;box-sizing:border-box}.checkout-form label small{color:#5c6b62;font-size:12px;font-weight:500}
@media(max-width:860px){.header-cart-link{order:2}.site-header .main-nav{order:3}}

/* Contact and checkout hardening — 25 Aug 2026 */
.contact-page{padding:34px 16px 52px}.contact-card{width:min(100%,760px);margin:0 auto}.contact-header{text-align:center}.contact-header p{max-width:590px;margin-left:auto;margin-right:auto}.contact-submit{display:block;min-height:36px!important;padding:7px 18px!important;margin:14px auto 0!important}
.state-picker{position:relative}.state-picker>input[type=hidden]{display:none}.state-options{position:absolute;z-index:40;top:70px;left:0;right:0;max-height:230px;overflow-y:auto;padding:5px;border:1px solid #b9cbbf;border-radius:9px;background:#fff;box-shadow:0 12px 28px rgba(22,56,34,.18)}.state-options button{display:flex;width:100%;justify-content:space-between;min-height:34px;padding:7px 10px;border:0;border-radius:6px;background:#fff;color:#173d29;text-align:left;cursor:pointer}.state-options button:hover,.state-options button.active{background:#e7f4eb}.state-options button[hidden]{display:none}.checkout-pay-button{grid-column:2;justify-self:end;min-width:190px;min-height:40px;padding:8px 18px;border:0;border-radius:9px;background:#147438;color:#fff;font-weight:800;cursor:pointer}
@media(max-width:720px){.checkout-pay-button{grid-column:auto;width:100%}.contact-page{padding-top:24px}}
@media(max-width:700px){.cart-actions{grid-template-columns:1fr}.header-register-link{min-height:34px;padding:6px 9px;font-size:11px}}

/* Contact form and company details */
.contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:24px;width:min(100%,1080px);margin:0 auto;align-items:start}.contact-card{width:100%;margin:0}.contact-details-card{padding:24px;border:1px solid #d5e0d8;border-radius:14px;background:#f2f7f4;color:#193326;box-shadow:0 8px 24px rgba(21,67,41,.05)}.contact-details-eyebrow{margin:0 0 6px;color:#147438;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.contact-details-card h2{margin:0 0 20px;font-size:22px}.contact-detail-row{display:grid;gap:4px;padding:13px 0;border-top:1px solid #dce6df}.contact-detail-row strong{font-size:13px;color:#476054}.contact-detail-row span,.contact-detail-row a{color:#173d29;line-height:1.55;overflow-wrap:anywhere;text-decoration:none}.contact-detail-row a:hover{text-decoration:underline}@media(max-width:780px){.contact-layout{grid-template-columns:1fr}.contact-details-card{order:2}}

/* Responsive public navigation: desktop bar and accessible Android/iOS drawer */
.mobile-menu-toggle,.mobile-menu-heading,.mobile-menu-utility,.mobile-menu-overlay{display:none}.main-nav a.active,.main-nav a[aria-current="page"]{font-weight:800}.main-nav a.active::after,.main-nav a[aria-current="page"]::after{right:0}
@media(max-width:760px){
body.mobile-menu-open{overflow:hidden;touch-action:none}.site-header{z-index:80}.site-header .nav{display:flex;min-height:64px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:10px;flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:8px}.site-header .brand{order:1;min-width:0;max-width:calc(100% - 148px);margin-right:0}.site-header .brand-text{max-width:min(52vw,280px)}.site-header>.wrap{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.site-header .header-register-link{display:none}.site-header .header-cart-link{order:2;display:grid!important;flex:0 0 38px}.site-header .header-profile-menu{order:3}.site-header .header-language-menu{order:4;flex:0 0 38px}.site-header .mobile-menu-toggle{order:5;margin-left:0;flex:0 0 44px}
.mobile-menu-toggle{display:inline-flex;width:44px;height:44px;min-width:44px;margin-left:auto;padding:10px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(255,255,255,.42);border-radius:9px;background:transparent;color:#fff;cursor:pointer}.mobile-menu-toggle span{display:block;width:22px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu-overlay:not([hidden]){display:block;position:fixed;z-index:90;inset:0;background:rgba(3,19,11,.55);backdrop-filter:blur(2px)}.site-header .main-nav{display:flex;position:fixed;z-index:100;top:0;right:0;bottom:0;left:auto;width:min(86vw,360px);height:100vh;height:100dvh;margin:0;padding:max(14px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) 16px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:5px;overflow-x:hidden;overflow-y:auto;background:#fff;box-shadow:-14px 0 38px rgba(0,0,0,.24);transform:translateX(105%);visibility:hidden;transition:transform .24s ease,visibility .24s step-end;overscroll-behavior:contain}.site-header .main-nav.open{transform:translateX(0);visibility:visible;transition:transform .24s ease,visibility 0s}
.mobile-menu-heading{display:flex;min-height:48px;margin-bottom:6px;align-items:center;justify-content:space-between;border-bottom:1px solid #dce8df;color:#153d28}.mobile-menu-heading strong{font-size:18px}.mobile-menu-close{display:grid;width:38px;height:38px;padding:0;place-items:center;border:0;border-radius:50%;background:#edf5f0;color:#174f31;font-size:27px;line-height:1;cursor:pointer}.site-header .main-nav a{display:flex;width:100%;min-height:43px;padding:9px 11px;flex:0 0 auto;align-items:center;border-radius:8px;color:#183d29;font-size:14px;font-weight:650;white-space:normal}.site-header .main-nav a::after{display:none}.site-header .main-nav a:hover,.site-header .main-nav a:focus-visible{background:#e9f5ed;color:#0f5e34;outline:0}.site-header .main-nav a.active,.site-header .main-nav a[aria-current="page"]{background:#197343;color:#fff}.site-header .main-nav .mobile-menu-utility{display:flex;margin-top:5px;border:1px solid #cbdacf}.site-header .main-nav .mobile-menu-utility+.mobile-menu-utility{margin-top:0}
}
@media(prefers-reduced-motion:reduce){.site-header .main-nav,.mobile-menu-toggle span{transition:none!important}}

/* Homepage hero slider: keep the shared stylesheet aligned with index.php. */
.hero-slider{position:relative;width:100%;max-width:1600px;height:auto;margin:0;padding:0;overflow:hidden}
.hero-slides{position:relative;width:100%;height:auto;display:grid;overflow:hidden}
.hero-slide{position:relative;inset:auto;grid-area:1 / 1;width:100%;height:auto;display:block;margin:0;padding:0;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .7s ease}
.hero-slide.active{display:block;opacity:1;pointer-events:auto;z-index:2}
.slider-arrow{z-index:20;width:46px;height:46px;left:auto;right:auto;background:#405189;box-shadow:0 4px 12px rgba(16,28,72,.28)}
.slider-prev{left:14px}.slider-next{right:14px}
@media(max-width:700px){.hero-slider{width:100%;margin:0}.slider-arrow{width:36px;height:36px;font-size:24px}.slider-prev{left:10px}.slider-next{right:10px}}

/* Permanent customer profiles and public account control */
.header-profile-menu{position:relative;display:flex;align-items:center}.header-profile-link{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.5);border-radius:50%;color:#fff}.header-profile-link svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8}.header-profile-dropdown{display:none;position:absolute;z-index:85;top:44px;right:0;min-width:190px;padding:10px;border:1px solid #d6e4da;border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(17,55,33,.18)}.header-profile-menu:hover .header-profile-dropdown,.header-profile-menu:focus-within .header-profile-dropdown{display:grid;gap:5px}.header-profile-dropdown strong{padding:6px 8px;color:#183d29}.header-profile-dropdown a{padding:8px;border-radius:7px;color:#174f31;text-decoration:none}.header-profile-dropdown a:hover{background:#e9f5ed}.customer-account-page{padding-block:45px 65px}.customer-account-card{width:min(100%,860px);margin:auto;padding:26px;border:1px solid #d6e3d9;border-radius:16px;background:#fff;box-shadow:0 12px 34px rgba(18,65,38,.08)}.customer-profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.customer-profile-form label{display:grid;gap:6px;font-weight:700}.customer-profile-form input{width:100%;min-height:42px;padding:9px 11px;border:1px solid #c8d8cc;border-radius:8px}.customer-profile-form .wide{grid-column:1/-1}.customer-profile-form button{min-height:43px;border:0;border-radius:9px;background:#147438;color:#fff;font-weight:800}.profile-source-note{padding:9px 12px;border-radius:8px;background:#ebf6ee;color:#174b2f}
@media(max-width:760px){.site-header .header-profile-menu{display:none}.customer-profile-form{grid-template-columns:1fr}.customer-profile-form .wide{grid-column:auto}}

/* Public UI refinements */
.product-grid-large{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.product-card-large{border-color:#d9dce5;box-shadow:0 5px 18px rgba(48,61,107,.13),0 1px 3px rgba(48,61,107,.14)}
.professional-footer{background:#53649b;color:#eef0f8}.professional-footer-column p{color:#eef0f8}.professional-footer-column a{color:#fff}
.customer-profile-form{align-items:start}.customer-profile-form input,.customer-profile-form select{height:42px;min-height:42px;box-sizing:border-box}
.public-announcement-bar{background:#1f6f8b;color:#fff}
@media(max-width:1000px){.product-grid-large{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.product-grid-large{grid-template-columns:1fr}}

/* Requested public contact layout and blue-only visual overrides */
.contact-layout{grid-template-columns:1fr;}
.contact-card{order:1;max-width:760px;margin-inline:auto;}
.contact-details-card{order:2;width:min(100%,760px);margin:24px auto 0;}
.public-announcement-bar{background:#000!important;color:#fff!important;}
.product-category-filter a:hover,.product-category-filter a:focus-visible,.product-category-filter a.active{background:#405189;border-color:#405189;}
.product-slider-arrow,.product-purchase-button,.product-card-buy{background:#405189!important;}
.product-card-price strong,.product-detail-price strong,.products-eyebrow,.product-detail-summary>small{color:#405189!important;}
.contact-details-eyebrow,.contact-detail-row span,.contact-detail-row a{color:#405189;}
.header-profile-dropdown a:hover{background:#eef0f8;}

/* Public pages: fixed 60px desktop gutters */
@media(min-width:761px){
  .wrap,
  .container{
    width:calc(100% - 120px);
    max-width:none;
    padding-left:0;
    padding-right:0;
  }
  .site-header .nav{
    width:calc(100% - 120px);
    max-width:none;
    padding-left:0;
    padding-right:0;
  }
}
.products-page .product-card-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
  flex-wrap:nowrap;
}
.products-page .product-card-actions .product-cart-form{
  min-width:0;
  margin:0;
}
.products-page .product-card-actions .product-card-cart,
.products-page .product-card-actions .product-card-buy{
  width:100%;
  min-width:0;
  min-height:42px;
  height:42px;
  box-sizing:border-box;
  padding:9px 10px!important;
  white-space:nowrap;
}
@media(min-width:1001px){
  .products-page .product-grid-large{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
  }
}
@media(max-width:1000px){
  .products-page .product-grid-large{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
  .products-page .product-grid-large{grid-template-columns:1fr;}
  .products-page .product-card-actions{grid-template-columns:1fr;}
}

/* Featured product slider stays within the product-card width */
.product-slider-item{
  position:relative;
  flex-basis:min(292px,calc((100% - 60px)/4));
  max-width:292px;
}
.product-slider-view{
  position:absolute;
  right:14px;
  bottom:14px;
  display:inline-flex;
  min-height:36px;
  align-items:center;
  justify-content:center;
  padding:7px 14px;
  border:1px solid #285c96;
  border-radius:8px;
  background:#3169a8;
  color:#fff;
  font-size:13px;
  font-weight:750;
  box-shadow:0 4px 12px rgba(20,42,77,.2);
}
.product-slider-item:hover .product-slider-view,
.product-slider-item:focus-visible .product-slider-view{background:#285c96;}
.product-discount-badge{position:absolute;z-index:2;top:12px;right:12px;display:grid;width:64px;height:64px;place-items:center;padding:8px;border-radius:50%;background:#8f1d2c;color:#fff;text-align:center;font-size:12px;font-weight:850;line-height:1.15;box-shadow:0 5px 12px rgba(79,12,22,.25)}
.purchase-again-strip{margin:12px 0 18px;padding:12px 0;background:#eef0f8;border-top:1px solid #d9dce5;border-bottom:1px solid #d9dce5}.purchase-again-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.purchase-again-heading h2{margin:0;color:#303d6b;font-size:18px}.purchase-again-heading span{color:#66728e;font-size:12px}.purchase-again-list{display:flex;gap:12px;overflow-x:auto;padding:2px 0 5px;scrollbar-width:thin}.purchase-again-item{display:flex;min-width:150px;max-width:180px;flex:0 0 150px;align-items:center;gap:8px;padding:7px;border:1px solid #d9dce5;border-radius:9px;background:#fff;color:#303d6b;box-shadow:0 3px 9px rgba(48,61,107,.08)}.purchase-again-image{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;overflow:hidden;border-radius:6px;background:#f7f8fc;color:#687491;font-size:10px}.purchase-again-image img{width:100%;height:100%;object-fit:contain}.purchase-again-name{display:-webkit-box;overflow:hidden;font-size:11px;font-weight:700;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:3}.purchase-again-item:hover{border-color:#405189;transform:translateY(-1px)}
@media(max-width:760px){
  .product-slider-item{flex-basis:min(86vw,292px);}
}

/* Customer account refinements */
.header-profile-link{border-color:#d8a900!important;background:#f6c744!important;color:#211b00!important}.password-toggle{display:flex!important;align-items:center;gap:8px;font-weight:650!important}.password-toggle input{width:auto!important;min-height:0!important}.customer-profile-form small{color:#52645a;font-size:12px;font-weight:500;line-height:1.45}

.public-announcement-bar{background:#303d6b;color:#fff;border-bottom:3px solid #f6c744;overflow:hidden}.public-announcement-track{min-height:38px;display:grid;place-items:center;position:relative}.public-announcement-item{display:none;align-items:center;justify-content:center;gap:10px;width:100%;padding:8px 16px;text-align:center;font-size:13px}.public-announcement-item.active{display:flex}.public-announcement-item strong{color:#f6c744}.public-announcement-item span{color:#fff}@media(max-width:600px){.public-announcement-item{flex-direction:column;gap:2px;font-size:12px}}
.product-coupon-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:3px 0 12px;padding:8px 11px;border:1px solid #c8d1ef;border-radius:7px;background:#eef0f8;color:#303d6b;font-size:12px}.product-coupon-banner strong{color:#303d6b}.product-coupon-banner span{font-weight:700;color:#405189;text-align:right}

/* BYRE brand header controls: equal touch targets and black language globe */
.site-header .header-cart-link,.site-header .header-profile-link,.site-header .header-language-button{display:grid!important;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;box-sizing:border-box;place-items:center;border-radius:50%}
.site-header .header-cart-link{position:relative;gap:0;border:1px solid #303d6b;background:#405189;color:#fff}
.site-header .header-cart-link svg,.site-header .header-profile-link svg{width:21px;height:21px}
.site-header .header-cart-link svg{stroke:#fff}
.site-header .header-profile-link{border:1px solid #303d6b!important;background:#405189!important;color:#fff!important}
.site-header .header-language-button{padding:0;border:1px solid #303d6b!important;background:#405189 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.5 3.8 5.5 3.8 9S14.5 18.5 12 21M12 3c-2.5 2.5-3.8 5.5-3.8 9S9.5 18.5 12 21'/%3E%3C/svg%3E") center/21px 21px no-repeat!important;color:#fff!important;font-size:0!important}
.site-header .header-cart-link>span{position:absolute;top:-7px;right:-6px}
.public-announcement-bar{background:#1f6f8b!important}
.public-announcement-bar{background:#000!important;color:#fff!important;border-bottom-color:#405189!important}
.public-announcement-bar .public-announcement-item strong{color:#fff!important}
.contact-layout{grid-template-columns:1fr!important}
.contact-card{order:1!important;max-width:760px;margin-inline:auto!important}
.contact-details-card{order:2!important;width:min(100%,760px);margin:24px auto 0!important}
.contact-details-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.7fr);gap:24px;align-items:start}
.contact-map-card{min-width:0;padding:18px;border:1px solid #c8d1ef;border-radius:12px;background:#eef0f8;color:#303d6b}
.contact-map-preview{display:grid;min-height:180px;place-items:center;padding:18px;border-radius:10px;background:#405189;color:#fff;text-align:center;font-weight:800}
.contact-map-embed{display:block;width:100%;height:220px;border:0;border-radius:10px}
.contact-map-note{margin:10px 0 0;color:#405189;font-size:12px;font-weight:700}
@media(max-width:760px){.contact-details-card{grid-template-columns:1fr}}
.site-header .main-nav a.active,.site-header .main-nav a[aria-current="page"]{background:#405189!important}
.product-category-filter a:hover,.product-category-filter a:focus-visible,.product-category-filter a.active,.product-slider-arrow,.product-card-buy,.product-purchase-button,.checkout-pay-button,.customer-profile-form button{background:#405189!important;border-color:#303d6b!important}

/* Final mobile homepage/header alignment */
@media(max-width:760px){.purchase-again-strip{margin-top:0!important;margin-bottom:12px!important;padding-top:4px!important}.site-header .brand{max-width:calc(100% - 94px)}.site-header .mobile-menu-toggle{order:3;margin-left:auto}.site-header .header-language-menu{display:none}.site-header .main-nav .header-language-menu{display:flex;order:initial;flex:0 0 auto;align-items:center}.site-header .main-nav .header-language-dropdown{position:fixed;top:72px;right:14px}.site-header .main-nav .mobile-menu-cart-utility{display:none!important}}
.products-eyebrow,.product-card-content small,.product-detail-summary>small,.product-card-price strong,.product-detail-price strong,.contact-details-eyebrow,.contact-detail-row span,.contact-detail-row a{color:#405189!important}
.product-thumbnail.active{border-color:#405189!important}
.home-categories a{color:#405189!important;border-color:#c8d1ef!important}

/* Desktop navigation: active item uses yellow text only. */
@media(min-width:761px){
  .site-header .main-nav a.active,
  .site-header .main-nav a[aria-current="page"]{background:transparent!important;color:#f2c94c!important}
  .site-header .main-nav a.active::after,
  .site-header .main-nav a[aria-current="page"]::after{display:none!important}
}
.home-support{background:#eef0f8!important}
.professional-footer{background:#53649b!important}
.product-card-media{position:relative}.wishlist-form{position:absolute;top:12px;left:12px;z-index:5}.wishlist-heart{width:38px;height:38px;border:1px solid #c8d1ef;border-radius:50%;background:#fff;color:#405189;font-size:22px;line-height:1;cursor:pointer;box-shadow:0 3px 10px rgba(48,61,107,.16)}.wishlist-heart.liked,.wishlist-heart:hover{background:#405189;color:#fff}
.checkout-summary h2{color:#1d294d}.checkout-summary p{display:flex;justify-content:space-between;gap:16px;padding:11px 0;margin:0;border-bottom:1px solid #e3e7f0}.checkout-summary p strong{color:#405189}.checkout-offer{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:10px 0 22px;padding:12px;border:1px solid #c8d1ef;border-radius:10px;background:#f4f6fc;color:#303d6b}.checkout-offer span{color:#405189;text-align:right}.checkout-offer b{grid-column:1/-1;color:#405189;font-size:12px}.checkout-grand-total{font-size:18px;border-bottom:0!important}.checkout-grand-total strong{color:#405189!important}
/* Fixed public header and softer announcement strip */
body:has(.site-header){padding-top:70px}
.site-header{position:fixed!important;top:0;left:0;right:0;z-index:80}
.public-announcement-bar{position:fixed;top:4px;left:0;right:0;z-index:81;background:#dbe7ff!important;color:#405189!important;border-bottom:2px solid #405189!important;box-shadow:0 2px 8px rgba(48,61,107,.12)}
.public-announcement-track{min-height:38px}
.public-announcement-item{padding-block:7px;color:#405189!important}
.public-announcement-item strong,.public-announcement-item span{color:#405189!important}
body:has(.public-announcement-bar){padding-top:116px}
body:has(.public-announcement-bar) .site-header{top:46px}
@media(max-width:760px){body:has(.site-header){padding-top:64px}body:has(.public-announcement-bar){padding-top:108px}body:has(.public-announcement-bar) .site-header{top:44px}.public-announcement-item{padding-inline:12px}}
