/* AKCE: the same charcoal, white and red language across the existing pages. */
:root {
  --akce-ink: #232732;
  --akce-ink-deep: #171d29;
  --akce-accent: #e2133a;
  --akce-paper: #f5f6f8;
  --akce-border: #dde1e7;
}
body.page .entry-content,
body.home .entry-content { color: #26303b; }
body.page .entry-content a,
body.home .entry-content a { text-underline-offset: .17em; }
body.page .entry-content a:focus-visible,
body.home .entry-content a:focus-visible,
body.page .entry-content input:focus-visible,
body.page .entry-content textarea:focus-visible,
body.page .entry-content select:focus-visible,
body.page .entry-content button:focus-visible {
  outline: 3px solid var(--akce-accent);
  outline-offset: 3px;
}
body.page .entry-content :is(img, iframe),
body.home .entry-content :is(img, iframe) { max-width: 100%; }

/* Navigation retains the WordPress menu and its current destinations. */
body .wrap_figure { background: var(--akce-ink); }
body .wrap_figure .gb_nav_menu > ul > li > a,
body .wrap_figure .gb_nav_menu ul.menu > li > a { color: #fff; }
body .wrap_figure .gb_nav_menu li.current-menu-item > a,
body .wrap_figure .gb_nav_menu li.current_page_item > a {
  color: var(--akce-accent) !important;
  background: transparent !important;
  border-radius: 0;
  box-shadow: inset 0 -2px 0 var(--akce-accent);
}
body .wrap_figure .gb_nav_menu li > a:hover,
body .wrap_figure .gb_nav_menu li > a:focus-visible {
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
  border-radius: 0;
}

/* All eight inner page introductions share the home hero's dark canvas. */
body.page:has(.akce-page) .content-area { margin-top: 0 !important; }
body.page .entry-content .akce-page { padding-bottom: 2.5rem; }
body.page .entry-content .akce-page .akce-page-header {
  position: relative;
  box-sizing: border-box;
  max-width: 100vw;
  width: 100vw;
  margin: 0 0 2.7rem calc(50% - 50vw);
  padding: clamp(3rem, 6vw, 5.5rem) max(1.5rem, calc((100vw - 1140px) / 2)) clamp(3rem, 5vw, 4.5rem);
  overflow: hidden;
  color: #fff;
  background: radial-gradient(circle at 83% 34%, rgba(226,19,58,.15), transparent 34%),
              linear-gradient(135deg, #232732, #17202b 74%);
  border-bottom: 4px solid var(--akce-accent);
}
body.page .akce-page .akce-page-header::after {
  content: '';
  position: absolute;
  right: -2rem;
  top: -3rem;
  height: 130%;
  width: 19rem;
  transform: skewX(-33deg);
  border-left: 2px solid rgba(226,19,58,.17);
  border-right: 5px solid rgba(226,19,58,.11);
  pointer-events: none;
}
body.page .akce-page .akce-page-header > * { position: relative; z-index: 1; max-width: 850px; }
body.page .akce-page .akce-page-header .akce-eyebrow {
  color: #ff5b70;
  font-size: .83rem;
  letter-spacing: .18em;
  font-weight: 800;
  margin: 0 0 1rem;
}
body.page .akce-page .akce-page-header h1 {
  color: #fff;
  font-size: clamp(2.25rem, 4.8vw, 4.5rem);
  line-height: 1.08;
  letter-spacing: -.035em;
  font-weight: 800;
  border: 0;
  margin: 0 0 1.2rem;
}
body.page .akce-page .akce-page-header h1::after {
  content: '';
  display: block;
  width: 4rem;
  height: 3px;
  margin-top: 1.3rem;
  background: var(--akce-accent);
}
body.page .akce-page .akce-page-header .akce-lead {
  color: #edf0f4;
  font-size: clamp(1.04rem, 1.4vw, 1.25rem);
  line-height: 1.55;
  margin: 0;
}

/* Headings and running text below the introduction. */
body .entry-content .akce-page > h2,
body.home .entry-content > h2 {
  color: var(--akce-ink-deep);
  font-size: clamp(1.65rem, 2.6vw, 2.45rem);
  line-height: 1.18;
  letter-spacing: -.02em;
  margin: 2.4rem 0 1.1rem;
  padding: 0 0 .5rem;
  border-bottom: 2px solid rgba(226,19,58,.25);
}
body .entry-content .akce-page > h2::before,
body.home .entry-content > h2::before {
  content: '';
  display: inline-block;
  width: .28rem;
  height: .85em;
  margin-right: .65rem;
  background: var(--akce-accent);
  vertical-align: -.07em;
}
body .entry-content .akce-page > h3 { color: var(--akce-ink-deep); }
body .entry-content .akce-page > p,
body .entry-content .akce-page > ul,
body .entry-content .akce-page > ol { max-width: 80ch; line-height: 1.72; }

/* Discipline tiles and the class cards on the home and courses pages. */
body .entry-content .akce-page .akce-discipline {
  padding: 1.65rem 1.5rem;
  background: var(--akce-ink);
  border: 1px solid #343f4d;
  border-top: 4px solid var(--akce-accent);
  border-radius: 6px;
  box-shadow: 0 12px 26px rgba(19,28,39,.12);
}
body .entry-content .akce-page .akce-discipline h3 { color: #fff; font-size: 1.18rem; margin: 0 0 .65rem; }
body .entry-content .akce-page .akce-discipline p { color: #e6e9ee; line-height: 1.55; }
body .entry-content .akce-card {
  border: 1px solid var(--akce-border);
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 13px 30px rgba(23,29,41,.09);
}
body .entry-content .akce-card img { height: 205px; object-fit: cover; }
body .entry-content .akce-card h3 { color: var(--akce-ink-deep); font-size: 1.22rem; }
body .entry-content .akce-card .akce-price {
  background: var(--akce-ink);
  color: #fff;
  border-top: 3px solid var(--akce-accent);
}
body.home .entry-content .akce-value {
  background: var(--akce-paper);
  border-top: 3px solid var(--akce-accent);
  border-radius: 6px;
}
body.home .entry-content .akce-value-glyph { color: var(--akce-accent); }

/* Callouts and short factual cards. */
body .entry-content .akce-open-banner {
  border-radius: 6px;
  border-left: 5px solid var(--akce-accent);
  background: linear-gradient(120deg, #232732, #17202b);
  box-shadow: 0 14px 30px rgba(23,29,41,.14);
}
body .entry-content .akce-open-banner h2 { color: #fff; }
body .entry-content .akce-open-banner p { color: #edf0f4; }
body .entry-content .akce-info-card,
body .entry-content .akce-location-card,
body .entry-content .akce-step,
body .entry-content .akce-event-day {
  background: var(--akce-paper);
  border: 1px solid var(--akce-border);
  border-radius: 6px;
  box-shadow: 0 8px 22px rgba(23,29,41,.055);
}
body .entry-content .akce-info-card { border-left: 3px solid var(--akce-accent); }
body .entry-content :is(.akce-info-card,.akce-location-card,.akce-step,.akce-event-day) h3,
body .entry-content .akce-event-day h4 { color: var(--akce-ink-deep); }
body .entry-content .akce-info-card.akce-quote {
  border: 1px solid var(--akce-accent);
  background: #fff;
}
body .entry-content .akce-location-card { border-top: 4px solid var(--akce-accent); }
body .entry-content .akce-step::before { background: var(--akce-accent); }
body .entry-content .akce-faq-item { padding: 1.1rem 0; border-color: var(--akce-border); }
body .entry-content .akce-faq-item h4 { color: var(--akce-ink-deep); }

/* Staff cards: keep the exact original portraits and biographies. */
body .entry-content .akce-team-group > h3 {
  color: var(--akce-ink-deep);
  border-color: rgba(226,19,58,.28) !important;
  font-size: 1.28rem;
}
body .entry-content .akce-team-card {
  border: 1px solid var(--akce-border);
  border-left: 4px solid var(--akce-accent);
  border-radius: 6px;
  box-shadow: 0 10px 25px rgba(23,29,41,.07);
}
body .entry-content .akce-team-card-left img { border-color: var(--akce-accent); }
body .entry-content .akce-team-card-left h4 { color: var(--akce-ink-deep); }
body .entry-content .akce-team-card .akce-role { color: #ad102d; }

/* Events, the Open page, links and tables. */
body .entry-content .akce-event-feature {
  background: var(--akce-ink);
  color: #fff;
  border-radius: 6px;
  overflow: hidden;
}
body .entry-content .akce-event-feature img { object-fit: cover; }
body .entry-content .akce-event-feature h3 { color: #fff; }
body .entry-content .akce-event-feature p { color: #e6e9ee; }
body .entry-content .akce-event-feature .akce-event-meta { color: #ff687a; }
body .entry-content .akce-tile-nav a {
  color: #fff !important;
  background: var(--akce-ink);
  border-bottom: 3px solid var(--akce-accent);
  border-radius: 5px;
}
body .entry-content .akce-tile-nav a:hover { background: #a50e2a; }
body .entry-content .akce-page .akce-hero:not(.akce-hero-slider) {
  gap: 0;
  align-items: stretch;
  margin: 2rem 0;
  background: var(--akce-ink);
  color: #fff;
  border-radius: 6px;
  overflow: hidden;
}
body .entry-content .akce-page .akce-hero-text { padding: clamp(1.5rem, 3vw, 2.5rem); }
body .entry-content .akce-page .akce-hero-text :is(h2,p,a) { color: #fff; }
body .entry-content .akce-page .akce-hero-text h2 { border-color: var(--akce-accent); }
body .entry-content .akce-page .akce-hero-photo img { height: 100%; min-height: 280px; object-fit: cover; border-radius: 0; }
body .entry-content .akce-link-group {
  padding: 1.5rem;
  background: var(--akce-paper);
  border-top: 4px solid var(--akce-accent);
  border-radius: 6px;
}
body .entry-content .akce-link-group h3 { color: var(--akce-ink-deep); border-color: var(--akce-border) !important; }
body .entry-content .akce-link-group a:hover { color: #ae102e; }
body .entry-content .akce-table {
  border: 1px solid var(--akce-border);
  border-radius: 5px;
  overflow: hidden;
}
body .entry-content .akce-table th { background: var(--akce-ink); color: #fff; }
body .entry-content .akce-table td { border-color: var(--akce-border); }
body .entry-content .akce-table tr:nth-child(even) td { background: var(--akce-paper); }

/* Contact information and the Formlayer form. */
body .entry-content .akce-contact-info,
body .entry-content .akce-contact-form {
  min-width: 0;
  padding: 1.6rem;
  border: 1px solid var(--akce-border);
  border-radius: 6px;
  background: var(--akce-paper);
}
body .entry-content .akce-contact-form { border-top: 4px solid var(--akce-accent); background: #fff; }
body .entry-content .akce-contact-grid h3 { color: var(--akce-ink-deep); }
body .entry-content .akce-contact-form :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select) {
  max-width: 100%;
  border: 1px solid #aeb8c4;
  border-radius: 4px;
  background: #fff;
  color: var(--akce-ink-deep);
}
body .entry-content .akce-contact-form :is(button,input[type="submit"]) {
  color: #fff;
  background: var(--akce-accent);
  border-radius: 4px;
}

@media (max-width: 991px) {
  body .wrap_figure .side_gb_nav li.current-menu-item > a,
  body .wrap_figure .side_gb_nav li.current_page_item > a { color: #fff !important; background: #a50e2a; }
  body .entry-content .akce-page .akce-hero { flex-direction: column; }
  body .entry-content .akce-page .akce-hero-photo img { max-height: 420px; width: 100%; }
}
@media (max-width: 767px) {
  body.page .akce-page .akce-page-header { padding: 2.6rem 1.4rem 2.9rem; margin-bottom: 2rem; }
  body.page .akce-page .akce-page-header h1 { font-size: clamp(2.15rem, 8vw, 3.5rem); }
  body.page .akce-page .akce-page-header .akce-lead { font-size: 1.05rem; }
  body .entry-content .akce-team-card { padding: 1.2rem; }
  body .entry-content .akce-info-grid { grid-template-columns: 1fr; }
  body .entry-content .akce-contact-info,
  body .entry-content .akce-contact-form { padding: 1.2rem; }
  body .entry-content .akce-page .akce-hero-text { padding: 1.5rem; }
  body .entry-content .akce-page .akce-hero-photo img { min-height: 0; height: auto; }
  body .entry-content .akce-page .akce-table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  body .entry-content .akce-page .akce-table th,
  body .entry-content .akce-page .akce-table td { min-width: 7rem; }
}
