/* Catalogue composition: product photographs, readable names, quiet borders. */
.kv-directory { background:#fff; color:var(--kv-ink,#1f2d3a); }
.kirision-directory-page.kv-refresh .kv-brand { flex-direction:row!important; align-items:center!important; }
.kv-directory * { box-sizing:border-box; }
.kv-directory-banner { min-height:300px; background:#e7edf2 var(--kv-directory-banner) center/cover no-repeat; display:flex; align-items:center; }
.kv-directory-banner>div { width:calc(100% - 128px); max-width:1540px; margin:auto; }
.kv-directory-banner p { font-size:12px; font-weight:700; letter-spacing:.13em; margin:0 0 14px; color:#516578; }
.kv-refresh .kv-directory-banner h1 { font-size:clamp(32px,3.1vw,52px)!important; max-width:590px; margin:0!important; line-height:1.06!important; }
.kv-directory-wrap { width:calc(100% - 128px); max-width:1540px; margin:auto; padding-bottom:78px; }
.kv-directory-breadcrumb { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding-block:24px 30px; font-size:14px; color:#65727f; }
.kv-directory-breadcrumb a { color:#516578; text-decoration:none; }
.kv-directory-breadcrumb a:hover { color:#c82d32; }
.kv-directory-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:46px; align-items:start; }
.kv-directory-sidebar { position:sticky; top:112px; min-width:0; }
.kv-refresh .kv-directory-sidebar h2 { font-size:23px!important; margin:0 0 17px!important; padding-bottom:17px; border-bottom:1px solid #dce2e8; }
.kv-directory-sidebar nav>a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:46px; padding:11px 12px; margin-left:-12px; text-decoration:none; color:#455866; font:500 16px/1.4 'Source Sans 3',sans-serif; border-left:2px solid transparent; }
.kv-directory-sidebar nav>a>span { flex:0 0 auto; font-size:12px; color:#86929c; }
.kv-directory-sidebar nav>a[aria-current=page] { color:#b5222a; background:#fcf4f4; border-left-color:#c82d32; font-weight:600; }
.kv-directory-sidebar nav>a:hover { color:#c82d32; background:#f8f9fb; }
.kv-directory-support { margin-top:28px; padding:23px 0 0; border-top:1px solid #dce2e8; }
.kv-refresh .kv-directory-support h3 { font-size:19px!important; margin:0 0 12px!important; }
.kv-directory-support p { font-size:15px; line-height:1.65; color:#667583; margin:0 0 16px; }
.kv-directory-support>a { font-size:14px; color:#b5222a; font-weight:600; text-decoration:none; }
.kv-directory-support>a>span { margin-left:14px; }
.kv-directory-toggle { display:none; }
.kv-directory-content { min-width:0; }
.kv-directory-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:25px; }
.kv-directory-heading { scroll-margin-top:120px; }
.kv-refresh .kv-directory-heading h2 { font-size:clamp(27px,2vw,36px)!important; margin:0 0 6px!important; }
.kv-directory-result { font-size:14px; color:#75818c; margin:0; }
.kv-directory-search label { display:block; font-size:12px; font-weight:600; color:#687886; margin-bottom:7px; }
.kv-directory-search>div { display:flex; width:260px; height:44px; border:1px solid #dce2e8; background:#fff; }
.kv-directory-search input { min-width:0; flex:1; border:0; background:transparent; padding:10px 12px; font:15px 'Source Sans 3',sans-serif; }
.kv-directory-search button { width:42px; border:0; background:transparent; font-size:25px; color:#627687; cursor:pointer; }
.kv-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 24px; }
.kv-directory-grid>.kv-enter { min-width:0; }
.kv-directory-grid>.kv-enter>.kv-directory-card { height:100%; }
.kv-directory-card { min-width:0; border:1px solid #e4e8ec; background:#fff; }
.kv-directory-card>a { display:flex; flex-direction:column; height:100%; color:inherit; text-decoration:none; }
.kv-directory-photo { aspect-ratio:1000/800; overflow:hidden; display:grid; place-items:center; background:#fff; }
.kv-directory-photo img { display:block; width:100%; height:100%; object-fit:contain; transition:transform 420ms cubic-bezier(.22,1,.36,1); }
.kv-directory-card-copy { min-height:109px; padding:15px 19px 20px; position:relative; }
.kv-refresh .kv-directory-card h3 { margin:0 0 17px!important; color:#263b4b!important; font-size:18px!important; font-weight:600; line-height:1.3!important; letter-spacing:-.01em; padding-right:10px; }
.kv-directory-card-mark { display:block; width:25px; height:2px; background:#c82d32; }
.kv-directory-card-arrow { position:absolute; right:18px; bottom:18px; font-size:21px; color:#97a3ad; transition:transform .25s,color .25s; }
.kv-directory-card:hover { border-color:#bbc6cf; }
.kv-directory-card:hover img { transform:scale(1.035); }
.kv-directory-card:hover h3 { color:#b5222a!important; }
.kv-directory-card:hover .kv-directory-card-arrow { color:#b5222a; transform:translate(2px,-2px); }
.kv-directory-pagination { display:flex; justify-content:center; flex-wrap:wrap; gap:7px; padding:36px 0 0; }
.kv-directory-pagination>a { display:grid; place-items:center; min-width:40px; min-height:40px; padding:8px; border:1px solid #dce2e8; color:#526676; font-size:15px; text-decoration:none; }
.kv-directory-pagination>a[aria-current=page] { background:#c82d32; border-color:#c82d32; color:#fff; }
.kv-directory-pagination>a:hover { border-color:#c82d32; }
.kv-directory-empty { padding:45px 0; color:#526676; }
.kv-directory-empty a { color:#b5222a; }
.kv-directory-detail { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:36px; padding-top:16px; }
.kv-directory-detail-image { border:1px solid #e3e8ec; align-self:start; }
.kv-directory-detail-image img { display:block; width:100%; height:auto; }
.kv-directory-detail-copy { min-width:0; }
.kv-directory-detail h1,.kv-directory-card h3 { overflow-wrap:anywhere; }
.kv-directory-specs { margin:0 0 24px; }
.kv-refresh .kv-directory-specs h2 { margin:0 0 12px!important; font-size:18px!important; line-height:1.4!important; }
.kv-directory-specs dl { margin:0; border-top:1px solid #dce2e8; }
.kv-directory-specs dl>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:12px; padding:10px 0; border-bottom:1px solid #e4e8ec; font-size:15px; line-height:1.5; }
.kv-directory-specs dt,.kv-directory-specs dd { min-width:0; margin:0; overflow-wrap:anywhere; }
.kv-directory-specs dt { color:#526676; }
.kv-directory-specs dd { color:#263b4b; font-weight:600; }
.kv-directory-eyebrow { color:#b5222a; font-size:13px; font-weight:600; margin:0 0 15px; }
.kv-refresh .kv-directory-detail h1 { font-size:clamp(28px,2.4vw,42px)!important; margin:0 0 22px!important; }
.kv-directory-detail-copy>p:not(.kv-directory-eyebrow),.kv-directory-detail-copy li { font-size:16px; line-height:1.7; color:#627281; }
.kv-directory-detail-copy ul { padding-left:20px; margin:22px 0; }
.kv-directory-rfq { display:inline-flex; align-items:center; gap:35px; padding:13px 20px; color:#fff!important; background:#c82d32; font-size:16px; font-weight:600; text-decoration:none; min-height:48px; }
.kv-directory-back { display:block; font-size:14px; color:#566b7b; margin-top:25px; }
.kv-directory-toast { color:#536777; font-size:14px; }
.kv-directory-inquiry-note { padding:16px 20px; border-left:3px solid #c82d32; background:#f7f9fb; color:#263b4b; font-size:17px; }
@media(min-width:1700px) { .kv-directory-layout { grid-template-columns:280px minmax(0,1fr); gap:56px; } }
@media(max-width:1199px) { .kv-directory-layout { grid-template-columns:220px minmax(0,1fr); gap:28px; } .kv-directory-heading { flex-wrap:wrap; } .kv-directory-sidebar nav>a { font-size:15px; } .kv-directory-grid { gap:20px 16px; } .kv-directory-card-copy { padding-inline:14px; } }
@media(min-width:768px) and (max-width:1023px) { .kv-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
 .kv-directory-banner { min-height:220px; background-position:58% center; }
 .kv-directory-banner { background-image:linear-gradient(90deg,#edf2f6ef 0%,#edf2f6bf 60%,#edf2f625 100%),var(--kv-directory-banner); }
 .kv-directory-banner>div,.kv-directory-wrap { width:calc(100% - 36px); }
 .kv-directory-banner p { font-size:10px; max-width:220px; }
 .kv-refresh .kv-directory-banner h1 { font-size:32px!important; max-width:290px; }
 .kv-directory-layout { display:block; }
 .kv-directory-sidebar { position:static; margin-bottom:30px; }
 .kv-directory-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:49px; border:1px solid #d8e0e7; background:#f7f9fb; padding:13px 15px; color:#263b4b; font:600 16px 'Source Sans 3',sans-serif; }
 .kv-directory-sidebar nav { display:none; padding:20px 12px 10px; border:1px solid #d8e0e7; border-top:0; }
 .kv-directory-sidebar.is-expanded nav { display:block; }
 .kv-directory-sidebar nav>h2 { display:none; }
 .kv-directory-sidebar nav>a { margin-left:0; }
 .kv-directory-support { display:none; }
 .kv-directory-heading { align-items:stretch; gap:18px; margin-bottom:22px; }
 .kv-directory-search { width:100%; }
 .kv-directory-search>div { width:100%; }
 .kv-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; }
 .kv-refresh .kv-directory-card h3 { font-size:16px!important; }
 .kv-directory-card-copy { min-height:119px; padding:13px 12px 18px; }
 .kv-directory-card-arrow { font-size:18px; right:10px; bottom:14px; }
 .kv-directory-breadcrumb { font-size:12px; gap:8px; padding-block:19px 23px; }
 .kv-directory-detail { grid-template-columns:1fr; gap:28px; padding-top:0; }
 .kv-directory-wrap { padding-bottom:50px; }
}
@media(max-width:359px) { .kv-directory-grid { grid-template-columns:1fr; } .kv-directory-photo { aspect-ratio:1000/760; } .kv-directory-card-copy { min-height:90px; } }
@media(prefers-reduced-motion:reduce) { .kv-directory-photo img,.kv-directory-card-arrow { transition:none!important; transform:none!important; } }
@media print { .kv-directory-banner,.kv-directory-sidebar,.kv-directory-search,.kv-directory-pagination { display:none; } .kv-directory-layout { display:block; } .kv-directory-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* Verified KIR-013 electrical profiles, below the existing selection/RFQ block. */
.kv-directory-electrical { grid-column:1 / -1; min-width:0; padding-top:8px; }
.kv-refresh .kv-directory-electrical h2 { margin:0 0 18px!important; font-size:clamp(23px,2vw,30px)!important; line-height:1.3!important; }
.kv-directory-electrical dl { margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:36px; border-top:1px solid #dce2e8; }
.kv-directory-electrical dl>div { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); align-items:start; gap:16px; padding:16px 0; border-bottom:1px solid #e4e8ec; font-size:16px; line-height:1.5; min-width:0; }
.kv-directory-electrical dt,.kv-directory-electrical dd { margin:0; min-width:0; overflow-wrap:anywhere; }
.kv-directory-electrical dt { color:#526676; }
.kv-directory-electrical dd { color:#263b4b; font-weight:600; }
@media(max-width:900px) { .kv-directory-electrical dl { grid-template-columns:1fr; } }
@media(max-width:600px) { .kv-directory-electrical dl>div { font-size:15px; gap:12px; padding:14px 0; } }

.kv-directory-introduction { margin:0 0 28px; max-width:920px; }
.kv-directory-introduction>p { margin:0 0 12px; color:#526676; font-size:16px; line-height:1.65; overflow-wrap:anywhere; }
.kv-directory-related { display:flex; flex-wrap:wrap; gap:10px 24px; }
.kv-directory-related a { display:inline-flex; align-items:center; gap:10px; color:#b5222a; font-size:15px; text-underline-offset:4px; min-height:44px; }
