/* Store discovery only; product detail, ordering and shared site layouts are unchanged. */
.catalog-mobile-nav{display:none}
.store-page{--store-secondary:color-mix(in srgb,var(--text) 22%,var(--text-muted))}
.store-filter-bar{margin-bottom:16px}
/* Error notice on the Store page (same look as the account-area .notice.error, which this page does not load). */
.store-page .notice{display:flex;gap:12px;align-items:flex-start;margin:18px 0 0;padding:14px 16px;border:1px solid var(--danger-border);border-inline-start:3px solid var(--danger);border-radius:10px;background:var(--danger-soft);color:var(--text)}
.store-page .notice p{margin:0}
.store-page .notice .icon{width:20px;height:20px;flex:none;margin-top:3px;fill:none;stroke:var(--danger);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.store-controls{display:flex;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;padding:5px;border:1px solid var(--border);border-radius:10px;background:var(--surface-muted)}
.store-controls[hidden],.store-page [data-store-category][hidden]{display:none}
.store-controls button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text);font:inherit;cursor:pointer}
.store-filter-count{display:inline-grid;place-items:center;min-width:24px;padding:0 5px;border-radius:4px;background:var(--surface);color:var(--brand-text-strong);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.store-controls button[aria-pressed="true"]{background:var(--brand-hover);border-color:var(--brand-hover);color:var(--on-brand)}
.store-controls button:focus-visible{outline:3px solid var(--focus-ring-brand);outline-offset:3px}
.store-count{margin:0}
.store-count:empty{display:none}
.store-page [data-store-category]{scroll-margin-top:110px;padding-block:24px 40px}
.store-page .section-head{margin-bottom:12px}
.store-page .section-head .eyebrow{margin:6px 0 0}
.store-page .store-type{align-self:flex-start;padding:4px 10px;border-radius:6px;background:var(--brand-soft);color:var(--brand-text-strong);font-size:13px;font-weight:700}
.store-page .rp-preview img,.store-page .tc-preview img{aspect-ratio:1;object-fit:contain;background:var(--paper)}
.store-page .store-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.store-page .store-meta :is(.store-type,.store-difficulty,.tc-kit){margin:0;padding:4px 8px;font-size:12px;line-height:1.6;font-weight:700;border-radius:6px}
.store-page .store-difficulty{background:var(--surface-muted);color:var(--store-secondary)}
.store-page .store-meta .tc-kit{border:1px solid var(--border);background:var(--surface);color:var(--brand-text-strong)}
.store-page :is(.rp-card,.tc-card) .store-card-title{font-size:22px;line-height:1.5;margin:0 0 10px}
.store-page .store-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.7}
.store-page :is(.rp-card-body,.tc-card-body)>.store-description{margin:0 0 14px;color:var(--store-secondary)}
.store-page .rp-card-footer{gap:10px;padding-top:12px}
.store-page .rp-card-footer .rp-price{line-height:1.3;font-variant-numeric:tabular-nums}
.store-page .store-benefits{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;list-style:none;padding:0;margin:0 0 14px;font-size:13px;line-height:1.6;color:var(--store-secondary)}
.store-page :is(.rp-card,.tc-card) .btn{min-height:44px;padding-block:8px}
.store-page .store-benefits li{display:flex;align-items:center;min-height:32px;margin:0;padding:5px 9px;border-radius:8px;background:var(--surface-muted);font-size:12px;line-height:1.5}
.store-page :is(.rp-card,.tc-card) a:focus-visible{outline:3px solid var(--focus-ring-brand);outline-offset:-3px;border-radius:4px}
.store-page .store-card-title a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:768px){
 .store-filter-bar{margin-bottom:14px}
 .store-controls{display:grid;grid-template-columns:minmax(0,.65fr) repeat(2,minmax(0,1fr));width:100%}
 .store-controls button{display:block;padding-inline:8px;font-size:14px}
 .store-filter-count{display:inline-block;margin-inline-start:4px}
 .store-page .rp-grid,.store-page .tc-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .store-page [data-store-category]{padding-block:20px 28px}
 .store-page .section-head{margin-bottom:12px}
 .store-page :is(.rp-card,.tc-card) .store-card-title{font-size:20px}
 .store-page .store-meta{margin-bottom:10px}
 .store-page .rp-preview img,.store-page .tc-preview img{max-height:360px}
}

/* Consistent compact badges, including the bootcamp's previously mismatched tag and kit chip. */
.store-page .bc-card .store-meta{align-items:stretch;gap:8px}
.store-page .bc-card .store-meta :is(.bc-tag,.tc-kit){display:inline-flex;align-items:center;align-self:stretch;box-sizing:border-box;min-height:34px;padding:6px 10px;margin:0;border:1px solid var(--border);border-radius:8px;font-size:12px;font-weight:600;line-height:1.5}
.store-page .bc-facts{grid-auto-rows:1fr}
.store-page .bc-facts li{display:flex;align-items:center;min-height:42px;line-height:1.5}

