/* Product catalogue — Kinjal Engineering 1.4.0. */
.kp-product { --kp-ink:#10243a; --kp-muted:#586777; --kp-line:#e1e7ee; background:#f8fafc; padding:44px 0 56px; }
.kp-product .sp-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,5vw,72px); }
.kp-product .sp-gallery,.kp-product .sp-details { min-width:0; }
.kp-eyebrow { font-family:var(--font-body); font-size:11px; font-weight:700; letter-spacing:.13em; line-height:1.6; color:#66768a; margin:0 0 16px; }
.kp-product .sp-gallery { position:static; }
.kp-product .sp-gallery__main { border:1px solid #dfe6ee; border-radius:22px; background:#fff; box-shadow:0 16px 40px -26px #22344b55; }
.kp-product .sp-gallery__main-img { padding:36px; }
.kp-product .sp-gallery__badge { top:20px; left:20px; right:auto; color:#44596f; background:#edf2f7; font-size:10px; padding:7px 12px; letter-spacing:.07em; }
.kp-product .kp-no-photo { display:flex; flex-direction:column; align-items:center; gap:18px; padding:68px 30px; text-align:center; color:#9aaabd; font-size:1rem; }
.kp-no-photo strong { font-size:17px; color:#3d536d; font-weight:600; }
.kp-no-photo span { max-width:240px; color:#65768a; line-height:1.65; font-size:13px; }
.kp-zoom { position:absolute; right:18px; bottom:18px; padding:9px 13px; border:1px solid #dfe6ee; border-radius:8px; background:#fff; color:#354a62; font:600 12px var(--font-body); cursor:pointer; }
.kp-product .sp-gallery__thumbs { flex-wrap:nowrap; overflow-x:auto; padding:3px 2px 8px; gap:12px; margin-top:16px; }
.kp-product .sp-gallery__thumb { width:76px; height:76px; border-radius:12px; border:1px solid #dbe3ec; }
.kp-product .sp-gallery__thumb.active { border:2px solid #d60c19; box-shadow:0 0 0 2px #d60c1914; }
.kp-product .sp-gallery__thumb img { object-fit:contain; padding:6px; }
.kp-product .sp-details { gap:18px; }
.kp-product .sp-details>.kp-eyebrow { margin:0; }
.kp-product .sp-cat-link,.kp-information .sp-cat-link { color:#345b80; background:#eaf0f6; text-transform:none; letter-spacing:0; font-weight:500; font-size:12px; padding:5px 11px; }
.kp-product .sp-cat-link:hover,.kp-information .sp-cat-link:hover { color:#fff; background:#234970; }
.kp-product .sp-title { font-family:var(--font-body); font-size:clamp(30px,3.4vw,46px); line-height:1.12; letter-spacing:-.045em; text-transform:none; font-weight:600; color:var(--kp-ink); overflow-wrap:anywhere; }
.kp-product .sp-meta-row { gap:14px; flex-wrap:wrap; }
.kp-product .sp-sku-label { color:#586777; font-size:10px; min-width:44px; }
.kp-product .sp-sku-value { padding:4px 0; background:transparent; font-size:12px; color:#344c63; overflow-wrap:anywhere; }
.kp-product .sp-stock { font-size:11px; letter-spacing:0; font-weight:500; }
.kp-product .sp-stock--out { background:#fff1df; color:#865713; }
.kp-product .sp-divider { margin:0; background:#e1e7ee; }
.kp-product .sp-short-desc { font-size:15px; line-height:1.8; color:var(--kp-muted); }
.kp-product .sp-short-desc p { margin:0; }
.kp-product .sp-cta-box { padding:26px; border:1px solid #152e48; border-radius:18px; background:#10243a; gap:14px; box-shadow:0 18px 36px -28px #10243a; }
.kp-product .sp-cta-box__top { display:block; }
.kp-product .sp-cta-box__label { color:#a3b5c9; font-size:9px; letter-spacing:.14em; margin-bottom:7px; }
.kp-product .sp-cta-box__price-note { color:#fff; font-family:var(--font-body); font-size:23px; font-weight:500; letter-spacing:-.03em; text-transform:none; }
.kp-quote-intro { color:#becbda; font-size:13px; line-height:1.75; margin:0; }
.kp-product .sp-cta-box__actions { display:flex; gap:10px; flex-wrap:wrap; }
.kp-product .sp-cta-box__actions .btn { font-family:var(--font-body); text-transform:none; letter-spacing:0; font-size:13px; min-height:48px; padding:12px 18px; border-radius:9px; font-weight:600; justify-content:center; }
.kp-product .sp-enquire-btn { flex:1; width:auto; background:#de101e; border:1px solid #de101e; box-shadow:none; gap:22px; }
.kp-product .sp-enquire-btn:hover { background:#bf0b17; }
.kp-product .sp-cta-box__actions .btn--outline-orange { color:#fff; border-color:#637a94; background:transparent; }
.kp-product .sp-cta-box__actions .btn--outline-orange:hover { background:#203c59; }
.kp-product .sp-cta-box__note { border-top:1px solid #2f4259; padding-top:14px; gap:8px 14px; display:flex; flex-wrap:wrap; color:#a9bbcf; font-size:10px; }
.kp-product .sp-cta-box__note span { color:#a9bbcf; font-size:10px; }
.kp-helper { display:flex; align-items:flex-start; gap:12px; padding:4px 2px; color:#596d82; }
.kp-helper>span { color:#234c77; font-size:26px; line-height:1; }
.kp-helper p { margin:0; font-size:12px; line-height:1.75; }
.kp-helper strong { display:block; color:#304a65; font-weight:600; }
.kp-information { background:#fff; padding:0 0 60px; }
.kp-section-nav { display:flex; flex-wrap:wrap; gap:28px; border-bottom:1px solid #e1e7ee; padding:22px 0; margin-bottom:32px; }
.kp-section-nav a { font-size:13px; color:#364e68; font-weight:600; text-decoration:none; }
.kp-section-nav a:hover { color:#c50d19; }
.kp-information-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:32px; }
.kp-information-grid>div { min-width:0; }
.kp-panel { border:1px solid #e1e7ee; border-radius:16px; padding:28px; margin-bottom:20px; background:#fff; scroll-margin-top:125px; overflow-wrap:anywhere; }
.kp-panel .kp-eyebrow { font-size:10px; margin:0 0 8px; }
.kp-panel h2 { font-family:var(--font-body); font-size:23px; line-height:1.3; font-weight:600; letter-spacing:-.03em; text-transform:none; color:#10243a; margin:0 0 22px; }
.kp-panel h3 { font-family:var(--font-body); font-size:16px; color:#223e5d; letter-spacing:0; text-transform:none; margin:22px 0 10px; }
.kp-panel.sp-description { font-size:14px; line-height:1.85; color:#586777; }
.kp-panel.sp-description h2:not(:first-of-type) { font-size:18px; margin:16px 0 12px; }
.kp-panel.sp-description ul,.kp-panel.sp-description ol { padding-left:20px; margin:12px 0; }
.kp-panel.sp-description li { margin:5px 0; }
.kp-panel.sp-specs { border-color:#e1e7ee; background:#fff; }
.kp-panel .sp-specs__grid { border-top:1px solid #e1e7ee; }
.kp-panel .sp-specs__row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; padding:13px 0; border-color:#e8edf3; font-size:13px; }
.kp-panel .sp-specs__label { color:#627386; }
.kp-panel .sp-specs__value { color:#203b58; font-weight:500; }
.kp-enquiry-guide { background:#f6f9fc; }
.kp-enquiry-guide ol { list-style:none; counter-reset:guide; margin:0; padding:0; display:grid; gap:20px; }
.kp-enquiry-guide li { counter-increment:guide; padding-left:42px; position:relative; font-size:13px; }
.kp-enquiry-guide li::before { content:"0" counter(guide); position:absolute; left:0; top:0; color:#537294; font-family:monospace; font-size:15px; }
.kp-enquiry-guide strong { display:block; color:#2a4460; font-weight:600; margin-bottom:5px; }
.kp-enquiry-guide li span { color:#64778c; line-height:1.7; display:block; }
.single-product .sp-related { background:#f8fafc; padding:54px 0 64px; border-top:1px solid #e7edf3; }
.single-product .sp-related .section-header { text-align:left; margin-bottom:28px; }
.single-product .sp-related .section-header__title { font-family:var(--font-body); text-transform:none; font-weight:600; font-size:30px; letter-spacing:-.035em; }
.single-product .sp-related .section-header__label { font-size:10px; }
.single-product .sp-related ul.kinjal-product-grid { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:20px!important; }
.kp-mobile-enquiry { display:none; }
.kp-lightbox { padding:52px 20px 20px; border:0; border-radius:16px; background:#fff; width:min(880px,94vw); max-height:90dvh; }
.kp-lightbox::backdrop { background:#071120d9; }
.kp-lightbox img { display:block; width:100%; height:70dvh; object-fit:contain; }
.kp-lightbox-close { position:absolute; right:16px; top:12px; border:1px solid #dbe3ec; background:#f3f6fa; color:#26425f; border-radius:7px; padding:7px 12px; cursor:pointer; font:600 12px var(--font-body); }
.single-product .enquiry-modal-header { background:#10243a; }
.single-product .enquiry-modal-label { color:#bacbdf; }
.single-product .enquiry-modal-title { font-family:var(--font-body); text-transform:none; letter-spacing:-.025em; font-size:24px; line-height:1.3; }
.single-product .enquiry-modal-box { border-radius:18px; }
.single-product .form-group label { text-transform:none; letter-spacing:0; color:#4c6078; }
.single-product .form-group input,.single-product .form-group textarea { border-width:1px; border-color:#dce4ee; border-radius:8px; }
.kp-product :is(button,a):focus-visible,.kp-information a:focus-visible,.kp-mobile-enquiry button:focus-visible,.kp-lightbox button:focus-visible { outline:3px solid #075cff; outline-offset:4px; }
@media (max-width:1000px) {
 .kp-product .sp-layout { gap:28px; }
 .kp-product .sp-cta-box { padding:21px; }
 .single-product .sp-related ul.kinjal-product-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media (max-width:760px) {
 .kp-product { padding:24px 0 32px; }
 .kp-product .sp-layout,.kp-information-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 .kp-product .sp-gallery__main { aspect-ratio:1.12; border-radius:16px; }
 .kp-product .sp-gallery__main:has(.kp-no-photo) { aspect-ratio:auto; min-height:300px; }
 .kp-product .kp-no-photo { padding:64px 22px 30px; gap:14px; }
 .kp-product .sp-gallery__main-img { padding:24px; }
 .kp-product .sp-gallery>.kp-eyebrow { font-size:9px; margin-bottom:10px; }
 .kp-product .sp-title { font-size:32px; }
 .kp-product .sp-details { gap:16px; }
 .kp-product .sp-cta-box__actions .btn { min-width:0; }
 .kp-panel { padding:22px; }
 .kp-information { padding-bottom:32px; }
 .kp-section-nav { gap:18px; padding:20px 0; margin-bottom:24px; }
 .kp-section-nav a { font-size:12px; }
 .single-product { padding-bottom:calc(76px + env(safe-area-inset-bottom,0px)); }
 .kp-mobile-enquiry { display:flex; position:fixed; z-index:950; bottom:0; left:0; right:0; align-items:center; justify-content:space-between; gap:12px; padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px)); border-top:1px solid #e1e7ee; background:#fff; box-shadow:0 -8px 28px #10243a0b; }
 .kp-mobile-enquiry strong,.kp-mobile-enquiry span { display:block; }
 .kp-mobile-enquiry strong { font-size:12px; font-weight:600; color:#203b58; }
 .kp-mobile-enquiry span { font-size:10px; color:#67798c; margin-top:2px; }
 .kp-mobile-enquiry button { display:flex; align-items:center; gap:12px; flex-shrink:0; background:#cf0d1b; color:white; border:0; border-radius:8px; padding:12px 16px; font:600 12px var(--font-body); cursor:pointer; }
 .kp-mobile-enquiry button span { color:white; font-size:16px; margin:0; }
 .modal-open .kp-mobile-enquiry { visibility:hidden; }
 .single-product .sp-related { padding:36px 0; }
 .single-product .sp-related ul.kinjal-product-grid { gap:12px!important; }
 .kp-lightbox img { height:60dvh; }
}
@media (max-width:380px) {
 .kp-product .sp-cta-box__actions { flex-direction:column; }
 .kp-mobile-enquiry { padding-left:12px; padding-right:12px; gap:8px; }
 .kp-mobile-enquiry button { padding:12px; }
 .single-product .sp-related ul.kinjal-product-grid { grid-template-columns:minmax(0,1fr)!important; }
}
@media (prefers-reduced-motion:reduce) { .kp-product * { transition:none!important; scroll-behavior:auto!important; } }

.kp-product .sp-gallery__main .kp-no-photo { width:100%; height:100%; padding:0; display:block; }
.kp-product .kp-no-photo .ke-product-placeholder { width:100%; height:100%; object-fit:contain; padding:0; }
@media (max-width:760px) {
 .kp-product .sp-gallery__main:has(.kp-no-photo) { aspect-ratio:1.12; min-height:0; }
}
