
/* DECARBO.CZ – redesign registrace */

body.decarbo-registration-page #content { background:#f7f8fa; }

body.decarbo-registration-page .decarbo-reg-content{
  width:calc(100% - 40px)!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body.decarbo-registration-page .decarbo-original-registration-title{
  display:none!important;
}

.decarbo-reg-shell{
  width:100%;
  max-width:1080px;
  margin:25px auto 70px;
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  background:#fff;
  border:1px solid #e5e8ee;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 3px 8px rgba(10,22,50,.025),0 18px 45px rgba(10,22,50,.065);
}

.decarbo-reg-aside{
  background:radial-gradient(circle at 20% 0%,rgba(255,211,0,.12),transparent 35%),#101731;
  color:#fff;
  padding:44px 35px;
}

.decarbo-reg-aside-inner{ position:sticky; top:25px; }

.decarbo-reg-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#ffd400;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:18px;
}

.decarbo-reg-kicker::before{
  content:"";
  width:22px;
  height:3px;
  border-radius:10px;
  background:#ffd400;
}

.decarbo-reg-aside h2{
  color:#fff!important;
  font-size:28px!important;
  line-height:1.2!important;
  font-weight:800!important;
  margin:0 0 13px!important;
  padding:0!important;
  text-align:left!important;
}

.decarbo-reg-aside-text{
  margin:0 0 30px;
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.65;
}

.decarbo-reg-benefits{
  margin:0;
  padding:0;
  list-style:none;
}

.decarbo-reg-benefits li{
  position:relative;
  padding:0 0 0 31px;
  margin:0 0 17px;
  color:rgba(255,255,255,.92);
  font-size:14px;
  line-height:1.45;
}

.decarbo-reg-benefits li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:-2px;
  width:21px;
  height:21px;
  border-radius:50%;
  background:#ffd400;
  color:#101731;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:900;
}

.decarbo-reg-b2b-note{
  margin-top:32px;
  padding:17px 18px;
  border-radius:11px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.11);
}

.decarbo-reg-b2b-note strong{
  display:block;
  color:#fff;
  font-size:13px;
  margin-bottom:5px;
}

.decarbo-reg-b2b-note span{
  color:rgba(255,255,255,.65);
  font-size:12px;
  line-height:1.5;
}

.decarbo-reg-main{
  min-width:0;
  padding:42px 48px 45px;
}

.decarbo-reg-heading{ margin:0 0 29px; }

.decarbo-reg-heading .decarbo-overline{
  display:block;
  color:#8b93a5;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.09em;
  font-weight:800;
  margin-bottom:8px;
}

.decarbo-reg-heading h1{
  margin:0 0 8px!important;
  padding:0!important;
  color:#111827!important;
  font-size:31px!important;
  line-height:1.18!important;
  font-weight:800!important;
  text-align:left!important;
}

.decarbo-reg-heading p{
  margin:0;
  color:#667085;
  font-size:14px;
  line-height:1.55;
}

#register-form{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

#register-form .box,
#register-form .co-box,
#register-form fieldset{ box-shadow:none!important; }

#register-form .co-registration{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}

#register-form .co-registration > fieldset{
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
}

#register-form .decarbo-native-groups{
  position:fixed!important;
  left:-10000px!important;
  top:0!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

.decarbo-account-type{ margin-bottom:34px; }

.decarbo-account-type-label{
  display:block;
  margin-bottom:11px;
  color:#344054;
  font-size:13px;
  font-weight:750;
}

