/* ═══════════════════════════════════════════════════════════════
   DeBourgh Lockers — Main Stylesheet
   ═══════════════════════════════════════════════════════════════ */

/* ─── Reset & Base ─────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root {
    --color-navy: #000000;
    --color-navy-dark: #000000;
    --color-navy-light: #1a1a1a;
    --color-primary: #000000;
    --color-primary-light: #1a1a1a;
    --color-accent: #1a6eb5;
    --color-accent-hover: #155a95;
    --color-orange: #e07b20;
    --color-orange-hover: #c96b16;
    --color-dark: #1a1a2e;
    --color-text: #333333;
    --color-text-light: #666666;
    --color-border: #dde2e8;
    --color-bg: #ffffff;
    --color-bg-alt: #f5f7fa;
    --color-bg-dark: #000000;

    --font-body: 'Poppins', Arial, 'Helvetica Neue', Helvetica, sans-serif;
    --font-heading: 'Poppins', Arial, 'Helvetica Neue', Helvetica, sans-serif;
    --font-size-base: 16px;
    --line-height: 1.65;

    --container-max: 1200px;
    --container-pad: 1.5rem;
    --section-pad: 4.5rem;
    --radius: 4px;
    --radius-lg: 6px;
    --shadow: 0 2px 8px rgba(0,0,0,0.08);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.12);
    --shadow-lg: 0 8px 32px rgba(0,0,0,0.15);
    --transition: 0.2s ease;
}

html{font-size:var(--font-size-base);scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--color-text);line-height:var(--line-height);background:var(--color-bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--color-accent);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--color-accent-hover)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-dark);line-height:1.2;font-weight:700}
h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}
p{margin-bottom:1rem}
p:last-child{margin-bottom:0}

/* ─── Utilities ────────────────────────────────────────────── */
.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}
.text-center{text-align:center}
.section-title{text-align:center;margin-bottom:0.75rem;font-size:2rem;color:var(--color-dark)}
.section-subtitle{text-align:center;color:var(--color-text-light);max-width:640px;margin:0 auto 2.5rem;font-size:1.05rem}

/* ─── Buttons ──────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:0.75rem 1.75rem;border-radius:var(--radius);font-weight:700;font-size:0.95rem;border:2px solid transparent;cursor:pointer;transition:all var(--transition);text-decoration:none;gap:0.5rem;line-height:1.4;letter-spacing:0.01em;text-transform:uppercase;font-size:0.85rem}
.btn--primary{background:var(--color-orange);color:#fff;border-color:var(--color-orange)}
.btn--primary:hover{background:var(--color-orange-hover);border-color:var(--color-orange-hover);color:#fff}
.btn--blue{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}
.btn--blue:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:#fff}
.btn--outline{background:transparent;color:#fff;border-color:rgba(255,255,255,0.6)}
.btn--outline:hover{background:rgba(255,255,255,0.1);border-color:#fff;color:#fff}
.btn--outline-dark{background:transparent;color:var(--color-navy);border-color:var(--color-navy)}
.btn--outline-dark:hover{background:var(--color-navy);color:#fff}
.btn--lg{padding:1rem 2.25rem;font-size:0.9rem}
.btn--sm{padding:0.5rem 1.25rem;font-size:0.8rem}

/* ─── Header ───────────────────────────────────────────────── */
.site-header{background:var(--color-navy);position:sticky;top:0;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,0.25)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:72px}

