/* Completion styles extend the existing redesign. */
[hidden] { display: none !important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:-100px; right:1rem; z-index:9999; padding:1rem; border-radius:1rem; background:var(--surface); color:var(--text); }
.skip-link:focus { top:1rem; }
:focus-visible { outline:3px solid var(--color-primary-500); outline-offset:4px; }
.catalog-tools { display:flex; flex-direction:column; gap:1rem; margin-bottom:2rem; }
.catalog-search { max-width:620px; }
.filter-chips { display:flex; flex-wrap:wrap; gap:.6rem; }
.filter-chip { padding:.6rem 1.1rem; border:1px solid var(--border); border-radius:999px; background:var(--surface); transition:background .2s; }
.filter-chip.is-active { background:var(--color-primary-500); color:var(--text-inverse); border-color:var(--color-primary-500); }
.empty-state { text-align:center; padding:3rem 1rem; }
.empty-state p { margin-block:1.5rem; }
.empty-state .hero-actions { justify-content:center; }
.breadcrumb { flex-wrap:wrap; margin-bottom:1.5rem; }
.detail-heading { font-size:var(--text-xl); margin-bottom:1rem; }
.table-wrap { overflow-x:auto; border:1px solid var(--border); border-radius:var(--radius-xl); }
.spec-table { border-collapse:collapse; width:100%; background:var(--surface); font-size:var(--text-sm); text-align:right; }
.spec-table th,.spec-table td { padding:1rem; border-bottom:1px solid var(--border); vertical-align:top; }
.spec-table th { width:42%; color:var(--text-2); font-weight:600; }
.spec-table tr:last-child>* { border-bottom:0; }
.info-note { background:var(--surface); border:1px solid var(--border); border-inline-start:4px solid var(--color-primary-500); border-radius:var(--radius-lg); padding:1.5rem; line-height:1.9; }
.product-body { margin-top:4rem; }
.image-button { padding:0; width:100%; display:block; cursor:zoom-in; }
.image-caption { font-size:var(--text-sm); color:var(--text-3); text-align:center; margin-top:1rem; }
.product-card-media { aspect-ratio:1; }
.product-card-media img,.product-image-main img { object-fit:contain; }
.cert-card-image img { object-fit:contain; padding:1rem; }
.article-content h1 { font-size:clamp(2rem,5vw,3rem); margin-block:1rem 2rem; }
.article-hero-image { aspect-ratio:3/2; background:var(--surface-2); }
.article-hero-image img { object-fit:contain; }
.article-content>.info-note { margin-block:2rem; }
.article-content>.btn-link { margin-top:2rem; }
.lightbox { border:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; color:white; border-radius:0; background:rgba(0,0,0,.88); opacity:1; pointer-events:auto; }
.lightbox:not([open]) { display:none; }
.lightbox[open] { display:flex; }
.lightbox::backdrop { background:rgba(0,0,0,.7); }
.lightbox img { transform:none; }
.lightbox-close { position:absolute; top:1rem; left:1rem; font-size:2rem; width:48px; height:48px; border-radius:50%; background:#fff; color:#142015; }
.honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form-status { font-size:var(--text-sm); line-height:1.9; overflow-wrap:anywhere; }
.form-status:empty { display:none; }
.form-status.is-success { color:var(--color-primary-500); }
.form-status.is-error { color:#c54535; }
.contact-item-text { min-width:0; overflow-wrap:anywhere; }
main:focus { outline:none; }
.hero-actions .btn { white-space:normal; text-align:center; }
.mobile-nav { overflow-y:auto; max-height:calc(100dvh - var(--header-h)); }
@media (max-width:1024px) {
  .nav,.header-actions .desktop-only { display:none; }
  .menu-toggle { display:inline-flex; }
}
@media (max-width:480px) {
  .cert-grid { grid-template-columns:1fr; }
  .stats { padding:1.5rem; grid-template-columns:1fr; }
  .contact-form { padding:1.25rem; }
  .product-info { min-width:0; }
  .page-header h1 { font-size:clamp(2rem,10vw,3rem); }
  .about-features { grid-template-columns:1fr; }
}
@media (scripting:none) {
  .reveal,.reveal-left,.reveal-right,.reveal-fade,.reveal-stagger>* { opacity:1; transform:none; }
  .menu-toggle { display:none; }
  .site-header { position:static; }
  .nav { display:block; }
  .nav-list { flex-wrap:wrap; font-size:.8rem; }
}
@media print {
  .site-header,.site-footer,.skip-link,.filter-chips,.hero-actions,.lightbox { display:none; }
  .reveal,.reveal-stagger>* { opacity:1; transform:none; }
  body { background:white; color:black; }
  .product-detail { grid-template-columns:1fr 1fr; }
  .product-gallery { position:static; }
  .section { padding-block:1rem; }
}