.decarbo-account-choices{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.decarbo-account-choice{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid #d9dee8;
  background:#fff;
  border-radius:12px;
  min-height:86px;
  padding:17px 42px 17px 17px;
  cursor:pointer;
  text-align:left;
  position:relative;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}

.decarbo-account-choice:hover{
  border-color:#aeb6c5;
  background:#fcfcfd;
}

.decarbo-account-choice.is-selected{
  border-color:#151a30;
  box-shadow:inset 0 0 0 1px #151a30;
}

.decarbo-account-choice-title{
  display:block;
  color:#101828;
  font-size:15px;
  font-weight:800;
  line-height:1.25;
  margin-bottom:4px;
}

.decarbo-account-choice-desc{
  display:block;
  color:#7a8291;
  font-size:12px;
  line-height:1.4;
}

.decarbo-account-choice-check{
  position:absolute;
  right:15px;
  top:15px;
  width:22px;
  height:22px;
  border-radius:50%;
  border:1px solid #d5dae4;
  background:#fff;
}

.decarbo-account-choice.is-selected .decarbo-account-choice-check{
  border-color:#ffd400;
  background:#ffd400;
}

.decarbo-account-choice.is-selected .decarbo-account-choice-check::after{
  content:"✓";
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  color:#111827;
  font-size:12px;
  font-weight:900;
}

.decarbo-business-picker{
  margin-top:17px;
  padding:19px 20px;
  background:#f8f9fb;
  border:1px solid #e5e8ee;
  border-radius:12px;
}

.decarbo-business-picker[hidden]{ display:none!important; }

.decarbo-business-picker label{
  display:block;
  color:#344054;
  font-weight:750;
  font-size:13px;
  margin-bottom:7px;
}

.decarbo-business-picker select{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:48px!important;
  padding:0 42px 0 13px!important;
  border:1px solid #d5dae4!important;
  border-radius:8px!important;
  background-color:#fff!important;
  font-size:14px!important;
  color:#101828!important;
}

.decarbo-business-help{
  position:relative;
  margin:11px 0 0;
  padding-left:20px;
  color:#667085;
  font-size:12px;
  line-height:1.5;
}

.decarbo-business-help::before{
  content:"i";
  position:absolute;
  left:0;
  top:1px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#ffd400;
  color:#141829;
  font-size:9px;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
}

#register-form .co-registration{
  border-top:1px solid #eaecf0!important;
  padding-top:29px!important;
  margin-top:29px!important;
}

#register-form .co-registration fieldset{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:20px;
  row-gap:18px;
}

#register-form .co-registration h2{
  grid-column:1/-1;
  color:#101828!important;
  font-size:18px!important;
  line-height:1.3!important;
  font-weight:800!important;
  text-align:left!important;
  padding:0!important;
  margin:0 0 3px!important;
}

#register-form .form-legend{ display:none!important; }

#register-form .form-group{
  margin-top:0!important;
  margin-bottom:0!important;
  width:100%!important;
  max-width:none!important;
}

#register-form .decarbo-span-2{ grid-column:1/-1!important; }

#register-form #company-info{
  grid-column:1/-1;
  width:100%;
}

#register-form #company-info.visible{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 20px;
}

#register-form #company-info .decarbo-span-2{
  grid-column:1/-1!important;
}

#register-form .smart-label-wrapper > label,
#register-form .form-group > label{
  display:block!important;
  position:static!important;
  transform:none!important;
  width:auto!important;
  height:auto!important;
  margin:0 0 7px!important;
  padding:0!important;
  color:#344054!important;
  font-size:12px!important;
  line-height:1.4!important;
  font-weight:750!important;
  pointer-events:auto!important;
}

#register-form .form-control-wrapper{
  width:100%!important;
  max-width:none!important;
}

#register-form input.form-control,
#register-form select.form-control{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:48px!important;
  border:1px solid #d7dce5!important;
  border-radius:8px!important;
  background-color:#fff!important;
  box-shadow:none!important;
  color:#101828!important;
  font-size:14px!important;
  line-height:48px!important;
  padding:0 13px!important;
  transition:border-color .18s ease,box-shadow .18s ease;
}

#register-form input.form-control:focus,
#register-form select.form-control:focus{
  outline:none!important;
  border-color:#182038!important;
  box-shadow:0 0 0 3px rgba(24,32,56,.08)!important;
}

#register-form .phone-combined-input{
  width:100%!important;
  display:flex!important;
}

#register-form .phone-combined-input #phone{
  flex:1 1 auto!important;
  width:100%!important;
  min-width:0!important;
}

#register-form .country-flags{ min-height:48px!important; }

#register-form .decarbo-confirmation{
  border:0!important;
  border-top:1px solid #eaecf0!important;
  padding:27px 0 0!important;
  margin:30px 0 0!important;
  background:transparent!important;
}

#register-form .decarbo-confirmation > h2{ display:none!important; }

#register-form .consents{ margin:0 0 18px!important; }

#register-form .consents .label{
  margin:0!important;
  color:#667085!important;
  font-size:11px!important;
  line-height:1.55!important;
}

#register-form .submit-wrapper{
  margin:0!important;
  padding:0!important;
}