.site-header__logo{display:flex;align-items:center;gap:0.75rem;color:#fff;font-size:1.2rem;letter-spacing:0.01em;font-weight:700}
.site-header__logo:hover{color:#fff;opacity:0.9}
.site-header__logo svg rect:first-child{fill:#fff}
.site-header__brand{color:#fff;font-size:1.25rem;font-weight:700;letter-spacing:-0.01em}

/* Navigation */
.site-header__nav{display:flex;align-items:center;gap:0}
.nav-menu{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0}

/* Top-level nav items */
.nav-menu > .menu-item > a{
    display:block;padding:0.6rem 1.1rem;
    color:rgba(255,255,255,0.88);font-size:0.9rem;font-weight:600;
    letter-spacing:0.02em;text-transform:uppercase;
    transition:all var(--transition);white-space:nowrap;
    border-bottom:3px solid transparent;
}
.nav-menu > .menu-item > a:hover,
.nav-menu > .menu-item.current-menu-item > a,
.nav-menu > .menu-item.current-menu-ancestor > a{
    color:#fff;border-bottom-color:var(--color-orange);
}

/* Dropdown arrow on parent items */
.nav-menu > .menu-item-has-children > a::after{
    content:'';display:inline-block;width:0;height:0;
    border-left:4px solid transparent;border-right:4px solid transparent;
    border-top:5px solid rgba(255,255,255,0.7);
    margin-left:6px;vertical-align:middle;transition:transform var(--transition);
}
.nav-menu > .menu-item-has-children:hover > a::after{
    border-top-color:#fff;transform:rotate(180deg);
}

/* ─── Dropdown Menu ────────────────────────────────────────── */
.nav-menu .menu-item-has-children{position:relative}
.nav-menu .sub-menu{
    display:none;position:absolute;top:100%;left:0;
    background:#fff;min-width:220px;
    box-shadow:0 6px 24px rgba(0,0,0,0.18);
    border-radius:0 0 var(--radius-lg) var(--radius-lg);
    border-top:3px solid var(--color-orange);
    list-style:none;padding:0.5rem 0;z-index:500;
}
.nav-menu .menu-item-has-children:hover > .sub-menu,
.nav-menu .menu-item-has-children:focus-within > .sub-menu{display:block}
.nav-menu .sub-menu .menu-item{display:block}
.nav-menu .sub-menu .menu-item a{
    display:block;padding:0.65rem 1.25rem;
    color:var(--color-text);font-size:0.875rem;font-weight:500;
    text-transform:none;letter-spacing:0;border-bottom:none;
    transition:all var(--transition);white-space:nowrap;
}
.nav-menu .sub-menu .menu-item a:hover{
    background:var(--color-bg-alt);color:var(--color-accent);padding-left:1.5rem;
}
.nav-menu .sub-menu .menu-item:not(:last-child) a{border-bottom:1px solid var(--color-border)}

/* CTA button in nav */
.nav-cta{margin-left:1.25rem}
.nav-cta.btn--primary{background:var(--color-orange);border-color:var(--color-orange);text-transform:uppercase;letter-spacing:0.04em}
.nav-cta.btn--primary:hover{background:var(--color-orange-hover);border-color:var(--color-orange-hover)}

/* Mobile Toggle */
.site-header__toggle{display:none;background:none;border:none;cursor:pointer;padding:0.5rem;flex-direction:column;gap:5px}
.site-header__toggle span{display:block;width:26px;height:2px;background:#fff;transition:var(--transition)}

@media(max-width:900px){
    .site-header__toggle{display:flex}
    .site-header__nav{
        position:fixed;top:72px;left:0;right:0;bottom:0;
        background:var(--color-navy-dark);flex-direction:column;
        padding:1.5rem;transform:translateX(100%);
        transition:transform 0.3s ease;align-items:stretch;overflow-y:auto;
    }
    .site-header__nav.is-open{transform:translateX(0)}
    .nav-menu{flex-direction:column;align-items:stretch;gap:0}
    .nav-menu > .menu-item > a{
        padding:0.9rem 0;font-size:1rem;border-bottom:1px solid rgba(255,255,255,0.1);
        color:#fff;text-transform:uppercase;
    }
    .nav-menu > .menu-item > a::after{float:right}
    .nav-menu .sub-menu{
        position:static;display:none;background:rgba(0,0,0,0.2);
        box-shadow:none;border:none;border-radius:0;padding:0;
        border-top:none;
    }
    .nav-menu .menu-item-has-children:hover > .sub-menu{display:block}
    .nav-menu .sub-menu .menu-item a{
        padding:0.65rem 1.5rem;color:rgba(255,255,255,0.75);
        border-bottom:1px solid rgba(255,255,255,0.06);font-size:0.9rem;
    }
    .nav-menu .sub-menu .menu-item a:hover{background:rgba(255,255,255,0.05);padding-left:2rem;color:#fff}
    .nav-cta{margin-left:0;margin-top:1.25rem;text-align:center}
}

/* ─── Hero (Homepage) ──────────────────────────────────────── */
.hero{
    padding:7rem 0;position:relative;overflow:hidden;
    min-height:600px;display:flex;align-items:center;
}
.hero__parallax-bg{
    position:absolute;inset:-20% 0;
    will-change:transform;
}
.hero__slide{
    position:absolute;inset:0;
    background-size:cover;background-position:center;
    opacity:1;transition:opacity 1s ease;
}
.hero__slide--hidden{opacity:0;}
.hero::before{
    content:'';position:absolute;inset:0;z-index:1;
    background:linear-gradient(135deg,rgba(0,0,0,0.75) 0%,rgba(0,0,0,0.5) 60%,rgba(0,0,0,0.65) 100%);
}
.hero__inner{display:grid;grid-template-columns:1fr;gap:3.5rem;align-items:center;position:relative;z-index:2;width:100%;max-width:800px}
.hero__title{font-size:3.25rem;line-height:1.05;margin-bottom:1.25rem;color:#fff;letter-spacing:-0.02em}
.hero__title span{color:var(--color-orange)}
.hero__subtitle{font-size:1.1rem;color:rgba(255,255,255,0.78);margin-bottom:2rem;max-width:520px;line-height:1.7}
.hero__buttons{display:flex;gap:1rem;flex-wrap:wrap}
.hero__image{display:none !important}
.hero__img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%}
.hero__placeholder{
    border-radius:var(--radius-lg);overflow:hidden;
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.12);
    width:100%;aspect-ratio:4/3;
    display:flex;align-items:center;justify-content:center;
}
.hero__placeholder svg{opacity:0.5}

.hero__stats{display:flex;gap:2.5rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,0.12)}
.hero__stat-num{display:block;font-size:2rem;font-weight:700;color:#fff;line-height:1}
.hero__stat-label{font-size:0.82rem;color:rgba(255,255,255,0.6);text-transform:uppercase;letter-spacing:0.06em;margin-top:0.25rem}

@media(max-width:900px){
    .hero__inner{grid-template-columns:1fr;text-align:center}
    .hero__title{font-size:2.5rem}
    .hero__subtitle{margin-left:auto;margin-right:auto}
    .hero__buttons{justify-content:center}
    .hero__image{display:none !important}
    .hero__stats{justify-content:center}
}
@media(max-width:480px){
    .hero__title{font-size:2rem}
    .hero__stats{gap:1.5rem}
    .hero__stat-num{font-size:1.5rem}
}

/* ─── Category Section ─────────────────────────────────────── */
.home-categories{padding:var(--section-pad) 0;background:var(--color-bg-alt)}
.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem}
.category-card{
    display:flex;flex-direction:column;align-items:stretch;text-align:center;
    background:#fff;border:2px solid var(--color-border);border-radius:var(--radius-lg);
    overflow:hidden;transition:all var(--transition);color:var(--color-text);
    text-decoration:none;
}
.category-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-3px);color:var(--color-text)}
.category-card__image{
    width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--color-bg-alt);flex-shrink:0;
}
.category-card__img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform 0.45s ease;
}
.category-card:hover .category-card__img{transform:scale(1.06)}
.category-card__body{
    display:flex;flex-direction:column;align-items:center;padding:1.25rem 1rem 1.1rem;flex:1;
}
.category-card__title{font-size:1rem;font-weight:700;margin-bottom:0.4rem;color:var(--color-dark)}
.category-card__desc{font-size:0.82rem;color:var(--color-text-light);margin-bottom:0.75rem;flex:1}
.category-card__link{font-size:0.82rem;color:var(--color-accent);font-weight:700;text-transform:uppercase;letter-spacing:0.04em}

