/* 2BO FAQ – approved Eliška design, intentionally high specificity to resist theme/Elementor overrides. */
.twobo-faq {
  --faq-navy: #08255a;
  --faq-blue: #0038ff;
  --faq-gold: #c18a24;
  --faq-gold-line: rgba(193, 138, 36, .58);
  --faq-ivory: #fcf9f4;
  --faq-copy: #26334a;
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: clamp(72px, 7.2vw, 104px) 0 clamp(86px, 8vw, 118px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: radial-gradient(circle at 50% 0%, #fff 0, rgba(255,255,255,.65) 28%, rgba(255,255,255,0) 60%), var(--faq-ivory) !important;
  box-shadow: none !important;
  color: var(--faq-navy) !important;
  text-transform: none !important;
}
.twobo-faq *, .twobo-faq *::before, .twobo-faq *::after { box-sizing: border-box; }
.twobo-faq__inner {
  position: relative !important;
  z-index: 2 !important;
  width: min(1480px, calc(100% - clamp(32px, 6vw, 120px))) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.twobo-faq__head { margin: 0 0 clamp(44px, 4.3vw, 62px) !important; padding: 0 !important; text-align: center !important; }
.twobo-faq__eyebrow {
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: var(--faq-gold) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .34em !important;
  text-transform: uppercase !important;
}
.twobo-faq__title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--faq-navy) !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(52px, 5vw, 72px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
  text-transform: none !important;
}
.twobo-faq__divider { display: flex !important; align-items: center !important; justify-content: center !important; gap: 18px !important; margin: 28px auto 0 !important; padding: 0 !important; }
.twobo-faq__divider span { display: block !important; width: 145px !important; height: 1px !important; background: var(--faq-gold-line) !important; }
.twobo-faq__divider i { display: block !important; width: 13px !important; height: 13px !important; border: 1px solid var(--faq-gold) !important; background: transparent !important; transform: rotate(45deg) !important; }
.twobo-faq__list { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.twobo-faq__item {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--faq-gold-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: background-color .3s ease, box-shadow .3s ease, border-color .3s ease, transform .3s ease !important;
}
.twobo-faq__item::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  opacity: 0 !important;
  background: linear-gradient(90deg, rgba(193,138,36,.02), rgba(255,255,255,.58) 50%, rgba(193,138,36,.02)) !important;
  box-shadow: inset 0 0 0 1px rgba(193,138,36,0), 0 12px 30px rgba(8,37,90,0) !important;
  transition: opacity .3s ease, box-shadow .3s ease !important;
  pointer-events: none !important;
}
.twobo-faq__item:hover {
  border-bottom-color: rgba(193,138,36,.92) !important;
  box-shadow: 0 12px 28px rgba(8,37,90,.07) !important;
  transform: translateY(-1px) !important;
}
.twobo-faq__item:hover::before,
.twobo-faq__item.is-open::before {
  opacity: 1 !important;
  box-shadow: inset 0 0 0 1px rgba(193,138,36,.13), 0 12px 30px rgba(8,37,90,.055) !important;
}
.twobo-faq__item:first-child { border-top: 0 !important; }
.twobo-faq__item.is-open { background: transparent !important; }
.twobo-faq button.twobo-faq__question {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  width: 100% !important;
  min-height: 80px !important;
  margin: 0 !important;
  padding: 20px 17px !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--faq-navy) !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(22px, 1.8vw, 28px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  letter-spacing: -.012em !important;
  text-align: left !important;
  text-decoration: none !important;
  text-shadow: none !important;
  text-transform: none !important;
  cursor: pointer !important;
  transition: color .3s ease, background-color .3s ease, padding-left .3s ease !important;
}
.twobo-faq button.twobo-faq__question > span:first-child { color: inherit !important; font: inherit !important; text-transform: none !important; transition: transform .3s ease, text-shadow .3s ease !important; }
.twobo-faq button.twobo-faq__question:hover { background: transparent !important; color: #031c4a !important; padding-left: 28px !important; }
.twobo-faq button.twobo-faq__question:hover > span:first-child { transform: translateX(3px) !important; text-shadow: 0 5px 18px rgba(8,37,90,.08) !important; }
.twobo-faq button.twobo-faq__question:focus-visible { outline: 2px solid var(--faq-blue) !important; outline-offset: -3px !important; }
.twobo-faq__icon { position: relative !important; display: block !important; width: 24px !important; height: 24px !important; min-width: 24px !important; flex: 0 0 24px !important; margin: 0 !important; color: var(--faq-gold) !important; }
.twobo-faq__icon::before, .twobo-faq__icon::after { content: '' !important; position: absolute !important; left: 50% !important; top: 50% !important; display: block !important; border: 0 !important; border-radius: 2px !important; background: currentColor !important; transform: translate(-50%,-50%) !important; transition: opacity .25s ease, transform .25s ease !important; }
.twobo-faq__icon::before { width: 23px !important; height: 2px !important; }
.twobo-faq__icon::after { width: 2px !important; height: 23px !important; }
.twobo-faq__item:hover .twobo-faq__icon { transform: scale(1.13) rotate(5deg) !important; filter: drop-shadow(0 4px 8px rgba(193,138,36,.24)) !important; }
.twobo-faq__item.is-open .twobo-faq__icon { transform: rotate(180deg) !important; filter: drop-shadow(0 4px 8px rgba(193,138,36,.22)) !important; }
.twobo-faq__item.is-open .twobo-faq__icon::after { opacity: 0 !important; transform: translate(-50%,-50%) rotate(90deg) !important; }
.twobo-faq__panel { display: grid !important; grid-template-rows: 0fr !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; transition: grid-template-rows .32s ease !important; }
.twobo-faq__item.is-open .twobo-faq__panel { grid-template-rows: 1fr !important; }
.twobo-faq__panel-inner { min-height: 0 !important; overflow: hidden !important; }
.twobo-faq__answer {
  max-width: 850px !important;
  margin: 0 !important;
  padding: 0 64px 26px 17px !important;
  color: var(--faq-copy) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 17px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.twobo-faq__answer p { margin: 0 0 11px !important; padding: 0 !important; color: inherit !important; font: inherit !important; }
.twobo-faq__answer > :last-child { margin-bottom: 0 !important; }
.twobo-faq__closing { margin: clamp(48px, 4.7vw, 62px) 0 0 !important; padding: 0 !important; text-align: center !important; }
.twobo-faq__closing-text {
  margin: 0 0 20px !important;
  padding: 0 !important;
  color: var(--faq-navy) !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(25px, 2.2vw, 31px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
}
.twobo-faq a.twobo-faq__cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 28px !important;
  width: min(100%, 440px) !important;
  max-width: 440px !important;
  min-width: 0 !important;
  min-height: 76px !important;
  margin: 0 !important;
  padding: 20px 34px !important;
  border: 1.5px solid var(--faq-blue) !important;
  border-radius: 6px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--faq-blue) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 17px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .14em !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  text-transform: uppercase !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}
.twobo-faq a.twobo-faq__cta:hover,
.twobo-faq a.twobo-faq__cta:focus,
.twobo-faq a.twobo-faq__cta:focus-visible {
  background: var(--faq-blue) !important;
  color: #fff !important;
  text-decoration: none !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 40px rgba(0,56,255,.18) !important;
}
.twobo-faq a.twobo-faq__cta:focus-visible {
  outline: 3px solid rgba(193,138,36,.42) !important;
  outline-offset: 5px !important;
}
.twobo-faq__cta-arrow { display: inline-block !important; color: inherit !important; font-family: Arial, Helvetica, sans-serif !important; font-size: 31px !important; font-weight: 300 !important; line-height: 1 !important; text-decoration: none !important; transition: transform .2s ease !important; }
.twobo-faq__cta:hover .twobo-faq__cta-arrow { transform: translateX(5px) !important; }
.twobo-faq__ornament {
  position: absolute !important;
  z-index: 1 !important;
  bottom: -12px !important;
  width: 390px !important;
  height: 230px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: rgba(193,138,36,.48) !important;
  opacity: 1 !important;
  pointer-events: none !important;
}
.twobo-faq__ornament--left { left: -82px !important; }
.twobo-faq__ornament--right { right: -82px !important; transform: scaleX(-1) !important; }
.twobo-faq-empty { padding: 18px 22px !important; border: 1px dashed var(--faq-gold) !important; background: #fffaf1 !important; color: var(--faq-copy) !important; }
@media (max-width: 767px) {
  .twobo-faq { padding: 62px 0 76px !important; }
  .twobo-faq__inner { width: calc(100% - 28px) !important; }
  .twobo-faq__head { margin-bottom: 36px !important; }
  .twobo-faq__eyebrow { margin-bottom: 10px !important; font-size: 12px !important; letter-spacing: .27em !important; }
  .twobo-faq__title { font-size: clamp(41px, 12vw, 54px) !important; line-height: 1.07 !important; }
  .twobo-faq__divider { gap: 12px !important; margin-top: 22px !important; }
  .twobo-faq__divider span { width: 72px !important; }
  .twobo-faq button.twobo-faq__question { min-height: 70px !important; padding: 17px 8px !important; gap: 18px !important; font-size: 21px !important; }
  .twobo-faq button.twobo-faq__question:hover { padding-left: 13px !important; }
  .twobo-faq__answer { padding: 0 42px 22px 8px !important; font-size: 16px !important; line-height: 1.65 !important; }
  .twobo-faq__closing { margin-top: 42px !important; }
  .twobo-faq__closing-text { margin-bottom: 18px !important; font-size: 24px !important; }
  .twobo-faq a.twobo-faq__cta { width: 100% !important; min-width: 0 !important; min-height: 66px !important; padding: 18px 20px !important; gap: 16px !important; font-size: 14px !important; letter-spacing: .10em !important; }
  .twobo-faq__ornament { width: 240px !important; height: 145px !important; bottom: -4px !important; color: rgba(193,138,36,.34) !important; }
  .twobo-faq__ornament--left { left: -105px !important; }
  .twobo-faq__ornament--right { right: -105px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .twobo-faq__panel, .twobo-faq__item, .twobo-faq__item::before, .twobo-faq__question, .twobo-faq__question > span:first-child, .twobo-faq__icon, .twobo-faq__icon::before, .twobo-faq__icon::after, .twobo-faq__cta, .twobo-faq__cta-arrow { transition: none !important; }
}

/* 3.9.4: odstraněno globální pravidlo [class*="cta"], které roztahovalo tlačítka v ostatních modulech. */
