/* PEP-SALES-CONTRACTOR-MOBILE-RECODE-118 */
.kbm-c118-archive{--c118-navy:#0b2b43;--c118-yellow:#ffcc00;--c118-border:#dfe6ed;--c118-muted:#657585;max-width:1320px;margin:0 auto;padding:18px 18px 80px;color:#0b2b43}.kbm-c118-archive *,.kbm-c118-single *{box-sizing:border-box}.kbm-c118-toolbar{justify-content:space-between}.kbm-c118-toolbar .kbm-ads-recode-count{display:flex;gap:8px;align-items:center}.kbm-c118-toolbar form{display:flex;gap:8px;align-items:center}.kbm-c118-toolbar label{display:flex;align-items:center;gap:7px}.kbm-c118-toolbar select{min-height:40px;border:1px solid var(--c118-border);border-radius:11px;padding:6px 10px;background:#fff;font:inherit}.kbm-c118-toolbar-filter{display:none}.kbm-c118-toolbar button{min-height:40px;border:0;border-radius:11px;padding:0 14px;background:var(--c118-navy);color:#fff;font:inherit;font-weight:900}.kbm-c118-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(290px,330px)!important;gap:18px;align-items:start;direction:ltr}.kbm-c118-layout>main{grid-column:1;direction:rtl;min-width:0}.kbm-c118-layout>.kbm-c118-filter{grid-column:2;direction:rtl}.kbm-c118-filter{position:sticky;top:90px}.kbm-c118-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:18px 0 12px}.kbm-c118-section-head span{display:block;color:#8b6b00;font-size:12px;font-weight:900}.kbm-c118-section-head h2{margin:3px 0 4px;font-size:24px;color:var(--c118-navy)}.kbm-c118-section-head p{margin:0;color:var(--c118-muted);font-size:13px}.kbm-c118-featured{margin-bottom:26px;padding:16px;border:1px solid #f1dc76;border-radius:22px;background:linear-gradient(180deg,#fffdf5,#fff)}.kbm-c118-featured-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kbm-c118-card{opacity:0;transform:translateY(10px);will-change:transform,opacity}.kbm-c118-card.is-inview{opacity:1;transform:none;transition:opacity .36s ease,transform .36s cubic-bezier(.2,.7,.2,1)}.kbm-c118-card-services{display:flex;flex-wrap:wrap;gap:5px;min-height:26px}.kbm-c118-rating small{margin-inline-start:5px;color:#64748b;font-weight:700}.kbm-c118-badge{background:#fff7d1!important;color:#6d5200!important;border:1px solid #f5df83!important}.kbm-c118-badge.is-verified{background:#e8f7f1!important;color:#08714f!important;border-color:#b9ead9!important}.kbm-c118-badge.is-featured{background:#0b2b43!important;color:#fff!important;border-color:#0b2b43!important}.kbm-c118-backdrop{display:none}.kbm-c118-filter .kbm-ads-recode-filter-body{box-shadow:0 12px 34px rgba(11,43,67,.08)}
.kbm-c118-single{--c118-navy:#0b2b43;--c118-yellow:#ffcc00;--c118-border:#dfe6ed}.kbm-c118-single .kbm-ad-single-recode-head{position:relative}.kbm-c118-single-badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:8px}.kbm-c118-single-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid #cfe8dc;border-radius:999px;background:#edf9f4;color:#08714f;font-size:11px;font-weight:900}.kbm-c118-single-badge.is-featured{background:#fff6c7;border-color:#f0da72;color:#765800}.kbm-c118-panel{margin-top:16px}.kbm-c118-panel-body{color:#334155;line-height:2}.kbm-c118-panel .kbm-c112-table{overflow:auto}.kbm-c118-panel table{width:100%;border-collapse:collapse;min-width:620px}.kbm-c118-panel th,.kbm-c118-panel td{padding:11px;border-bottom:1px solid #edf2f7;text-align:right;font-size:13px}.kbm-c118-tagcloud{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.kbm-c118-tagcloud span{display:inline-flex;align-items:center;min-height:31px;padding:0 10px;border:1px solid #dfe7ee;border-radius:999px;background:#f8fafc;color:#425467;font-size:12px;font-weight:800}.kbm-c118-hse{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kbm-c118-hse>div{border:1px solid #e6edf3;border-radius:14px;padding:14px;background:#f8fafc}.kbm-c118-contact dl{display:grid;grid-template-columns:1fr auto;gap:9px;margin:14px 0}.kbm-c118-contact dt{color:#697b8b}.kbm-c118-contact dd{margin:0;font-weight:850}.kbm-c118-trust-score{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border:1px solid #ffe28a;border-radius:13px;background:#fff8dc;margin-bottom:12px}.kbm-c118-trust-score strong{font-size:20px;color:#7b5a00}.kbm-c118-single .kbm-c112-rfq{background:#fff;border:1px solid var(--c118-border);border-radius:20px;padding:18px;box-shadow:0 10px 30px rgba(11,43,67,.06)}.kbm-c118-single .kbm-c112-rfq h2{margin-top:0}.kbm-c118-similar-wrap{margin-top:22px}.kbm-c118-similar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kbm-c118-similar-grid .kbm-c118-card{min-height:390px}.kbm-c118-single .kbm-ad-single-recode-bottombar a{text-decoration:none}.kbm-c118-single .kbm-ad-single-recode-gallery-stage{box-shadow:0 14px 38px rgba(11,43,67,.10)}
@media(max-width:980px){.kbm-c118-toolbar-filter{display:inline-flex;align-items:center;justify-content:center}.kbm-c118-layout{display:block!important;direction:rtl}.kbm-c118-layout>.kbm-c118-filter{position:fixed;z-index:100010;top:0;right:0;bottom:0;width:min(390px,92vw);padding:12px;overflow:auto;background:#fff;transform:translateX(110%);transition:transform .22s ease}.kbm-c118-filter .kbm-ads-recode-filter-toggle{display:none}.kbm-c118-filter .kbm-ads-recode-filter-body{display:flex!important;min-height:100%;margin:0;max-height:none}.kbm-c118-archive.kbm-c118-filter-open .kbm-c118-filter{transform:none}.kbm-c118-archive.kbm-c118-filter-open+.kbm-c118-backdrop,.kbm-c118-backdrop.is-open{display:block;position:fixed;z-index:100009;inset:0;border:0;background:rgba(3,17,30,.58)}.kbm-c118-toolbar{display:grid;grid-template-columns:1fr;gap:9px}.kbm-c118-toolbar form{justify-content:space-between}.kbm-c118-featured-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:7px}.kbm-c118-featured-rail>.kbm-c118-card{flex:0 0 min(88%,360px);scroll-snap-align:center}.kbm-c118-hse{grid-template-columns:1fr}.kbm-c118-similar-grid{grid-template-columns:1fr}.kbm-c118-single .kbm-ad-single-recode-grid{grid-template-columns:1fr}.kbm-c118-single .kbm-ad-single-recode-side{position:static}.kbm-c118-single .kbm-ad-single-recode-bottombar{display:grid}}
@media(max-width:640px){.kbm-c118-archive{padding-inline:9px}.kbm-c118-section-head h2{font-size:20px}.kbm-c118-featured{padding:11px;border-radius:18px}.kbm-c118-toolbar form{display:grid;grid-template-columns:1fr auto}.kbm-c118-toolbar label span{display:none}.kbm-c118-single .kbm-ad-single-recode-title{font-size:23px}.kbm-c118-single .kbm-c118-panel{border-radius:16px}.kbm-c118-single .kbm-c118-panel table{min-width:680px}}
@media(prefers-reduced-motion:reduce){.kbm-c118-card{opacity:1;transform:none}.kbm-c118-card.is-inview{transition:none}.kbm-c118-layout>.kbm-c118-filter{transition:none}}


/* rc118 — mobile single containment + canonical horizontal gallery ownership */
.kbm-c118-single{width:100%;max-width:1180px;min-width:0;overflow:clip}
.kbm-c118-single .kbm-ad-single-recode-grid,.kbm-c118-single .kbm-ad-single-recode-main,.kbm-c118-single .kbm-ad-single-recode-head,.kbm-c118-single .kbm-ad-single-recode-title-row,.kbm-c118-single .kbm-ad-single-recode-gallery{min-width:0;max-width:100%}
.kbm-c118-single .kbm-ad-single-recode-title{overflow-wrap:anywhere;word-break:normal}
.kbm-c118-single .kbm-ad-single-recode-gallery-stage{width:100%;max-width:100%}
.kbm-c118-single .kbm-ad-single-recode-gallery[data-kbm-gallery-axis="x"] .kbm-ad-single-recode-gallery-controls{flex-direction:row;left:12px;top:auto;bottom:12px;transform:none}
@media(max-width:782px){
  .kbm-c118-single{padding-inline:12px!important;overflow-x:hidden}
  .kbm-c118-single .kbm-ad-single-recode-breadcrumbs{max-width:100%;overflow:hidden}
  .kbm-c118-single .kbm-ad-single-recode-grid{display:block!important;width:100%;max-width:100%}
  .kbm-c118-single .kbm-ad-single-recode-main,.kbm-c118-single .kbm-ad-single-recode-side{width:100%;max-width:100%;min-width:0}
  .kbm-c118-single .kbm-ad-single-recode-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}
  .kbm-c118-single .kbm-ad-single-recode-title{font-size:22px!important;line-height:1.75!important;min-width:0}
  .kbm-c118-single .kbm-ad-single-recode-gallery-stage{aspect-ratio:4/3!important;border-radius:18px!important}
  .kbm-c118-single .kbm-ad-single-recode-gallery[data-kbm-gallery-axis="x"] .kbm-ad-single-recode-gallery-controls{left:8px;bottom:8px;gap:4px;padding:4px}
  .kbm-c118-single .kbm-ad-single-recode-gallery[data-kbm-gallery-axis="x"] .kbm-ad-single-recode-gallery-controls button{width:38px;height:38px}
  .kbm-c118-single .kbm-ad-single-recode-gallery-thumbs{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;flex-wrap:nowrap!important;scrollbar-width:none;padding-bottom:3px!important}
  .kbm-c118-single .kbm-ad-single-recode-gallery-thumbs::-webkit-scrollbar{display:none}
  .kbm-c118-single .kbm-c118-panel{max-width:100%;overflow:hidden}
  .kbm-c118-single .kbm-c118-panel .kbm-c112-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:420px){
  .kbm-c118-single{padding-inline:10px!important}
  .kbm-c118-single .kbm-ad-single-recode-title{font-size:20px!important}
  .kbm-c118-single .kbm-ad-single-recode-title-row{grid-template-columns:minmax(0,1fr) 48px}
}


/* rc154 — canonical contact reveal: number is absent from initial HTML and appears only after authenticated click. */
.kbm-c118-contact{overflow:visible!important;text-align:center!important;padding:22px!important}
.kbm-c118-contact .kbm-ad-single-recode-contact-head{justify-content:center!important;text-align:center!important;gap:8px!important;flex-wrap:wrap}
.kbm-c118-contact dl{max-width:100%;grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr)!important;text-align:right;margin:18px auto!important}
.kbm-c118-contact .kbm-ad-single-recode-reveal,.kbm-c118-contact .kbm-c154-contact-button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:58px!important;margin:16px auto 0!important;border:0!important;border-radius:16px!important;background:#ffcc00!important;color:#0b2b43!important;font:inherit!important;font-size:17px!important;font-weight:950!important;text-decoration:none!important;cursor:pointer!important;box-shadow:0 8px 20px rgba(122,91,0,.12)!important}
.kbm-c118-contact .kbm-c154-contact-button:disabled{opacity:.65;cursor:wait}
.kbm-c154-contact-result{display:grid;grid-template-columns:1fr;gap:8px;justify-items:center;margin:14px 0 2px;padding:14px;border:1px solid #dce6ee;border-radius:14px;background:#f8fbfd}
.kbm-c154-contact-result[hidden]{display:none!important}
.kbm-c154-contact-phone{font-size:22px;font-weight:950;color:#0b2b43;text-decoration:none}
.kbm-c154-contact-whatsapp{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:12px;background:#eefaf4;color:#08714f;font-weight:900;text-decoration:none}
.kbm-c154-contact-empty{display:block;padding:12px;border-radius:12px;background:#f5f7f9;color:#64748b;font-weight:800}

/* rc154 — shared complete contractor card presentation for Similar cards on Single.
 * Do not load the whole archive stylesheet on Single; this is the card component contract only. */
.kbm-c118-similar-grid .kbm-c118-card{display:grid!important;grid-template-rows:auto 1fr!important;min-width:0!important;min-height:0!important;border:1px solid #dfe6ed!important;border-radius:22px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 10px 28px rgba(11,43,67,.08)!important;opacity:1!important;transform:none!important;will-change:auto!important}
.kbm-c118-similar-grid .kbm-ads-recode-card-media{position:relative!important;display:block!important;width:100%!important;aspect-ratio:16/10!important;overflow:hidden!important;background:#eef3f6!important;text-decoration:none!important}
.kbm-c118-similar-grid .kbm-ads-recode-card-media img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.kbm-c118-similar-grid .kbm-ads-recode-card-ph{display:grid!important;place-items:center!important;width:100%!important;height:100%!important;color:#6d7d8b!important;font-weight:900!important}
.kbm-c118-similar-grid .kbm-ads-recode-card-badges{position:absolute!important;top:10px!important;right:10px!important;display:flex!important;gap:5px!important;flex-wrap:wrap!important;z-index:2!important}
.kbm-c118-similar-grid .kbm-ads-recode-badge{display:inline-flex!important;align-items:center!important;min-height:28px!important;padding:0 9px!important;border-radius:999px!important;font-size:10px!important;font-weight:900!important}
.kbm-c118-similar-grid .kbm-ads-recode-card-body{display:grid!important;gap:10px!important;align-content:start!important;padding:15px!important;min-width:0!important}
.kbm-c118-similar-grid .kbm-ads-recode-card-title{margin:0!important;font-size:18px!important;line-height:1.75!important;font-weight:950!important;overflow-wrap:anywhere!important}
.kbm-c118-similar-grid .kbm-ads-recode-card-title a{color:#0b2b43!important;text-decoration:none!important}
.kbm-c118-similar-grid .kbm-ads-recode-card-meta,.kbm-c118-similar-grid .kbm-c118-card-services{display:flex!important;gap:6px!important;flex-wrap:wrap!important;min-width:0!important}
.kbm-c118-similar-grid .kbm-ads-recode-chip{display:inline-flex!important;align-items:center!important;min-height:29px!important;padding:0 9px!important;border:1px solid #e1e8ee!important;border-radius:999px!important;background:#f8fafc!important;color:#516273!important;font-size:11px!important;font-weight:800!important}
.kbm-c118-similar-grid .kbm-ads-recode-card-foot{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;margin-top:auto!important;padding-top:4px!important}
.kbm-c118-similar-grid .kbm-c118-rating{color:#7a5a00!important;font-weight:900!important;font-size:12px!important}
.kbm-c118-similar-grid .kbm-ads-recode-card-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:0 13px!important;border-radius:12px!important;background:#0b2b43!important;color:#fff!important;text-decoration:none!important;font-size:12px!important;font-weight:900!important}
@media(max-width:640px){.kbm-c118-contact{padding:16px!important}.kbm-c118-contact dl{grid-template-columns:1fr!important;gap:4px!important}.kbm-c118-contact dd{margin-bottom:8px!important}.kbm-c118-similar-grid .kbm-ads-recode-card-foot{grid-template-columns:1fr!important}.kbm-c118-similar-grid .kbm-ads-recode-card-cta{width:100%!important}}