#register-form .submit-wrapper .btn,
#register-form .submit-wrapper button[type="submit"]{
  width:100%!important;
  max-width:none!important;
  min-height:52px!important;
  padding:0 25px!important;
  border-radius:9px!important;
  border:1px solid #ffd400!important;
  background:#ffd400!important;
  color:#111827!important;
  box-shadow:none!important;
  font-size:14px!important;
  font-weight:850!important;
  text-transform:none!important;
}

@media(max-width:900px){
  body.decarbo-registration-page .decarbo-reg-content{width:calc(100% - 24px)!important;}
  .decarbo-reg-shell{grid-template-columns:1fr;margin-top:15px;border-radius:14px;}
  .decarbo-reg-main{order:1;padding:29px 25px 32px;}
  .decarbo-reg-aside{order:2;padding:30px 25px;}
  .decarbo-reg-aside-inner{position:static;}
}

@media(max-width:600px){
  body.decarbo-registration-page .decarbo-reg-content{width:calc(100% - 18px)!important;}
  .decarbo-reg-main{padding:25px 18px 28px;}
  .decarbo-reg-heading h1{font-size:26px!important;}
  .decarbo-account-choices{grid-template-columns:1fr;}
  #register-form .co-registration fieldset,
  #register-form #company-info.visible{grid-template-columns:1fr;}
  #register-form .decarbo-span-2,
  #register-form #company-info,
  #register-form #company-info .decarbo-span-2{grid-column:1!important;}
}


/* =========================================================
   DECARBO REGISTRACE V2 – UX DOTAŽENÍ
   ========================================================= */

.decarbo-reg-aside #decarboAsideTitle{
  color:#fff!important;
  opacity:1!important;
  text-shadow:none!important;
}

.decarbo-reg-aside #decarboAsideText{
  color:rgba(255,255,255,.78)!important;
}

.decarbo-reg-main{
  padding:38px 42px 42px;
}

.decarbo-reg-heading{
  margin-bottom:24px;
}

.decarbo-reg-heading h1{
  font-size:30px!important;
}

.decarbo-account-type{
  margin-bottom:28px;
}

.decarbo-account-choice{
  min-height:82px;
  padding:16px 44px 16px 16px;
}

.decarbo-business-picker{
  margin-top:14px;
  padding:16px 18px;
}

.decarbo-business-help{
  margin-top:9px;
}

#register-form .co-registration{
  padding-top:25px!important;
  margin-top:25px!important;
}

#register-form .co-registration fieldset{
  row-gap:16px;
}

#register-form .smart-label-wrapper > label,
#register-form .form-group > label{
  font-size:12.5px!important;
  letter-spacing:.01em;
}

#register-form input.form-control,
#register-form select.form-control{
  height:50px!important;
  line-height:50px!important;
  font-size:14px!important;
}

#register-form .country-flags{
  min-height:50px!important;
}

/* jistota: důležitá pole přes celou šířku */
#register-form .decarbo-span-2{
  grid-column:1 / -1!important;
  width:100%!important;
}

#register-form .decarbo-section-title{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:10px;
  margin:4px 0 0;
  color:#101828;
  font-size:13px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.055em;
}

#register-form .decarbo-section-title::after{
  content:"";
  height:1px;
  flex:1 1 auto;
  background:#eaecf0;
}

.decarbo-business-restriction{
  margin:10px 0 0;
  padding:10px 12px;
  border-radius:8px;
  background:#fff8d9;
  border:1px solid #f4df7d;
  color:#4b5563;
  font-size:11.5px;
  line-height:1.5;
}

.decarbo-business-restriction strong{
  color:#111827;
}

.decarbo-account-choice.is-pending{
  border-color:#ffd400;
  box-shadow:inset 0 0 0 1px #ffd400;
  background:#fffdf4;
}

.decarbo-account-choice.is-pending .decarbo-account-choice-check{
  border-color:#ffd400;
}

#decarboBusinessType:invalid{
  color:#7a8291!important;
}

#register-form .submit-wrapper button[disabled]{
  opacity:.5!important;
  cursor:not-allowed!important;
  transform:none!important;
  box-shadow:none!important;
}

@media(max-width:900px){
  .decarbo-reg-main{padding:30px 28px 34px;}
}

@media(max-width:600px){
  .decarbo-reg-main{padding:24px 17px 28px;}
}


