:root{
  --kbmc-navy:#071d33;
  --kbmc-navy-2:#0d2d4c;
  --kbmc-yellow:#f4b400;
  --kbmc-yellow-2:#ffd24a;
  --kbmc-ink:#142235;
  --kbmc-muted:#66758a;
  --kbmc-line:#dce4ed;
  --kbmc-bg:#f4f7fa;
  --kbmc-white:#fff;
  --kbmc-green:#087f5b;
  --kbmc-red:#b42318;
  --kbmc-radius:20px;
  --kbmc-shadow:0 18px 52px rgba(7,29,51,.11);
}
body.kbm-contractors-product-active{background:var(--kbmc-bg);color:var(--kbmc-ink)}
body.kbm-contractors-product-active,
body.kbm-contractors-product-active :where(input,textarea,select,button){font-family:var(--kbm-font-lock,var(--kbm-theme-font,Estedad,Tahoma,sans-serif))}
.kbm-contractors{width:min(1480px,calc(100% - 32px));margin:24px auto 110px;direction:rtl}
.kbm-contractors *{box-sizing:border-box}
.kbm-contractors a{text-decoration:none}
.kbm-contractors-hero{
  position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);
  gap:34px;align-items:end;min-height:420px;padding:clamp(32px,5vw,72px);overflow:hidden;border-radius:28px;
  color:#fff;background:linear-gradient(110deg,rgba(4,20,36,.98),rgba(7,35,60,.9) 58%,rgba(7,29,51,.58)),var(--kbm-contractors-hero);
  background-size:cover;background-position:center;box-shadow:0 26px 80px rgba(7,29,51,.25)
}
.kbm-contractors-hero:before{content:"";position:absolute;z-index:-1;inset:auto -8% -55% auto;width:520px;aspect-ratio:1;border:80px solid rgba(244,180,0,.17);border-radius:50%}
.kbm-contractors-hero>div>span,.kbm-contractor-single__identity small,.kbm-contractors-my>header span{
  display:inline-flex;align-items:center;min-height:32px;padding:5px 13px;border:1px solid rgba(255,210,74,.5);border-radius:999px;
  color:var(--kbmc-yellow-2);font-size:13px;font-weight:800;letter-spacing:.02em;background:rgba(244,180,0,.09)
}
.kbm-contractors-hero h1{max-width:820px;margin:16px 0 12px;color:#fff;font-size:clamp(32px,5vw,62px);line-height:1.2}
.kbm-contractors-hero p{max-width:850px;margin:0;color:#dce8f3;font-size:clamp(15px,1.7vw,19px);line-height:2}
.kbm-contractors-hero nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.kbm-contractors-hero nav a,.kbm-contractor-login a,.kbm-contractors-my>header>a{
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;border:1px solid var(--kbmc-yellow);
  border-radius:13px;color:var(--kbmc-navy);font-weight:900;background:var(--kbmc-yellow);box-shadow:0 10px 26px rgba(244,180,0,.2)
}
.kbm-contractors-hero nav a.is-secondary{border-color:rgba(255,255,255,.32);color:#fff;background:rgba(255,255,255,.08);box-shadow:none}
.kbm-contractors-hero>dl{display:grid;grid-template-columns:1fr;gap:10px;margin:0}
.kbm-contractors-hero>dl div{padding:17px 20px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:rgba(5,26,45,.62);backdrop-filter:blur(9px)}
.kbm-contractors-hero>dl dt{color:var(--kbmc-yellow-2);font-size:24px;font-weight:900}
.kbm-contractors-hero>dl dd{margin:4px 0 0;color:#d9e5ef;font-size:13px}
.kbm-contractors-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;margin-top:24px;align-items:start}
.kbm-contractors-layout>aside{position:sticky;top:92px}
.kbm-contractors-filter{display:grid;gap:14px;padding:20px;border:1px solid var(--kbmc-line);border-radius:var(--kbmc-radius);background:#fff;box-shadow:0 12px 36px rgba(7,29,51,.06)}
.kbm-contractors-filter header{display:flex;align-items:center;justify-content:space-between;padding-bottom:11px;border-bottom:1px solid var(--kbmc-line)}
.kbm-contractors-filter header strong{font-size:17px}
.kbm-contractors-filter header button{display:none}
.kbm-contractors-filter label,.kbm-contractor-wizard label,.kbm-contractor-rfq label{display:grid;gap:7px;color:#33465c;font-size:13px;font-weight:800}
.kbm-contractors :where(input,select,textarea){
  width:100%;min-height:46px;padding:10px 12px;border:1px solid #cfd9e5;border-radius:11px;color:var(--kbmc-ink);
  outline:none;background:#fff;transition:border-color .18s ease,box-shadow .18s ease
}
.kbm-contractors textarea{min-height:118px;resize:vertical;line-height:1.85}
.kbm-contractors :where(input,select,textarea):focus{border-color:var(--kbmc-yellow);box-shadow:0 0 0 4px rgba(244,180,0,.14)}
.kbm-contractors-filter__checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kbm-contractors-filter__checks label{display:flex;align-items:center;gap:7px;padding:9px;border:1px solid var(--kbmc-line);border-radius:10px;font-size:12px}
.kbm-contractors-filter__checks input,.kbm-contractor-checks input{width:18px;min-height:18px;accent-color:var(--kbmc-yellow)}
.kbm-contractors-filter__actions{display:grid;gap:8px}
.kbm-contractors-filter__actions button,.kbm-contractor-rfq button{
  min-height:46px;border:0;border-radius:11px;color:var(--kbmc-navy);font-weight:900;background:var(--kbmc-yellow);cursor:pointer
}
.kbm-contractors-filter__actions a{text-align:center;color:#53657a;font-size:13px;font-weight:800}
.kbm-contractors-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:15px 18px;border:1px solid var(--kbmc-line);border-radius:15px;background:#fff}
.kbm-contractors-toolbar div{display:grid;gap:3px}
.kbm-contractors-toolbar strong{font-size:17px}
.kbm-contractors-toolbar small{color:var(--kbmc-muted)}
.kbm-contractors-toolbar>span{white-space:nowrap;color:#41556d;font-weight:800}
.kbm-contractors-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.kbm-contractor-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--kbmc-line);border-radius:20px;background:#fff;box-shadow:0 8px 30px rgba(7,29,51,.06);transition:transform .2s ease,box-shadow .2s ease}
.kbm-contractor-card:hover{transform:translateY(-4px);box-shadow:var(--kbmc-shadow)}
.kbm-contractor-card.is-featured{border-color:#e9bc31;box-shadow:0 12px 36px rgba(244,180,0,.13)}
.kbm-contractor-card__media{position:relative;display:block;aspect-ratio:16/8.5;overflow:hidden;background:#e8eef4}
.kbm-contractor-card__media>img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.kbm-contractor-card:hover .kbm-contractor-card__media>img{transform:scale(1.035)}
.kbm-contractor-card__featured{position:absolute;top:12px;left:12px;padding:7px 12px;border-radius:999px;color:var(--kbmc-navy);font-size:12px;background:var(--kbmc-yellow)}
.kbm-contractor-card__featured,.kbm-contractor-card mark{display:inline-flex;align-items:center;gap:6px}
.kbm-contractor-card__featured img,.kbm-contractor-card mark img{width:20px;height:20px;object-fit:contain}
.kbm-contractor-card__head{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;margin:-23px 15px 0;position:relative}
.kbm-contractor-card__head>img,.kbm-contractor-card__logo{display:grid;place-items:center;width:52px;height:52px;border:3px solid #fff;border-radius:14px;object-fit:contain;color:#fff;font-weight:900;background:var(--kbmc-navy);box-shadow:0 6px 18px rgba(7,29,51,.17)}
.kbm-contractor-card__head>div{min-width:0;margin-top:27px}
.kbm-contractor-card h3{margin:0;font-size:17px;line-height:1.55}
.kbm-contractor-card h3 a{color:var(--kbmc-ink)}
.kbm-contractor-card mark,.kbm-contractor-card small{display:inline-flex;margin-top:4px;padding:3px 8px;border-radius:999px;color:var(--kbmc-green);font-size:11px;font-weight:800;background:#e8f7f1}
.kbm-contractor-card small{color:#6d7784;background:#edf1f5}
.kbm-contractor-card>p{min-height:70px;margin:14px 15px 10px;color:#53657a;font-size:13px;line-height:1.9}
.kbm-contractor-card>dl{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0 15px 12px;overflow:hidden;border:1px solid var(--kbmc-line);border-radius:12px;background:var(--kbmc-line)}
.kbm-contractor-card>dl div{padding:9px;background:#f9fbfc}
.kbm-contractor-card dt{color:#718096;font-size:11px}
.kbm-contractor-card dd{margin:2px 0 0;font-size:12px;font-weight:900}
.kbm-contractor-chips{display:flex;flex-wrap:wrap;gap:6px}
.kbm-contractor-card>.kbm-contractor-chips{min-height:57px;margin:0 15px 14px}
.kbm-contractor-chips span{display:inline-flex;align-items:center;min-height:29px;padding:5px 9px;border:1px solid #dae3ec;border-radius:999px;color:#3b5067;font-size:11px;font-weight:800;background:#f7f9fb}
.kbm-contractor-card__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding:13px 15px 15px;border-top:1px solid #edf1f5}
.kbm-contractor-card__actions a{display:flex;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--kbmc-yellow);border-radius:11px;color:var(--kbmc-navy);font-size:13px;font-weight:900;background:var(--kbmc-yellow)}
.kbm-contractor-card__actions a.is-secondary{border-color:#ccd6e1;color:#42566d;background:#fff}
.kbm-contractors-filter-toggle{display:none}
.kbm-contractors-backdrop{display:none}
.kbm-contractors-empty{grid-column:1/-1;display:grid;place-items:center;gap:10px;min-height:260px;padding:32px;border:1px dashed #c9d4df;border-radius:20px;text-align:center;background:#fff}
.kbm-contractors-empty>img{width:min(260px,72%);max-height:180px;object-fit:contain;border-radius:16px}
.kbm-contractors-empty strong{font-size:20px}
.kbm-contractors-empty span{color:var(--kbmc-muted)}
.kbm-contractors-empty a{display:inline-flex;padding:11px 18px;border-radius:11px;color:var(--kbmc-navy);font-weight:900;background:var(--kbmc-yellow)}

/* Single contractor */
.kbm-contractor-single{width:min(1420px,calc(100% - 32px))}
.kbm-contractor-single__hero{position:relative;isolation:isolate;min-height:430px;padding:clamp(30px,5vw,70px);overflow:hidden;border-radius:28px;color:#fff;background:linear-gradient(110deg,rgba(4,20,36,.98),rgba(7,35,60,.84)),var(--kbm-contractor-cover);background-size:cover;background-position:center;box-shadow:0 26px 80px rgba(7,29,51,.23)}
.kbm-contractor-single__identity{display:grid;grid-template-columns:112px minmax(0,1fr);gap:22px;align-items:center;max-width:930px}
.kbm-contractor-single__identity>img,.kbm-contractor-single__identity>span{display:grid;place-items:center;width:112px;height:112px;padding:8px;border:4px solid rgba(255,255,255,.75);border-radius:26px;object-fit:contain;color:var(--kbmc-navy);font-size:26px;font-weight:900;background:#fff}
.kbm-contractor-single__identity h1{margin:13px 0 8px;color:#fff;font-size:clamp(30px,4vw,54px);line-height:1.25}
.kbm-contractor-single__identity p{max-width:850px;margin:0;color:#d9e5ef;font-size:16px;line-height:1.9}
.kbm-contractor-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.kbm-contractor-badges>*{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#fff;font-size:12px;font-weight:900;background:rgba(255,255,255,.08)}
.kbm-contractor-badges img{width:24px;height:24px;object-fit:contain}
.kbm-contractor-badges mark{border-color:rgba(255,210,74,.5);color:var(--kbmc-yellow-2);background:rgba(244,180,0,.12)}
.kbm-contractor-single__hero>dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:920px;margin:40px 0 0}
.kbm-contractor-single__hero>dl div{padding:16px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(4,23,40,.62);backdrop-filter:blur(8px)}
.kbm-contractor-single__hero dt{color:var(--kbmc-yellow-2);font-size:24px;font-weight:900}
.kbm-contractor-single__hero dd{margin:3px 0 0;color:#d9e5ef;font-size:12px}
.kbm-contractor-single__layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;margin-top:22px;align-items:start}
.kbm-contractor-single__layout>aside{position:sticky;top:90px;display:grid;gap:16px}
.kbm-contractor-single__layout>main{display:grid;gap:16px}
.kbm-contractor-panel{padding:clamp(18px,2.2vw,28px);border:1px solid var(--kbmc-line);border-radius:20px;background:#fff;box-shadow:0 9px 32px rgba(7,29,51,.055)}
.kbm-contractor-panel h2{margin:0 0 15px;color:var(--kbmc-navy);font-size:20px}
.kbm-contractor-panel h3{margin:22px 0 8px;font-size:16px}
.kbm-contractor-panel p{color:#50637a;line-height:2}
.kbm-contractor-contact dl{display:grid;grid-template-columns:1fr;gap:0;margin:0}
.kbm-contractor-contact dl>*{padding:10px 0;border-bottom:1px solid #edf1f5}
.kbm-contractor-contact dt{color:#718096;font-size:12px}
.kbm-contractor-contact dd{margin:3px 0 0;font-weight:900}
.kbm-contractor-contact>a{display:flex;align-items:center;justify-content:center;min-height:46px;margin-top:12px;border-radius:11px;color:var(--kbmc-navy);font-weight:900;background:var(--kbmc-yellow)}
.kbm-contractor-contact>a.is-secondary{border:1px solid #ccd6e1;color:#41556d;background:#fff}
.kbm-contractors-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--kbmc-line);border-radius:14px}
.kbm-contractors table{width:100%;min-width:720px;border-collapse:collapse}
.kbm-contractors th,.kbm-contractors td{padding:12px 14px;border-bottom:1px solid var(--kbmc-line);text-align:right;font-size:13px;white-space:nowrap}
.kbm-contractors th{color:#2b4058;background:#f0f4f8}
.kbm-contractors tbody tr:last-child td{border-bottom:0}
.kbm-contractor-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kbm-contractor-gallery a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:13px;background:#e8eef4}
.kbm-contractor-gallery img{width:100%;height:100%;object-fit:cover}
.kbm-contractor-rfq form{display:grid;gap:13px}
.kbm-contractor-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kbm-contractor-form-grid .is-wide{grid-column:1/-1}
.kbm-contractors-notice{margin:12px 0;padding:13px 15px;border:1px solid #bedbcf;border-radius:12px;color:#096449;background:#edfaf5}
.kbm-contractors-notice.is-error{border-color:#f1c3bd;color:var(--kbmc-red);background:#fff1ef}
.kbm-contractors-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.kbm-contractor-mobile-cta{display:none}

/* Wizard */
.kbm-contractor-submit{width:min(1320px,calc(100% - 32px))}
.kbm-contractor-submit>.kbm-contractors-hero{min-height:340px;grid-template-columns:1fr}
.kbm-contractor-wizard{margin-top:20px;padding:clamp(16px,3vw,32px);border:1px solid var(--kbmc-line);border-radius:24px;background:#fff;box-shadow:var(--kbmc-shadow)}
.kbm-contractor-progress{position:relative;margin-bottom:28px;padding-top:8px;overflow:auto}
.kbm-contractor-progress:before,.kbm-contractor-progress>span{content:"";position:absolute;top:23px;right:4%;left:4%;height:4px;border-radius:999px;background:#dfe6ed}
.kbm-contractor-progress>span{z-index:1;left:auto;width:var(--progress,12.5%);max-width:92%;background:linear-gradient(90deg,var(--kbmc-yellow),var(--kbmc-yellow-2));transition:width .25s ease}
.kbm-contractor-progress ol{position:relative;z-index:2;display:grid;grid-template-columns:repeat(8,minmax(76px,1fr));min-width:720px;margin:0;padding:0;list-style:none}
.kbm-contractor-progress li{display:grid;justify-items:center;gap:5px;color:#8492a3;cursor:pointer}
.kbm-contractor-progress li b{display:grid;place-items:center;width:34px;height:34px;border:3px solid #dfe6ed;border-radius:50%;color:#6e7d8e;background:#fff}
.kbm-contractor-progress li.is-active{color:var(--kbmc-navy);font-weight:900}
.kbm-contractor-progress li.is-active b{border-color:var(--kbmc-yellow);color:var(--kbmc-navy);background:var(--kbmc-yellow)}
.kbm-contractor-step{animation:kbmcStep .25s ease}
.kbm-contractor-step[hidden]{display:none!important}
.kbm-contractor-wizard__actions [hidden],.kbm-contractor-wizard__actions button[hidden]{display:none!important}
.kbm-contractor-step>header{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--kbmc-line)}
.kbm-contractor-step>header span{color:#8b6a00;font-size:12px;font-weight:900}
.kbm-contractor-step h2{margin:5px 0 0;font-size:24px}
.kbm-contractor-step fieldset{margin:0 0 18px;padding:17px;border:1px solid var(--kbmc-line);border-radius:16px}
.kbm-contractor-step legend{padding:0 8px;color:var(--kbmc-navy);font-size:15px;font-weight:900}
.kbm-contractor-checks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.kbm-contractor-checks label{display:flex;align-items:center;gap:7px;min-height:44px;padding:9px 10px;border:1px solid #dbe3eb;border-radius:11px;color:#3d5067;font-size:12px;background:#fafcfd;cursor:pointer}
.kbm-contractor-checks label:has(input:checked){border-color:#e0a500;color:var(--kbmc-navy);background:#fff8de;box-shadow:0 0 0 2px rgba(244,180,0,.1)}
.kbm-contractor-service-preview{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:14px;border:1px solid #dce5e9;border-radius:18px;background:linear-gradient(135deg,#f8fafb,#fff7d6)}
.kbm-contractor-service-preview img{width:74px;height:74px;object-fit:contain}.kbm-contractor-service-preview small,.kbm-contractor-service-preview b{display:block}.kbm-contractor-service-preview small{color:#637581}.kbm-contractor-service-preview b{font-size:18px;margin-top:4px}.kbm-contractor-step fieldset legend{display:flex;align-items:center;gap:8px}.kbm-contractor-step fieldset legend img{width:34px;height:34px}
.kbm-contractor-context-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:28px auto;padding:20px;width:min(100%,1180px);border:1px solid #d8e2e7;border-inline-start:6px solid var(--kbmc-yellow);border-radius:18px;background:linear-gradient(135deg,#fff,#f5f9fa);box-shadow:0 10px 28px rgba(10,31,45,.08)}.kbm-contractor-context-cta>img{flex:0 0 64px;width:64px;height:64px;object-fit:contain}.kbm-contractor-context-cta>div{min-width:0;margin-inline-end:auto}.kbm-contractor-context-cta b,.kbm-contractor-context-cta span{display:block}.kbm-contractor-context-cta b{color:var(--kbmc-navy);font-size:18px}.kbm-contractor-context-cta span{margin-top:5px;color:#5d7180}.kbm-contractor-context-cta a{flex:0 0 auto;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border-radius:12px;background:var(--kbmc-navy);color:#fff!important;text-decoration:none!important;font-weight:900}
.kbm-repeat{margin:18px 0;padding:16px;border:1px solid var(--kbmc-line);border-radius:16px;background:#f8fafc}
.kbm-repeat>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.kbm-repeat h3{margin:0;font-size:16px}
.kbm-repeat>header button{min-height:38px;padding:8px 14px;border:0;border-radius:9px;color:var(--kbmc-navy);font-weight:900;background:var(--kbmc-yellow);cursor:pointer}
.kbm-repeat [data-kbm-repeat-list]{display:grid;gap:10px}
.kbm-repeat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px;border:1px solid #dfe6ed;border-radius:12px;background:#fff}
.kbm-repeat-row button{min-height:42px;border:1px solid #efc8c2;border-radius:10px;color:#a02a1f;font-weight:800;background:#fff5f3;cursor:pointer}
.kbm-contractor-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kbm-contractor-media-grid label{padding:14px;border:1px dashed #bcc9d6;border-radius:13px;background:#f8fafc}
.kbm-contractor-wizard__actions{position:sticky;bottom:78px;z-index:4;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:28px -10px -10px;padding:12px;border:1px solid var(--kbmc-line);border-radius:15px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 -8px 30px rgba(7,29,51,.08)}
.kbm-contractor-wizard__actions span{text-align:center;color:#607086;font-size:13px;font-weight:800}
.kbm-contractor-wizard__actions button{min-height:46px;padding:9px 19px;border:1px solid #cbd6e1;border-radius:11px;color:#40536a;font-weight:900;background:#fff;cursor:pointer}
.kbm-contractor-wizard__actions [data-kbm-wizard-next],.kbm-contractor-wizard__actions [data-kbm-wizard-submit]{border-color:var(--kbmc-yellow);color:var(--kbmc-navy);background:var(--kbmc-yellow)}
.kbm-contractor-wizard__actions button:disabled{opacity:.45;cursor:not-allowed}
.kbm-contractors-muted{color:var(--kbmc-muted)!important;font-size:13px}
.kbm-required{display:inline-block;margin-inline-start:4px;padding:0;color:#c62828;font-size:1.05em;line-height:1;font-style:normal;font-weight:950;background:transparent}.kbm-required-note{display:inline-block;margin-inline-start:6px;color:#7b8794;font-size:11px;font-weight:700}
.kbm-contractor-validation{position:sticky;z-index:5;top:74px;margin:0 0 16px;padding:12px 14px;border:1px solid #efb7b0;border-radius:12px;color:var(--kbmc-red);font-weight:900;background:#fff1ef}
.kbm-contractor-validation[hidden]{display:none!important}
.kbm-contractor-wizard[data-kbm-session-warning="1"]:before{content:"پیش‌نویس در مرورگر حفظ شده است؛ پیش از ارسال اتصال اینترنت را بررسی کنید.";display:block;margin-bottom:14px;padding:11px 13px;border:1px solid #ecd08c;border-radius:11px;color:#795c00;background:#fff9df}
.kbm-contractor-confirm{display:flex!important;grid-column:1/-1;align-items:center;gap:8px;margin-top:14px;padding:13px;border:1px solid var(--kbmc-line);border-radius:12px;background:#f8fafc}
.kbm-contractor-confirm input{flex:0 0 auto;width:20px;min-height:20px}
.kbm-contractor-login{position:relative;isolation:isolate;display:grid;place-items:center;min-height:620px;padding:clamp(24px,6vw,72px);overflow:hidden;border-radius:28px;background:linear-gradient(105deg,rgba(4,20,36,.97),rgba(7,35,60,.78),rgba(7,29,51,.34)),var(--kbm-contractors-login-hero);background-size:cover;background-position:center;box-shadow:var(--kbmc-shadow)}
.kbm-contractor-login>div{max-width:620px;margin-inline-start:auto;padding:clamp(28px,5vw,54px);border:1px solid rgba(255,255,255,.22);border-radius:24px;text-align:right;color:#fff;background:rgba(4,24,42,.82);backdrop-filter:blur(10px);box-shadow:0 24px 70px rgba(3,17,30,.34)}
.kbm-contractor-login>div>span{color:var(--kbmc-yellow-2);font-size:13px;font-weight:900}
.kbm-contractor-login h1{margin:12px 0;color:#fff;font-size:clamp(32px,5vw,52px)}
.kbm-contractor-login p{color:#e0eaf3;line-height:2}
.kbm-contractor-login small{display:block;margin-top:14px;color:#cbd9e6}

/* Owner dashboard */
.kbm-contractors-my>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px;border-radius:22px;color:#fff;background:linear-gradient(110deg,var(--kbmc-navy),var(--kbmc-navy-2))}
.kbm-contractors-my>header h1{margin:10px 0 5px;color:#fff}
.kbm-contractors-my>header p{margin:0;color:#dce8f3}
.kbm-contractor-owner-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.kbm-contractor-owner-card{padding:20px;border:1px solid var(--kbmc-line);border-radius:18px;background:#fff;box-shadow:0 9px 30px rgba(7,29,51,.06)}
.kbm-contractor-owner-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.kbm-contractor-owner-card header span{color:#8a6800;font-size:12px;font-weight:900}
.kbm-contractor-owner-card h2{margin:5px 0 0;font-size:20px}
.kbm-contractor-owner-card header>b{padding:7px 10px;border-radius:999px;color:var(--kbmc-green);font-size:12px;background:#e8f7f1}
.kbm-contractor-owner-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}
.kbm-contractor-owner-card dl div{padding:11px;border-radius:11px;background:#f3f6f9}
.kbm-contractor-owner-card dt{color:#718096;font-size:11px}
.kbm-contractor-owner-card dd{margin:3px 0 0;font-weight:900}
.kbm-contractor-owner-card nav{display:flex;flex-wrap:wrap;gap:8px}
.kbm-contractor-owner-card nav a{display:inline-flex;padding:9px 13px;border:1px solid #cdd7e2;border-radius:10px;color:#344a62;font-size:12px;font-weight:900;background:#fff}

@keyframes kbmcStep{from{opacity:.35;transform:translateX(-10px)}to{opacity:1;transform:none}}
@media(max-width:1180px){
  .kbm-contractors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kbm-contractor-checks{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kbm-repeat-row{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:920px){
  .kbm-contractors{width:min(100% - 20px,1480px);margin-top:12px}
  .kbm-contractors-hero{grid-template-columns:1fr;min-height:390px;padding:28px;border-radius:20px}
  .kbm-contractors-hero>dl{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kbm-contractors-layout{grid-template-columns:1fr}
  .kbm-contractors-layout>aside{position:static}
  .kbm-contractors-filter-toggle{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:16px 0 10px;border:0;border-radius:12px;color:var(--kbmc-navy);font-weight:900;background:var(--kbmc-yellow)}
  .kbm-contractors-layout>aside{position:fixed;z-index:100010;top:0;right:0;bottom:0;width:min(390px,92vw);padding:12px;overflow:auto;transform:translateX(110%);transition:transform .22s ease}
  .kbm-contractors-filter{min-height:100%;border-radius:18px}
  .kbm-contractors-filter header button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:10px;font-size:25px;background:#edf2f6}
  .kbm-contractors-backdrop{position:fixed;z-index:100009;inset:0;width:100%;height:100%;border:0;background:rgba(3,17,30,.58);opacity:0;pointer-events:none;transition:opacity .2s ease}
  body.kbm-contractors-filter-open{overflow:hidden}
  body.kbm-contractors-filter-open .kbm-contractors-layout>aside{transform:none}
  body.kbm-contractors-filter-open .kbm-contractors-backdrop{display:block;opacity:1;pointer-events:auto}
  .kbm-contractor-single__layout{grid-template-columns:1fr}
  .kbm-contractor-single__layout>aside{position:static}
  .kbm-contractor-single__layout>main{display:contents}
  .kbm-contractor-single__layout>aside{display:contents}
  .kbm-contractor-contact{order:-10}
  .kbm-contractor-rfq{order:20}
  .kbm-contractor-mobile-cta{position:fixed;z-index:99990;right:10px;bottom:72px;left:10px;display:grid;grid-template-columns:1.3fr 1fr;gap:8px;padding:8px;border:1px solid #d5dee7;border-radius:15px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);box-shadow:0 10px 34px rgba(7,29,51,.2)}
  .kbm-contractor-mobile-cta a{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:11px;color:var(--kbmc-navy);font-weight:900;background:var(--kbmc-yellow)}
  .kbm-contractor-mobile-cta a.is-call{color:#fff;background:var(--kbmc-navy)}
  .kbm-contractor-checks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kbm-repeat-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .kbm-contractors{width:calc(100% - 12px)}
  .kbm-contractors-hero{min-height:430px;padding:22px 18px;background-image:linear-gradient(180deg,rgba(4,20,36,.96),rgba(7,35,60,.72) 62%,rgba(7,29,51,.46)),var(--kbm-contractors-hero-mobile,var(--kbm-contractors-hero))}
  .kbm-contractors-hero h1{font-size:32px}
  .kbm-contractors-hero>dl{grid-template-columns:1fr 1fr}
  .kbm-contractors-hero>dl div:last-child{grid-column:1/-1}
  .kbm-contractors-hero nav{display:grid;grid-template-columns:1fr}
  .kbm-contractors-grid{grid-template-columns:1fr}
  .kbm-contractors-toolbar{align-items:flex-start}
  .kbm-contractors-toolbar small{display:none}
  .kbm-contractor-card>p{min-height:0}
  .kbm-contractor-single__hero{padding:28px 18px;border-radius:20px;background-image:linear-gradient(180deg,rgba(4,20,36,.96),rgba(7,35,60,.70)),var(--kbm-contractor-cover-mobile,var(--kbm-contractor-cover))}
  .kbm-contractor-single__identity{grid-template-columns:70px minmax(0,1fr);gap:12px;align-items:start}
  .kbm-contractor-single__identity>img,.kbm-contractor-single__identity>span{width:70px;height:70px;border-radius:18px;font-size:18px}
  .kbm-contractor-single__identity h1{font-size:27px}
  .kbm-contractor-single__identity p{grid-column:1/-1}
  .kbm-contractor-single__hero>dl{grid-template-columns:1fr 1fr;margin-top:24px}
  .kbm-contractor-panel{padding:16px}
  .kbm-contractor-gallery{grid-template-columns:1fr 1fr}
  .kbm-contractor-form-grid{grid-template-columns:1fr}
  .kbm-contractor-checks{grid-template-columns:1fr 1fr}
  .kbm-repeat-row{grid-template-columns:1fr}
  .kbm-contractor-media-grid{grid-template-columns:1fr}
  .kbm-contractor-wizard{padding:14px;border-radius:18px}
  .kbm-contractor-wizard__actions{bottom:70px;grid-template-columns:1fr 1fr}
  .kbm-contractor-wizard__actions span{display:none}
  .kbm-contractor-owner-grid{grid-template-columns:1fr}
  .kbm-contractors-my>header{display:grid;padding:22px}
  .kbm-contractor-owner-card dl{grid-template-columns:1fr 1fr}
  .kbm-contractor-context-cta{display:grid}.kbm-contractor-context-cta>img{width:54px;height:54px}.kbm-contractor-context-cta a{width:100%}
  .kbm-contractor-login{width:calc(100% - 12px);min-height:610px;padding:14px;background-image:linear-gradient(180deg,rgba(4,20,36,.82),rgba(7,29,51,.96)),var(--kbm-contractors-login-hero-mobile,var(--kbm-contractors-login-hero));background-position:center}
  .kbm-contractor-login>div{width:100%;margin-top:auto;padding:24px 18px}
}
@media(prefers-reduced-motion:reduce){
  .kbm-contractors *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
