/* Design 3 hardware shop: shared brand, independent catalogue layout. */
body[data-page=shop]{background:var(--paper)}
.store-hero{background:var(--dark);color:var(--white);padding:58px 0 0;overflow:hidden}
.store-hero-grid{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:60px}
.store-hero-copy .eyebrow{color:var(--blue)}
.store-hero h1{font-size:clamp(48px,4.6vw,82px);font-weight:600;letter-spacing:-.055em;line-height:1.04;margin:23px 0}
.store-hero-copy>p:last-of-type{color:#b9c7d3;font-size:18px;line-height:1.8;max-width:510px}
.store-hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin-top:30px}
.store-hero-product{border:1px solid #9cbdcc38;min-width:0;background:#14212a}
.store-hero-image{position:relative;background:#1b2a32}
.store-hero-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.store-hero-product figcaption{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.store-hero-product strong{font-size:19px;font-weight:600;display:block}
.store-hero-product figcaption span{display:block;margin-top:6px;font:12px/1.5 var(--mono);color:#b5c9d4}
.store-hero-product figcaption a{border:1px solid #8aabb947;padding:13px;color:var(--orange)}
.store-hero-product figcaption a:hover{background:#ffffff0d}
.store-hero-strip{margin-top:48px;padding:22px 0;border-top:1px solid #ffffff24;display:flex;justify-content:space-between;gap:20px;font:12px/1.5 var(--mono);letter-spacing:.075em;color:#a7bcc9}
.store-hero-strip>span:first-child{color:var(--orange)}
.store-catalog{padding:65px 0 50px;background:#e5e8e5;color:var(--ink)}
.store-section-heading{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:60px;margin-bottom:35px}
.store-section-heading .eyebrow{color:#52707c}
.store-section-heading h2{font-size:clamp(32px,3.2vw,51px);margin-top:12px;line-height:1.1}
.store-section-heading>p{font-size:17px;line-height:1.75;color:#536977;max-width:560px}
.store-toolbar{display:flex;gap:25px;justify-content:space-between;align-items:end;border-bottom:1px solid #9fafb8;padding-bottom:20px}
.store-filters{display:flex;flex-wrap:wrap;gap:8px}
.store-filters button{cursor:pointer;border:1px solid #afbdc2;background:transparent;color:#314e5c;min-height:46px;padding:11px 16px;display:flex;gap:12px;align-items:center;font-size:15px;font-weight:600}
.store-filters button[aria-pressed=true]{background:#203543;color:white;border-color:#203543}
.store-filters button:hover{border-color:#203543}
.filter-total{font:12px var(--mono);opacity:.75}
.store-search{width:320px;flex-shrink:0}
.store-search label{display:block;font-size:13px;font-weight:600;color:#385968;margin-bottom:7px}
.store-search>div{display:flex;align-items:center;gap:10px;border:1px solid #a8bbc1;background:#f3f5f1;padding:0 12px;min-height:46px}
.store-search svg{width:18px;color:#607d89}
.store-search input{font-family:inherit;font-size:15px;line-height:1.5;width:100%;min-width:0;background:none;border:0;padding:11px 0;color:var(--ink)}
.store-search input:focus{outline:0}
.store-search>div:focus-within{outline:2px solid #4d7f93;outline-offset:2px}
.store-search input::placeholder{color:#6d7b83;font-size:14px}
.store-catalog-meta{display:flex;justify-content:space-between;gap:25px;padding:18px 0 24px;align-items:start}
.store-catalog-meta p{font-size:14px;line-height:1.7;color:#526675;display:flex;gap:9px;align-items:baseline}
.store-catalog-meta p i,.store-state i{display:inline-block;width:6px;height:6px;background:#b77c43;flex-shrink:0}
#product-count{font:13px/1.7 var(--mono);white-space:nowrap;color:#526675}
.store-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.store-card{background:#f4f5f0;border:1px solid #b6c5c8;display:flex;flex-direction:column;min-width:0;transition:border-color .2s}
.store-card:focus-within,.store-card:hover{border-color:#678b9c}
.store-image{background:#1d2c32;border-bottom:1px solid #b6c5c8}
.store-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.store-card-body{padding:23px;display:flex;flex-direction:column;flex:1;min-width:0}
.store-product-line{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:17px;flex-wrap:wrap}
.store-code{font:12px/1.5 var(--mono);color:#4c6975;letter-spacing:.04em}
.store-state{display:flex;align-items:center;gap:7px;font:12px/1.4 var(--mono);color:#8b643d}
.store-type{font:12px/1.6 var(--mono);color:#536f7c;margin-bottom:9px;text-transform:uppercase}
.store-card h3{font-size:25px;line-height:1.25;margin-bottom:13px}
.store-card-body>p{color:#526976;font-size:16px;line-height:1.7;margin-bottom:24px}
.store-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:18px;border-top:1px solid #b7c8cd}
.store-card-bottom>span{color:#65757a;font:12px/1.5 var(--mono)}
.store-detail{display:flex;align-items:center;gap:14px;color:#213f50;background:none;border:0;cursor:pointer;padding:7px 0;font-weight:650;font-size:15px;text-align:left}
.store-detail svg{width:19px;height:19px}
.store-detail:hover{color:#9c5d26}
.store-concept{font-size:14px;color:#536c76;margin-top:24px;max-width:900px;line-height:1.7}
.store-empty{border:1px solid #adbec4;background:#f4f5f0;text-align:center;padding:44px 24px}
.store-empty p{margin:12px 0 20px;color:#5b7380;font-size:16px}
.store-empty button{background:#213743;color:white;border:0;cursor:pointer}
.store-system{background:#253541;padding:66px 0;color:var(--white)}
.store-system .store-section-heading .eyebrow{color:var(--blue)}
.store-system .store-section-heading>p{color:#b6c8d4}
.store-system-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #88a8bc55}
.store-system-grid article{padding:28px 32px;position:relative;min-width:0}
.store-system-grid article+article{border-left:1px solid #88a8bc55}
.store-system-grid article:nth-child(2){background:#304753}
.store-system-symbol{position:absolute;right:28px;top:20px;font-size:36px;color:var(--orange)}
.store-system-role{font:12px var(--mono);letter-spacing:.1em;color:var(--blue)}
.store-system-grid h3{font-size:28px;margin:21px 0 14px}
.store-system-grid p{font-size:16px;color:#b9cbd6;line-height:1.75}
.store-system-end{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:25px}
.store-system-end p{font-size:15px;color:#b9cbd6}
.store-contact{background:#afc9d1;color:#182c39;padding:58px 0}
.store-contact>.wrap{display:flex;justify-content:space-between;align-items:center;gap:35px}
.store-contact .eyebrow{color:#385b69}
.store-contact h2{font-size:clamp(34px,3.5vw,55px);margin:12px 0 18px}
.store-contact p:not(.eyebrow){font-size:17px;color:#426271}
.store-contact .button{background:var(--dark);color:white;flex-shrink:0;min-width:225px}
.store-contact .button:hover{background:#253b4b}
.store-dialog{background:#eeede8;color:var(--ink);width:min(1130px,calc(100% - 40px));max-height:calc(100svh - 48px);padding:0;border:1px solid #8ba7b5;overflow:auto}
.store-dialog::backdrop{background:#0a1521cf;backdrop-filter:blur(5px)}
body:has(.store-dialog[open]){overflow:hidden}
.store-dialog-close{position:absolute;right:14px;top:14px;z-index:1;border:1px solid #98aeb6;background:#f4f5f0;color:#213746;width:42px;height:42px;font-size:28px;cursor:pointer}
.store-dialog-layout{display:grid;grid-template-columns:1fr 1fr}
.store-dialog-media{background:#dce5e5;display:flex;align-items:center;justify-content:center;padding:24px}
.store-dialog-media img{width:100%;height:auto;object-fit:contain}
.store-dialog-copy{padding:65px 32px 32px}
.store-dialog-copy h2{font-size:36px;line-height:1.1;margin-bottom:18px}
.store-dialog-copy>p{font-size:16px;color:#526976;line-height:1.7}
.store-dialog-copy h3{font-size:19px;margin:25px 0 12px}
.store-specs{list-style:none;padding:0;margin:0 0 23px;border-top:1px solid #bac9cd}
.store-specs li{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid #bac9cd;font-size:14px;align-items:baseline}
.store-specs li span{font-size:12px;color:#587583}
.store-specs li b{font:600 13px/1.5 var(--mono);text-align:right;overflow-wrap:anywhere}
.store-dialog-copy .button{background:var(--dark);color:white;margin:21px 0 16px;min-width:220px}
.store-dialog-copy .store-dialog-concept{font-size:13px}
@media(max-width:1200px){.store-hero-grid{gap:35px}.store-hero h1{font-size:58px}.store-hero-actions{gap:16px}.store-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.store-section-heading{gap:35px}.store-filters button{padding:10px 12px}.store-search{width:285px}.store-hero-product figcaption{padding:18px}.store-system-grid article{padding:26px}}
@media(max-width:960px){.store-hero h1{font-size:46px}.store-hero-copy>p:last-of-type{font-size:17px}.store-toolbar{flex-direction:column;align-items:stretch}.store-search{width:100%;max-width:440px}.store-hero-strip{font-size:11px}.store-hero-product strong{font-size:17px}.store-section-heading{grid-template-columns:1fr;gap:20px}.store-dialog-layout{grid-template-columns:1fr}.store-dialog-media{padding:20px 70px}.store-dialog-copy{padding:28px}.store-dialog-close{position:sticky;display:block;float:right;top:12px;margin:12px 12px -54px 0}.store-system-grid article{padding:23px 19px}.store-system-grid h3{font-size:25px}.store-system-end{align-items:start;flex-direction:column;gap:12px}}
@media(max-width:780px){.store-hero{padding-top:34px}.store-hero-grid{grid-template-columns:1fr;gap:30px}.store-hero h1{font-size:clamp(44px,9vw,65px)}.store-hero-copy>p:last-of-type{max-width:600px}.store-hero-product{max-width:590px;width:100%}.store-hero-strip{margin-top:30px;flex-wrap:wrap;padding:18px 0}.store-hero-strip>span:last-child{display:none}.store-catalog{padding:42px 0}.store-section-heading h2{font-size:35px}.store-section-heading>p{font-size:16px}.store-catalog-meta{flex-direction:column;gap:10px}.store-filters button{font-size:14px;padding:11px 13px}.store-product-grid{grid-template-columns:1fr;gap:24px}.store-card-body{padding:22px}.store-card h3{font-size:26px}.store-card-body>p{font-size:16px}.store-system{padding:45px 0}.store-system-grid{grid-template-columns:1fr}.store-system-grid article{padding:26px}.store-system-grid article+article{border-left:0;border-top:1px solid #88a8bc55}.store-contact{padding:43px 0}.store-contact>.wrap{flex-direction:column;align-items:start;gap:26px}.store-contact h2{font-size:37px}.store-contact p:not(.eyebrow){font-size:16px}.store-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px)}.store-dialog-media{padding:30px 14px 14px}.store-dialog-copy{padding:22px}.store-dialog-copy h2{font-size:30px}.store-specs li{gap:12px}.store-specs li b{max-width:62%}.store-hero .eyebrow{font-size:12px}.store-hero-actions .button,.store-contact .button,.store-dialog .button{font-size:15px}}
@media(max-width:380px){body[data-page=shop] .header{padding-inline:14px;gap:12px}}
@media(prefers-reduced-motion:reduce){.store-card{transition:none}.store-dialog::backdrop{backdrop-filter:none}}

/* Shop workbench header: give the physical hardware room beside the copy. */
body[data-page=shop] .hero-images img{object-position:75% center}
body[data-page=shop] .hero-copy{max-width:58%}
body[data-page=shop] .hero h1{font-size:clamp(64px,5.5vw,104px)}
@media(max-width:780px){body[data-page=shop] .hero-copy{max-width:100%}body[data-page=shop] .hero h1{font-size:clamp(48px,11vw,72px)}body[data-page=shop] .hero-images img{object-position:70% center}}

@media(max-width:780px){.store-search input{font-size:16px}.store-dialog-close{min-width:44px;min-height:44px}}

/* TouchDeck product photo: fill the card while retaining the whole device. */
.store-card[data-product="CS-TD7"] .store-image{background:transparent;border-bottom:0}
.store-card[data-product="CS-TD7"] .store-image img{display:block;aspect-ratio:3/2;object-fit:cover}

/* Simulator markers below the TouchDeck promotional lettering. */
.store-card[data-product="CS-TD7"] .store-image{position:relative}
.touchdeck-simulator-markers{position:absolute;left:16px;bottom:16px;display:flex;gap:8px;flex-wrap:wrap;pointer-events:none}
.touchdeck-simulator-markers span{padding:9px 13px;background:#193e35;color:#f1faf6;border:1px solid #5b8975;font:12px/1.2 var(--mono);box-shadow:0 2px 8px #0003}
@media(max-width:480px){.touchdeck-simulator-markers{left:12px;bottom:12px;gap:6px}.touchdeck-simulator-markers span{padding:8px 11px}}
