/* 2BO Premium Foundation 1.1 — shared design tokens and primitives. */
:root{
 --twobo-color-primary:#0038ff;
 --twobo-color-navy:#081b3a;
 --twobo-color-gold:#b58b4b;
 --twobo-color-ivory:#f7f3eb;
 --twobo-color-cream:#eee6da;
 --twobo-color-text:#596272;
 --twobo-color-surface:#fff;
 --twobo-color-border:#dce5f2;
 --twobo-font-heading:Georgia,"Times New Roman",serif;
 --twobo-font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --twobo-container:1180px;
 --twobo-gutter:48px;
 --twobo-section-space:96px;
 --twobo-section-space-tablet:78px;
 --twobo-section-space-mobile:60px;
 --twobo-radius-sm:8px;
 --twobo-radius-md:16px;
 --twobo-shadow-soft:0 22px 55px rgba(8,27,58,.09);
 --twobo-transition:220ms cubic-bezier(.2,.7,.2,1);
 --twobo-card-lift:4px;
 --twobo-focus-width:3px;
}
.twobo-section{position:relative;left:50%;width:100vw;margin-left:-50vw;overflow:hidden}
.twobo-container{width:min(var(--twobo-container),calc(100% - var(--twobo-gutter)));margin-inline:auto}
.twobo-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:10px 22px;border:1px solid var(--twobo-color-primary);border-radius:2px;background:#fff;color:var(--twobo-color-primary);font-size:13px;font-weight:800;line-height:1.2;text-decoration:none;transition:background var(--twobo-transition),color var(--twobo-transition),transform var(--twobo-transition)}
.twobo-button:hover,.twobo-button:focus-visible{background:var(--twobo-color-primary);color:#fff;transform:translateY(-1px)}
@media(max-width:600px){:root{--twobo-gutter:30px}}


/* 2BO Core 4.8.6 — jednotný oddělovač všech frontendových modulů. */
.twobo-section{position:relative}
.twobo-section-divider{
  position:relative!important;
  z-index:8!important;
  width:min(1680px,calc(100% - 64px))!important;
  max-width:none!important;
  height:64px!important;
  margin:0 auto!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  clip-path:none!important;
  pointer-events:none!important;
}
.twobo-section-divider::before,
.twobo-section-divider::after{
  content:""!important;
  display:block!important;
  flex:1 1 auto!important;
  height:1px!important;
  margin:0!important;
  background:#d39a2f!important;
  opacity:1!important;
}
.twobo-section-divider > span{
  display:block!important;
  flex:0 0 auto!important;
  width:16px!important;
  height:16px!important;
  margin:0 20px!important;
  background:#d39a2f!important;
  box-shadow:none!important;
  transform:rotate(45deg)!important;
}
@media(max-width:760px){
  .twobo-section-divider{width:calc(100% - 32px)!important;height:48px!important}
  .twobo-section-divider > span{width:13px!important;height:13px!important;margin:0 14px!important}
}

/* 2BO Core 4.9.3 — global responsive safety net for module content. */
.twobo-section img{max-width:100%;height:auto;}
@media (max-width:1024px){
  .twobo-section{max-width:100vw;overflow-x:clip;}
  .twobo-button{max-width:100%;white-space:normal;text-align:center;overflow-wrap:anywhere;}
}
@media (max-width:767px){
  :root{--twobo-gutter:32px;}
  .twobo-container{width:calc(100% - var(--twobo-gutter));}
  .twobo-button{width:100%;min-width:0;padding:12px 16px;line-height:1.3;}
}

/* 2BO Core 4.9.5 — odkazy a tlačítka bez automatického podtržení. */
.twobo-section a,
.twobo-section a:link,
.twobo-section a:visited,
.twobo-section a:hover,
.twobo-section a:focus,
.twobo-section a:focus-visible,
.twobo-section a:active,
.twobo-section button,
.twobo-section [role="button"]{
  text-decoration:none!important;
  text-decoration-line:none!important;
  -webkit-text-decoration:none!important;
}

/* 2BO Core 8.0.0 — Design System 1.0 compatibility layer. */
.twobo-premium-section{
  color:var(--twobo-color-text);
}
.twobo-premium-section{font-family:var(--twobo-font-body)}
.twobo-premium-section :where(h1,h2,h3,h4){
  color:var(--twobo-color-navy);
  font-family:var(--twobo-font-heading);
}
.twobo-premium-card{
  border-radius:var(--twobo-radius-md);
  box-shadow:var(--twobo-shadow-soft);
  transition:transform var(--twobo-transition),box-shadow var(--twobo-transition),border-color var(--twobo-transition);
}
.twobo-premium-card:hover{transform:translateY(calc(-1 * var(--twobo-card-lift)))}
@media(prefers-reduced-motion:reduce){
  .twobo-premium-card,.twobo-button{transition:none!important;transform:none!important}
}


/* 2BO Core 8.0.1 — universal module contracts. These rules keep the current
   approved appearance while moving common behavior to one source of truth. */
.twobo-design-section,
.twobo-service-section,
.twobo-group-intro-premium,
.twobo-group-cards-premium,
.twobo-group-participant,
.twobo-service-benefits-premium,
.twobo-service-price-premium,
.twobo-service-reservation{
  font-family:var(--twobo-font-body);
}
.twobo-design-section :where(h1,h2,h3,h4),
.twobo-service-section :where(h1,h2,h3,h4),
.twobo-group-intro-premium :where(h1,h2,h3,h4),
.twobo-group-cards-premium :where(h1,h2,h3,h4),
.twobo-group-participant :where(h1,h2,h3,h4),
.twobo-service-benefits-premium :where(h1,h2,h3,h4),
.twobo-service-price-premium :where(h1,h2,h3,h4),
.twobo-service-reservation :where(h1,h2,h3,h4){
  font-family:var(--twobo-font-heading);
}
.twobo-design-card,
.twobo-group-premium-card,
.twobo-group-participant__grid > article,
.twobo-service-benefit-card,
.twobo-service-price-card{
  transition:transform var(--twobo-transition),box-shadow var(--twobo-transition),border-color var(--twobo-transition);
}
.twobo-design-card:hover,
.twobo-group-premium-card:hover,
.twobo-group-participant__grid > article:hover,
.twobo-service-benefit-card:hover,
.twobo-service-price-card:hover{
  transform:translateY(calc(-1 * var(--twobo-card-lift)));
}
.twobo-section :where(a,button,input,select,textarea):focus-visible{
  outline:var(--twobo-focus-width) solid color-mix(in srgb,var(--twobo-color-primary) 45%,transparent);
  outline-offset:3px;
}
.twobo-section-space{padding-block:var(--twobo-section-space)}
@media(max-width:1024px){.twobo-section-space{padding-block:var(--twobo-section-space-tablet)}}
@media(max-width:767px){.twobo-section-space{padding-block:var(--twobo-section-space-mobile)}}
@media(prefers-reduced-motion:reduce){
  .twobo-section *, .twobo-section *::before, .twobo-section *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
