:root{
    --mfsite-ink:var(--mf-bg-main);
    --mfsite-ink-2:var(--mf-bg-section);
    --mfsite-ink-3:var(--mf-bg-card);
    --mfsite-card:var(--mf-bg-card);
    --mfsite-line:var(--mf-border);
    --mfsite-line-2:#38463e;
    --mfsite-text:#eef3ef;
    --mfsite-muted:#96a39c;
    --mfsite-green:#b6f400;
    --mfsite-wrap:1240px;
    --mfsite-header-height:76px;
}

/* Hide the old theme chrome only when the replacement switch is enabled. */
body.mfsite-replace-theme-chrome > header:not(.mfsite-global-header),
body.mfsite-replace-theme-chrome > footer:not(.mfsite-global-footer),
body.mfsite-replace-theme-chrome #masthead,
body.mfsite-replace-theme-chrome #colophon,
body.mfsite-replace-theme-chrome .site-header:not(.mfsite-global-header),
body.mfsite-replace-theme-chrome .site-footer:not(.mfsite-global-footer),
body.mfsite-replace-theme-chrome .elementor-location-header,
body.mfsite-replace-theme-chrome .elementor-location-footer,
body.mfsite-replace-theme-chrome .wp-site-blocks > header.wp-block-template-part,
body.mfsite-replace-theme-chrome .wp-site-blocks > footer.wp-block-template-part,
body.mfsite-replace-theme-chrome #page > header:not(.mfsite-global-header),
body.mfsite-replace-theme-chrome #page > footer:not(.mfsite-global-footer){
    display:none!important;
}

/* Header */
.mfsite-global-header,
.mfsite-global-header *{
    box-sizing:border-box;
    font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
}

.mfsite-global-header{
    position:sticky;
    top:0;
    z-index:9990;
    width:100%;
    min-height:var(--mfsite-header-height);
    background:rgba(8,13,10,.97);
    color:#fff;
    border-bottom:1px solid rgba(255,255,255,.10);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.admin-bar .mfsite-global-header{
    top:32px;
}

.mfsite-header-shell{
    width:min(var(--mfsite-wrap),calc(100% - 40px));
    min-height:var(--mfsite-header-height);
    margin:auto;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:34px;
}

.mfsite-logo{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-width:max-content;
    color:#fff!important;
    text-decoration:none!important;
}

.mfsite-logo-mark{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:4px;
    background:var(--mfsite-green);
    color:var(--mf-bg-main);
    font-size:12px;
    font-weight:950;
    letter-spacing:-.03em;
}

.mfsite-logo-word{
    color:#fff;
    font-size:16px;
    font-weight:950;
    letter-spacing:.025em;
}

.mfsite-logo-media{
    display:flex;
    align-items:center;
    max-width:215px;
    max-height:42px;
}

.mfsite-logo-image{
    display:block;
    width:auto!important;
    max-width:215px!important;
    max-height:42px!important;
    height:auto!important;
    object-fit:contain;
}

.mfsite-primary-nav{
    justify-self:end;
}

.mfsite-menu,
.mfsite-menu ul{
    margin:0;
    padding:0;
    list-style:none;
}

.mfsite-menu{
    display:flex;
    align-items:center;
    gap:26px;
}

.mfsite-menu > li{
    position:relative;
}

.mfsite-menu > li > a{
    min-height:var(--mfsite-header-height);
    display:flex;
    align-items:center;
    gap:6px;
    position:relative;
    color:#d8dfdb!important;
    text-decoration:none!important;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}

.mfsite-menu > li > a::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:3px;
    background:var(--mfsite-green);
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .18s ease;
}

.mfsite-menu > li:hover > a,
.mfsite-menu > li:focus-within > a,
.mfsite-menu > li.is-current > a,
.mfsite-menu > li.current-menu-item > a,
.mfsite-menu > li.current-menu-ancestor > a{
    color:#fff!important;
}