/* Compact quote-product cards only; educational-kit and course cards retain their layouts. */
.store-page .rp-grid:has(>.rp-custom-card){grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;grid-auto-rows:1fr}
.store-page .rp-custom-card .rp-preview img{height:190px;max-height:none;aspect-ratio:auto;object-fit:contain;padding:24px;box-sizing:border-box}
.store-page .rp-custom-card .rp-card-body{padding:18px}
.store-page .rp-custom-card .store-card-title{font-size:19px;line-height:1.5}
.store-page .rp-custom-card .rp-price{font-size:22px}
@media(max-width:1199px){
 .store-page .rp-grid:has(>.rp-custom-card){grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
}
@media(max-width:991px){
 .store-page .rp-grid:has(>.rp-custom-card){grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
}
@media(max-width:599px){
 .store-page .rp-grid:has(>.rp-custom-card){grid-template-columns:minmax(0,1fr);gap:24px}
}

/* Cross-links between Courses (digital learning) and Store (kits and ready products). */
.store-crosslink{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:24px 0 0;padding:14px 18px;border:1px solid var(--border);border-radius:12px;background:var(--surface-muted);font-size:14.5px;line-height:1.6}
.store-crosslink .text-link{font-weight:800;color:var(--brand-text-strong);text-decoration:underline;text-underline-offset:4px}
.store-crosslink-wrap .store-crosslink{margin:0}

/* Custom design / print quote CTA (a request, not a purchase). */
.custom-cta{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(20px,3vw,40px);align-items:center;padding:clamp(24px,3.4vw,40px);border:1px solid var(--border-strong);border-radius:18px;color:var(--on-dark);
  /* Same dark identity panel as the homepage "PCB" service block: ink background, faint engineering grid, green accents. */
  background-color:var(--panel-dark);background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:32px 32px;background-position:center}
.custom-cta::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--panel-dark) 38%,var(--panel-dark-fade));pointer-events:none}
html[dir="rtl"] .custom-cta::before{background:linear-gradient(270deg,var(--panel-dark) 38%,var(--panel-dark-fade))}
.custom-cta>*{position:relative}
.custom-cta-copy .eyebrow{color:#5fd08f}
.custom-cta-copy .section-title{margin-top:4px;color:var(--on-dark)}
.custom-cta-copy .lead{font-size:16.5px;margin:12px 0 18px;color:#d5d8d6}
.custom-cta-options{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.custom-cta-options li{display:grid;gap:4px;padding:16px 18px;border:1px solid rgba(255,255,255,.16);border-inline-start:3px solid var(--brand);border-radius:14px;background:rgba(255,255,255,.06)}
.custom-cta-options strong{font-size:15.5px;color:var(--on-dark)}
.custom-cta-options span{color:var(--on-dark-muted);font-size:14px;line-height:1.7}
@media(max-width:860px){.custom-cta{grid-template-columns:minmax(0,1fr)}.custom-cta-copy .btn{width:100%}}

/* Mobile discovery: retain every description, benefit, price and action. */
@media(max-width:768px){
 .store-category-nav,.catalog-mobile-nav{position:sticky;top:83px;z-index:20;background:var(--surface);padding-block:8px;border-bottom:1px solid var(--border)}
 .store-category-nav:has([data-store-controls][hidden]){display:none}
 .store-category-nav .store-filter-bar{margin:0}
 .catalog-mobile-nav{display:flex;align-items:center;gap:10px}
 .catalog-mobile-nav>span{flex:none;font-size:13px;font-weight:700}
 .catalog-shortcuts{display:flex;gap:8px;overflow-x:auto;min-width:0;padding:4px}
 .catalog-shortcuts a{flex:none;display:flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-muted);color:var(--text);font-size:14px}
 .catalog-shortcuts a:focus-visible{outline:3px solid var(--focus-ring-brand);outline-offset:-3px}
 .store-page :is([data-course-id],#bootcamps,[data-store-category]){scroll-margin-top:160px}
 .store-page :is(.rp-preview,.tc-preview) img{height:160px;max-height:none;aspect-ratio:auto;object-fit:contain}
 .store-page .rp-custom-card .rp-preview img{height:140px;padding:16px}
 .store-page :is(.rp-card-body,.tc-card-body){padding:16px}
 .store-page :is(.rp-card,.tc-card) .store-card-title{font-size:18px;margin-bottom:8px}
 .store-page .store-description{display:block;overflow:visible;-webkit-line-clamp:unset;font-size:14px;line-height:1.65}
 .store-page :is(.rp-card-body,.tc-card-body)>.store-description{margin-bottom:10px}
 .store-page .store-meta{margin-bottom:8px}
 .store-page .tc-card .store-benefits{gap:6px;margin-bottom:10px}
 .store-page .tc-card .store-benefits li{padding:4px 7px}
 .store-page .bc-preview img{height:200px;max-height:none;object-fit:contain}
 .store-page .bc-card-body{padding:16px}
 .store-page .bc-facts{gap:8px;margin-block:10px}
 .store-page .bc-facts li{min-height:36px;padding:8px}
 .store-page .bc-note{margin-block:10px}
}
@media(max-width:680px){.store-category-nav,.catalog-mobile-nav{top:69px}}