/* ─── Locker Grid ──────────────────────────────────────────── */
.locker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}
.locker-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition);display:flex;flex-direction:column}
.locker-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-accent);transform:translateY(-3px)}
.locker-card__link{display:flex;flex-direction:column;flex:1;color:var(--color-text);text-decoration:none}
.locker-card__image{
    background:linear-gradient(135deg, #e8eef5 0%, #d0dce8 100%);
    aspect-ratio:4/3;overflow:hidden;position:relative;flex-shrink:0;
}
.locker-card__img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}
.locker-card:hover .locker-card__img{transform:scale(1.03)}
.locker-card__placeholder{
    width:100%;height:100%;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg, #e4ecf5 0%, #cdd9e8 100%);
}
.locker-card__placeholder-icon{opacity:0.25}
.locker-card__body{padding:1.25rem;display:flex;flex-direction:column;flex:1}
.locker-card__title{font-size:1.05rem;font-weight:700;margin-bottom:0.5rem;color:var(--color-dark)}
.locker-card__excerpt{
    font-size:0.875rem;color:var(--color-text-light);margin-bottom:0.75rem;
    flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.locker-card__tags{display:flex;gap:0.4rem;margin-bottom:0.75rem;flex-wrap:wrap}
.locker-card__tag{
    font-size:0.72rem;padding:0.2rem 0.6rem;
    background:rgba(26,110,181,0.08);color:var(--color-accent);
    border-radius:20px;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;
}
.locker-card__cta{font-size:0.82rem;font-weight:700;color:var(--color-accent);text-transform:uppercase;letter-spacing:0.04em;margin-top:auto}

/* ─── Featured Section ─────────────────────────────────────── */
.home-featured{padding:var(--section-pad) 0}
.home-featured .section-title{margin-bottom:2rem}

/* ─── Why Grid ─────────────────────────────────────────────── */
.home-why{padding:var(--section-pad) 0;background:var(--color-navy);position:relative}
.home-why .section-title{color:#fff}
.home-why .section-subtitle{color:rgba(255,255,255,0.65)}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
.why-card{
    background:rgba(255,255,255,0.05);padding:2rem;
    border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,0.1);
    transition:all var(--transition);
}
.why-card:hover{background:rgba(255,255,255,0.09);border-color:rgba(255,255,255,0.2)}
.why-card__icon{
    width:52px;height:52px;background:var(--color-orange);
    border-radius:var(--radius);display:flex;align-items:center;justify-content:center;
    margin-bottom:1.25rem;
}
.why-card__title{font-size:1.1rem;margin-bottom:0.75rem;color:#fff}
.why-card__text{font-size:0.9rem;color:rgba(255,255,255,0.65);line-height:1.65}

/* ─── Industries Strip ─────────────────────────────────────── */
.home-industries{padding:var(--section-pad) 0;background:var(--color-bg-alt)}
.industries-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-top:2.5rem}
.industry-tile{
    background:#fff;text-align:center;overflow:hidden;
    border:1px solid var(--color-border);border-radius:var(--radius-lg);
    transition:all var(--transition);color:var(--color-dark);text-decoration:none;
    display:flex;flex-direction:column;
}
.industry-tile:hover{border-color:var(--color-orange);box-shadow:var(--shadow);transform:translateY(-2px);color:var(--color-dark)}
.industry-tile__image{width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--color-bg-alt);}
.industry-tile__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s ease;}
.industry-tile:hover .industry-tile__img{transform:scale(1.07);}
.industry-tile__name{font-size:0.85rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;padding:.75rem .5rem;}

