.elementor-50855 .elementor-element.elementor-element-1796276{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:20px;--margin-bottom:120px;--margin-left:0px;--margin-right:0px;}.elementor-50855 .elementor-element.elementor-element-4595695{--display:flex;}.elementor-50855 .elementor-element.elementor-element-5ad23e0{width:initial;max-width:initial;}.elementor-50855 .elementor-element.elementor-element-5ad23e0 > .elementor-widget-container{margin:0px 0px 30px 0px;}.elementor-50855 .elementor-element.elementor-element-5ad23e0, .elementor-50855 .elementor-element.elementor-element-5ad23e0 .elementor-text-editor *{font-size:23px;line-height:34px;}.elementor-50855 .elementor-element.elementor-element-311c745{width:initial;max-width:initial;}.elementor-50855 .elementor-element.elementor-element-311c745 > .elementor-widget-container{margin:0px 0px 30px 0px;}.elementor-50855 .elementor-element.elementor-element-311c745, .elementor-50855 .elementor-element.elementor-element-311c745 .elementor-text-editor *{font-size:23px;line-height:34px;}.elementor-50855 .elementor-element.elementor-element-2fb3d97{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:60px;--margin-left:0px;--margin-right:0px;}.elementor-50855 .elementor-element.elementor-element-a7fecad .gem-button-container .gem-button{background-color:#2B3E91;border-radius:22px 22px 22px 22px;}.elementor-50855 .elementor-element.elementor-element-a7fecad .gem-button-container .gem-button:hover{background-color:#1CB2FF;}.elementor-50855 .elementor-element.elementor-element-a7fecad{width:auto;max-width:auto;}.elementor-50855 .elementor-element.elementor-element-a7fecad > .elementor-widget-container{margin:0px 50px 0px 0px;}.elementor-50855 .elementor-element.elementor-element-a7fecad.elementor-element{--align-self:flex-start;}.elementor-50855 .elementor-element.elementor-element-a7fecad .gem-button-container{text-align:left;}.elementor-50855 .elementor-element.elementor-element-a7fecad .gem-button-container .gem-button .gem-inner-wrapper-btn{padding:14px 40px 15px 40px;}.elementor-50855 .elementor-element.elementor-element-a7fecad .gem-button-container .gem-button .gem-text-button{font-size:20px;}.elementor-50855 .elementor-element.elementor-element-576f01a{--display:flex;--border-radius:40px 40px 40px 40px;--padding-top:0px;--padding-bottom:50px;--padding-left:40px;--padding-right:40px;}.elementor-50855 .elementor-element.elementor-element-576f01a:not(.elementor-motion-effects-element-type-background), .elementor-50855 .elementor-element.elementor-element-576f01a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-06616eb );}.elementor-50855 .elementor-element.elementor-element-62c3b29 .wpcf7-form-control-wrap{margin-bottom:24px;}.elementor-50855 .elementor-element.elementor-element-62c3b29 .thegem-cf7 .with-label{margin-bottom:24px;}.elementor-50855 .elementor-element.elementor-element-62c3b29 .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-checkbox):not(.wpcf7-radio){border-radius:20px 20px 20px 20px;}.elementor-50855 .elementor-element.elementor-element-62c3b29 .combobox-wrapper{border-radius:20px 20px 20px 20px;}.elementor-50855 .elementor-element.elementor-element-62c3b29 .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-checkbox):not(.wpcf7-radio), .elementor-50855 .elementor-element.elementor-element-62c3b29 .combobox-wrapper{box-shadow:0px 10px 8px 0px rgba(0, 36, 70, 0.07);}.elementor-50855 .elementor-element.elementor-element-62c3b29 ::-webkit-input-placeholder{color:#7D7D7D;}.elementor-50855 .elementor-element.elementor-element-62c3b29 ::-moz-placeholder{color:#7D7D7D;}.elementor-50855 .elementor-element.elementor-element-62c3b29 ::-ms-input-placeholder{color:#7D7D7D;}.elementor-50855 .elementor-element.elementor-element-62c3b29 .wpcf7-form-control:not(.wpcf7-submit):placeholder-shown{color:#7D7D7D;}.elementor-50855 .elementor-element.elementor-element-62c3b29 label{text-align:left;color:#676767;}.elementor-50855 .elementor-element.elementor-element-62c3b29 .with-label .wpcf7-form-control-wrap{margin-top:10px;}.elementor-50855 .elementor-element.elementor-element-62c3b29 .wpcf7-form-control.wpcf7-checkbox{color:#676767;}.elementor-50855 .elementor-element.elementor-element-62c3b29 .wpcf7-form-control.wpcf7-radio{color:#676767;}.elementor-50855 .elementor-element.elementor-element-62c3b29 .with-radio .wpcf7-form-control-wrap{margin-bottom:24px;}.elementor-50855 .elementor-element.elementor-element-62c3b29 .checkbox-sign, .elementor-50855 .elementor-element.elementor-element-62c3b29 .radio-sign{width:23px;height:23px;}.elementor-50855 .elementor-element.elementor-element-62c3b29 .checkbox-sign.checked:before{color:var( --e-global-color-primary );width:29px;height:29px;line-height:29px;font-size:29px;}.elementor-50855 .elementor-element.elementor-element-62c3b29 .radio-sign.checked:before{background-color:var( --e-global-color-primary );width:14px;height:14px;line-height:14px;font-size:14px;}.elementor-50855 .elementor-element.elementor-element-62c3b29 .wpcf7-form p:nth-last-of-type(1){align-items:flex-start;}.elementor-50855 .elementor-element.elementor-element-62c3b29 .wpcf7-form .submit-outer{align-items:flex-start;}.elementor-50855 .elementor-element.elementor-element-62c3b29 .wpcf7-submit{border-radius:22px 22px 22px 22px !important;padding:7px 7px 7px 7px !important;font-size:21px;background-color:var( --e-global-color-primary );margin:15px 0px 0px 0px;}.elementor-50855 .elementor-element.elementor-element-62c3b29 .wpcf7-not-valid-tip{color:#F00606;}.elementor-50855 .elementor-element.elementor-element-5b2fa6f{--display:flex;--margin-top:0px;--margin-bottom:0100px;--margin-left:0px;--margin-right:0px;}.elementor-50855 .elementor-element.elementor-element-2b49cf8{--display:flex;--border-radius:40px 40px 40px 40px;--padding-top:50px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-50855 .elementor-element.elementor-element-2b49cf8:not(.elementor-motion-effects-element-type-background), .elementor-50855 .elementor-element.elementor-element-2b49cf8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F0F1F3;}.elementor-50855 .elementor-element.elementor-element-95e44b5{width:initial;max-width:initial;}.elementor-50855 .elementor-element.elementor-element-95e44b5 > .elementor-widget-container{margin:0px 0px 30px 0px;}.elementor-50855 .elementor-element.elementor-element-95e44b5, .elementor-50855 .elementor-element.elementor-element-95e44b5 .elementor-text-editor *{font-size:23px;line-height:34px;}.elementor-50855 .elementor-element.elementor-element-9c259e2 .gem-button-container .gem-button{background-color:var( --e-global-color-primary );border-radius:22px 22px 22px 22px;}.elementor-50855 .elementor-element.elementor-element-9c259e2 > .elementor-widget-container{margin:0px 24px 0px 0px;}.elementor-50855 .elementor-element.elementor-element-9c259e2 .gem-button-container{text-align:left;}.elementor-50855 .elementor-element.elementor-element-9c259e2 .gem-button-container .gem-button .gem-inner-wrapper-btn{padding:14px 30px 14px 30px;}.elementor-50855 .elementor-element.elementor-element-9c259e2 .gem-button-container .gem-button .gem-text-button{font-size:18px;}.elementor-50855 .elementor-element.elementor-element-2419234 > .elementor-widget-container{margin:-18px 0px 30px 0px;}.elementor-50855 .elementor-element.elementor-element-2419234, .elementor-50855 .elementor-element.elementor-element-2419234 .elementor-text-editor *{font-size:23px;line-height:34px;}@media(max-width:1024px){.elementor-50855 .elementor-element.elementor-element-5b2fa6f{--margin-top:0px;--margin-bottom:80px;--margin-left:30px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:080px;}.thegem-template-header .elementor-50855 .elementor-element.elementor-element-9c259e2{order:2;padding:0px 10px 0px 10px;}}@media(max-width:767px){.elementor-50855 .elementor-element.elementor-element-5ad23e0, .elementor-50855 .elementor-element.elementor-element-5ad23e0 .elementor-text-editor *{font-size:19px;}.elementor-50855 .elementor-element.elementor-element-311c745, .elementor-50855 .elementor-element.elementor-element-311c745 .elementor-text-editor *{font-size:19px;}.elementor-50855 .elementor-element.elementor-element-a7fecad > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-50855 .elementor-element.elementor-element-576f01a{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-50855 .elementor-element.elementor-element-62c3b29 .wpcf7-submit{margin:0px 0px 50px 0px;}.elementor-50855 .elementor-element.elementor-element-5b2fa6f{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-50855 .elementor-element.elementor-element-95e44b5, .elementor-50855 .elementor-element.elementor-element-95e44b5 .elementor-text-editor *{font-size:19px;}.elementor-50855 .elementor-element.elementor-element-9c259e2 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-50855 .elementor-element.elementor-element-9c259e2 .gem-button-container{text-align:left;}.elementor-50855 .elementor-element.elementor-element-2419234{text-align:left;}}/* Start custom CSS for thegem-contact-form7, class: .elementor-element-62c3b29 *//* Odsazení labelů v CF7 formuláři */
.wpcf7-form p > label {
    display: block;
    margin-left: 20px;
}
/* Úprava odsazení nadpisů kroků ve formuláři */
.wpcf7-form h2 {
    margin-top: 50px;
    margin-bottom: 15px;
}

/* Úprava odsazení nadpisů kroků ve formuláři */
.wpcf7-form h3 {
    margin-top: 150px;
    margin-bottom: 15px;
}

/* CF7: 'Co si přejete díky odhadu zjistit?' – svislé seřazení + mezery */
/* vertikální řazení + mezery pouze pro tuto skupinu */
.wpcf7 .wpcf7-radio.vertical-radios { display:block; }
.wpcf7 .wpcf7-radio.vertical-radios .wpcf7-list-item { 
  display:block; 
  margin: 10px 0;   /* uprav rozestup dle potřeby */
}
.wpcf7 .wpcf7-radio.vertical-radios .wpcf7-list-item label{
  display:flex; gap:10px;
}


/* Mezera NAD blokem 'Chcete nám ještě něco dalšího sdělit?' */
.wpcf7 .sdeleni{
  margin-top: 32px !important; /* uprav si hodnotu */
  clear: both;                 /* jistota proti plovoucím sloupcům nad tím */
}

/* volitelné: menší mezera na mobilech */
@media (max-width: 767px){
  .wpcf7 .sdeleni{ margin-top: 20px !important; }
}



/* případně přímo na element textarea (pro jistotu) */
.wpcf7 .sdeleni textarea{
  margin-top: 15px;         /* ponech nulové, mění to wrapper výše */
}



/* Checkbox form */
/* Kontejner může klidně zůstat odsazený doleva */
.wpcf7 .gdpr-accept{ margin:16px 0 0 30px; }

/* Zarovnání checkbox + text do 2 sloupců, aby se text lámal až za checkboxem */
.wpcf7 .gdpr-accept .wpcf7-list-item label{
  display: grid;
  grid-template-columns: 24px 1fr;  /* šířka sloupce pro checkbox | text */
  gap: 10px;                         /* mezera mezi checkboxem a textem */
  align-items: start;
}

/* Samotný checkbox – bez extra odsazení */
.wpcf7 .gdpr-accept input[type="checkbox"]{
  margin: 0;
  width: 18px; height: 18px;         /* můžeš upravit podle designu */
}

/* Jistota, že text je blok a správně se zalamuje */
.wpcf7 .gdpr-accept .wpcf7-list-item-label{
  display: block;
}

/* MAPA */
.cf7-map{ display:none; height:360px; width:100%; margin-top:16px; border-radius:12px; overflow:hidden; }
.cf7-map.is-visible{ display:block; }


/* Zajisti, že CF7 ukáže skutečný text labelu (část za |) */
.wpcf7 .wpcf7-list-item-label{
  display:inline-block !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* Zruš jakékoliv vkládání obsahu z value přes pseudo-elementy */
.wpcf7 .wpcf7-list-item input[type="radio"]::before,
.wpcf7 .wpcf7-list-item input[type="radio"]::after,
.wpcf7 .wpcf7-list-item input[type="checkbox"]::before,
.wpcf7 .wpcf7-list-item input[type="checkbox"]::after,
.wpcf7 .wpcf7-list-item label::after,
.wpcf7 .wpcf7-list-item input + .wpcf7-list-item-label::before,
.wpcf7 .wpcf7-list-item input + .wpcf7-list-item-label::after{
  content:none !important;
}

/* Pro jistotu – ať je text vedle kolečka hezky s mezerou */
.wpcf7 .wpcf7-list-item label{ gap:.5rem; display:inline-flex; align-items:center; }



/* 1) Zruš rámeček fieldsetu + kultivuj legend */
.contact-form fieldset{
  border: none;
  padding: 0;
  margin: 0;
}
.contact-form fieldset > legend{
  padding: 0;
  margin: 0 0 10px; /* mezera pod legendou */
color:#676767;
}

/* 2) Výchozí svislé odsazení bloku s fieldsetem
   (aplikuje se na <p> wrapper, který obsahuje fieldset) */
.contact-form p:has(> fieldset){
  margin-top: 16px;
  margin-bottom: 16px;
}

/* Barva textu u všech radio/checkboxů ve fieldsetech CF7 */
.contact-form fieldset .wpcf7-form-control.wpcf7-radio .wpcf7-list-item > label,
.contact-form fieldset .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item > label,
.contact-form fieldset .wpcf7-form-control.wpcf7-radio .wpcf7-list-item > label .wpcf7-list-item-label,
.contact-form fieldset .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item > label .wpcf7-list-item-label{
  color: #676767 !important;

}

/* Zarovnání: legend bez rámečku + šedá */
.contact-form fieldset{ border:0; padding:0; margin:0; }
.contact-form fieldset > legend{ margin:0 0 10px; color:#676767; }

/* Jednotný levý odsazení volby vs. legend (nechává legend vlevo) */
:root{ --cf-radio-indent: 28px; } /* dolaď podle oka */
.contact-form fieldset .wpcf7-form-control.wpcf7-radio,
.contact-form fieldset .wpcf7-form-control.wpcf7-checkbox{
  margin-left: var(--cf-radio-indent);
}

/* Výchozí chování = VEDLE SEBE */
.contact-form .wpcf7-radio .wpcf7-list-item,
.contact-form .wpcf7-checkbox .wpcf7-list-item{
  display: inline-block;
  margin: 0 24px 8px 0; /* rozestupy mezi volbami */
}

/* Svisle POUZE tam, kde přidáš třídu vertical-radios */
.contact-form .vertical-radios .wpcf7-list-item{
  display: block;
  margin: 8px 0;
}


/* jemný badge pro span uvnitř H2 KROK 1 - 5 */
.step-pill{
  display:inline-block;
  vertical-align:middle;   /* zarovnání k textu titulku */
  line-height:1;
  padding:.35em .6em;
  margin-right:.5em;
  border-radius:999px;
  margin-right:20px;
  background:rgba(31,59,119,.08);
  border:1px solid rgba(31,59,119,.15);
  color:#31455e;
  font-size:.55em;
  font-weight:600;
  transform: translateY(-0.13em); /* jemně zvedne badge – dolaď -0.08 až -0.18em */
}


@media (max-width: 767px){ /* mobil */
.step-pill{

  margin-right:10px;

  }
}





/* CF7 formulář: menší H2 na tablet + mobil */
@media (max-width: 1024px){ /* tablet a menší */
  .contact-form h2{
    font-size: clamp(22px, 3.2vw, 28px);
    line-height: 1.25;
  }
  .contact-form h2 .step-pill{
    font-size: 0.58em;   /* drží poměr ke zmenšenému H2 */
  }
}

@media (max-width: 767px){ /* mobil */
  .contact-form h2{
    font-size: clamp(20px, 5.5vw, 24px);
    line-height: 1.25;
  }
  .contact-form h2 .step-pill{
    font-size: 0.6em;
    display: inline-block;
    margin-bottom: .25rem; /* ať se na úzkém řádku hezky zalomí */
  }
}

/* Pokud Elementor vynucuje velikosti inline, přidej !important k font-size nahoře. */

/* Mobil: titulek POD pill + pill jen na šířku obsahu, větší mezera */
@media (max-width: 767px){
  .contact-form h2 .step-pill{
    display: block;                 /* odřádkuje */
    width: -moz-fit-content;        /* Firefox */
    width: fit-content;             /* ostatní */
    max-width: max-content;         /* fallback */
    margin: 0 0 18px 0;             /* větší mezera pod pill */
    transform: none;                /* jistota zarovnání */
  }
}


/* Všechny CF7 radio skupiny – robustní zarovnání i pro dlouhé texty */
.contact-form .wpcf7-form-control.wpcf7-radio .wpcf7-list-item{
  display: block !important;                 /* každý item na svůj řádek */
  margin: 12px 0 !important;                 /* přiměřené svislé mezery */
  width: 100%;
}

.contact-form .wpcf7-form-control.wpcf7-radio .wpcf7-list-item label{
  display: grid !important;                  /* stabilní layout */
  grid-template-columns: 28px 1fr;           /* sloupec pro puntík + text */
  align-items: start;                         /* puntík k 1. řádku textu */
  gap: 12px;
  line-height: 1.35;
  white-space: normal !important;            /* povol zalomení */
}

/* puntík (input) – bez posunů od šablony */
.contact-form .wpcf7-form-control.wpcf7-radio .wpcf7-list-item input[type="radio"]{
  margin: .3em 0 0 0 !important;            /* jemné dorovnání k 1. řádku */
  align-self: start;
}

/* text labelu – může se lámat do více řádků a drží odsazení */
.contact-form .wpcf7-form-control.wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label{
  white-space: normal !important;
  overflow-wrap: anywhere;                   /* dlouhá slova */
  hyphens: auto;
}

/* Na mobilech o chlup menší mezery */
@media (max-width: 767px){
  .contact-form .wpcf7-form-control.wpcf7-radio .wpcf7-list-item{
    margin: 10px 0 !important;
  }
}




/* Tablet (a klidně i desktop) – sjednocené zarovnání polí ve sloupcích */
@media (max-width: 1024px){
  /* Z labelu uděláme 2-řádkový grid: text (min. 2 řádky) + input */
  .contact-form p > label{
    display: grid;
    grid-template-rows: minmax(calc(1.3em * 2), auto) auto; /* 2 řádky textu */
    align-items: start;
    row-gap: 10px;                 /* mezera mezi textem a vstupem */
    line-height: 1.3;              /* jednotná výška řádku */
  }

  /* Input/Select/Textarea vždy do 2. řádku (pod text) */
  .contact-form p > label input,
  .contact-form p > label select,
  .contact-form p > label textarea{
    grid-row: 2;
  }

  /* Ten ruční <br> už není potřeba, a rozhazuje výšku → schovat */
  .contact-form p > label br{ display: none; }
}

/* Pokud máš jiný breakpoint pro tablet, uprav max-width dle šablony. */



/* Mobil: srazit mezeru mezi labelem a polem */
@media (max-width: 767px){
  .contact-form p > label{
    display: flex;                 /* jednoduchý sloupec */
    flex-direction: column;
    gap: .45rem;                   /* malá mezera label → input */
    line-height: 1.2;
  }
  /* kdyby někde zůstal <br> uvnitř labelu, skryj ho */
  .contact-form p > label br{ display:none; }

  /* jistota: žádné extra top-margin z wrapperu/pole */
  .contact-form p > label > .wpcf7-form-control-wrap,
  .contact-form p > label > input,
  .contact-form p > label > select,
  .contact-form p > label > textarea{
    margin-top: 0;
  }
}





/* Mobil: vyrovnat levé (i pravé) odsazení sloupců a polí ve formuláři */
@media (max-width: 767px){
  .contact-form .col-lg-4,
  .contact-form .col-sm-4,
  .contact-form .col-xs-12{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .contact-form p{ margin-left: 0 !important; }
  .contact-form p > label{ padding-left: 0 !important; }

  .contact-form .wpcf7-form-control-wrap{
    display: block;
    width: 100%;
  }

  .contact-form input[type="text"],
  .contact-form input[type="email"],
  .contact-form input[type="tel"],
  .contact-form input[type="number"],
  .contact-form select,
  .contact-form textarea{
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  /* pokud je formulář v elementor column, odsaď i widget container */
  .contact-form .elementor-widget-container{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}



/* Desktop */
.contact-form h2{
  margin: 20px 0 28px !important;
}

/* Tablet */
@media (max-width: 1024px){
  .contact-form h2{
    margin: 20px 0 22px !important;
  }
}

/* Mobil */
@media (max-width: 767px){
  .contact-form h2{
     margin: 20px 0 20px !important;
  }
}




/* CF7 mapa – jednotný spodní odstup napříč zařízeními */
#cf7-map,
.cf7-map{
  margin-bottom: 60px !important;
}/* End custom CSS */