/* PRJ-046: lightweight catalog, manual and demo-cart component contracts. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.product-card .product-icon{width:100%;height:71px;display:grid;grid-template-columns:1fr 35px;grid-template-rows:1fr 1fr;gap:5px;margin-bottom:18px;position:relative;border:0;padding:11px 13px;text-align:left;align-items:center;border-radius:5px;background:#eff5f8}
.product-icon .brand-chip{border:0;background:transparent;padding:0;font-size:10px;letter-spacing:.03em;color:#367698;justify-self:start}
.product-icon>svg{grid-column:2;grid-row:1/3;justify-self:end;color:#578ca9}
.software-label{font-size:7px;letter-spacing:.1em;color:var(--muted);display:block;font-weight:600}
.product-card .product-icon>svg{width:26px;height:26px}
.product-card .product-price{font-size:20px;line-height:1.1}
.product-card-bottom .text-link{font-size:10px;gap:5px;white-space:nowrap}
.product-card-bottom svg{width:14px;height:14px}
.product-summary{flex:1}
.filter-bar>form{width:100%}
.filter-bar .search-field{display:flex;align-items:center;gap:9px;padding:10px 12px;background:white;width:100%;flex:initial}
.search-field svg{width:18px;height:18px;flex-shrink:0;color:#8ca0af}
.search-field input{border:0;outline:0;min-width:0;flex:1;font-size:12px;background:none;color:var(--ink);width:100%}
.search-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px #39baff24}
.brand-filters{display:flex;flex-wrap:wrap;gap:7px}
.brand-filters .brand-chip{min-height:31px;padding:7px 10px;background:white;color:#687e90;border:1px solid #d3dee6;font-size:10px;font-weight:500}
.brand-filters .brand-chip[aria-pressed=true]{color:white;background:var(--navy);border-color:var(--navy)}
.brand-filters .brand-chip:hover{border-color:#8dadc3}
.manual-row{position:relative}
.manual-row>.manual-code{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;font-size:20px}
.manual-row .manual-code svg{width:19px;height:19px;stroke-width:1.25;color:#809cb0}
.manual-row .manual-code>span{font-size:19px}
.manual-row>.manual-info{flex:1}
.manual-row h3{font-size:12px;line-height:1.45;letter-spacing:-.01em}
.manual-row .product-meta{font-size:8px;letter-spacing:.02em;margin-bottom:5px;color:var(--muted);font-weight:500}
.manual-row .manual-info>.muted{font-size:10px;display:block;margin-top:5px;color:var(--muted)}
.manual-row>svg{color:var(--blue);width:18px;height:18px;flex-shrink:0}
.manual-list{border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:35px}
.manual-list .manual-row:last-child{border-bottom:0}
.detail-visual>.brand-chip{position:absolute;top:23px;left:23px;font-size:11px}
.detail-visual>.software-label{position:absolute;bottom:26px;left:26px;font-size:9px}
.detail-visual>svg{width:100px;height:100px;stroke-width:1;color:#3281ab;margin-bottom:30px}
.detail-visual>strong{font-size:29px;line-height:1.2;letter-spacing:-.045em;font-weight:700;color:var(--navy);text-align:center}
.detail-copy .detail-price{margin-bottom:5px}
.detail-copy .price-note{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-bottom:22px}
.detail-actions{display:flex;align-items:start;flex-wrap:wrap;gap:4px;margin-top:24px}
.detail-actions .button{font-size:11px;gap:9px}
.detail-list li{align-items:center;gap:9px;margin:12px 0}
.detail-list li:before{display:none}
.detail-list svg{width:14px;height:14px;color:var(--blue);flex-shrink:0}
.manual-metadata{margin:23px 0;border-block:1px solid var(--line);padding:11px 0;font-size:12px}
.manual-metadata div{display:flex;justify-content:space-between;gap:20px;padding:9px 0}
.manual-metadata dt{color:var(--muted)}
.manual-metadata dd{margin:0;font-weight:600}
.tag-list{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:24px}
.manual-preview{background:#f0f4f6;border:1px solid #d8e3eb;border-radius:7px;padding:27px 30px}
.manual-preview>.eyebrow{font-size:9px;margin-bottom:18px}
.preview-paper{background:white;box-shadow:0 5px 15px #05203d0b;min-height:360px;padding:25px 30px}
.preview-paper-header{display:flex;align-items:center;gap:9px;color:#7990a0;font:9px Consolas,monospace;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px}
.preview-paper-header svg{width:18px;height:18px}
.skeleton-line{background:#e9eff3;height:7px;width:80%;margin:12px 0;border-radius:2px}
.skeleton-line.wide{width:100%;height:11px;background:#d8e4ec}
.skeleton-line.short{width:45%}
.skeleton-block{height:120px;background:#f2f5f7;border:1px solid #e2e9ee;margin:25px 0}
.manual-preview>p{font-size:10px;margin-top:18px;text-align:center}
.cart-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:40px;align-items:start;padding-bottom:35px}
.cart-summary{margin:0;padding:25px;position:sticky;top:20px}
.cart-summary h2{font-size:23px}
.cart-row .cart-product-icon{width:45px;height:45px;background:#f0f5f8;border:1px solid #dce7ee;color:var(--blue);display:grid;place-items:center;border-radius:5px;flex-shrink:0}
.cart-row .cart-product-copy{flex:1;min-width:0}
.cart-row h2{font-size:17px;line-height:1.4;letter-spacing:-.03em}
.cart-row .cart-product-copy>.muted{font-size:11px;display:block;margin-top:4px}
.cart-remove{font-size:10px;white-space:nowrap;background:none;min-height:36px}
.cart-total{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:20px}
.cart-total strong{font-size:25px;color:var(--navy);letter-spacing:-.05em}
.cart-summary .button{width:100%;font-size:11px;gap:8px}
.cart-summary>.text-link{margin-top:18px;font-size:11px}
.cart-summary .notice{font-size:10px;margin-bottom:0}
.support-layout{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.support-panel{padding:26px}
.support-panel h2{font-size:25px}
.support-number{font:13px Consolas,monospace;display:block;color:var(--blue);margin-bottom:25px}
.support-contact{border-top:1px solid var(--line);padding-block:27px 40px}
.support-contact h2{font-size:30px;margin-bottom:17px}
.support-contact p{font-size:13px;max-width:620px;margin-bottom:23px}
.search-section{margin-bottom:45px}
.search-section>h2{font-size:23px;margin-bottom:20px}
.search-section>h2>.muted{font-weight:400;font-size:15px}
.toast.is-visible{opacity:1}
[data-layout=classic] .product-card .product-icon{height:82px;padding:13px 16px}
[data-layout=classic] .product-card .product-icon svg{width:31px;height:31px}
@media(max-width:940px){.cart-layout{grid-template-columns:1.4fr 1fr;gap:26px}.cart-row{gap:12px;flex-wrap:wrap}.cart-row .cart-product-copy{flex-basis:70%}.cart-row .qty-control{margin-left:57px}.cart-remove{margin-left:auto}.support-layout{gap:15px}.support-panel{padding:23px}.support-panel h2{font-size:21px}}
@media(max-width:740px){.site-nav.is-open{display:flex}.product-card .product-icon{height:65px;padding:9px 10px;margin-bottom:15px}.product-icon .brand-chip{font-size:9px}.software-label{font-size:6px;letter-spacing:.04em}.product-card .product-price{font-size:17px;line-height:1.3}.product-card-bottom .text-link{font-size:9px;gap:6px}.product-card-bottom .text-link svg{width:12px;height:12px}.product-card .product-card-bottom{gap:9px;align-items:start;flex-direction:column}.brand-filters{gap:6px}.brand-filters .brand-chip{font-size:9px;min-height:33px}.manual-row h3{font-size:11px}.manual-row .manual-info>.muted{font-size:9px}.manual-row>.manual-code{gap:5px;min-width:38px}.manual-row .manual-code>span{font-size:18px}.manual-row .manual-code svg{width:16px;height:16px}.manual-row .product-meta{font-size:8px;margin-bottom:4px}.manual-row>svg{width:16px;height:16px}.detail-visual>svg{width:65px;height:65px;margin-bottom:23px}.detail-visual>strong{font-size:25px}.detail-visual>.brand-chip{top:17px;left:17px;font-size:10px}.detail-visual>.software-label{bottom:17px;left:17px;font-size:8px}.detail-actions{gap:4px}.detail-actions .button{font-size:11px}.manual-preview{padding:20px}.preview-paper{padding:22px;min-height:325px}.cart-layout{grid-template-columns:1fr;gap:28px}.cart-summary{position:static}.cart-row h2{font-size:16px}.cart-row .cart-product-copy{min-width:calc(100% - 60px);flex-basis:auto}.cart-row .qty-control{margin-left:57px}.cart-row .cart-product-icon{width:45px}.support-layout{grid-template-columns:1fr;gap:15px}.support-panel{margin-bottom:0}.support-panel h2{font-size:25px}.support-panel p{margin-bottom:0}.support-number{margin-bottom:16px}.support-contact{margin-top:30px}.support-contact h2{font-size:27px}.support-contact p{font-size:12px}.search-section>h2{font-size:22px}}
