/* =========================================================
   BICOM / FOOTER
   Elementor footer ID: 914
   ========================================================= */

.elementor-914{
  --footer-bg:#0B3041;
  --footer-bg-bottom:#082A38;
  --footer-white:#FFFFFF;
  --footer-text:rgba(255,255,255,.66);
  --footer-text-hover:rgba(255,255,255,.96);
  --footer-muted:rgba(255,255,255,.45);
  --footer-line:rgba(255,255,255,.11);
  --footer-green:var(--bicom-green);

  background:var(--footer-bg);
}


/* =========================================================
   MAIN FOOTER AREA
   ========================================================= */

.elementor-914 .elementor-element-5e98785{
  position:relative;
  isolation:isolate;

  display:grid !important;
  grid-template-columns:
    minmax(280px,1.28fr)
    minmax(170px,.82fr)
    minmax(185px,.90fr)
    minmax(160px,.76fr) !important;

  column-gap:clamp(42px,4.8vw,78px) !important;
  row-gap:0 !important;

  align-items:start !important;

  width:100% !important;
  min-height:0 !important;

  margin:0 !important;

  padding:
    64px
    max(40px,calc((100vw - var(--bicom-container))/2))
    56px !important;

  overflow:hidden;

  background:
    linear-gradient(
      90deg,
      rgba(11,48,65,.985) 0%,
      rgba(11,48,65,.965) 48%,
      rgba(11,48,65,.91) 100%
    ),
    url("/wp-content/uploads/2026/09/konference-bicom-1-scaled.webp")
    center / cover no-repeat !important;
}


/* subtle background depth */

.elementor-914 .elementor-element-5e98785:before{
  content:"";

  position:absolute;
  inset:0;

  z-index:0;

  pointer-events:none;

  background:
    radial-gradient(
      circle at 83% 12%,
      rgba(170,203,3,.07),
      transparent 29%
    ),
    linear-gradient(
      180deg,
      rgba(255,255,255,.015),
      rgba(0,0,0,.08)
    );
}


/* top accent */

.elementor-914 .elementor-element-5e98785:after{
  content:"";

  position:absolute;
  top:0;
  left:0;

  width:100%;
  height:2px;

  z-index:1;

  background:rgba(170,203,3,.92);
}


/* =========================================================
   MAIN COLUMNS
   ========================================================= */

.elementor-914 .elementor-element-776daf2d,
.elementor-914 .elementor-element-32f6c849,
.elementor-914 .elementor-element-d3cde74,
.elementor-914 .elementor-element-58d3ad9{
  position:relative;
  z-index:2;

  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;

  width:100% !important;
  max-width:none !important;

  min-width:0 !important;
  min-height:0 !important;

  margin:0 !important;
  padding:0 !important;

  background:transparent !important;
}


/* remove Elementor spacing */

.elementor-914 .elementor-widget,
.elementor-914 .elementor-widget-container{
  margin:0 !important;
}


/* =========================================================
   BRAND / CONTACT COLUMN
   ========================================================= */

.elementor-914 .elementor-element-776daf2d{
  max-width:390px !important;
}


/* logo */

.elementor-914 .elementor-image-box-wrapper{
  display:block !important;
}

.elementor-914 .elementor-image-box-img{
  display:block !important;

  width:205px !important;

  margin:0 0 22px !important;
  padding:0 !important;

  text-align:left !important;
}

.elementor-914 .elementor-image-box-img img{
  display:block !important;

  width:100% !important;
  max-width:100% !important;
  height:auto !important;

  margin:0 !important;

  filter:none !important;
  opacity:1 !important;
}


/* company description */

.elementor-914 .elementor-image-box-content{
  width:100% !important;
}

.elementor-914 .elementor-image-box-description{
  width:100% !important;
  max-width:365px !important;

  margin:0 !important;

  color:var(--footer-text) !important;

  font-size:15px !important;
  line-height:1.65 !important;
  font-weight:500 !important;

  text-align:left !important;
}


/* location */

.elementor-914 .elementor-element-36b35fc6{
  margin-top:25px !important;
  padding-top:19px !important;

  border-top:1px solid var(--footer-line);
}

.elementor-914 .elementor-element-36b35fc6 p{
  margin:0 0 10px !important;

  color:var(--footer-green) !important;

  font-size:12px !important;
  line-height:1.3 !important;
  font-weight:900 !important;

  letter-spacing:.09em !important;
  text-transform:uppercase;
}


