/* Služby — finální prémiová varianta 2. */
.twobo-services{position:relative;overflow:hidden;padding:0;background:linear-gradient(135deg,#f8fbff 0%,#edf4ff 48%,#f8fbff 100%);color:#071d58}
.twobo-services:before{content:"";position:absolute;left:-8%;top:180px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(0,56,255,.13),rgba(0,56,255,0) 68%);pointer-events:none}
.twobo-services:after{content:"";position:absolute;right:-90px;top:120px;width:420px;height:420px;background:repeating-radial-gradient(ellipse at center,rgba(0,56,255,.08) 0 1px,transparent 2px 13px);opacity:.35;transform:rotate(-16deg);pointer-events:none}
.twobo-services__top-divider{height:92px;background:#061957;position:relative;display:flex;align-items:center;justify-content:center;z-index:2}
.twobo-services__top-divider:before,.twobo-services__top-divider:after{content:"";height:1px;background:#d39a2f;flex:1;margin:0 24px}
.twobo-services__top-divider span{width:18px;height:18px;background:#d39a2f;transform:rotate(45deg);box-shadow:0 0 0 7px #061957}
.twobo-services__container{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,.86fr) minmax(0,2.14fr);gap:48px;align-items:start;padding-top:104px;padding-bottom:86px}
.twobo-services__intro-column{padding-top:12px}
.twobo-services__eyebrow{margin:0 0 24px;color:#c88d25;font-size:13px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.twobo-services__intro-column h2{max-width:480px;margin:0;color:#071d58;font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,4.3vw,68px);font-weight:500;line-height:1.03;letter-spacing:-.035em}
.twobo-services__ornament{display:flex;align-items:center;gap:12px;width:270px;margin:30px 0 27px}
.twobo-services__ornament span{height:1px;background:#d39a2f;flex:1}.twobo-services__ornament i{width:10px;height:10px;background:#d39a2f;transform:rotate(45deg);display:block}
.twobo-services__intro{max-width:470px;margin:0;color:#29416f;font-size:17px;line-height:1.76}
.twobo-services__all-button{display:inline-flex!important;margin-top:38px!important;min-height:56px!important;padding:0 28px!important;border:1.5px solid #0038ff!important;background:rgba(255,255,255,.58)!important;color:#0038ff!important;font-size:15px!important;font-weight:800!important;box-shadow:0 10px 30px rgba(0,56,255,.09)!important}
.twobo-services__all-button:hover{background:#0038ff!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 16px 32px rgba(0,56,255,.22)!important}
.twobo-services__all-button span{margin-left:14px;font-size:18px;transition:transform .25s ease}.twobo-services__all-button:hover span{transform:translateX(4px)}
.twobo-services__cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.twobo-services__card{position:relative;min-width:0;overflow:hidden;border-radius:13px;background:rgba(255,255,255,.94);border:1px solid rgba(7,29,88,.1);border-bottom:5px solid #0038ff;box-shadow:0 16px 36px rgba(8,38,100,.11);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.twobo-services__card:hover{transform:translateY(-7px) scale(1.012);border-color:rgba(0,56,255,.28);box-shadow:0 24px 46px rgba(0,56,255,.2)}
.twobo-services__image-wrap{height:205px;overflow:hidden;background:#e6edfa}
.twobo-services__image-wrap img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s ease}.twobo-services__card:hover .twobo-services__image-wrap img{transform:scale(1.05)}
.twobo-services__icon{position:absolute;left:50%;top:164px;z-index:2;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;transform:translateX(-50%);color:#fff;background:linear-gradient(145deg,#164eff,#0038ff 58%,#002bc5);border:3px solid #fff;box-shadow:0 0 0 2px #d39a2f,0 11px 23px rgba(0,56,255,.28)}
.twobo-services__icon svg{width:34px;height:34px}
.twobo-services__card-body{display:flex;flex-direction:column;align-items:center;min-height:286px;padding:58px 22px 27px;text-align:center}
.twobo-services__card h3{margin:0;color:#071d58;font-family:Georgia,"Times New Roman",serif;font-size:clamp(22px,1.55vw,28px);font-weight:600;line-height:1.12}
.twobo-services__gold-line{width:35px;height:2px;margin:20px 0;background:#d39a2f}
.twobo-services__card p{margin:0;color:#29416f;font-size:14.5px;line-height:1.62}
.twobo-services__card-link{display:inline-flex;align-items:center;gap:10px;margin-top:auto;padding-top:24px;color:#0038ff;font-size:14px;font-weight:800;text-decoration:none}.twobo-services__card-link span{font-size:17px;transition:transform .25s ease}.twobo-services__card-link:hover span{transform:translateX(4px)}
.twobo-services__band{position:relative;z-index:1;background:linear-gradient(100deg,#061957 0%,#0038ff 54%,#061957 100%);clip-path:polygon(0 7%,20% 0,49% 6%,76% 2%,100% 6%,100% 93%,77% 100%,47% 94%,20% 98%,0 91%);padding:70px 0 72px;color:#fff}
.twobo-services__band-inner{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:28px;align-items:center}
.twobo-services__band-icon{width:70px;height:70px;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:grid;place-items:center;color:#e7ae3f;font-size:38px}
.twobo-services__band-copy h3{margin:0 0 7px;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(25px,2vw,34px);font-weight:500}.twobo-services__band-copy p{margin:0;color:rgba(255,255,255,.82);font-size:15px}
.twobo-services__band-button{display:inline-flex;align-items:center;gap:14px;min-height:54px;padding:0 28px;border:1px solid rgba(255,255,255,.8);border-radius:4px;color:#fff;font-weight:700;text-decoration:none;transition:background .25s ease,color .25s ease,transform .25s ease}.twobo-services__band-button:hover{background:#fff;color:#0038ff;transform:translateY(-2px)}
.twobo-services__bottom-divider{position:relative;z-index:2;display:flex;align-items:center;padding:38px 5% 34px;background:#fff}.twobo-services__bottom-divider:before,.twobo-services__bottom-divider:after{content:"";height:1px;background:#d39a2f;flex:1}.twobo-services__bottom-divider span{width:18px;height:18px;margin:0 18px;background:#d39a2f;transform:rotate(45deg)}
.twobo-services-media-field{display:flex;gap:8px}.twobo-services-media-field input{flex:1}.twobo-services-image-preview{margin-top:10px;min-height:54px}.twobo-services-image-preview img{width:96px;height:64px;object-fit:cover;border-radius:6px;border:1px solid rgba(255,255,255,.16)}
@media(max-width:1180px){.twobo-services__container{grid-template-columns:1fr;gap:42px;padding-top:78px}.twobo-services__intro-column{text-align:center}.twobo-services__intro-column h2,.twobo-services__intro{margin-left:auto;margin-right:auto}.twobo-services__ornament{margin-left:auto;margin-right:auto}.twobo-services__cards{grid-template-columns:repeat(2,minmax(0,1fr))}.twobo-services__image-wrap{height:230px}.twobo-services__icon{top:189px}}
@media(max-width:760px){.twobo-services__top-divider{height:66px}.twobo-services__container{padding-top:58px;padding-bottom:58px}.twobo-services__cards{grid-template-columns:1fr;max-width:520px;margin:0 auto;width:100%}.twobo-services__image-wrap{height:250px}.twobo-services__icon{top:209px}.twobo-services__band{clip-path:none;padding:50px 0}.twobo-services__band-inner{grid-template-columns:1fr;text-align:center}.twobo-services__band-icon{margin:0 auto}.twobo-services__band-button{justify-self:center}.twobo-services__bottom-divider{padding-left:18px;padding-right:18px}}
@media(max-width:520px){.twobo-services__intro-column h2{font-size:40px}.twobo-services__intro{font-size:16px}.twobo-services__image-wrap{height:215px}.twobo-services__icon{top:174px}.twobo-services__card-body{min-height:260px}.twobo-services__all-button{width:100%;justify-content:center}.twobo-services__top-divider:before,.twobo-services__top-divider:after{margin:0 14px}}

/* 2BO Core 4.8.4 — Services layout stabilization for Elementor/full-width pages. */
.twobo-services,
.twobo-services *{box-sizing:border-box}

.twobo-services .twobo-services__container{
  width:min(1580px,calc(100% - 64px))!important;
  max-width:none!important;
  grid-template-columns:minmax(340px,390px) minmax(0,1fr)!important;
  gap:54px!important;
  align-items:center!important;
  padding-top:86px!important;
  padding-bottom:82px!important;
}
.twobo-services__intro-column{min-width:0!important;padding-top:0!important}
.twobo-services__intro-column h2{
  max-width:390px!important;
  font-size:clamp(44px,3.65vw,64px)!important;
  line-height:1.04!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.twobo-services__intro{max-width:410px!important;font-size:16px!important;line-height:1.72!important}
.twobo-services__ornament{width:260px!important;margin:27px 0 25px!important}
.twobo-services__all-button{margin-top:32px!important;white-space:nowrap!important}

.twobo-services__cards{
  min-width:0!important;
  grid-template-columns:repeat(4,minmax(190px,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.twobo-services__card{width:100%!important;min-width:0!important;height:100%!important}
.twobo-services__image-wrap{height:190px!important}
.twobo-services__icon{top:151px!important;width:70px!important;height:70px!important}
.twobo-services__icon svg{width:32px!important;height:32px!important}
.twobo-services__card-body{min-height:300px!important;padding:55px 18px 25px!important}
.twobo-services__card h3{
  width:100%!important;
  margin:0!important;
  font-size:clamp(20px,1.35vw,26px)!important;
  line-height:1.12!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.twobo-services__card p{font-size:14px!important;line-height:1.55!important}
.twobo-services__card-link{padding-top:21px!important;line-height:1.2!important}

.twobo-services__band{padding:58px 0 60px!important}
.twobo-services .twobo-services__band-inner{
  width:min(1450px,calc(100% - 64px))!important;
  max-width:none!important;
  grid-template-columns:72px minmax(0,1fr) minmax(240px,auto)!important;
  gap:25px!important;
  align-items:center!important;
}
.twobo-services__band-copy{min-width:0!important;position:relative!important;z-index:2!important}
.twobo-services__band-copy h3{
  display:block!important;
  margin:0 0 8px!important;
  padding:0!important;
  color:#fff!important;
  font-size:clamp(25px,2vw,34px)!important;
  line-height:1.12!important;
  letter-spacing:0!important;
  white-space:normal!important;
  overflow:visible!important;
}
.twobo-services__band-copy p{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:rgba(255,255,255,.84)!important;
  font-size:15px!important;
  line-height:1.55!important;
  white-space:normal!important;
}
.twobo-services__band-button{position:relative!important;z-index:2!important;white-space:nowrap!important;justify-self:end!important}

@media(max-width:1380px){
  .twobo-services .twobo-services__container{width:min(1260px,calc(100% - 54px))!important;grid-template-columns:310px minmax(0,1fr)!important;gap:38px!important}
  .twobo-services__cards{grid-template-columns:repeat(4,minmax(165px,1fr))!important;gap:14px!important}
  .twobo-services__image-wrap{height:170px!important}
  .twobo-services__icon{top:132px!important;width:66px!important;height:66px!important}
  .twobo-services__card-body{min-height:292px!important;padding:53px 14px 23px!important}
  .twobo-services__card h3{font-size:21px!important}
  .twobo-services__card p{font-size:13px!important}
}
@media(max-width:1120px){
  .twobo-services .twobo-services__container{grid-template-columns:1fr!important;gap:42px!important;align-items:start!important}
  .twobo-services__intro-column{text-align:center!important}
  .twobo-services__intro-column h2,.twobo-services__intro{margin-left:auto!important;margin-right:auto!important;max-width:720px!important}
  .twobo-services__ornament{margin-left:auto!important;margin-right:auto!important}
  .twobo-services__cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
  .twobo-services__image-wrap{height:225px!important}
  .twobo-services__icon{top:185px!important}
  .twobo-services__card-body{min-height:270px!important}
  .twobo-services .twobo-services__band-inner{grid-template-columns:68px minmax(0,1fr) auto!important}
}
@media(max-width:760px){
  .twobo-services .twobo-services__container,.twobo-services .twobo-services__band-inner{width:calc(100% - 32px)!important}
  .twobo-services__cards{grid-template-columns:1fr!important;max-width:520px!important;margin-inline:auto!important}
  .twobo-services__image-wrap{height:245px!important}
  .twobo-services__icon{top:205px!important}
  .twobo-services__band-inner{grid-template-columns:1fr!important;text-align:center!important}
  .twobo-services__band-button{justify-self:center!important}
}

/* 2BO Core 4.8.5 — Services display controls + clean gold top divider */
.twobo-services__top-divider{
  height:72px!important;
  background:#fff!important;
}
.twobo-services__top-divider span{
  box-shadow:0 0 0 7px #fff!important;
}
.twobo-services .twobo-services__container{
  padding-top:var(--twobo-services-padding-top,104px)!important;
  padding-bottom:var(--twobo-services-padding-bottom,86px)!important;
}
.twobo-services--width-narrow .twobo-services__container,
.twobo-services--width-narrow .twobo-services__band-inner{
  width:min(1180px,calc(100% - 64px))!important;
}
.twobo-services--width-default .twobo-services__container,
.twobo-services--width-default .twobo-services__band-inner{
  width:min(1450px,calc(100% - 64px))!important;
}
.twobo-services--width-wide .twobo-services__container,
.twobo-services--width-wide .twobo-services__band-inner{
  width:min(1680px,calc(100% - 48px))!important;
}
@media(max-width:760px){
  .twobo-services__top-divider{height:52px!important}
  .twobo-services--width-narrow .twobo-services__container,
  .twobo-services--width-default .twobo-services__container,
  .twobo-services--width-wide .twobo-services__container,
  .twobo-services--width-narrow .twobo-services__band-inner,
  .twobo-services--width-default .twobo-services__band-inner,
  .twobo-services--width-wide .twobo-services__band-inner{width:calc(100% - 32px)!important}
}


/* 2BO Core 4.8.6 — sjednocení oddělovačů sekcí. */
.twobo-services__top-divider{display:none!important}
.twobo-services__bottom-divider{width:min(1680px,calc(100% - 64px))!important}
@media(max-width:760px){.twobo-services__bottom-divider{width:calc(100% - 32px)!important}}

/* 2BO Core 4.9.3 — responsive fix for the royal-blue Services band. */
@media (max-width: 1024px){
  .twobo-services__band{clip-path:none!important;padding:48px 0!important;overflow:hidden!important;}
  .twobo-services .twobo-services__band-inner{
    width:calc(100% - 48px)!important;
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:20px!important;
    text-align:left!important;
  }
  .twobo-services__band-button{
    grid-column:1 / -1!important;
    justify-self:start!important;
    width:auto!important;
    max-width:100%!important;
    min-height:52px!important;
    padding:12px 22px!important;
    white-space:normal!important;
    text-align:center!important;
    line-height:1.3!important;
  }
}
@media (max-width: 767px){
  .twobo-services__band{padding:42px 0!important;}
  .twobo-services .twobo-services__band-inner{
    width:calc(100% - 32px)!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    text-align:center!important;
  }
  .twobo-services__band-icon{margin:0 auto!important;}
  .twobo-services__band-copy h3{font-size:clamp(24px,7vw,32px)!important;line-height:1.15!important;overflow-wrap:anywhere!important;}
  .twobo-services__band-copy p{font-size:15px!important;line-height:1.55!important;}
  .twobo-services__band-button{
    grid-column:auto!important;
    justify-self:stretch!important;
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
}

/* 2BO Core 4.9.5 — Služby: žádný odkaz ani tlačítko se automaticky nepodtrhává. */
.twobo-services a,
.twobo-services a:link,
.twobo-services a:visited,
.twobo-services a:hover,
.twobo-services a:focus,
.twobo-services a:focus-visible,
.twobo-services a:active,
.twobo-services button,
.twobo-services [role="button"]{
  text-decoration:none!important;
  text-decoration-line:none!important;
  -webkit-text-decoration:none!important;
}
.twobo-services a::before,
.twobo-services a::after{
  text-decoration:none!important;
  text-decoration-line:none!important;
}


/* 2BO Core 7.5.15 — Mobile service-card image reliability.
 * Service cards are core navigation content; their photos must never remain hidden
 * because of lazy-loading, inherited opacity, transforms, or theme overrides. */
@media (max-width: 767px){
  .twobo-services__image-wrap{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    min-height:215px!important;
    overflow:hidden!important;
  }
  .twobo-services__image-wrap picture,
  .twobo-services__image-wrap img{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    height:100%!important;
    min-height:215px!important;
    max-width:none!important;
    object-fit:cover!important;
    transform:none!important;
    animation:none!important;
  }
}


/* 2BO Core 7.5.16 — resilient service photos on mobile and desktop. */
.twobo-services__image-wrap{
  background-color:#e6edfa;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
}
@media (max-width:767px){
  .twobo-services__image-wrap{
    background-position:center center!important;
    background-size:cover!important;
  }
  .twobo-services__image-wrap img{
    position:relative!important;
    z-index:1!important;
  }
}