/* ─── Locker Hero (Single) ─────────────────────────────────── */
.locker-hero{background:linear-gradient(135deg, var(--color-navy) 0%, var(--color-navy-dark) 100%);padding:3.5rem 0}
.locker-hero__inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.locker-hero__title{font-size:2.5rem;margin-bottom:0.5rem;letter-spacing:-0.02em;color:#fff}
.locker-hero__subtitle{font-size:1.05rem;color:var(--color-orange);font-weight:700;margin-bottom:1rem;text-transform:uppercase;letter-spacing:0.04em}
.locker-hero__desc{font-size:1rem;color:rgba(255,255,255,0.75);margin-bottom:1.25rem;max-width:520px;line-height:1.7}
.locker-hero__meta{display:flex;gap:0.5rem;margin-bottom:1.5rem;flex-wrap:wrap}
.locker-hero__tag{padding:0.3rem 0.8rem;background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.85);border-radius:20px;font-size:0.8rem;font-weight:600;border:1px solid rgba(255,255,255,0.15)}
.locker-hero__actions{display:flex;gap:1rem;flex-wrap:wrap}
.locker-hero__image{display:flex;justify-content:center}
.locker-hero__img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;aspect-ratio:4/3;object-fit:cover}
.locker-hero__placeholder{
    border-radius:var(--radius-lg);overflow:hidden;
    background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);
    width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;
}

@media(max-width:768px){
    .locker-hero__inner{grid-template-columns:1fr}
    .locker-hero__title{font-size:2rem}
    .locker-hero__image{order:-1}
}

/* ─── Overview ─────────────────────────────────────────────── */
.locker-overview{padding:var(--section-pad) 0}
.locker-overview__title{margin-bottom:1.5rem;font-size:1.75rem}
.locker-overview__content{max-width:800px;font-size:1rem;line-height:1.8;color:var(--color-text)}
.locker-overview__content p{margin-bottom:1rem}

/* ─── Features ─────────────────────────────────────────────── */
.locker-features-section{padding:var(--section-pad) 0;background:var(--color-bg-alt)}
.features-section__title{margin-bottom:1.5rem;font-size:1.75rem}
.features-section__list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0.75rem}
.features-section__item{
    display:flex;align-items:flex-start;gap:0.75rem;
    padding:0.875rem 1rem;background:#fff;
    border-radius:var(--radius);border:1px solid var(--color-border);
    border-left:3px solid var(--color-orange);font-size:0.925rem;
}
.features-section__icon{flex-shrink:0;color:var(--color-orange);margin-top:1px}

