:root{
  --ns-blue:#123d7a;
  --ns-blue-2:#0b2d5f;
  --ns-blue-3:#071d3d;
  --ns-orange:#e8471d;
  --ns-orange-2:#f36b2f;
  --ns-gold:#f4b51d;
  --ns-ink:#142033;
  --ns-muted:#62738a;
  --ns-soft:#f4f8fc;
  --ns-soft-blue:#eaf2fa;
  --ns-line:#dce6ef;
  --ns-white:#fff;
  --ns-success:#0a8f5b;
  --ns-danger:#c7382c;
  --ns-radius:24px;
  --ns-radius-sm:16px;
  --ns-shadow:0 24px 70px rgba(14,45,82,.12);
  --ns-shadow-soft:0 12px 36px rgba(14,45,82,.08);
  --ns-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

html{scroll-behavior:smooth;scroll-padding-top:100px}
body{font-family:var(--ns-font);color:var(--ns-ink);background:#fff;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.public-body{min-height:100vh;overflow-x:hidden}
a{text-decoration:none}
button,input,textarea,select{font:inherit}
img{max-width:100%}
::selection{background:rgba(232,71,29,.18);color:var(--ns-blue-3)}

.page-progress{position:fixed;z-index:2000;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--ns-orange),var(--ns-gold));box-shadow:0 0 14px rgba(232,71,29,.55);transition:width .2s ease,opacity .25s ease;opacity:0}
.page-progress.active{opacity:1}