/* contact list */

.elementor-914 .elementor-element-6758261b{
  margin:0 !important;
}

.elementor-914 .elementor-icon-list-items{
  display:flex !important;
  flex-direction:column !important;

  gap:0 !important;

  margin:0 !important;
  padding:0 !important;
}

.elementor-914 .elementor-icon-list-item{
  margin:0 !important;
  padding:0 !important;
}

.elementor-914 .elementor-icon-list-item a{
  display:inline-flex !important;
  align-items:center !important;

  width:max-content;
  max-width:100%;

  margin:0 !important;
  padding:4px 0 !important;

  color:var(--footer-text) !important;

  text-decoration:none !important;

  transition:
    color .2s ease,
    transform .2s ease !important;
}

.elementor-914 .elementor-icon-list-text{
  color:inherit !important;

  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:600 !important;
}


/* =========================================================
   SOCIALS
   ========================================================= */

.elementor-914 .elementor-social-icons-wrapper{
  display:flex !important;
  flex-wrap:wrap !important;

  gap:8px !important;

  margin:21px 0 0 !important;
}

.elementor-914 .elementor-grid-item{
  margin:0 !important;
}

.elementor-914 .elementor-social-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:38px !important;
  height:38px !important;

  margin:0 !important;
  padding:0 !important;

  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:0 !important;

  background:rgba(255,255,255,.025) !important;

  color:var(--footer-white) !important;

  transition:
    color .2s ease,
    background .2s ease,
    border-color .2s ease,
    transform .2s ease !important;
}

.elementor-914 .elementor-social-icon svg{
  width:14px !important;
  height:14px !important;

  fill:currentColor !important;
}


/* =========================================================
   COLUMN TITLES
   ========================================================= */

.elementor-914 h6.elementor-heading-title{
  position:relative;

  margin:0 0 19px !important;
  padding:0 0 14px !important;

  color:var(--footer-white) !important;

  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:900 !important;

  letter-spacing:-.01em !important;
}