/* =========================================================
   DECARBO REGISTRACE V2.2 – zarovnání polí a čistší rámečky
   ========================================================= */

/* Shoptet někde používá float/flex šířky – vynutíme čistý grid */
#register-form .co-registration fieldset > .form-group,
#register-form #company-info > .form-group {
  float:none!important;
  clear:none!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}

/* skutečný gap mezi sloupci */
#register-form .co-registration fieldset,
#register-form #company-info.visible {
  column-gap:18px!important;
  row-gap:17px!important;
}

/* email a název firmy přes celou šířku */
#register-form #email.closest,
#register-form #billCompany.closest {
  grid-column:1 / -1!important;
}

#register-form #email,
#register-form #billCompany {
  width:100%!important;
}

/* explicitně přes parent :has() pro moderní Chrome */
#register-form .form-group:has(#email),
#register-form .form-group:has(#billCompany),
#register-form .form-group:has(#billStreet),
#register-form .form-group:has(#billCountryId) {
  grid-column:1 / -1!important;
}

/* všechna pole mají přesně stejnou geometrii */
#register-form .form-control-wrapper,
#register-form .phone-form-group .form-control-wrapper,
#register-form .phone-combined-input {
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

#register-form input.form-control,
#register-form select.form-control,
#register-form .phone-combined-input {
  box-sizing:border-box!important;
}

/* žádné slepení u hesel / IČO + DIČ */
#register-form .form-group + .form-group {
  margin-left:0!important;
}

/* sjednocené inputy */
#register-form input.form-control,
#register-form select.form-control {
  border:1px solid #d8dee8!important;
  border-radius:9px!important;
  background:#fff!important;
}

/* jemnější oddělení sekcí */
#register-form .co-registration {
  border-top:1px solid #edf0f4!important;
}

#register-form .decarbo-section-title::after {
  background:#edf0f4!important;
}

/* horní typ zákazníka – čistší rámečky */
.decarbo-account-choice {
  border:1px solid #dde2ea!important;
  box-shadow:none!important;
}

.decarbo-account-choice.is-selected {
  border:1.5px solid #111827!important;
  box-shadow:0 0 0 1px rgba(17,24,39,.04)!important;
}

/* oborový blok méně "box v boxu" */
.decarbo-business-picker {
  border:1px solid #e4e8ef!important;
  background:#fafbfc!important;
  box-shadow:none!important;
}

.decarbo-business-restriction {
  border:1px solid #efd96a!important;
  background:#fff9df!important;
}

/* na desktopu udržet formulář opticky přesný */
@media (min-width: 901px) {
  .decarbo-reg-main {
    padding-left:40px!important;
    padding-right:40px!important;
  }

  #register-form .co-registration fieldset,
  #register-form #company-info.visible {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }

  #register-form .form-group:has(#email),
  #register-form .form-group:has(#billCompany),
  #register-form .form-group:has(#billStreet),
  #register-form .form-group:has(#billCountryId) {
    width:100%!important;
  }
}


/* =========================================================
   DECARBO REGISTRACE V2.3 – lock formuláře před výběrem oboru
   ========================================================= */

.decarbo-form-lock-notice{
  display:none;
  margin:0 0 18px;
  padding:12px 14px;
  border:1px solid #f1d56b;
  background:#fff8da;
  border-radius:10px;
  color:#5b4a00;
  font-size:12.5px;
  line-height:1.5;
}

.decarbo-form-lock-notice.is-visible{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.decarbo-form-lock-notice strong{
  color:#111827;
}

.decarbo-form-lock-btn{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid #111827;
  background:#111827;
  color:#fff;
  border-radius:8px;
  min-height:38px;
  padding:0 14px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}

.decarbo-business-picker.is-attention{
  border-color:#e6c84f!important;
  box-shadow:0 0 0 3px rgba(230,200,79,.18)!important;
}

#register-form .co-registration.is-locked,
#register-form .decarbo-confirmation.is-locked{
  position:relative;
  opacity:.58;
}

#register-form .co-registration.is-locked::after,
#register-form .decarbo-confirmation.is-locked::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.28);
  border-radius:8px;
  z-index:3;
}

@media (max-width: 640px){
  .decarbo-form-lock-notice.is-visible{
    display:block;
  }

  .decarbo-form-lock-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:10px;
    width:100%;
  }
}