/* ─── Specs Table ──────────────────────────────────────────── */
.locker-specs-section{padding:var(--section-pad) 0}
.specs-table__title{margin-bottom:1.5rem;font-size:1.75rem}
.specs-table__grid{width:100%;border-collapse:collapse;max-width:700px}
.specs-table__grid th{text-align:left;padding:0.85rem 1rem;background:var(--color-navy);color:#fff;font-weight:700;font-size:0.875rem;text-transform:uppercase;letter-spacing:0.04em}
.specs-table__grid td{padding:0.75rem 1rem;border-bottom:1px solid var(--color-border);font-size:0.925rem}
.specs-table__grid tr:nth-child(even) td{background:var(--color-bg-alt)}
.specs-table__label{font-weight:700;color:var(--color-dark);width:40%}

/* ─── Use Cases ────────────────────────────────────────────── */
.locker-use-cases-section{padding:var(--section-pad) 0;background:var(--color-bg-alt)}
.use-cases__title{margin-bottom:1.5rem;font-size:1.75rem}
.use-cases__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}
.use-cases__card{
    background:#fff;padding:1.75rem;
    border-radius:var(--radius-lg);border:1px solid var(--color-border);
    border-top:4px solid var(--color-orange);
}
.use-cases__card-title{font-size:1.05rem;margin-bottom:0.5rem;color:var(--color-navy);font-weight:700}
.use-cases__card-desc{font-size:0.875rem;color:var(--color-text-light);line-height:1.65}

/* ─── SEO Content ──────────────────────────────────────────── */
.locker-seo-content{padding:var(--section-pad) 0;border-top:1px solid var(--color-border)}
.locker-seo-content__body{max-width:800px;font-size:1rem;line-height:1.8}
.locker-seo-content__body h2{font-size:1.5rem;margin:2rem 0 1rem;color:var(--color-navy)}
.locker-seo-content__body h3{font-size:1.25rem;margin:1.5rem 0 0.75rem}
.locker-seo-content__body p{margin-bottom:1rem;color:var(--color-text)}
.locker-seo-content__body ul{margin:0 0 1rem 1.5rem}
.locker-seo-content__body li{margin-bottom:0.5rem}