.site-header{position:sticky;top:0;z-index:1030;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,230,239,.75);transition:box-shadow .3s ease,background .3s ease}
.site-header.scrolled{background:rgba(255,255,255,.96);box-shadow:0 8px 30px rgba(12,45,83,.08)}
.ns-navbar{min-height:82px;padding:.45rem 0}
.ns-brand{display:flex;align-items:center;gap:.65rem;margin-right:1.25rem}
.ns-brand img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(8,42,83,.12));transition:transform .3s ease}
.ns-brand:hover img{transform:rotate(-3deg) scale(1.04)}
.ns-brand-copy{display:flex;flex-direction:column;line-height:1.05}
.ns-brand-copy strong{font-size:.98rem;letter-spacing:.075em;color:var(--ns-blue-2);font-weight:900}
.ns-brand-copy small{margin-top:.28rem;font-size:.7rem;color:var(--ns-muted);font-weight:650;letter-spacing:.02em}
.ns-navbar .nav-link{color:#304660;font-weight:750;font-size:.92rem;padding:.7rem .82rem!important;border-radius:12px;transition:color .2s ease,background .2s ease}
.ns-navbar .nav-link:hover,.ns-navbar .nav-link:focus{color:var(--ns-blue);background:var(--ns-soft-blue)}
.ns-navbar .nav-admin{color:var(--ns-orange)}
.nav-cta{white-space:nowrap}
.ns-toggler{width:46px;height:42px;border:0;border-radius:13px;background:var(--ns-soft);display:none;padding:10px}
.ns-toggler:focus{box-shadow:0 0 0 4px rgba(18,61,122,.12)}
.ns-toggler span{display:block;height:2px;background:var(--ns-blue);border-radius:4px;margin:5px 0}

.ns-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border-radius:14px;padding:.82rem 1.25rem;font-weight:800;letter-spacing:-.01em;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}
.ns-btn:hover{transform:translateY(-2px)}
.ns-btn-primary{background:linear-gradient(135deg,var(--ns-orange),var(--ns-orange-2));border-color:transparent;color:#fff;box-shadow:0 12px 26px rgba(232,71,29,.24)}
.ns-btn-primary:hover,.ns-btn-primary:focus{color:#fff;box-shadow:0 16px 32px rgba(232,71,29,.32);background:linear-gradient(135deg,#d93c14,var(--ns-orange))}
.ns-btn-outline{background:#fff;border-color:var(--ns-line);color:var(--ns-blue)}
.ns-btn-outline:hover{background:var(--ns-soft-blue);border-color:#bfd2e4;color:var(--ns-blue)}
.ns-btn-light{background:#fff;color:var(--ns-blue-2);box-shadow:0 12px 30px rgba(0,0,0,.12)}
.ns-btn-light:hover{background:#fff;color:var(--ns-orange)}

.ns-kicker{display:inline-flex;align-items:center;gap:.55rem;color:rgba(255,255,255,.76);font-size:.76rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.ns-kicker>span{display:inline-block;width:24px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--ns-orange),var(--ns-gold))}
.ns-kicker.dark{color:var(--ns-blue)}
.ns-kicker.light{color:rgba(255,255,255,.78)}

/* Hero */
.catalog-hero{position:relative;background:linear-gradient(128deg,#071d3d 0%,#0b2f63 50%,#14477f 100%);min-height:660px;color:#fff;isolation:isolate}
.catalog-hero::after{content:"";position:absolute;inset:auto -15% -160px 25%;height:330px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0;transform:rotate(-2deg);z-index:-1}
.hero-row{min-height:650px;padding:4.4rem 0 6.2rem}
.hero-copy{max-width:720px}
.hero-copy h1{font-size:clamp(3rem,5.7vw,5.7rem);line-height:.96;letter-spacing:-.055em;font-weight:900;margin:1.15rem 0 1.4rem;text-wrap:balance}
.hero-copy h1::after{content:".";color:var(--ns-orange)}
.hero-lead{max-width:650px;color:rgba(255,255,255,.78);font-size:clamp(1.08rem,1.5vw,1.25rem);line-height:1.7;margin-bottom:1.75rem}
.hero-search{position:relative;display:flex;align-items:center;gap:.6rem;background:#fff;padding:.55rem;border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.2);max-width:730px}
.hero-search-icon{width:42px;height:42px;display:grid;place-items:center;color:#607891;flex:0 0 auto}
.hero-search input{flex:1;min-width:0;border:0;outline:0;padding:.78rem .2rem;color:var(--ns-ink);font-size:1rem;background:transparent}
.hero-search input::placeholder{color:#91a0b1}
.hero-search .ns-btn{min-width:112px}
.search-status{font-size:.77rem;color:rgba(255,255,255,.55);margin:.65rem .45rem 0;min-height:1.1rem}
.hero-metrics{display:flex;gap:2rem;margin-top:2.1rem;flex-wrap:wrap}
.hero-metrics div{display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.17);padding-left:1rem}
.hero-metrics strong{font-size:1.3rem;font-weight:900;color:#fff}
.hero-metrics span{font-size:.76rem;color:rgba(255,255,255,.6)}
.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none;z-index:-1}
.hero-orb-one{width:480px;height:480px;right:-130px;top:-180px;background:radial-gradient(circle,rgba(244,181,29,.18),transparent 68%)}
.hero-orb-two{width:520px;height:520px;left:-300px;bottom:-250px;background:radial-gradient(circle,rgba(232,71,29,.18),transparent 66%)}

.hero-showcase{position:relative;height:530px;max-width:620px;margin-left:auto;perspective:1200px}
.showcase-backdrop{position:absolute;width:380px;height:380px;border-radius:50%;right:70px;top:65px;background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 0 70px rgba(255,255,255,.06)}
.showcase-backdrop::before,.showcase-backdrop::after{content:"";position:absolute;border-radius:50%;inset:38px;border:1px dashed rgba(255,255,255,.14)}
.showcase-backdrop::after{inset:85px}
.floating-card{position:absolute;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.7);border-radius:22px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.28);color:var(--ns-ink);animation:floatCard 6.5s ease-in-out infinite;will-change:transform}
.floating-card img{display:block;width:100%;height:100%;object-fit:cover}
.floating-card>div{position:absolute;left:12px;right:12px;bottom:12px;padding:.65rem .75rem;border-radius:12px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);display:flex;flex-direction:column}
.floating-card span{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ns-orange);font-weight:850}
.floating-card strong{font-size:.9rem;color:var(--ns-blue-2)}
.floating-card-main{width:330px;height:265px;right:55px;top:145px;z-index:3;transform:rotate(-2deg);animation-delay:-1s}
.floating-card-top{width:220px;height:180px;right:0;top:15px;z-index:2;transform:rotate(5deg);animation-delay:-3s}
.floating-card-bottom{width:230px;height:188px;left:15px;bottom:8px;z-index:4;transform:rotate(-5deg);animation-delay:-4.2s}
.showcase-badge{position:absolute;z-index:6;left:45px;top:85px;padding:.65rem .9rem;border:1px solid rgba(255,255,255,.18);background:rgba(7,29,61,.56);backdrop-filter:blur(10px);border-radius:999px;font-weight:750;font-size:.77rem;color:rgba(255,255,255,.88);display:flex;align-items:center;gap:.55rem}
.pulse-dot{width:8px;height:8px;background:#68e4a7;border-radius:50%;box-shadow:0 0 0 0 rgba(104,228,167,.6);animation:pulse 2s infinite}
@keyframes floatCard{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(104,228,167,.55)}70%{box-shadow:0 0 0 9px rgba(104,228,167,0)}100%{box-shadow:0 0 0 0 rgba(104,228,167,0)}}

/* Categories and results */
.category-section{position:relative;padding:5rem 0 2.4rem;background:#fff}
.section-intro h2,.results-heading h2,.related-section h2{font-size:clamp(2rem,3.5vw,3.15rem);letter-spacing:-.045em;font-weight:900;color:var(--ns-blue-3);margin:.65rem 0 .45rem}
.section-intro p,.results-heading p,.related-section p{color:var(--ns-muted);margin:0;font-size:1rem}
.pdf-chip{display:inline-flex;align-items:center;gap:.55rem;padding:.72rem 1rem;border:1px solid var(--ns-line);border-radius:999px;color:var(--ns-blue);font-weight:780;font-size:.86rem;background:#fff;box-shadow:var(--ns-shadow-soft);transition:.2s ease}
.pdf-chip:hover{color:var(--ns-orange);border-color:#efc8bc;transform:translateY(-2px)}
.category-scroller{display:flex;gap:.65rem;overflow-x:auto;padding:.9rem .1rem .9rem;scrollbar-width:thin;scrollbar-color:#c9d7e4 transparent;margin-top:1.4rem}
.category-chip{display:inline-flex;align-items:center;gap:.55rem;white-space:nowrap;border:1px solid var(--ns-line);border-radius:999px;padding:.72rem 1rem;color:#445b74;background:#fff;font-weight:760;font-size:.86rem;transition:.22s ease}
.category-chip:hover{color:var(--ns-blue);border-color:#aec5d9;background:var(--ns-soft)}
.category-chip.active{background:var(--ns-blue-2);border-color:var(--ns-blue-2);color:#fff;box-shadow:0 10px 24px rgba(11,45,95,.19)}
.category-dot{width:7px;height:7px;border-radius:50%;background:#b7c5d3;transition:.2s ease}
.category-chip.active .category-dot{background:var(--ns-orange);box-shadow:0 0 0 4px rgba(232,71,29,.16)}

.catalog-results-section{padding:2rem 0 6.5rem;background:linear-gradient(#fff 0,var(--ns-soft) 35%,#f7fafc 100%);min-height:650px}
.results-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;padding:1rem 0 2rem}
.results-heading h2{font-size:clamp(2rem,3vw,2.8rem)}
.results-heading p strong{color:var(--ns-orange);font-weight:900}
.clear-filters{display:inline-flex;align-items:center;gap:.4rem;color:var(--ns-blue);font-weight:780;font-size:.86rem;padding:.7rem .85rem;border-radius:12px;transition:.2s ease}
.clear-filters span{font-size:1.2rem;line-height:1}
.clear-filters:hover{background:#fff;box-shadow:var(--ns-shadow-soft);color:var(--ns-orange)}

.product-card-modern{background:#fff;border:1px solid rgba(211,225,237,.9);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 26px rgba(12,49,88,.055);transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,border-color .32s ease;transform:translateZ(0)}
.product-card-modern:hover{transform:translateY(-8px);box-shadow:0 26px 55px rgba(12,49,88,.13);border-color:#c6d8e8}
.product-media-modern{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#eef4f8}
.product-media-modern img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .35s ease}
.product-card-modern:hover .product-media-modern img{transform:scale(1.055);filter:saturate(1.04)}
.media-gradient{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,29,61,.16),transparent 45%);pointer-events:none}
.featured-badge{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);padding:.45rem .68rem;font-size:.7rem;font-weight:850;color:var(--ns-orange);box-shadow:0 7px 20px rgba(0,0,0,.1)}
.featured-badge span{color:var(--ns-gold)}
.media-open{position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:var(--ns-blue);opacity:0;transform:translateY(8px);transition:.25s ease;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.media-open svg{width:20px;height:20px}
.product-card-modern:hover .media-open{opacity:1;transform:translateY(0)}
.product-body-modern{padding:1.25rem 1.25rem 1.15rem;display:flex;flex-direction:column;flex:1}
.product-meta-row{display:flex;justify-content:space-between;align-items:center;gap:.7rem;min-height:25px;margin-bottom:.55rem}
.product-category-modern{font-size:.7rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:var(--ns-orange)}
.product-brand-modern{font-size:.7rem;font-weight:750;color:#8a9bad;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-body-modern h3{font-size:1.28rem;line-height:1.18;letter-spacing:-.027em;font-weight:880;margin:0 0 .65rem}
.product-body-modern h3 a{color:var(--ns-blue-3);transition:.2s ease}
.product-body-modern h3 a:hover{color:var(--ns-orange)}
.product-body-modern>p{color:var(--ns-muted);font-size:.88rem;line-height:1.58;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.key-data-modern{margin-top:auto;padding:.78rem .85rem;background:linear-gradient(135deg,#f4f8fc,#edf4fb);border:1px solid #e1ebf4;border-radius:13px;display:flex;flex-direction:column;gap:.16rem}
.key-data-modern span{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:#7c8fa3;font-weight:850}
.key-data-modern strong{font-size:.86rem;color:var(--ns-blue);line-height:1.35}
.product-actions-modern{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;padding-top:.95rem;border-top:1px solid #edf2f6}
.detail-link{font-size:.83rem;color:var(--ns-blue);font-weight:850;display:inline-flex;gap:.4rem;align-items:center}
.detail-link span{transition:transform .2s ease}
.detail-link:hover{color:var(--ns-orange)}
.detail-link:hover span{transform:translateX(4px)}
.quick-view-btn{display:inline-flex;align-items:center;gap:.35rem;border:0;background:transparent;color:#74869a;font-size:.75rem;font-weight:750;padding:.35rem;transition:.2s ease}
.quick-view-btn svg{width:17px;height:17px}
.quick-view-btn:hover{color:var(--ns-orange)}

.catalog-pagination{display:flex;justify-content:center;align-items:center;gap:.45rem;margin-top:3rem}
.page-number,.page-control{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--ns-line);background:#fff;color:var(--ns-blue);border-radius:12px;font-weight:800;transition:.2s ease}
.page-number:hover,.page-control:hover{border-color:#b7cbdd;transform:translateY(-2px);box-shadow:var(--ns-shadow-soft);color:var(--ns-orange)}
.page-number.active{background:var(--ns-blue);border-color:var(--ns-blue);color:#fff;box-shadow:0 10px 22px rgba(18,61,122,.2)}
.empty-state-modern{max-width:680px;margin:2.5rem auto;text-align:center;padding:3.5rem 2rem;background:#fff;border:1px solid var(--ns-line);border-radius:var(--ns-radius);box-shadow:var(--ns-shadow-soft)}
.empty-icon{width:72px;height:72px;border-radius:22px;background:var(--ns-soft-blue);color:var(--ns-blue);display:grid;place-items:center;margin:0 auto 1.2rem}
.empty-icon svg{width:34px;height:34px}
.empty-state-modern h3{font-weight:880;color:var(--ns-blue-3)}
.empty-state-modern p{color:var(--ns-muted);max-width:480px;margin:0 auto 1.5rem}

/* AJAX loading */
[data-catalog-results]{position:relative;transition:opacity .18s ease,transform .18s ease}
[data-catalog-results].loading{opacity:.38;transform:translateY(3px);pointer-events:none}
[data-catalog-results].loading::after{content:"";position:absolute;left:50%;top:120px;width:44px;height:44px;margin-left:-22px;border:4px solid rgba(18,61,122,.15);border-top-color:var(--ns-orange);border-radius:50%;animation:spin .7s linear infinite;z-index:3}
@keyframes spin{to{transform:rotate(360deg)}}

/* CTA */
.experience-strip{padding:0 0 6.5rem;background:#f7fafc}
.experience-card{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr auto;gap:1.7rem;align-items:center;padding:2.4rem 2.6rem;border-radius:28px;background:linear-gradient(115deg,var(--ns-blue-3),var(--ns-blue) 70%,#1b5591);color:#fff;box-shadow:0 28px 70px rgba(7,29,61,.22)}
.experience-card::after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:10%;bottom:-220px;border:52px solid rgba(255,255,255,.055)}
.experience-icon{width:74px;height:74px;border-radius:20px;background:rgba(255,255,255,.1);display:grid;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.11)}
.experience-icon svg{width:36px;height:36px}
.experience-card h2{font-size:clamp(1.8rem,3vw,2.65rem);font-weight:900;letter-spacing:-.04em;margin:.5rem 0 .35rem}
.experience-card p{margin:0;color:rgba(255,255,255,.68);max-width:760px}
.experience-card .ns-btn{position:relative;z-index:2}

/* Detail */
.detail-hero{position:relative;padding:2rem 0 5.5rem;background:linear-gradient(180deg,#f7fafc,#fff);overflow:hidden}
.detail-orb{position:absolute;width:560px;height:560px;border-radius:50%;right:-320px;top:0;background:radial-gradient(circle,rgba(18,61,122,.1),transparent 66%)}
.ns-breadcrumb{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;font-size:.78rem;margin:.3rem 0 2rem;color:#8797a8}
.ns-breadcrumb a{color:#60758a;font-weight:700}
.ns-breadcrumb a:hover{color:var(--ns-orange)}
.ns-breadcrumb span[aria-current]{color:var(--ns-blue);font-weight:750}
.product-gallery-modern{position:relative}
.gallery-stage{position:relative;background:#fff;border:1px solid var(--ns-line);border-radius:28px;overflow:hidden;min-height:560px;display:grid;place-items:center;box-shadow:var(--ns-shadow)}
.gallery-stage>img{width:100%;height:100%;max-height:690px;object-fit:contain;background:#fff;transition:opacity .25s ease,transform .45s ease;padding:.8rem}
.gallery-stage:hover>img{transform:scale(1.018)}
.gallery-zoom{position:absolute;right:18px;bottom:18px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(211,225,237,.9);background:rgba(255,255,255,.94);color:var(--ns-blue);display:grid;place-items:center;box-shadow:0 10px 28px rgba(13,53,94,.14);transition:.2s ease}
.gallery-zoom:hover{transform:scale(1.06);color:var(--ns-orange)}
.gallery-zoom svg{width:22px;height:22px}
.gallery-thumbs-modern{display:flex;gap:.7rem;overflow-x:auto;padding:.9rem .2rem .2rem}
.gallery-thumb-modern{flex:0 0 92px;height:74px;border:2px solid transparent;border-radius:13px;background:#fff;padding:4px;overflow:hidden;transition:.2s ease}
.gallery-thumb-modern img{width:100%;height:100%;object-fit:cover;border-radius:9px}
.gallery-thumb-modern.active{border-color:var(--ns-orange);box-shadow:0 6px 15px rgba(232,71,29,.14)}
.detail-summary-modern{position:sticky;top:112px;padding:1.25rem .2rem}
.detail-summary-modern h1{font-size:clamp(2.7rem,4.8vw,4.4rem);line-height:.98;letter-spacing:-.055em;font-weight:930;color:var(--ns-blue-3);margin:1rem 0 .7rem}
.brand-line-modern{display:inline-flex;padding:.45rem .7rem;border-radius:9px;background:var(--ns-soft-blue);color:var(--ns-blue);font-size:.78rem;font-weight:800;margin-bottom:1rem}
.detail-lead{font-size:1.08rem;line-height:1.72;color:var(--ns-muted);margin:1rem 0 1.2rem}
.detail-key-spec{padding:1rem 1.1rem;border:1px solid #dbe7f1;background:#fff;border-left:4px solid var(--ns-orange);border-radius:13px;display:flex;flex-direction:column;gap:.25rem;box-shadow:var(--ns-shadow-soft)}
.detail-key-spec span{font-size:.67rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#8596a8}
.detail-key-spec strong{color:var(--ns-blue-2);font-size:1rem}
.detail-actions-modern{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.45rem 0}
.detail-trust-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;padding:1rem 0 0;border-top:1px solid var(--ns-line);font-size:.76rem;color:#60758a}
.detail-trust-row>div{display:flex;align-items:center;gap:.45rem}
.trust-icon{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e7f7ef;color:var(--ns-success);font-size:.68rem;font-weight:900}
.documents-modern{margin-top:1.25rem;border:1px solid var(--ns-line);border-radius:14px;padding:1rem}
.documents-modern>span{display:block;color:#8a9bad;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;margin-bottom:.4rem}
.documents-modern a{display:flex;justify-content:space-between;padding:.55rem 0;color:var(--ns-blue);border-top:1px solid #edf2f6}
.documents-modern a:first-of-type{border-top:0}

.detail-content-section{padding:6rem 0;background:#fff}
.detail-section-title,.spec-card-modern h2{font-size:clamp(2rem,3vw,2.8rem);font-weight:900;letter-spacing:-.04em;color:var(--ns-blue-3);margin:.6rem 0 1.25rem}
.detail-copy-modern{color:var(--ns-muted);font-size:1.04rem;line-height:1.8;white-space:pre-line}
.source-chip{display:inline-flex;margin-top:1rem;padding:.55rem .75rem;background:var(--ns-soft);border:1px solid var(--ns-line);border-radius:10px;color:#7a8da0;font-size:.73rem}
.spec-card-modern{background:linear-gradient(150deg,#f7fafc,#fff);border:1px solid var(--ns-line);border-radius:24px;padding:1.7rem 1.8rem;box-shadow:var(--ns-shadow-soft)}
.spec-list-modern{margin:0}
.spec-list-modern>div{display:grid;grid-template-columns:minmax(120px,42%) 1fr;gap:1rem;padding:.85rem 0;border-bottom:1px solid #e5edf4}
.spec-list-modern>div:last-child{border-bottom:0}
.spec-list-modern dt{color:var(--ns-blue-2);font-weight:820;font-size:.86rem}
.spec-list-modern dd{margin:0;color:var(--ns-muted);font-size:.86rem;text-align:right}

.quote-section{position:relative;padding:6.5rem 0;background:linear-gradient(126deg,#071d3d,#0b2f63 60%,#12437b);color:#fff;overflow:hidden}
.quote-shape{position:absolute;right:-160px;top:-180px;width:570px;height:570px;border-radius:50%;border:90px solid rgba(255,255,255,.035)}
.quote-section h2{font-size:clamp(2.4rem,4vw,3.8rem);line-height:1.02;letter-spacing:-.05em;font-weight:900;margin:.8rem 0 1rem}
.quote-section h2 span{color:#ff8b5d}
.quote-section>.container-xxl>.row>.col-lg-5>p{color:rgba(255,255,255,.68);font-size:1.02rem;line-height:1.72}
.quote-product-modern{display:flex;gap:.9rem;align-items:center;margin-top:1.5rem;padding:.85rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.065);border-radius:16px;backdrop-filter:blur(7px)}
.quote-product-modern img{width:72px;height:62px;border-radius:11px;object-fit:cover;background:#fff}
.quote-product-modern div{display:flex;flex-direction:column;min-width:0}
.quote-product-modern small{color:rgba(255,255,255,.48);font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}
.quote-product-modern strong{font-size:.9rem;margin:.1rem 0;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quote-product-modern span{font-size:.72rem;color:rgba(255,255,255,.65)}
.quote-form-modern{background:#fff;color:var(--ns-ink);padding:1.65rem;border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.quote-form-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1.2rem}
.quote-form-heading span:first-child{font-size:.68rem;color:var(--ns-orange);font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.quote-form-heading h3{margin:.15rem 0 0;font-size:1.65rem;font-weight:900;letter-spacing:-.035em;color:var(--ns-blue-3)}
.secure-pill{display:inline-flex;padding:.45rem .65rem;border-radius:999px;background:#eaf8f1;color:var(--ns-success)!important;font-size:.66rem!important;letter-spacing:0!important;text-transform:none!important;white-space:nowrap}
.quote-form-modern .form-label{font-size:.76rem;font-weight:800;color:#425b73;margin-bottom:.4rem}
.ns-input{border:1px solid #d6e1eb;border-radius:12px;padding:.78rem .85rem;color:var(--ns-ink);background:#fbfdff;transition:.2s ease}
.ns-input:focus{border-color:#8db3d6;box-shadow:0 0 0 4px rgba(18,61,122,.09);background:#fff}
.ns-input.is-invalid{border-color:#e2877b;background:#fffafa}
.field-error{min-height:1rem;margin-top:.22rem;font-size:.7rem;color:var(--ns-danger)}
.ajax-form-message{display:none;margin-bottom:1rem;padding:.8rem 1rem;border-radius:12px;font-size:.82rem;font-weight:700}
.ajax-form-message.show{display:block}
.ajax-form-message.error{background:#fff0ef;color:#a82d23;border:1px solid #f1c3be}
.ajax-form-message.success{background:#eaf8f1;color:#087449;border:1px solid #bde7d2}
.quote-submit-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid #e9eff4}
.quote-submit-row small{color:#8798a9;font-size:.68rem;max-width:360px;line-height:1.45}
.honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.related-section{padding:6rem 0;background:#f7fafc}

/* Quick view */
.quick-modal-content{border:0;border-radius:26px;overflow:hidden;box-shadow:0 35px 100px rgba(5,25,52,.3)}
.quick-modal-close{position:absolute;right:18px;top:18px;z-index:5;background-color:#fff;opacity:1;border-radius:50%;padding:.7rem;box-shadow:0 8px 24px rgba(8,33,67,.13)}
.quick-view-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:540px}
.quick-view-media{background:#f2f6f9;display:grid;place-items:center;padding:1rem}
.quick-view-media img{width:100%;height:100%;max-height:620px;object-fit:contain;border-radius:18px}
.quick-view-copy{padding:3rem 2.5rem;display:flex;flex-direction:column;justify-content:center}
.quick-view-copy h2{font-size:clamp(2rem,3vw,3rem);font-weight:900;line-height:1;letter-spacing:-.045em;color:var(--ns-blue-3);margin:.8rem 0 .7rem}
.quick-view-copy>p{color:var(--ns-muted);line-height:1.65;margin:1rem 0}
.quick-brand{font-size:.76rem;color:#8192a4;font-weight:750}
.quick-key{padding:.8rem 1rem;background:var(--ns-soft-blue);border-radius:12px;display:flex;flex-direction:column}
.quick-key span{font-size:.62rem;color:#7c91a7;text-transform:uppercase;font-weight:850;letter-spacing:.08em}
.quick-key strong{font-size:.9rem;color:var(--ns-blue)}
.quick-specs{margin-top:1rem;border-top:1px solid var(--ns-line)}
.quick-specs>div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--ns-line);font-size:.76rem}
.quick-specs span{color:#7b8ea1}.quick-specs strong{text-align:right;color:var(--ns-blue-2)}
.quick-loading{height:500px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.8rem;color:var(--ns-muted)}
.quick-loading .spinner-border{color:var(--ns-orange)}

/* Image lightbox */
.image-lightbox{position:fixed;z-index:2000;inset:0;background:rgba(3,13,28,.92);backdrop-filter:blur(8px);display:grid;place-items:center;padding:3rem;opacity:0;visibility:hidden;transition:.25s ease}
.image-lightbox.open{opacity:1;visibility:visible}
.image-lightbox img{max-width:min(1150px,94vw);max-height:90vh;object-fit:contain;border-radius:16px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.lightbox-close{position:absolute;right:24px;top:20px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;font-size:2rem;line-height:1}

/* Thanks / account */
.thanks-modern{min-height:72vh;display:grid;place-items:center;background:linear-gradient(145deg,#f6f9fc,#fff)}
.thanks-card{max-width:720px;text-align:center;padding:3.4rem;background:#fff;border:1px solid var(--ns-line);border-radius:28px;box-shadow:var(--ns-shadow)}
.thanks-check{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:0 auto 1.2rem;background:#e8f8f0;color:var(--ns-success);font-size:2rem;font-weight:900}
.thanks-card h1{font-size:clamp(2.2rem,4vw,3.3rem);font-weight:900;letter-spacing:-.045em;color:var(--ns-blue-3);margin:.8rem 0}
.thanks-card p{color:var(--ns-muted);font-size:1.05rem;line-height:1.7;margin-bottom:1.5rem}
.auth-section{min-height:72vh;padding:5rem 0;background:linear-gradient(145deg,#edf4fa,#fff)}
.auth-card{max-width:520px;margin:auto;background:#fff;border:1px solid var(--ns-line);border-radius:24px;padding:2rem;box-shadow:var(--ns-shadow)}
.auth-card h1{font-weight:900;color:var(--ns-blue-3);letter-spacing:-.04em}
.auth-card p{color:var(--ns-muted)}
.auth-card label{display:flex;flex-direction:column;gap:.35rem;margin-top:1rem;font-size:.78rem;font-weight:800;color:#435c73}
.auth-card input{border:1px solid #d5e0ea;border-radius:12px;padding:.8rem .85rem;outline:0}
.auth-card input:focus{border-color:#8aafd1;box-shadow:0 0 0 4px rgba(18,61,122,.08)}
.auth-card .check-row{flex-direction:row;align-items:center}.auth-card .check-row input{width:auto}.auth-card .button{margin-top:1.1rem;width:100%;border:0;background:var(--ns-orange);color:#fff;padding:.85rem 1rem;border-radius:13px;font-weight:850}
.validation-summary,.field-errors{color:var(--ns-danger);font-size:.78rem}

/* Footer */
.site-footer{position:relative;overflow:hidden;background:#061a37;color:#fff}
.footer-glow{position:absolute;width:600px;height:600px;border-radius:50%;left:-300px;bottom:-380px;background:radial-gradient(circle,rgba(232,71,29,.18),transparent 65%)}
.footer-brand{display:inline-flex;align-items:center;gap:.8rem;color:#fff;margin-bottom:1.1rem}
.footer-brand img{width:74px;height:74px;object-fit:contain;filter:drop-shadow(0 7px 15px rgba(0,0,0,.18))}
.footer-brand span{display:flex;flex-direction:column}.footer-brand strong{letter-spacing:.08em;font-size:1.05rem}.footer-brand small{font-size:.72rem;color:rgba(255,255,255,.6);margin-top:.2rem}
.footer-copy{max-width:520px;color:rgba(255,255,255,.58);font-size:.9rem;line-height:1.7}
.footer-pdf{display:inline-flex;gap:.4rem;color:#ff8a5e;font-size:.82rem;font-weight:800;margin-top:.3rem}.footer-pdf:hover{color:#fff}
.footer-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.4);font-weight:850;margin-bottom:.9rem}
.site-footer .col-lg-2>a,.footer-link-button{display:block;color:rgba(255,255,255,.72);font-size:.84rem;font-weight:700;padding:.34rem 0;transition:.2s ease;border:0;background:transparent;text-align:left}
.site-footer .col-lg-2>a:hover,.footer-link-button:hover{color:#fff;transform:translateX(3px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.2rem 0 1.5rem;color:rgba(255,255,255,.38);font-size:.72rem}

/* Toast */
.ns-toast-container{z-index:2100}
.ns-toast{min-width:300px;border:0;border-radius:14px;box-shadow:0 18px 50px rgba(8,37,73,.18);overflow:hidden;background:#fff}
.ns-toast .toast-body{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;color:var(--ns-ink);font-size:.82rem}
.toast-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#e9f8f1;color:var(--ns-success);font-weight:900}
.ns-toast.error .toast-icon{background:#fff0ef;color:var(--ns-danger)}

/* Reveal motion */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
.product-col.reveal:nth-child(2){transition-delay:.06s}.product-col.reveal:nth-child(3){transition-delay:.12s}.product-col.reveal:nth-child(4){transition-delay:.03s}.product-col.reveal:nth-child(5){transition-delay:.09s}.product-col.reveal:nth-child(6){transition-delay:.15s}

/* =================== ADMIN =================== */
.admin-body{background:#f4f7fb;min-height:100vh;color:var(--ns-ink)}
.admin-shell{display:grid;grid-template-columns:265px minmax(0,1fr);min-height:100vh}
.admin-sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#061b39,#0a2d5c);padding:1.1rem;color:#fff;display:flex;flex-direction:column;z-index:30}
.admin-logo{display:flex;align-items:center;gap:.7rem;color:#fff;padding:.5rem .6rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:1rem}
.admin-logo img{width:52px;height:52px;object-fit:contain}.admin-logo span{font-weight:900;font-size:.86rem;line-height:1.1;letter-spacing:.05em}.admin-logo small{display:block;color:rgba(255,255,255,.5);font-size:.61rem;margin-top:.2rem;letter-spacing:.03em}
.admin-nav{display:flex;flex-direction:column;gap:.25rem}
.admin-nav a{display:flex;align-items:center;gap:.65rem;padding:.75rem .8rem;border-radius:12px;color:rgba(255,255,255,.68);font-size:.84rem;font-weight:760;transition:.2s ease}
.admin-nav a:hover,.admin-nav a.active{background:rgba(255,255,255,.1);color:#fff;transform:translateX(2px)}
.admin-nav .admin-nav-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.06);font-size:.86rem}
.admin-sidebar-bottom{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}
.admin-sidebar-bottom a,.admin-sidebar-bottom button{display:block;width:100%;border:0;background:transparent;text-align:left;color:rgba(255,255,255,.58);padding:.52rem .7rem;font-size:.76rem;font-weight:700;border-radius:9px}.admin-sidebar-bottom a:hover,.admin-sidebar-bottom button:hover{color:#fff;background:rgba(255,255,255,.06)}
.admin-main{min-width:0}
.admin-topbar{position:sticky;top:0;height:72px;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(15px);border-bottom:1px solid var(--ns-line);display:flex;justify-content:space-between;align-items:center;padding:0 2rem}
.admin-topbar strong{font-size:.92rem;color:var(--ns-blue-3)}.admin-topbar span{font-size:.75rem;color:var(--ns-muted);padding:.45rem .65rem;background:var(--ns-soft);border-radius:999px}
.admin-content{padding:2rem;max-width:1600px}
.admin-title{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.4rem}.admin-title h1{font-size:2rem;font-weight:900;letter-spacing:-.04em;color:var(--ns-blue-3);margin:0}.admin-title p{margin:.3rem 0 0;color:var(--ns-muted);font-size:.85rem}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}
.stat-card{background:#fff;border:1px solid var(--ns-line);border-radius:18px;padding:1.2rem;box-shadow:0 8px 24px rgba(12,49,88,.04)}.stat-card span{font-size:.72rem;color:var(--ns-muted);font-weight:750}.stat-card strong{display:block;font-size:2rem;color:var(--ns-blue);font-weight:900;letter-spacing:-.04em;margin-top:.2rem}
.admin-card{background:#fff;border:1px solid var(--ns-line);border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(12,49,88,.04)}
.admin-card-header{padding:1rem 1.2rem;border-bottom:1px solid var(--ns-line);display:flex;justify-content:space-between;align-items:center;gap:1rem}.admin-card-header h2{font-size:1rem;font-weight:850;color:var(--ns-blue-3);margin:0}
.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{padding:.8rem 1rem;border-bottom:1px solid #e8eef4;text-align:left;vertical-align:middle;font-size:.8rem}.admin-table th{background:#f7fafc;color:#6b8095;font-size:.67rem;text-transform:uppercase;letter-spacing:.06em;font-weight:850}.admin-table tbody tr:hover td{background:#fbfdff}.admin-thumb{width:66px;height:50px;object-fit:cover;border-radius:9px;background:#eef4f8}
.status{display:inline-flex;padding:.35rem .55rem;border-radius:999px;font-size:.65rem;font-weight:850}.status.on{background:#e8f8f0;color:#08744a}.status.off{background:#fff0ef;color:#ae3328}.status.new{background:#fff2e9;color:#a65317}
.admin-actions{display:flex;gap:.35rem;flex-wrap:wrap}.mini-button{display:inline-flex;border:1px solid var(--ns-line);background:#fff;color:var(--ns-blue);border-radius:9px;padding:.43rem .62rem;font-size:.72rem;font-weight:800;cursor:pointer}.mini-button:hover{background:var(--ns-soft-blue);color:var(--ns-blue)}.mini-button.danger{color:var(--ns-danger)}
.admin-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.6rem;background:#fff;border:1px solid var(--ns-line);border-radius:15px;padding:.8rem;margin-bottom:1rem}.admin-toolbar input,.admin-toolbar select,.admin-form input,.admin-form textarea,.admin-form select{width:100%;border:1px solid #d5e0e9;border-radius:10px;padding:.68rem .75rem;background:#fff;color:var(--ns-ink);outline:0}.admin-toolbar input:focus,.admin-toolbar select:focus,.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{border-color:#91b2d0;box-shadow:0 0 0 3px rgba(18,61,122,.08)}
.admin-form{background:#fff;border:1px solid var(--ns-line);border-radius:18px;padding:1.4rem;box-shadow:0 8px 28px rgba(12,49,88,.04)}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.admin-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.74rem;font-weight:800;color:#455e75}.admin-form .span-2{grid-column:1/-1}.admin-form textarea{min-height:120px;resize:vertical}.admin-form .spec-textarea{min-height:210px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.form-hint{font-size:.68rem;color:var(--ns-muted);font-weight:500}.check-grid{display:flex;gap:1.2rem;align-items:center}.check-grid label{flex-direction:row;align-items:center}.check-grid input{width:auto}.admin-form-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--ns-line)}
.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:.8rem}.media-item{border:1px solid var(--ns-line);border-radius:13px;overflow:hidden;background:#fff}.media-item img{width:100%;aspect-ratio:4/3;object-fit:cover}.media-meta{padding:.65rem;font-size:.7rem}.media-actions{display:flex;gap:.35rem;padding:0 .65rem .65rem}
.flash{margin-bottom:1rem;padding:.8rem 1rem;border-radius:12px;background:#eaf8f1;color:#08744a;border:1px solid #bde7d2;font-size:.8rem;font-weight:700}.admin-empty{padding:1.6rem;color:var(--ns-muted)}
.detail-list{display:grid;grid-template-columns:180px 1fr}.detail-list div{display:contents}.detail-list dt,.detail-list dd{padding:.75rem 0;border-bottom:1px solid var(--ns-line)}.detail-list dt{font-weight:820;color:var(--ns-blue-2)}.detail-list dd{margin:0}.message-box{padding:1rem;background:var(--ns-soft);border-radius:12px;white-space:pre-wrap}

/* legacy buttons retained for admin views */
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:.65rem .9rem;background:var(--ns-orange);color:#fff;font-size:.78rem;font-weight:820}.button:hover{color:#fff;background:#d93c15}.button-secondary{background:#fff;color:var(--ns-blue);border:1px solid var(--ns-line)}.button-secondary:hover{color:var(--ns-blue);background:var(--ns-soft-blue)}

@media (max-width:1199.98px){
  .hero-copy h1{font-size:4.4rem}.hero-showcase{height:480px}.floating-card-main{width:290px;height:235px}.floating-card-top{width:195px;height:160px}.floating-card-bottom{width:205px;height:168px}
  .admin-shell{grid-template-columns:225px minmax(0,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:991.98px){
  .ns-toggler{display:block}.ns-navbar{min-height:72px}.ns-brand img{width:50px;height:50px}.navbar-collapse{padding:.8rem 0 1rem}.ns-navbar .nav-link{padding:.75rem .4rem!important}.nav-cta{width:100%;margin-top:.4rem}
  .catalog-hero{min-height:auto}.hero-row{min-height:0;padding:4rem 0 6.4rem}.hero-copy h1{font-size:clamp(3rem,10vw,4.7rem)}.catalog-hero::after{height:230px;bottom:-120px}
  .category-section{padding-top:3.5rem}.experience-card{grid-template-columns:auto 1fr}.experience-card .ns-btn{grid-column:2}
  .gallery-stage{min-height:450px}.detail-summary-modern{position:static;padding-top:0}.detail-trust-row{grid-template-columns:1fr}.detail-hero{padding-bottom:4rem}
  .quick-view-grid{grid-template-columns:1fr}.quick-view-media{max-height:380px}.quick-view-copy{padding:2rem}
  .admin-shell{display:block}.admin-sidebar{position:relative;height:auto}.admin-nav{display:grid;grid-template-columns:repeat(4,1fr)}.admin-sidebar-bottom{display:flex;gap:.4rem}.admin-sidebar-bottom a,.admin-sidebar-bottom form{flex:1}.admin-topbar{position:relative}.admin-content{padding:1rem}.admin-toolbar{grid-template-columns:1fr 1fr}.media-grid{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:767.98px){
  html{scroll-padding-top:78px}.site-header{position:sticky}.ns-brand-copy small{display:none}.ns-brand-copy strong{font-size:.85rem}
  .hero-row{padding:3.2rem 0 5.8rem}.hero-copy h1{font-size:clamp(2.8rem,13vw,4.1rem)}.hero-lead{font-size:1rem}.hero-search{display:grid;grid-template-columns:auto 1fr}.hero-search .ns-btn{grid-column:1/-1;width:100%}.hero-metrics{gap:1rem}.hero-metrics div{min-width:92px}.catalog-hero::after{bottom:-135px}
  .category-section{padding-top:2.8rem}.section-intro h2,.results-heading h2{font-size:2.15rem}.category-scroller{margin-left:-.2rem;margin-right:-.2rem}
  .results-heading{align-items:flex-start;flex-direction:column}.catalog-results-section{padding-bottom:4.5rem}
  .product-card-modern:hover{transform:translateY(-4px)}.media-open{opacity:1;transform:none}
  .experience-card{grid-template-columns:1fr;padding:1.7rem}.experience-icon{width:60px;height:60px}.experience-card .ns-btn{grid-column:1;width:100%}
  .detail-hero{padding-top:1.2rem}.gallery-stage{min-height:360px;border-radius:20px}.detail-summary-modern h1{font-size:2.75rem}.detail-actions-modern{flex-direction:column}.detail-actions-modern .ns-btn{width:100%}.detail-content-section,.quote-section,.related-section{padding:4.5rem 0}.spec-list-modern>div{grid-template-columns:1fr;gap:.25rem}.spec-list-modern dd{text-align:left}.quote-form-modern{padding:1.15rem}.quote-submit-row{align-items:stretch;flex-direction:column}.quote-submit-row .ns-btn{width:100%}
  .quick-modal-content{border-radius:0}.quick-view-copy{padding:1.45rem}.quick-view-media{max-height:330px}.quick-view-media img{max-height:310px}.image-lightbox{padding:1rem}.lightbox-close{right:12px;top:12px}
  .footer-brand img{width:62px;height:62px}.site-footer .row{padding-top:3rem!important;padding-bottom:3rem!important}
  .admin-nav{grid-template-columns:repeat(2,1fr)}.admin-sidebar-bottom{display:block}.admin-topbar{padding:0 1rem}.stats-grid{grid-template-columns:1fr 1fr}.admin-form-grid{grid-template-columns:1fr}.admin-form .span-2{grid-column:auto}.admin-toolbar{grid-template-columns:1fr}.media-grid{grid-template-columns:repeat(2,1fr)}.admin-title{align-items:flex-start;flex-direction:column}
}

@media (max-width:479.98px){
  .hero-copy h1{font-size:2.75rem}.hero-metrics{justify-content:space-between;gap:.5rem}.hero-metrics div{padding-left:.65rem}.hero-metrics strong{font-size:1.08rem}.hero-metrics span{font-size:.66rem}
  .category-chip{padding:.65rem .82rem;font-size:.78rem}.product-body-modern{padding:1.05rem}.product-actions-modern{align-items:flex-start;flex-direction:column}.quick-view-btn{padding:.2rem 0}.catalog-pagination{gap:.3rem}.page-number,.page-control{width:38px;height:38px}
  .gallery-stage{min-height:300px}.gallery-thumb-modern{flex-basis:78px;height:64px}.detail-summary-modern h1{font-size:2.35rem}.detail-key-spec{padding:.85rem}.spec-card-modern{padding:1.25rem}.quote-section h2{font-size:2.35rem}
  .stats-grid{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr}.admin-nav{grid-template-columns:1fr 1fr}.admin-logo img{width:44px;height:44px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1!important;transform:none!important}
}

/* =================== V4: contenido completo + AJAX estable =================== */
.detail-content-v4{padding-top:5.5rem}
.detail-content-v4>.container-xxl>.section-intro{max-width:880px;margin-bottom:1.5rem}
.catalog-copy-card{height:100%;background:#fff;border:1px solid var(--ns-line);border-radius:26px;padding:clamp(1.35rem,2.4vw,2.25rem);box-shadow:0 18px 50px rgba(8,43,82,.07)}
.catalog-copy-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;padding-bottom:1.2rem;margin-bottom:1.25rem;border-bottom:1px solid #e6edf4}
.catalog-copy-card-head h3{font-size:clamp(1.8rem,3vw,2.55rem);font-weight:900;letter-spacing:-.045em;color:var(--ns-blue-3);margin:.5rem 0 0}
.source-page-pill{flex:0 0 auto;display:inline-flex;align-items:center;min-height:38px;padding:.48rem .75rem;border-radius:999px;background:var(--ns-soft-blue);border:1px solid #d5e5f2;color:var(--ns-blue);font-size:.72rem;font-weight:850;white-space:nowrap}
.detail-copy-complete{font-size:1rem;line-height:1.78;color:#4f657a;white-space:pre-line}
.spec-card-v4{position:sticky;top:104px;max-height:calc(100vh - 130px);overflow:auto;scrollbar-width:thin;scrollbar-color:#c4d4e2 transparent}
.spec-count-note{margin:-.7rem 0 .8rem;color:#8395a6;font-size:.76rem}

.source-pages-section{padding:6rem 0;background:linear-gradient(180deg,#f4f8fb,#fff)}
.source-pages-section .section-intro{max-width:900px;margin-bottom:2.25rem}
.source-pages-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem;align-items:start}
.source-pages-grid.single{grid-template-columns:minmax(0,860px);justify-content:center}
.source-page-card{margin:0;background:#fff;border:1px solid #dbe6ef;border-radius:24px;padding:.75rem;box-shadow:0 18px 45px rgba(7,37,75,.08)}
.source-page-zoom{position:relative;display:block;width:100%;padding:0;border:0;border-radius:17px;overflow:hidden;background:#eef4f8;cursor:zoom-in;text-align:initial}
.source-page-zoom img{display:block;width:100%;height:auto;aspect-ratio:1020/1320;object-fit:contain;background:#fff;transition:transform .35s ease,filter .35s ease}
.source-page-zoom:hover img{transform:scale(1.012);filter:saturate(1.03)}
.source-page-overlay{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:.65rem;padding:.55rem .65rem .55rem .8rem;border-radius:999px;background:rgba(7,29,61,.88);backdrop-filter:blur(8px);color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.2);pointer-events:none}
.source-page-overlay span{font-size:.68rem;font-weight:750;color:rgba(255,255,255,.72)}
.source-page-overlay strong{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--ns-orange);font-size:.73rem}
.source-page-card figcaption{padding:.72rem .35rem .25rem;color:#788c9f;font-size:.73rem;font-weight:750;text-align:center}

.quick-modal-content{max-height:94vh}
.quick-view-grid-v4{max-height:94vh;min-height:min(680px,90vh)}
.quick-view-copy-v4{justify-content:flex-start;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c6d5e2 transparent}
.quick-view-copy-v4 .quick-short{margin:.8rem 0 1rem}
.quick-section-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;color:var(--ns-orange);font-weight:900;margin:1.2rem 0 .55rem}
.quick-full-copy-wrap{margin-top:.65rem;padding-top:.25rem}
.quick-full-copy{white-space:pre-line;color:#53697d;font-size:.83rem;line-height:1.66;background:#f7fafc;border:1px solid #e1eaf2;border-radius:14px;padding:1rem}
.quick-specs-all{margin-top:.35rem;max-height:none}
.quick-specs-all>div{align-items:flex-start}
.quick-specs-all span{max-width:42%}
.quick-specs-all strong{max-width:58%}
.quick-source-note{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.8rem .9rem;border-radius:12px;background:#fff8f4;border:1px solid #f1d7cb;font-size:.72rem}
.quick-source-note span{color:#9b745f;font-weight:750}.quick-source-note strong{color:var(--ns-orange);text-align:right}

/* El resultado AJAX jamás debe depender de una animación para ser visible. */
[data-catalog-results] .product-col.reveal{opacity:1;transform:none}

@media (max-width:1199.98px){
  .spec-card-v4{position:static;max-height:none;overflow:visible}
}
@media (max-width:991.98px){
  .source-pages-grid{grid-template-columns:1fr}
  .quick-view-grid-v4{max-height:94vh;overflow-y:auto}
  .quick-view-copy-v4{overflow:visible}
}
@media (max-width:575.98px){
  .catalog-copy-card{border-radius:19px;padding:1.15rem}
  .catalog-copy-card-head{flex-direction:column;gap:.6rem}
  .detail-copy-complete{font-size:.92rem;line-height:1.72}
  .source-pages-section{padding:4rem 0}
  .source-page-card{border-radius:18px;padding:.5rem}
  .source-page-zoom{border-radius:13px}
  .source-page-overlay span{display:none}
  .quick-full-copy{font-size:.78rem}
  .quick-source-note{flex-direction:column;gap:.25rem}.quick-source-note strong{text-align:left}
}

/* V4 reduced motion final: mantiene visible el contenido añadido por AJAX. */
@media (prefers-reduced-motion:reduce){
  .source-page-zoom img{transform:none!important;filter:none!important}
  [data-catalog-results] .product-col.reveal,.reveal{opacity:1!important;transform:none!important}
}