.mfsite-menu > li:hover > a::after,
.mfsite-menu > li:focus-within > a::after,
.mfsite-menu > li.is-current > a::after,
.mfsite-menu > li.current-menu-item > a::after,
.mfsite-menu > li.current-menu-ancestor > a::after{
    transform:scaleX(1);
}

.mfsite-chevron{
    color:var(--mfsite-green);
    font-size:11px;
    transform:translateY(-1px);
}

.mfsite-header-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
}

.mfsite-header-cta{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:0 15px;
    border:1px solid var(--mfsite-green);
    border-radius:5px;
    background:var(--mfsite-green);
    color:var(--mf-bg-main)!important;
    text-decoration:none!important;
    font-size:12px;
    font-weight:950;
    white-space:nowrap;
}

.mfsite-header-cta:hover{
    filter:brightness(.95);
}

.mfsite-menu-toggle{
    width:44px;
    height:44px;
    display:none;
    place-items:center;
    align-content:center;
    gap:5px;
    padding:0;
    border:1px solid var(--mfsite-line-2);
    border-radius:5px;
    background:var(--mf-bg-card);
    cursor:pointer;
}

.mfsite-menu-toggle span{
    width:18px;
    height:2px;
    display:block;
    background:#fff;
    transition:.2s ease;
}

/* Automatic product mega menu */
.mfsite-submenu-toggle{
    display:none;
}

.mfsite-mega{
    position:absolute;
    top:calc(100% - 1px);
    right:-160px;
    width:min(760px,calc(100vw - 40px));
    padding:22px;
    border:1px solid var(--mfsite-line-2);
    background:var(--mf-bg-section);
    box-shadow:0 24px 70px rgba(0,0,0,.35);
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    transition:.18s ease;
}

.mfsite-has-submenu:hover .mfsite-mega,
.mfsite-has-submenu:focus-within .mfsite-mega{
    opacity:1;
    visibility:visible;
    transform:none;
}

.mfsite-mega-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding-bottom:14px;
    margin-bottom:12px;
    border-bottom:1px solid var(--mfsite-line);
}

.mfsite-mega-head > span{
    color:#fff;
    font-size:11px;
    font-weight:950;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.mfsite-mega-head > a{
    color:var(--mfsite-green)!important;
    font-size:11px;
    font-weight:900;
    text-decoration:none!important;
}

.mfsite-mega-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    border-top:1px solid var(--mfsite-line);
    border-left:1px solid var(--mfsite-line);
}

.mfsite-mega-grid > a{
    min-height:70px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    padding:12px 14px;
    border-right:1px solid var(--mfsite-line);
    border-bottom:1px solid var(--mfsite-line);
    background:var(--mf-bg-card);
    text-decoration:none!important;
    transition:.16s ease;
}

.mfsite-mega-grid > a:hover{
    background:#1a2229;
    box-shadow:inset 3px 0 var(--mfsite-green);
}

.mfsite-mega-grid strong{
    color:#edf2ee;
    font-size:12px;
    line-height:1.3;
}

.mfsite-mega-grid span{
    color:#7f8c85;
    font-size:10px;
}

/* Custom WP menu dropdowns */
.mfsite-menu-custom .sub-menu{
    position:absolute;
    top:calc(100% - 1px);
    left:0;
    min-width:240px;
    padding:8px;
    border:1px solid var(--mfsite-line-2);
    background:var(--mf-bg-section);
    box-shadow:0 18px 55px rgba(0,0,0,.30);
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    transition:.18s ease;
}

.mfsite-menu-custom li:hover > .sub-menu,
.mfsite-menu-custom li:focus-within > .sub-menu{
    opacity:1;
    visibility:visible;
    transform:none;
}

.mfsite-menu-custom .sub-menu a{
    display:block;
    padding:11px 12px;
    color:#cdd6d1!important;
    text-decoration:none!important;
    font-size:12px;
    font-weight:800;
}

.mfsite-menu-custom .sub-menu a:hover{
    background:var(--mf-bg-card);
    color:#fff!important;
}