/* ─── Global CTA ───────────────────────────────────────────── */
.global-cta{background:var(--color-orange);padding:var(--section-pad) 0;text-align:center;position:relative;overflow:hidden}
.global-cta::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(135deg, rgba(0,0,0,0.1) 0%, transparent 60%);
}
.global-cta__heading{color:#fff;font-size:2.25rem;margin-bottom:0.75rem;position:relative}
.global-cta__text{color:rgba(255,255,255,0.88);font-size:1.05rem;margin-bottom:2rem;max-width:560px;margin-left:auto;margin-right:auto;position:relative}
.global-cta__buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;position:relative}
.global-cta .btn--primary{background:#fff;color:var(--color-orange);border-color:#fff}
.global-cta .btn--primary:hover{background:rgba(255,255,255,0.9);color:var(--color-orange-hover)}
.global-cta .btn--outline{border-color:rgba(255,255,255,0.6);color:#fff}
.global-cta .btn--outline:hover{background:rgba(255,255,255,0.12);border-color:#fff}

/* ─── Related Lockers ──────────────────────────────────────── */
.locker-related-section{padding:var(--section-pad) 0}
.related-lockers__title{margin-bottom:1.5rem}
.related-lockers__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}

/* ─── Archive ──────────────────────────────────────────────── */
.archive-hero{padding:3.5rem 0 2.5rem;background:var(--color-navy)}
.archive-hero__title{font-size:2.25rem;margin-bottom:0.75rem;color:#fff}
.archive-hero__desc{font-size:1rem;color:rgba(255,255,255,0.7);max-width:640px}
.archive-filters{padding:1.5rem 0;border-bottom:1px solid var(--color-border);background:#fff}
.filter-bar{display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap}
.filter-bar__label{font-weight:700;font-size:0.85rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:0.05em}
.filter-bar__item{
    padding:0.4rem 1rem;border-radius:20px;font-size:0.85rem;font-weight:600;
    color:var(--color-text);border:1px solid var(--color-border);transition:all var(--transition);
}
.filter-bar__item:hover,.filter-bar__item.is-active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}
.archive-products{padding:var(--section-pad) 0}
.archive-empty{text-align:center;padding:4rem 0;color:var(--color-text-light)}

/* ─── Breadcrumbs ──────────────────────────────────────────── */
.breadcrumbs{padding:0.875rem 0;font-size:0.85rem;color:var(--color-text-light);background:var(--color-bg-alt);border-bottom:1px solid var(--color-border)}
.breadcrumbs a{color:var(--color-accent)}
.breadcrumbs__sep{margin:0 0.4rem;opacity:0.4}
.breadcrumbs__current{color:var(--color-text)}

/* ─── Page Content ─────────────────────────────────────────── */
.page-content{padding:var(--section-pad) 0}
.page-content__title{margin-bottom:2rem}
.page-content__body{max-width:800px;line-height:1.8}
.page-content__body p{margin-bottom:1rem}

/* ─── 404 ──────────────────────────────────────────────────── */
.error-page{text-align:center;padding:6rem 0}
.error-page__title{font-size:6rem;color:var(--color-border);font-weight:800;margin-bottom:1rem}
.error-page__text{font-size:1.15rem;color:var(--color-text-light);margin-bottom:2rem}
.error-page__actions{display:flex;gap:1rem;justify-content:center}

/* ─── Footer ───────────────────────────────────────────────── */
.site-footer{background:var(--color-bg-dark);color:rgba(255,255,255,0.65);padding:3.5rem 0 0}
.site-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem}
.site-footer__logo{display:block;color:#fff;font-size:1.15rem;margin-bottom:1rem;font-weight:700}
.site-footer__tagline{font-size:0.875rem;line-height:1.65;margin-bottom:1rem}
.site-footer__address{font-style:normal;font-size:0.85rem;line-height:1.7}
.site-footer__heading{color:#fff;font-size:0.8rem;font-weight:700;margin-bottom:1rem;text-transform:uppercase;letter-spacing:0.08em}
.footer-links{list-style:none}
.footer-links li{margin-bottom:0.5rem}
.footer-links a{color:rgba(255,255,255,0.55);font-size:0.875rem;transition:color var(--transition)}
.footer-links a:hover{color:#fff}
.site-footer__bottom{
    margin-top:2.5rem;padding:1.25rem 0;
    border-top:1px solid rgba(255,255,255,0.08);
    display:flex;align-items:center;justify-content:space-between;
    font-size:0.82rem;flex-wrap:wrap;gap:0.5rem;
}
.site-footer__bottom a{color:rgba(255,255,255,0.5)}
.site-footer__bottom a:hover{color:#fff}

@media(max-width:768px){.site-footer__grid{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:480px){.site-footer__grid{grid-template-columns:1fr}}

/* ─── Pagination ───────────────────────────────────────────── */
.nav-links{display:flex;justify-content:center;gap:0.5rem;padding:2rem 0}
.nav-links .page-numbers{padding:0.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:0.9rem;color:var(--color-text)}
.nav-links .page-numbers.current,.nav-links .page-numbers:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}

/* ─── Responsive grid helpers ──────────────────────────────── */
@media(max-width:768px){
    .locker-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
    .category-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
    :root{--section-pad:3rem}
    h1{font-size:2rem}h2{font-size:1.75rem}
}
@media(max-width:480px){
    .locker-grid{grid-template-columns:1fr}
    .category-grid{grid-template-columns:1fr 1fr}
    :root{--section-pad:2.5rem}
}

/* ─── Print ────────────────────────────────────────────────── */
@media print{
    .site-header,.site-footer,.global-cta,.locker-hero__actions,.archive-filters,.breadcrumbs{display:none}
    body{color:#000;font-size:12pt}
    .container{max-width:100%}
}

/* ═══════════════════════════════════════════════════════════════
   Contact / Request a Quote Page
   ═══════════════════════════════════════════════════════════════ */

/* ─── Contact Hero ──────────────────────────────────────────── */
.contact-hero {
    background: #000;
    padding: 4rem 0 3.5rem;
    text-align: center;
}
.contact-hero__label {
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-orange);
    background: rgba(224,123,32,0.12);
    border: 1px solid rgba(224,123,32,0.3);
    border-radius: 50px;
    padding: 0.3rem 1rem;
    margin-bottom: 1rem;
}
.contact-hero__title {
    font-size: 2.75rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 1rem;
    line-height: 1.15;
}
.contact-hero__subtitle {
    font-size: 1.05rem;
    color: rgba(255,255,255,0.72);
    max-width: 600px;
    margin: 0 auto;
}
@media(max-width:768px){ .contact-hero__title{font-size:2rem} }

/* ─── Contact Info Strip ────────────────────────────────────── */
.contact-info-strip {
    background: var(--color-bg-alt);
    border-bottom: 1px solid var(--color-border);
    padding: 2rem 0;
}
.contact-info-strip__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}
.contact-info-strip__item {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
}
.contact-info-strip__icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow);
}
.contact-info-strip__label {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-light);
    margin-bottom: 0.2rem;
}
.contact-info-strip__value {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--color-text);
    line-height: 1.4;
}
.contact-info-strip__value a {
    color: var(--color-text);
}
.contact-info-strip__value a:hover {
    color: var(--color-orange);
}
@media(max-width:900px){ .contact-info-strip__grid{grid-template-columns:1fr 1fr} }
@media(max-width:480px){ .contact-info-strip__grid{grid-template-columns:1fr} }

/* ─── Contact Main ──────────────────────────────────────────── */
.contact-main {
    padding: var(--section-pad) 0;
}
.contact-main__grid {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 3rem;
    align-items: start;
}
@media(max-width:960px){ .contact-main__grid{grid-template-columns:1fr} }

/* ─── Form Wrap ─────────────────────────────────────────────── */
.contact-form-wrap__title {
    font-size: 1.75rem;
    font-weight: 800;
    color: #000;
    margin-bottom: 0.5rem;
}
.contact-form-wrap__sub {
    color: var(--color-text-light);
    margin-bottom: 2rem;
}

/* ─── Contact Form ──────────────────────────────────────────── */
.contact-form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.contact-form__row {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.contact-form__row--2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
}
@media(max-width:600px){ .contact-form__row--2{grid-template-columns:1fr} }

.contact-form__field {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.contact-form__label {
    font-size: 0.82rem;
    font-weight: 700;
    color: #000;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.contact-form__label .req {
    color: var(--color-orange);
    font-size: 1rem;
    line-height: 1;
}
.contact-form__input {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1.5px solid var(--color-border);
    border-radius: var(--radius);
    font-size: 0.95rem;
    font-family: var(--font-body);
    color: var(--color-text);
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    outline: none;
}
.contact-form__input:focus {
    border-color: var(--color-orange);
    box-shadow: 0 0 0 3px rgba(224,123,32,0.15);
}
.contact-form__select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    padding-right: 2.5rem;
    cursor: pointer;
}
.contact-form__textarea {
    resize: vertical;
    min-height: 150px;
    line-height: 1.6;
}
.contact-form__submit {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.25rem;
}
.contact-form__submit:hover svg path {
    stroke: #fff;
}

/* ─── Success / Error ───────────────────────────────────────── */
.contact-success {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: #eafaf1;
    border: 1px solid #27ae60;
    border-radius: var(--radius);
    padding: 1rem 1.25rem;
    color: #1a7a42;
    font-size: 0.95rem;
    margin-bottom: 1.5rem;
}
.contact-errors {
    background: #fdf0ee;
    border: 1px solid #e74c3c;
    border-radius: var(--radius);
    padding: 1rem 1.25rem;
    color: #c0392b;
    font-size: 0.9rem;
    margin-bottom: 1.5rem;
}
.contact-errors p { margin-bottom: 0.25rem; }
.contact-errors p:last-child { margin-bottom: 0; }

/* ─── Contact Sidebar ───────────────────────────────────────── */
.contact-sidebar {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    position: sticky;
    top: 88px;
}
.contact-sidebar__card {
    background: var(--color-bg-alt);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
}
.contact-sidebar__card--dark {
    background: #000;
    border-color: #000;
    color: #fff;
}
.contact-sidebar__title {
    font-size: 1rem;
    font-weight: 800;
    margin-bottom: 1rem;
    color: inherit;
}
.contact-sidebar__card--dark .contact-sidebar__title {
    color: #fff;
}
.contact-sidebar__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.contact-sidebar__list li {
    font-size: 0.9rem;
    color: var(--color-text);
    padding-left: 1.3rem;
    position: relative;
}
.contact-sidebar__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.45em;
    width: 7px;
    height: 7px;
    background: var(--color-orange);
    border-radius: 50%;
}
.contact-sidebar__text {
    font-size: 0.9rem;
    color: rgba(255,255,255,0.8);
    line-height: 1.6;
    margin: 0;
}
.contact-sidebar__text strong { color: #fff; }
.contact-sidebar__text a { color: var(--color-orange); }
.contact-sidebar__text a:hover { color: #f59436; }

/* ═══════════════════════════════════════════════════════════════
   About Page
   ═══════════════════════════════════════════════════════════════ */

/* ─── About Hero ────────────────────────────────────────────── */
.about-hero {
    position: relative;
    overflow: hidden;
    padding: 8rem 0 6rem;
    min-height: 560px;
    display: flex;
    align-items: center;
}
.about-hero__bg {
    position: absolute;
    inset: -20% 0;
    background-image: url('/wp-content/uploads/db-11-1536x1152.jpg');
    background-size: cover;
    background-position: center;
    will-change: transform;
}
.about-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(135deg, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.55) 70%);
}
.about-hero__inner {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}
.about-hero__label {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-orange);
    background: rgba(224,123,32,0.15);
    border: 1px solid rgba(224,123,32,0.35);
    border-radius: 50px;
    padding: 0.3rem 1rem;
    margin-bottom: 1.25rem;
}
.about-hero__title {
    font-size: 3rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 1.25rem;
}
.about-hero__title span { color: var(--color-orange); }
.about-hero__sub {
    font-size: 1.05rem;
    color: rgba(255,255,255,0.75);
    line-height: 1.7;
    margin-bottom: 2rem;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}
