/*
Theme Name: Shield Modern
Version: 0.1.0
Description: Manufacturer catalog and support, private staging theme.
*/
:root{--green:#009245;--ink:#12251d;--muted:#597066;--line:#dbe5df;--paper:#f4f7f4}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,sans-serif}a{color:inherit}header{background:white;border-bottom:1px solid var(--line)}.wrap{max-width:1220px;margin:auto;padding:0 28px}.top{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:24px 0}.logo{width:230px;height:auto}nav{display:flex;gap:24px;flex-wrap:wrap}nav a{text-decoration:none;font-weight:650;font-size:14px}nav a:hover{color:var(--green)}.stage{background:#123d2c;color:#fff;text-align:center;padding:7px;font-size:12px;letter-spacing:.04em}.hero{padding:76px 0 62px;max-width:870px}.eyebrow{text-transform:uppercase;color:var(--green);letter-spacing:.14em;font-weight:700;font-size:12px}h1{font-size:clamp(32px,5vw,62px);line-height:1.08;letter-spacing:-.035em;margin:20px 0}h2{font-size:25px;line-height:1.2}h3{line-height:1.3}.lead{font-size:21px;color:var(--muted);max-width:680px}.actions{display:flex;gap:16px;flex-wrap:wrap;margin:28px 0}.button,button{display:inline-block;border:0;border-radius:5px;background:var(--green);color:#fff;padding:12px 22px;text-decoration:none;font-size:15px;font-weight:650;cursor:pointer}.secondary{background:#e2eee7;color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:28px 0 50px}.card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;text-decoration:none;transition:transform .2s}.card:hover{transform:translateY(-3px)}.card img{display:block;width:100%;height:210px;object-fit:contain;background:#fff;padding:22px}.card div{padding:20px}.card h2{font-size:20px;margin:0 0 8px}.card p{color:var(--muted);font-size:14px;margin:0}.content{background:#fff;border:1px solid var(--line);padding:32px;border-radius:10px;margin:0 0 48px}.content img{max-width:100%;height:auto}.product{display:grid;grid-template-columns:1fr 1fr;gap:36px}.product>img{width:100%;object-fit:contain;background:white;border-radius:12px;max-height:480px}.downloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.downloads article{padding:24px;border:1px solid var(--line);border-radius:8px}.downloads h2{font-size:20px}.notice{background:#e9f3ed;border-left:4px solid var(--green);padding:14px 20px;margin:18px 0}.support-form{max-width:720px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.support-form label{display:block;font-size:14px;font-weight:600}input,select,textarea{font:inherit;border:1px solid #aabdb1;border-radius:5px;padding:12px;width:100%;background:white;color:var(--ink)}textarea{min-height:130px}.support-form p{grid-column:1/-1}form.search{display:flex;gap:12px;max-width:760px;margin:24px 0}.search input{flex:1}footer{background:#132b20;color:#e1ede5;margin-top:64px;padding:40px 0}footer p{font-size:14px;max-width:650px}.pagination{margin:24px 0}.pagination a,.pagination span{padding:7px 12px}iframe{max-width:100%;border:0}details{padding:18px 0;border-bottom:1px solid var(--line)}summary{font-weight:650;cursor:pointer}@media(max-width:800px){.top{align-items:flex-start;flex-direction:column;gap:20px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product{grid-template-columns:1fr}.hero{padding-top:42px}.wrap{padding:0 20px}}@media(max-width:520px){.grid,.downloads,.support-form{grid-template-columns:1fr}nav{gap:12px 20px}.content{padding:20px}.search{flex-wrap:wrap}.logo{width:210px}}

/* Requested Shield black theme */
:root{--ink:#f1f5f2;--muted:#a9b8af;--line:#26362e;--paper:#080d0a}header{background:#080d0a}.card,.content,.downloads article{background:#111a15}.card img{background:#fff}.secondary{background:#1d3527;color:#ddf4e6}.notice{background:#11281a;border-color:#009245}.stage{background:#073d22}.logo{width:260px}input,textarea,select{background:#0b130e;color:#f1f5f2;border-color:#465d4f}footer{background:#050906}.eyebrow{color:#39c57a}.button,button{background:#008a40}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* Rounded imagery and responsive embedded support playlists */
.card img,.content img,.product>img{border-radius:14px}.video-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0 40px}.video-guide{aspect-ratio:16/9;overflow:hidden;border-radius:14px;background:#000}.video-guide iframe{display:block;width:100%;height:100%;border:0}@media(max-width:700px){.video-guides{grid-template-columns:1fr}}

/* Uniform download cards without public descriptions. */
.downloads{grid-auto-rows:1fr}.downloads article{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.downloads article h2{margin:0;overflow-wrap:anywhere}.downloads article .button{margin-top:auto}

.social-links{display:flex;gap:16px;margin:20px 0}.social-links a,.footer-contact{display:inline-flex;align-items:center;gap:8px;color:#e1ede5;text-decoration:none;transition:color .15s}.social-links svg,.footer-contact svg{width:24px;height:24px}.social-links a:hover,.social-links a:focus-visible,.footer-contact:hover,.footer-contact:focus-visible{color:#39c57a}.card .product-image-placeholder{height:210px;display:grid;place-items:center;background:#18251e;border-radius:14px;color:var(--muted);padding:22px}

.footer-logo{width:180px;height:auto;display:block}.app-family{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;border:1px solid var(--line);border-radius:16px;padding:24px;margin:24px 0 36px;background:#080d0a}.app-family>h2{grid-column:1/-1;margin:0 0 8px}.app-card{padding:24px;border:1px solid var(--line);border-radius:14px;background:#111a15}.app-card figure{margin:0 0 18px}.app-card img{width:80px;height:80px;object-fit:contain;border-radius:16px}.app-card h3{margin:0 0 16px}.app-card a{color:#6edb9b;text-underline-offset:4px}.app-card p{margin:10px 0}@media(max-width:700px){.app-family{grid-template-columns:1fr;padding:16px}}

/* Missing product artwork: requested discontinued treatment. */
.product-image-placeholder,.card .product-image-placeholder{position:relative;min-height:210px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:14px;background:#18251e}.product-image-placeholder .missing-product-logo,.card .product-image-placeholder .missing-product-logo{position:absolute;left:10%;top:50%;transform:translateY(-50%);width:80%;height:auto;padding:0;background:transparent;opacity:.1;border-radius:0}.product-image-placeholder .discontinued{position:relative;z-index:1;color:#e2eae5;background:#18251ecc;padding:6px 12px;border-radius:6px;font-weight:600}.product>.product-image-placeholder{min-height:320px}

/* Centered footer with a shared social/contact icon row. */
footer{text-align:center}footer .footer-logo{margin:0 auto}footer p{margin-left:auto;margin-right:auto}footer .social-links{justify-content:center;align-items:center;gap:22px}footer .footer-divider{border:0;border-top:1px solid var(--line);max-width:640px;margin:28px auto}footer .social-links a{justify-content:center;width:36px;height:36px}

/* Keep discontinued labels below the watermark. */
.product-image-placeholder .discontinued{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);white-space:nowrap;background:transparent;margin:0;padding:0 12px}.product-image-placeholder .missing-product-logo,.card .product-image-placeholder .missing-product-logo{top:40%;max-height:50%;object-fit:contain}

.product-image-placeholder .discontinued{position:relative;bottom:auto;left:auto;transform:none;font-size:11px;padding:3px 8px;background:#18251ecc}.product-image-placeholder .missing-product-logo,.card .product-image-placeholder .missing-product-logo{top:50%}.language-switch{flex:0 0 150px}.language-switch label{font-size:11px;color:var(--muted)}.language-switch select{padding:8px;font-size:13px}.content img.iso-badge{width:72px!important;height:auto!important}.about-ai-image{display:block;width:100%;max-height:420px;object-fit:cover}.top{gap:18px;flex-wrap:wrap}

/* Compact language control in the header top-right corner. */
header{position:relative}.top{padding-right:72px;min-height:100px}.language-switch{position:absolute;right:18px;top:12px;width:58px;margin:0;z-index:5}.language-switch select{width:58px;font-size:23px;padding:4px 2px 4px 6px;line-height:1.2;cursor:pointer}.language-switch .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:520px){.top{padding-right:64px}.language-switch{right:10px;top:12px}}

/* Camera-only crops use original artwork, with no generated hardware detail. */
.card .camera-crop-frame,.camera-crop-frame{display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden;border-radius:14px;padding:24px}.camera-card{height:210px;--camera-height:162px}.camera-detail{height:420px;--camera-height:372px}.camera-crop{position:relative;overflow:hidden;width:100%;max-width:calc(var(--camera-height)*var(--camera-ratio));flex:none}.camera-crop img,.card .camera-crop img{position:absolute;max-width:none;height:auto;padding:0;border-radius:0;display:block;background:transparent}.about-catalog-cameras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;background:#fff;padding:24px;border-radius:14px;margin:0 0 30px}.about-catalog-cameras figure{margin:0}.about-catalog-cameras img{width:100%;height:230px;object-fit:contain}.about-catalog-cameras figcaption{text-align:center;color:#183225;font-weight:650}.gallery img{max-width:100%;height:auto}.gallery-item{max-width:100%}@media(max-width:600px){.about-catalog-cameras{gap:8px;padding:12px}.about-catalog-cameras img{height:120px}.about-catalog-cameras figcaption{font-size:12px}.camera-detail{height:320px;--camera-height:272px}}

.about-reference-hero{margin:0 0 30px}.about-reference-hero img{display:block;width:100%;height:auto;max-height:none;border-radius:14px}

.about-server-image{display:block;width:100%;height:auto;max-height:none;border-radius:14px}

.card img.shield-cutout,.product>img.shield-cutout{background:transparent}

.catalog-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;background:#111a15;padding:24px;border:1px solid var(--line);border-radius:14px}.catalog-filters label{font-size:13px;font-weight:650}.catalog-filters select{margin-top:6px;font-size:14px;padding:10px;min-width:0}.filter-actions{grid-column:1/-1;display:flex;align-items:center;gap:24px}.catalog-count{color:var(--muted);font-size:14px}.product-classifications{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 28px;padding-bottom:24px;border-bottom:1px solid var(--line)}.product-classifications div{min-width:0}.product-classifications dt{color:var(--muted);font-size:12px}.product-classifications dd{margin:2px 0;font-size:14px}@media(max-width:800px){.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:450px){.catalog-filters{grid-template-columns:1fr;padding:16px}.product-classifications{grid-template-columns:1fr}}

/* Consistent app sections, including classic WordPress group wrappers. */
.app-family{display:block;margin:32px 0;padding:28px}.app-family>.wp-block-group__inner-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.app-family>h2,.app-family>.wp-block-group__inner-container>h2{grid-column:1/-1;margin:0}.app-family:not(:has(>.wp-block-group__inner-container)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.app-card{margin:0!important;min-width:0}.app-card p:last-child{margin-bottom:0}.catalog-filter-panel{padding:0;border:1px solid var(--line);border-radius:12px;margin:24px 0;overflow:hidden}.catalog-filter-panel>summary{padding:16px 22px}.catalog-filter-panel .catalog-filters{margin:0;border:0;border-top:1px solid var(--line);border-radius:0}@media(max-width:700px){.app-family{padding:18px;margin:24px 0}.app-family>.wp-block-group__inner-container,.app-family:not(:has(>.wp-block-group__inner-container)){grid-template-columns:1fr;gap:18px}}

/* Shield editorial reading layout */
.blog-article{max-width:980px;margin:0 auto 72px}.blog-article .article-prose{max-width:740px;margin:32px auto;font-size:1.08rem;line-height:1.85}.blog-article h2{margin:2.2em 0 .7em;line-height:1.3}.blog-article p{margin:0 0 1.25em}.editorial-cover{margin:0}.editorial-cover img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:18px}.editorial-cover figcaption{font-size:.8rem;line-height:1.5;color:#b8c9bd;margin-top:10px}.article-dates{color:#b8c9bd;font-size:.95rem}.article-footnotes{margin-top:3em;padding-top:1.5em;border-top:1px solid #344b3d;font-size:.9rem;overflow-wrap:anywhere}.citation{font-size:.8em;vertical-align:super}.table-scroll{max-width:100%;overflow-x:auto}.legacy-chart{margin:2em 0}.legacy-chart summary{cursor:pointer;color:#6edb9b}@media(max-width:600px){.blog-article .article-prose{font-size:1rem}.editorial-cover img{border-radius:12px}}

/* Bound the dashboard shortcut logo on authenticated front-end pages. */
#wpadminbar img.shield-admin-bar-logo{height:17px!important;width:auto!important;max-width:100px!important;vertical-align:middle!important;margin:0 8px 2px 0!important}

/* Accessible mobile navigation; links remain available if JavaScript is unavailable. */
.mobile-menu-toggle{display:none}
@media(max-width:800px){
 header .top{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
 header .top>a{margin-right:auto}
 header.menu-ready .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:#101b15;border:1px solid #45604e;border-radius:8px;color:#fff;font-size:26px;cursor:pointer;order:2}
 header .language-switch{order:3;position:static;margin:0}
 header #shield-main-navigation{order:4;flex-basis:100%;width:100%;flex-direction:column;align-items:stretch;padding:12px 0;border-top:1px solid #344b3d}
 header.menu-ready #shield-main-navigation{display:none}
 header.menu-ready .mobile-menu-toggle[aria-expanded="true"]+#shield-main-navigation{display:flex}
 header #shield-main-navigation a{display:block;padding:12px 8px;min-height:44px}
 .mobile-menu-toggle:focus-visible{outline:2px solid #6edb9b;outline-offset:3px}
}

/* Header groups preserve native keyboard/touch disclosure behavior. */
header .nav-group{position:relative;margin:0;padding:0;border:0;background:transparent;overflow:visible}
header .nav-group>summary{list-style:none;cursor:pointer;padding:10px 4px;color:inherit;font:inherit;display:flex;align-items:center;gap:8px}
header .nav-group>summary::-webkit-details-marker{display:none}
header .nav-group>summary::after{content:'▾';font-size:.8em}
header .nav-group[open]>summary::after{transform:rotate(180deg)}
header .nav-submenu{position:absolute;top:100%;right:0;min-width:190px;padding:8px;background:#101b15;border:1px solid #344b3d;border-radius:10px;box-shadow:0 12px 28px #0008;z-index:100}
header .nav-submenu a{display:block;padding:12px!important;white-space:nowrap}
header .nav-group>summary:focus-visible{outline:2px solid #6edb9b;outline-offset:3px}
@media(max-width:800px){header .nav-group{width:100%}header .nav-group>summary{padding:12px 8px;min-height:44px}header .nav-submenu{position:static;box-shadow:none;margin:0 0 8px 12px;min-width:0}}

/* Mobile controls: right-aligned menu and floating language selector. */
@media(max-width:800px){
 header .top{justify-content:space-between}
 header .top>a{margin-right:auto;min-width:0}
 header.menu-ready .mobile-menu-toggle{margin-left:auto;flex-shrink:0}
 header .language-switch{position:fixed;top:auto;left:auto;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:1000;margin:0;padding:0;background:#101b15;border:1px solid #45604e;border-radius:999px;box-shadow:0 4px 18px #0008;width:auto}
 header .language-switch select{display:block;min-width:64px;min-height:48px;max-width:90px;margin:0;border:0;border-radius:999px;background:transparent;color:#fff;padding:10px 12px;cursor:pointer}
 header .language-switch select:focus-visible{outline:2px solid #6edb9b;outline-offset:3px}
 footer{padding-bottom:88px}
}

@media(max-width:800px){
 header .wrap.top{padding:16px 20px;column-gap:12px}
 header .top>a{flex:0 1 220px;max-width:calc(100% - 56px)}
 header .top .logo{display:block;width:100%;max-width:220px;height:auto}
 header.menu-ready .mobile-menu-toggle{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;line-height:1;box-sizing:border-box}
}

@media(max-width:800px){header .wrap.top{flex-direction:row;align-items:center}}

/* Flat desktop navigation; full mobile language names. */
@media(min-width:801px){
 header .wrap.top{display:flex;flex-direction:row;align-items:center;gap:20px;padding:24px 28px}
 header .top>a{margin-right:auto;flex-shrink:0}
 header #shield-main-navigation{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px 20px;margin:0}
 header #shield-main-navigation>a{display:flex;align-items:center;min-height:44px;padding:10px 0;font-size:14px;font-weight:650;line-height:24px}
 header .language-switch{position:static;align-self:center;margin:0;padding:0;flex-shrink:0;width:auto}
 header .language-switch select{min-height:44px;width:auto;margin:0}
}
@media(max-width:800px){header .language-switch select{width:auto;min-width:148px;max-width:190px;padding:10px 14px}}

/* Full native language labels and accessible source navigation. */
header .language-switch{display:flex;align-items:center;gap:6px;max-width:100%}
header .language-switch select{width:auto!important;min-width:150px;max-width:190px;font-size:14px}
.language-globe{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;border-radius:50%;padding:6px;border:1px solid #555;background:#111;color:#eee;cursor:pointer}
.language-globe svg{width:22px;height:22px}.language-globe:hover,.language-globe:focus-visible{color:#009344;border-color:#009344}
.product-classifications a{color:#52d98b;text-decoration:underline;text-underline-offset:3px}
.article-sources{margin-top:2rem;padding:1rem;border:1px solid #444;border-radius:12px}.article-sources summary{cursor:pointer;font-weight:700}.article-sources p{overflow-wrap:anywhere}.article-sources [id]{scroll-margin-top:100px}.article-sources [id]:target,.article-sources [id]:focus{outline:2px solid #009344;outline-offset:6px;border-radius:3px}.footnote-reference{color:#52d98b;text-decoration:underline}
@media(min-width:801px){header .top{flex-wrap:wrap}header nav{flex-wrap:wrap}header .language-switch{margin-left:auto}}

header details.language-menu{display:block;position:relative;margin-left:auto} .language-menu summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:6px;border-radius:24px}.language-menu summary::-webkit-details-marker{display:none}.language-menu img{width:24px;height:16px;border-radius:2px;object-fit:cover}.language-menu .globe-icon{width:30px;height:30px;padding:4px;border:1px solid #666;border-radius:50%}.language-options{position:absolute;right:0;top:100%;background:#111;border:1px solid #555;border-radius:12px;padding:8px;z-index:100;min-width:190px}.language-options a{display:flex;align-items:center;gap:10px;padding:9px;color:#eee}.language-options a:hover{background:#183c29;border-radius:6px}@media(max-width:800px){header details.language-menu{position:fixed;right:16px;bottom:16px;top:auto;z-index:1000;background:#111;border:1px solid #555;border-radius:26px}.language-options{top:auto;bottom:100%}}

/* Keep native language names together, including Simplified Chinese. */
.language-menu summary,.language-menu summary span,.language-options a{white-space:nowrap;word-break:normal;overflow-wrap:normal}
.language-options{min-width:210px;width:max-content;box-sizing:border-box}
.language-options img,.language-menu summary img,.language-menu .globe-icon{flex-shrink:0}