.elementor-914 h6.elementor-heading-title:after{
  content:"";

  position:absolute;
  left:0;
  bottom:0;

  width:27px;
  height:2px;

  background:var(--footer-green);
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.elementor-914 .elementor-nav-menu--dropdown{
  display:none !important;
}

.elementor-914 .elementor-nav-menu--main{
  display:block !important;

  width:100% !important;
}

.elementor-914 .elementor-nav-menu{
  display:flex !important;
  flex-direction:column !important;

  width:100% !important;

  margin:0 !important;
  padding:0 !important;

  list-style:none !important;
}

.elementor-914 .elementor-nav-menu > li{
  display:block !important;

  width:100% !important;

  margin:0 !important;
  padding:0 !important;
}

.elementor-914 .elementor-nav-menu .sub-menu,
.elementor-914 .sub-arrow{
  display:none !important;
}

.elementor-914 .elementor-nav-menu a.elementor-item{
  display:block !important;

  width:100% !important;

  min-height:0 !important;

  margin:0 !important;
  padding:5px 0 !important;

  border:0 !important;

  background:transparent !important;

  color:var(--footer-text) !important;

  font-size:14px !important;
  line-height:1.38 !important;
  font-weight:600 !important;

  letter-spacing:0 !important;

  text-decoration:none !important;

  white-space:normal !important;

  transition:
    color .2s ease,
    transform .2s ease !important;
}

.elementor-914 .elementor-nav-menu a.elementor-item:before,
.elementor-914 .elementor-nav-menu a.elementor-item:after{
  display:none !important;
}


/* =========================================================
   HOVERS
   ========================================================= */

@media(hover:hover){

  .elementor-914 .elementor-nav-menu a.elementor-item:hover,
  .elementor-914 .elementor-icon-list-item a:hover{
    color:var(--footer-white) !important;

    transform:translateX(3px);
  }

  .elementor-914 .elementor-social-icon:hover{
    border-color:var(--footer-green) !important;

    background:var(--footer-green) !important;

    color:var(--bicom-navy) !important;

    transform:translateY(-2px);
  }

}


/* =========================================================
   FOCUS
   ========================================================= */

.elementor-914 a:focus-visible{
  outline:2px solid var(--footer-green) !important;
  outline-offset:4px !important;
}


/* =========================================================
   BOTTOM UTILITY BAR
   ========================================================= */

.elementor-914 .elementor-element-277600c1{
  width:100% !important;

  margin:0 !important;

  padding:
    0
    max(40px,calc((100vw - var(--bicom-container))/2))
    !important;

  background:var(--footer-bg-bottom) !important;
}


/* Copyright | GDPR | Cookies ---------------- Made by */

.elementor-914 .elementor-element-277600c1 .e-con-inner{
  display:grid !important;

  grid-template-columns:
    auto
    auto
    auto
    minmax(20px,1fr)
    auto !important;

  align-items:center !important;

  column-gap:20px !important;

  width:100% !important;
  max-width:var(--bicom-container) !important;

  margin:0 auto !important;

  padding:17px 0 18px !important;

  border-top:1px solid var(--footer-line) !important;
}


/* reset Elementor widths */

.elementor-914 .elementor-element-277600c1 .e-con-inner > .elementor-element{
  width:auto !important;
  max-width:none !important;

  margin:0 !important;
  padding:0 !important;

  min-width:0 !important;
}


/* copyright */

.elementor-914 .elementor-element-241462ed{
  grid-column:1 !important;
}


/* GDPR */

.elementor-914 .elementor-element-0c43340{
  grid-column:2 !important;
}


/* cookies */

.elementor-914 .elementor-element-4356e35{
  grid-column:3 !important;
}


/* made by */

.elementor-914 .elementor-element-0e8285a{
  grid-column:5 !important;

  justify-self:end !important;
}


/* utility typography */

.elementor-914 .elementor-element-277600c1 p,
.elementor-914 .elementor-element-277600c1 .elementor-heading-title{
  margin:0 !important;

  color:var(--footer-muted) !important;

  font-size:11px !important;
  line-height:1.4 !important;
  font-weight:700 !important;

  letter-spacing:.035em !important;

  text-transform:uppercase;
}

.elementor-914 .elementor-element-277600c1 a{
  color:inherit !important;

  font:inherit !important;

  text-decoration:none !important;

  transition:color .2s ease !important;
}

@media(hover:hover){

  .elementor-914 .elementor-element-277600c1 a:hover{
    color:var(--footer-white) !important;
  }

}


/* =========================================================
   SMALLER DESKTOP
   1025–1280
   ========================================================= */

@media(max-width:1280px) and (min-width:1025px){

  .elementor-914 .elementor-element-5e98785{
    grid-template-columns:
      minmax(245px,1.16fr)
      minmax(145px,.82fr)
      minmax(165px,.92fr)
      minmax(145px,.72fr) !important;

    column-gap:32px !important;

    padding:
      56px
      30px
      50px !important;
  }

  .elementor-914 .elementor-element-776daf2d{
    max-width:335px !important;
  }

  .elementor-914 .elementor-image-box-img{
    width:185px !important;
  }

  .elementor-914 .elementor-image-box-description{
    font-size:14px !important;
    line-height:1.62 !important;
  }

  .elementor-914 h6.elementor-heading-title{
    font-size:14px !important;
  }

  .elementor-914 .elementor-nav-menu a.elementor-item,
  .elementor-914 .elementor-icon-list-text{
    font-size:13px !important;
  }

  .elementor-914 .elementor-element-277600c1{
    padding:0 30px !important;
  }

}


/* =========================================================
   TABLET / SMALL LAPTOP
   ========================================================= */

@media(max-width:1024px){

  .elementor-914 .elementor-element-5e98785{
    grid-template-columns:
      minmax(0,1fr)
      minmax(0,1fr) !important;

    gap:42px 50px !important;

    padding:54px 28px 50px !important;

    background:
      linear-gradient(
        90deg,
        rgba(11,48,65,.985),
        rgba(11,48,65,.94)
      ),
      url("/wp-content/uploads/2026/09/konference-bicom-1-scaled.webp")
      center / cover no-repeat !important;
  }


  /* brand full width */

  .elementor-914 .elementor-element-776daf2d{
    grid-column:1 / -1 !important;

    max-width:580px !important;
  }


  /* last navigation section */

  .elementor-914 .elementor-element-58d3ad9{
    grid-column:1 / -1 !important;

    max-width:calc(50% - 25px) !important;
  }


  .elementor-914 .elementor-image-box-description{
    max-width:500px !important;
  }


  .elementor-914 .elementor-element-277600c1{
    padding:0 28px !important;
  }

}


/* =========================================================
   MOBILE / TABLET PORTRAIT
   ========================================================= */

@media(max-width:767px){

  .elementor-914 .elementor-element-5e98785{
    grid-template-columns:
      minmax(0,1fr)
      minmax(0,1fr) !important;

    gap:38px 28px !important;

    padding:48px 20px 44px !important;
  }

  .elementor-914 .elementor-element-776daf2d{
    grid-column:1 / -1 !important;

    max-width:520px !important;
  }

  .elementor-914 .elementor-element-58d3ad9{
    grid-column:1 / -1 !important;

    max-width:calc(50% - 14px) !important;
  }

  .elementor-914 .elementor-image-box-img{
    width:185px !important;

    margin-bottom:19px !important;
  }

  .elementor-914 .elementor-image-box-description{
    font-size:14px !important;
  }

  .elementor-914 .elementor-element-36b35fc6{
    margin-top:22px !important;
    padding-top:18px !important;
  }

  .elementor-914 h6.elementor-heading-title{
    margin-bottom:16px !important;
  }


  /* bottom */

  .elementor-914 .elementor-element-277600c1{
    padding:0 20px !important;
  }

  .elementor-914 .elementor-element-277600c1 .e-con-inner{
    grid-template-columns:
      auto
      auto
      auto
      1fr !important;

    gap:8px 18px !important;

    padding:16px 0 17px !important;
  }

  .elementor-914 .elementor-element-241462ed{
    grid-column:1 !important;
  }

  .elementor-914 .elementor-element-0c43340{
    grid-column:2 !important;
  }

  .elementor-914 .elementor-element-4356e35{
    grid-column:3 !important;
  }

  .elementor-914 .elementor-element-0e8285a{
    grid-column:1 / -1 !important;

    justify-self:start !important;

    margin-top:4px !important;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:560px){

  .elementor-914 .elementor-element-5e98785{
    grid-template-columns:minmax(0,1fr) !important;

    gap:0 !important;

    padding:44px 18px 38px !important;
  }


  /* all columns */

  .elementor-914 .elementor-element-776daf2d,
  .elementor-914 .elementor-element-32f6c849,
  .elementor-914 .elementor-element-d3cde74,
  .elementor-914 .elementor-element-58d3ad9{
    grid-column:auto !important;

    width:100% !important;
    max-width:none !important;
  }


  /* brand */

  .elementor-914 .elementor-element-776daf2d{
    padding-bottom:31px !important;
  }


  /* menu separators */

  .elementor-914 .elementor-element-32f6c849,
  .elementor-914 .elementor-element-d3cde74,
  .elementor-914 .elementor-element-58d3ad9{
    padding:25px 0 !important;

    border-top:1px solid var(--footer-line);
  }

  .elementor-914 .elementor-element-58d3ad9{
    padding-bottom:0 !important;
  }


  .elementor-914 h6.elementor-heading-title{
    margin-bottom:12px !important;
    padding-bottom:12px !important;

    font-size:15px !important;
  }

  .elementor-914 .elementor-nav-menu a.elementor-item{
    padding:5px 0 !important;

    font-size:14px !important;
  }

  .elementor-914 .elementor-social-icons-wrapper{
    margin-top:20px !important;
  }


  /* bottom bar */

  .elementor-914 .elementor-element-277600c1{
    padding:0 18px !important;
  }

  .elementor-914 .elementor-element-277600c1 .e-con-inner{
    display:flex !important;
    flex-wrap:wrap !important;

    align-items:center !important;
    justify-content:flex-start !important;

    gap:8px 16px !important;

    padding:15px 0 17px !important;
  }

  .elementor-914 .elementor-element-0e8285a{
    flex-basis:100% !important;

    margin-top:4px !important;
  }

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media(max-width:380px){

  .elementor-914 .elementor-element-5e98785{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .elementor-914 .elementor-image-box-img{
    width:170px !important;
  }

  .elementor-914 .elementor-element-277600c1{
    padding-left:16px !important;
    padding-right:16px !important;
  }

}


/* =========================================================
   CONTACT FORM
   Elementor formulář v .bicom-contact-form-box
   ========================================================= */

.bicom-contact-form-box .elementor-form {
  font-synthesis: none;
}
.bicom-contact-form-box .elementor-form-fields-wrapper {
  display: grid !important;
  gap: 17px !important;
}
.bicom-contact-form-box .elementor-field-group {
  margin: 0 !important;
  padding: 0 !important;
}
.bicom-contact-form-box .elementor-field-label {
  display: block !important;
  margin: 0 0 7px !important;
  color: var(--bicom-navy) !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  font-weight: 900 !important;
}
.bicom-contact-form-box .elementor-field {
  width: 100% !important;
  min-height: 55px !important;
  padding: 0 16px !important;
  border: 1px solid rgba(23,63,82,.15) !important;
  border-radius: 0 !important;
  background: var(--bicom-surface) !important;
  color: var(--bicom-navy) !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  outline: 0 !important;
  transition: border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.bicom-contact-form-box textarea.elementor-field {
  min-height: 150px !important;
  padding: 15px 16px !important;
  resize: vertical;
}
.bicom-contact-form-box .elementor-field::placeholder {
  color: var(--bicom-muted) !important;
  opacity: 1 !important;
}
.bicom-contact-form-box .elementor-field:focus {
  background: var(--bicom-white) !important;
  border-color: var(--bicom-green) !important;
  box-shadow: 0 0 0 3px rgba(175,201,15,.12) !important;
}
.bicom-contact-form-box .elementor-field-required .elementor-field-label:after {
  color: var(--bicom-green) !important;
}
.bicom-contact-form-box .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 56px !important;
  padding: 0 25px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--bicom-navy) !important;
  color: var(--bicom-white) !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  box-shadow: none !important;
  transition: background .2s ease,transform .2s ease;
}
.bicom-contact-form-box .elementor-button-content-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.bicom-contact-form-box .elementor-button-text {
  color: var(--bicom-white) !important;
  font-weight: 900 !important;
}
.bicom-contact-form-box .elementor-message {
  margin: 15px 0 0 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
}
.bicom-contact-form-box .elementor-message-success {
  color: var(--bicom-green) !important;
}
.bicom-contact-form-box .elementor-message-danger {
  color: var(--bicom-danger) !important;
}
@media (hover:hover) {
  .bicom-contact-form-box .elementor-button:hover {
    background: var(--bicom-dark) !important;
    transform: translateY(-2px);
  }
}
@media (max-width:767px) {
  .bicom-contact-form-box .elementor-field {
    min-height: 52px !important;
  }
  .bicom-contact-form-box textarea.elementor-field {
    min-height: 140px !important;
  }
  .bicom-contact-form-box .elementor-button {
    width: 100% !important;
    min-height: 52px !important;
  }
}
@media (prefers-reduced-motion:reduce) {
  .bicom-contact-quick__item,.bicom-contact-quick__icon,.bicom-contact-people__visual img,.bicom-contact-person,.bicom-contact-person__links svg,.bicom-contact-support__image,.bicom-contact-support__link:after,.bicom-contact-support__arrow,.bicom-contact-location>a:after,.bicom-contact-location>a>span,.bicom-contact-form-box .elementor-button {
    transition: none !important;
  }
}


/* =========================================================
   RESPONZIVITA: DOPLŇKY PRO MOBILY
   Pouze přidává vlastnosti, žádný stávající selektor
   ani jeho specificitu nemění.
   ========================================================= */

@media(max-width:767px){

  /* logo v patičce nikdy nepřesáhne šířku sloupce */
  .elementor-914 .elementor-image-box-img{
    max-width:100% !important;
  }

  /* dlouhé e-maily a adresy se zalomí místo přetečení */
  .elementor-914 .elementor-icon-list-text{
    overflow-wrap:anywhere;
  }

  /* formulář: jeden sloupec, který se nemůže roztáhnout přes obsah */
  .bicom-contact-form-box .elementor-form-fields-wrapper{
    grid-template-columns:minmax(0,1fr);
  }

  .bicom-contact-form-box .elementor-field-group{
    min-width:0;
  }

}


/* =========================================================
   REDUCED MOTION: PATIČKA
   Doplněk k pravidlu výše (to řeší kontaktní stránku)
   ========================================================= */

@media (prefers-reduced-motion:reduce){

  .elementor-914 .elementor-icon-list-item a,
  .elementor-914 .elementor-nav-menu a.elementor-item,
  .elementor-914 .elementor-social-icon,
  .elementor-914 .elementor-element-277600c1 a{
    transition:none !important;
  }

}