.about-hero__actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}
@media(max-width:600px){ .about-hero__title{font-size:2.1rem} .about-hero{padding:5rem 0 4rem} }

/* ─── Stats Strip ───────────────────────────────────────────── */
.about-stats {
    background: var(--color-bg-alt);
    border-bottom: 1px solid var(--color-border);
    padding: 2.5rem 0;
}
.about-stats__grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1rem;
    text-align: center;
}
.about-stats__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    padding: 1rem;
    border-right: 1px solid var(--color-border);
}
.about-stats__item:last-child { border-right: none; }
.about-stats__num {
    font-size: 2.25rem;
    font-weight: 800;
    color: var(--color-orange);
    line-height: 1;
}
.about-stats__label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--color-text-light);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
@media(max-width:700px){ .about-stats__grid{grid-template-columns:1fr 1fr} .about-stats__item{border-right:none} }
@media(max-width:420px){ .about-stats__grid{grid-template-columns:1fr} }

/* ─── Story Section ─────────────────────────────────────────── */
.about-story {
    padding: var(--section-pad) 0;
}
.about-story__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}
.about-story__image img {
    width: 100%;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    object-fit: cover;
    aspect-ratio: 4/3;
}
.about-story__label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-orange);
    margin-bottom: 0.75rem;
}
.about-story__title {
    font-size: 1.9rem;
    font-weight: 800;
    margin-bottom: 1.25rem;
    color: #000;
}
.about-story__content p { color: var(--color-text); margin-bottom: 1rem; }
.about-story__content .btn { margin-top: 0.5rem; }
@media(max-width:860px){ .about-story__grid{grid-template-columns:1fr;gap:2rem} }