.mfsite-mobile-only{
    display:none;
}

/* Footer */
.mfsite-global-footer,
.mfsite-global-footer *{
    box-sizing:border-box;
    font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
}

.mfsite-global-footer{
    position:relative;
    z-index:5;
    background:var(--mf-bg-main);
    color:#fff;
    border-top:1px solid var(--mf-border);
}

.mfsite-footer-shell{
    width:min(var(--mfsite-wrap),calc(100% - 40px));
    margin:auto;
}

.mfsite-footer-main{
    padding:68px 0 56px;
}

.mfsite-footer-grid{
    display:grid;
    grid-template-columns:minmax(260px,1.1fr) minmax(380px,1.35fr) minmax(230px,.75fr);
    gap:68px;
    align-items:start;
}

.mfsite-footer-logo{
    margin-bottom:22px;
}

.mfsite-footer-brand > p{
    max-width:390px;
    margin:0 0 28px;
    color:#97a49d;
    font-size:13px;
    line-height:1.7;
}

.mfsite-footer-proof{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.mfsite-footer-proof span{
    display:inline-flex;
    align-items:center;
    min-height:29px;
    padding:0 9px;
    border:1px solid var(--mf-border);
    border-radius:999px;
    background:var(--mf-bg-section);
    color:#91a097;
    font-size:9px;
    font-weight:850;
}

.mfsite-footer-kicker{
    margin-bottom:18px;
    color:var(--mfsite-green);
    font-size:10px;
    font-weight:950;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.mfsite-footer-column ul{
    margin:0;
    padding:0;
    list-style:none;
}

.mfsite-footer-products ul{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:26px;
}

.mfsite-footer-column li{
    border-top:1px solid var(--mf-border);
}

.mfsite-footer-column li:last-child{
    border-bottom:1px solid var(--mf-border);
}

.mfsite-footer-products li:nth-last-child(2){
    border-bottom:1px solid var(--mf-border);
}

.mfsite-footer-column a{
    display:block;
    padding:10px 0;
    color:#a8b4ae!important;
    text-decoration:none!important;
    font-size:11px;
    line-height:1.35;
}

.mfsite-footer-column a:hover{
    color:#fff!important;
}

.mfsite-footer-cta{
    min-height:44px;
    margin-top:22px;
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    padding:0 13px!important;
    border:1px solid #516619;
    background:var(--mf-bg-card);
    color:#fff!important;
    font-size:12px!important;
    font-weight:950!important;
}

.mfsite-footer-cta span{
    color:var(--mfsite-green);
}

.mfsite-footer-bottom{
    border-top:1px solid #29323a;
    background:#07090b;
}

.mfsite-footer-bottom .mfsite-footer-shell{
    min-height:64px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    color:#66736c;
    font-size:10px;
}

/* Keep Product Catalog/Product Detail clear of inherited theme typography. */
.mfsite-global-header a,
.mfsite-global-footer a{
    box-shadow:none!important;
}

/* Tablet */
@media(max-width:1024px){
    .mfsite-header-shell{
        gap:20px;
    }

    .mfsite-menu{
        gap:17px;
    }

    .mfsite-menu > li > a{
        font-size:11px;
    }

    .mfsite-footer-grid{
        grid-template-columns:1fr 1fr;
    }

    .mfsite-footer-brand{
        grid-column:1 / -1;
    }
}

/* Mobile navigation */
@media(max-width:820px){
    :root{
        --mfsite-header-height:68px;
    }

    .admin-bar .mfsite-global-header{
        top:46px;
    }

    .mfsite-header-shell{
        width:calc(100% - 28px);
        grid-template-columns:auto 1fr auto;
    }

    .mfsite-logo-media{
        max-width:180px;
    }

    .mfsite-logo-image{
        max-width:180px!important;
        max-height:38px!important;
    }

    .mfsite-primary-nav{
        position:absolute;
        top:100%;
        left:0;
        right:0;
        max-height:calc(100vh - var(--mfsite-header-height));
        overflow:auto;
        padding:0 14px 18px;
        border-top:1px solid var(--mfsite-line);
        background:var(--mf-bg-main);
        opacity:0;
        visibility:hidden;
        transform:translateY(-8px);
        transition:.18s ease;
    }

    .mfsite-global-header.is-open .mfsite-primary-nav{
        opacity:1;
        visibility:visible;
        transform:none;
    }

    .mfsite-menu{
        display:block;
    }

    .mfsite-menu > li{
        border-bottom:1px solid var(--mf-border);
    }

    .mfsite-menu > li > a{
        min-height:54px;
        width:calc(100% - 46px);
        font-size:13px;
    }

    .mfsite-menu > li > a::after{
        display:none;
    }

    .mfsite-menu-toggle{
        display:grid;
    }

    .mfsite-header-cta{
        display:none;
    }

    .mfsite-mobile-only{
        display:block;
    }

    .mfsite-submenu-toggle{
        position:absolute;
        top:6px;
        right:0;
        width:42px;
        height:42px;
        display:block;
        border:1px solid var(--mf-border);
        border-radius:4px;
        background:var(--mf-bg-card);
    }

    .mfsite-submenu-toggle::before,
    .mfsite-submenu-toggle::after{
        content:"";
        position:absolute;
        top:50%;
        left:50%;
        width:12px;
        height:2px;
        background:#fff;
        transform:translate(-50%,-50%);
    }

    .mfsite-submenu-toggle::after{
        transform:translate(-50%,-50%) rotate(90deg);
        transition:.16s ease;
    }

    .mfsite-has-submenu.is-submenu-open .mfsite-submenu-toggle::after{
        transform:translate(-50%,-50%) rotate(0deg);
    }

    .mfsite-mega{
        position:static;
        width:100%;
        padding:0 0 14px;
        border:0;
        background:transparent;
        box-shadow:none;
        opacity:1;
        visibility:visible;
        transform:none;
        display:none;
    }

    .mfsite-has-submenu.is-submenu-open .mfsite-mega{
        display:block;
    }

    .mfsite-mega-head{
        padding:10px 0 12px;
    }

    .mfsite-mega-grid{
        grid-template-columns:1fr 1fr;
    }

    .mfsite-menu-custom .sub-menu{
        position:static;
        min-width:0;
        padding:0 0 12px 14px;
        border:0;
        border-left:1px solid #3a4651;
        background:transparent;
        box-shadow:none;
        opacity:1;
        visibility:visible;
        transform:none;
        display:block;
    }

    .mfsite-menu-custom .sub-menu a{
        padding:8px 10px;
    }
}

@media(max-width:700px){
    .mfsite-footer-shell{
        width:calc(100% - 28px);
    }

    .mfsite-footer-main{
        padding:54px 0 44px;
    }

    .mfsite-footer-grid{
        grid-template-columns:1fr;
        gap:42px;
    }

    .mfsite-footer-brand{
        grid-column:auto;
    }

    .mfsite-footer-products ul{
        grid-template-columns:1fr 1fr;
    }

    .mfsite-footer-bottom .mfsite-footer-shell{
        min-height:76px;
        padding:14px 0;
        align-items:flex-start;
        justify-content:center;
        flex-direction:column;
        gap:5px;
    }
}

@media(max-width:480px){
    .mfsite-logo-word{
        font-size:14px;
    }

    .mfsite-mega-grid,
    .mfsite-footer-products ul{
        grid-template-columns:1fr;
    }

    .mfsite-footer-products li:nth-last-child(2){
        border-bottom:0;
    }
}

@media(prefers-reduced-motion:reduce){
    .mfsite-global-header *,
    .mfsite-global-footer *{
        transition:none!important;
    }
}


/* v0.1.1 — use the supplied M&F Optoelectronics logo as bundled fallback. */
.mfsite-logo-media-bundled{
    width:205px;
    max-width:205px;
    height:42px;
    overflow:hidden;
}
.mfsite-bundled-logo{
    width:205px!important;
    height:auto!important;
    max-width:205px!important;
    max-height:52px!important;
    object-fit:contain!important;
    object-position:left center!important;
}
@media(max-width:820px){
    .mfsite-logo-media-bundled,
    .mfsite-bundled-logo{
        width:178px!important;
        max-width:178px!important;
    }
}

.mfsite-footer-contact{display:grid;gap:6px;margin-top:18px;color:var(--mfsite-muted);font-size:12px}
.mfsite-footer-contact a{color:var(--mfsite-text)}
.mfsite-footer-social{display:flex;gap:14px;margin-top:12px;font-size:12px;font-weight:800}
.mfsite-footer-social a{color:var(--mfsite-green)}

/* v0.3.1 — Polylang language switcher + multilingual SEO navigation */
.mfsite-language-switcher{position:relative;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif}
.mfsite-language-trigger{height:42px;min-width:66px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--mfsite-line-2);border-radius:5px;background:transparent;color:#eaf0ec;cursor:pointer;font:900 11px/1 Arial,"Helvetica Neue",Helvetica,sans-serif;letter-spacing:.02em}
.mfsite-language-trigger:hover,.mfsite-language-switcher.is-open .mfsite-language-trigger{border-color:#66766d;background:var(--mf-bg-card);color:#fff}
.mfsite-language-globe{color:var(--mfsite-green);font-size:16px;line-height:1;transform:translateY(-1px)}
.mfsite-language-caret{color:#89968f;font-size:11px;transition:transform .16s ease}
.mfsite-language-switcher.is-open .mfsite-language-caret{transform:rotate(180deg)}
.mfsite-language-menu{position:absolute;top:calc(100% + 9px);right:0;width:190px;padding:7px;border:1px solid var(--mfsite-line-2);border-radius:6px;background:var(--mf-bg-section);box-shadow:0 22px 60px rgba(0,0,0,.34);opacity:0;visibility:hidden;transform:translateY(5px);transition:.16s ease;z-index:9999}
.mfsite-language-switcher.is-open .mfsite-language-menu{opacity:1;visibility:visible;transform:none}
.mfsite-language-option{min-height:40px;padding:0 10px;display:flex!important;align-items:center;justify-content:space-between;gap:14px;border-radius:4px;color:#cbd4cf!important;text-decoration:none!important;font-size:12px;font-weight:800}
.mfsite-language-option:hover{background:var(--mf-bg-card);color:#fff!important}
.mfsite-language-option.is-current{background:rgba(182,244,0,.08);color:#fff!important;box-shadow:inset 2px 0 var(--mfsite-green)}
.mfsite-language-option small{color:#75827b;font-size:9px;font-weight:950;letter-spacing:.08em}
.mfsite-language-option.is-current small{color:var(--mfsite-green)}
.mfsite-language-switcher--mobile{display:none}

@media(max-width:1024px) and (min-width:821px){
  .mfsite-language-trigger{min-width:58px;padding:0 8px}
  .mfsite-language-globe{display:none}
}

@media(max-width:820px){
  .mfsite-language-switcher--desktop{display:none}
  .mfsite-language-switcher--mobile{display:block;padding:16px 0 2px;border-bottom:1px solid var(--mf-border)}
  .mfsite-language-mobile-title{display:flex;align-items:center;gap:9px;padding:0 2px 10px;color:#fff;font-size:12px}
  .mfsite-language-mobile-title > span{color:var(--mfsite-green);font-size:16px}
  .mfsite-language-menu{position:static;width:auto;padding:0 0 12px;border:0;border-radius:0;background:transparent;box-shadow:none;opacity:1;visibility:visible;transform:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .mfsite-language-option{min-height:42px;padding:0 10px;border:1px solid var(--mf-border);background:var(--mf-bg-card)}
  .mfsite-language-option.is-current{border-color:#4d6119}
}

@media(max-width:420px){
  .mfsite-language-menu{grid-template-columns:1fr}
}