/* ─── Values ────────────────────────────────────────────────── */
.about-values {
    background: var(--color-bg-alt);
    padding: var(--section-pad) 0;
}
.about-values__header {
    text-align: center;
    margin-bottom: 3rem;
}
.about-values__grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1.5rem;
}
.about-values__card {
    background: #fff;
    border-radius: var(--radius-lg);
    padding: 2rem 1.5rem;
    box-shadow: var(--shadow);
    border: 1px solid var(--color-border);
}
.about-values__icon {
    width: 52px;
    height: 52px;
    background: #000;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.1rem;
}
.about-values__card h3 {
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 0.6rem;
    color: #000;
}
.about-values__card p {
    font-size: 0.9rem;
    color: var(--color-text-light);
    line-height: 1.65;
    margin: 0;
}
@media(max-width:860px){ .about-values__grid{grid-template-columns:1fr 1fr} }
@media(max-width:540px){ .about-values__grid{grid-template-columns:1fr} }

/* ─── Industries ────────────────────────────────────────────── */
.about-industries {
    padding: var(--section-pad) 0;
    text-align: center;
}
.about-industries__grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1.25rem;
    margin-top: 2.5rem;
}
.about-industries__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 1.75rem 1rem;
    border: 1.5px solid var(--color-border);
    border-radius: var(--radius-lg);
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.about-industries__item:hover {
    border-color: var(--color-orange);
    box-shadow: var(--shadow-md);
    transform: translateY(-3px);
}
.about-industries__item span {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-text);
}
@media(max-width:860px){ .about-industries__grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:480px){ .about-industries__grid{grid-template-columns:repeat(2,1fr)} }

/* ─── Manufacturing CTA ─────────────────────────────────────── */
.about-mfg {
    position: relative;
    overflow: hidden;
    padding: 6rem 0;
    text-align: center;
}
.about-mfg__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.about-mfg__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.18;
}
.about-mfg::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: #000;
}
.about-mfg__bg { z-index: 2; }
.about-mfg::before { opacity: 0.82; }
.about-mfg__content {
    position: relative;
    z-index: 3;
    max-width: 700px;
    margin: 0 auto;
}
.about-mfg__content h2 {
    font-size: 2.25rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 1.25rem;
    line-height: 1.2;
}
.about-mfg__content p {
    font-size: 1rem;
    color: rgba(255,255,255,0.75);
    margin-bottom: 2rem;
    line-height: 1.7;
}
@media(max-width:600px){ .about-mfg__content h2{font-size:1.75rem} }
