@charset "UTF-8";
:root {
  --color-primary: #f60000;
  --color-headline: #1e0c0b;
}

@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeue-Black.woff2") format("woff2"), url("../fonts/HelveticaNeue-Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeue-Heavy.woff2") format("woff2"), url("../fonts/HelveticaNeue-Heavy.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeue-Light.woff2") format("woff2"), url("../fonts/HelveticaNeue-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeue-BoldItalic.woff2") format("woff2"), url("../fonts/HelveticaNeue-BoldItalic.woff") format("woff");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeue-BlackItalic.woff2") format("woff2"), url("../fonts/HelveticaNeue-BlackItalic.woff") format("woff");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeue-HeavyItalic.woff2") format("woff2"), url("../fonts/HelveticaNeue-HeavyItalic.woff") format("woff");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeue-LightItalic.woff2") format("woff2"), url("../fonts/HelveticaNeue-LightItalic.woff") format("woff");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeue-Italic.woff2") format("woff2"), url("../fonts/HelveticaNeue-Italic.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeue-Bold.woff2") format("woff2"), url("../fonts/HelveticaNeue-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeue-UltraLightItalic.woff2") format("woff2"), url("../fonts/HelveticaNeue-UltraLightItalic.woff") format("woff");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeue-ThinItalic.woff2") format("woff2"), url("../fonts/HelveticaNeue-ThinItalic.woff") format("woff");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeue-MediumItalic.woff2") format("woff2"), url("../fonts/HelveticaNeue-MediumItalic.woff") format("woff");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeue-UltraLight.woff2") format("woff2"), url("../fonts/HelveticaNeue-UltraLight.woff") format("woff");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeue-Roman.woff2") format("woff2"), url("../fonts/HelveticaNeue-Roman.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeue-Thin.woff2") format("woff2"), url("../fonts/HelveticaNeue-Thin.woff") format("woff");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../fonts/HelveticaNeue-Medium.woff2") format("woff2"), url("../fonts/HelveticaNeue-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
.has-submenu:hover {
  cursor: default;
}

header > .elementor-element > .e-con {
  padding-inline: 15px;
}
header .e-n-menu-content.e-active {
  border-bottom: 1px solid black;
}
header .megamenu-container {
  padding-block: 2em !important;
}
@media (min-width: 767px) {
  header .megamenu-container {
    padding-block: 3em !important;
  }
}
header ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title {
  box-shadow: none !important;
  padding: 18px 30px;
}
@media (max-width: 767px) {
  header ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title a span,
  header ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-title .e-n-menu-title-container span {
    font-size: 1.5rem;
    font-weight: 500;
  }
}
header ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-content > .e-con {
  margin-top: 0 !important;
}
header ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-content .elementor-widget-text-editor {
  text-align: center;
}
header ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-content .elementor-widget-text-editor p {
  font-size: 1.1rem;
  text-transform: uppercase;
  font-weight: 700;
}
header ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-content .elementor-widget-text-editor ul {
  list-style: none;
  padding: 0;
}
header ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-content .elementor-widget-text-editor ul li a {
  color: #000;
  margin-bottom: 0.5em;
  display: block;
  font-weight: 300;
}
header ul.e-n-menu-heading li.e-n-menu-item .e-n-menu-content .elementor-widget-text-editor ul li a:hover {
  text-decoration: underline;
  color: #f60000;
}
header ul.e-n-menu-heading li.e-n-menu-item #termine-btn {
  padding: 0 !important;
}
header ul.e-n-menu-heading li.e-n-menu-item #termine-btn a {
  -moz-animation: pulse 2s infinite;
  -webkit-animation: pulse 2s infinite;
  animation: pulse 2s infinite;
}
@media (max-width: 767px) {
  header ul.e-n-menu-heading li.e-n-menu-item #termine-btn a {
    justify-content: center;
  }
}
header ul.e-n-menu-heading li.e-n-menu-item #termine-btn a {
  position: relative !important;
  display: inline-block !important;
  background: #f60000 !important;
  text-transform: uppercase;
  text-decoration: none !important;
  padding: 0.7rem 1rem !important;
}
@media (min-width: 767px) {
  header ul.e-n-menu-heading li.e-n-menu-item #termine-btn a {
    padding: 1rem 1.5rem !important;
  }
}
header ul.e-n-menu-heading li.e-n-menu-item #termine-btn a:hover {
  background-color: rgb(175, 0, 0) !important;
  transition: 0.2s ease-in background-color;
  color: #fff;
  cursor: pointer;
}
header ul.e-n-menu-heading li.e-n-menu-item #termine-btn a:active {
  scale: 0.975;
  color: #fff;
}
header ul.e-n-menu-heading li.e-n-menu-item #termine-btn a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
  opacity: 0.3 !important;
}
header ul.e-n-menu-heading li.e-n-menu-item #termine-btn a span {
  color: #fff !important;
  font-size: 1rem;
  font-weight: 500;
}

@media (max-width: 1024px) {
  #megamenu-module .e-n-menu-toggle[aria-expanded=false] + .e-n-menu-wrapper {
    display: none;
  }
  #megamenu-module .e-n-menu-toggle[aria-expanded=true] + .e-n-menu-wrapper {
    display: block;
  }
}
@media (min-width: 1025px) {
  #megamenu-module .e-n-menu-content > .e-con {
    display: none !important;
  }
  #megamenu-module .e-n-menu-item:hover > .e-n-menu-content > .e-con,
  #megamenu-module .e-n-menu-item:focus-within > .e-n-menu-content > .e-con {
    display: flex !important;
  }
}
@media (min-width: 1025px) {
  .elementor-730 .elementor-element.elementor-element-8e9194f {
    height: 116px !important;
    min-height: 116px !important;
    max-height: 116px !important;
    overflow: visible !important;
  }
}
html {
  font-size: 14px;
}
@media (min-width: 767px) {
  html {
    font-size: 16px;
  }
}

body {
  font-family: "Archivo", "Helvetica Neue", sans-serif;
  font-weight: 400;
  font-size: 16px;
}
body * {
  font-family: "Archivo", "Helvetica Neue", sans-serif;
}

p {
  margin-top: 0;
}

/* main {
	.elementor {
		.e-parent {
			.e-con-inner {
				padding-block: 3rem;
				@media (min-width: 767px) {
					padding-block: 5rem;
				}
			}
		}
	}
}
 */
.e-con-full,
main .elementor-element.e-con > .e-con-inner {
  padding-block: 3rem;
  padding-inline: 15px;
}
@media (min-width: 767px) {
  .e-con-full,
  main .elementor-element.e-con > .e-con-inner {
    padding-block: 3.5rem;
  }
}

.e-con-inner .e-con {
  padding-block: 10px;
}

.endurance-team-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 140px;
  gap: 12px;
  margin-top: 4px;
}
.endurance-team-fields .endurance-team-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.endurance-team-fields .endurance-team-field label {
  font-size: 12px;
  font-weight: 700;
  color: #333;
}
.endurance-team-fields .endurance-team-field input,
.endurance-team-fields .endurance-team-field select {
  width: 100%;
  height: 38px;
  padding: 7px 10px;
  border: 1px solid #cfcfcf;
  border-radius: 4px;
  background: #fff;
  color: #222;
  font-size: 14px;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.endurance-team-fields .endurance-team-field input:focus,
.endurance-team-fields .endurance-team-field select:focus {
  border-color: #f60000;
  box-shadow: 0 0 0 2px rgba(246, 0, 0, 0.08);
}
.endurance-team-fields .endurance-team-members {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
}
.endurance-team-fields .endurance-team-hint {
  grid-column: 1/-1;
  margin: 0;
  padding: 8px 10px;
  background: #f5f5f5;
  border-left: 3px solid #f60000;
  font-size: 12px;
  line-height: 1.4;
  color: #666;
}
@media (max-width: 600px) {
  .endurance-team-fields {
    grid-template-columns: 1fr;
  }
  .endurance-team-fields .endurance-team-members {
    grid-template-columns: 1fr;
  }
  .endurance-team-fields .endurance-team-hint {
    grid-column: 1;
  }
}

.event-checkout-edit {
  display: block;
  width: fit-content;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #f60000;
  text-decoration: underline;
}

.ext-btn {
  display: inline-block;
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgb(255, 0, 0);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(4, 180, 255, 0);
  }
  100% {
    box-shadow: 0 0 0 50px rgba(0, 157, 223, 0);
  }
}
.red-btn a,
.red-btn button {
  position: relative !important;
  display: inline-block !important;
  background: #f60000 !important;
  color: #fff !important;
  text-transform: uppercase;
  text-decoration: none !important;
  padding: 0.7rem 1rem !important;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
}
@media (min-width: 767px) {
  .red-btn a,
  .red-btn button {
    padding: 1rem 1.5rem !important;
  }
}
.red-btn a::before,
.red-btn button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
  opacity: 0.3 !important;
}
.red-btn a:hover,
.red-btn button:hover {
  background-color: rgb(175, 0, 0) !important;
  transition: 0.2s ease-in background-color;
  color: #fff;
}
.red-btn a:active,
.red-btn button:active {
  scale: 0.975;
  color: #fff;
}
.red-btn.pulse-btn a,
.red-btn.pulse-btn button {
  -moz-animation: pulse 2s infinite;
  -webkit-animation: pulse 2s infinite;
  animation: pulse 2s infinite;
}
.red-btn.rundenzeiten a,
.red-btn.rundenzeiten button {
  padding: 0.3rem 1rem !important;
}
@media (min-width: 767px) {
  .red-btn.rundenzeiten a,
  .red-btn.rundenzeiten button {
    padding: 0.3rem 1rem !important;
  }
}

.light-btn a,
.light-btn button {
  position: relative;
  display: inline-block;
  background: #e5e5e5;
  color: #000;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.7rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  box-shadow: 0 0 0 0 rgba(0, 157, 223, 0.4);
  text-align: center;
}
@media (min-width: 767px) {
  .light-btn a,
  .light-btn button {
    padding: 1rem 2.5rem;
  }
}
.light-btn a:hover,
.light-btn button:hover {
  background-color: #c0bfbf;
  transition: 0.2s ease-in background-color;
  color: #000;
}
.light-btn a:active,
.light-btn button:active {
  scale: 0.975;
  color: #000;
}

.more-light-btn a,
.more-light-btn button {
  position: relative;
  display: inline-block;
  background: none;
  color: white;
  text-transform: uppercase;
  text-decoration: none;
  padding: 0.7rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  box-shadow: 0 0 0 0 rgba(0, 157, 223, 0.4);
  text-align: center;
  display: inline-flex;
  gap: 1em;
}
@media (min-width: 767px) {
  .more-light-btn a,
  .more-light-btn button {
    padding: 1rem 2.5rem;
  }
}
.more-light-btn a::after,
.more-light-btn button::after {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  -webkit-mask: url("/wp-content/themes/ghmoto/external-packages/assets/img/right-top.svg") no-repeat center;
  mask: url("/wp-content/themes/ghmoto/external-packages/assets/img/right-top.svg") no-repeat center;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: white;
}
.more-light-btn a:hover,
.more-light-btn button:hover {
  background-color: #c0bfbf;
  transition: 0.2s ease-in background-color;
  color: #000;
}
.more-light-btn a:hover::after,
.more-light-btn button:hover::after {
  background-color: black;
  transition: 0.2s ease-in background-color;
}
.more-light-btn a:active,
.more-light-btn button:active {
  scale: 0.975;
  color: #000;
}

#termine-btn {
  position: relative;
  overflow: visible;
}

#termine-btn .e-n-menu-title-container {
  position: relative;
  z-index: 2;
  clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
  animation: none !important;
}

#termine-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: #ff3333;
  clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
  pointer-events: none;
  animation: rhomboid-pulse 2s infinite;
}

@keyframes rhomboid-pulse {
  0% {
    transform: scale(1);
    opacity: 0.5;
  }
  70%, 100% {
    transform: scale(1.1, 1.3);
    opacity: 0;
  }
}
/* Hero + event buttons */
.ext-btn,
.event-card__cta {
  clip-path: polygon(22px 0, 100% 0, calc(100% - 22px) 100%, 0 100%);
}

.ext-btn .ext-hero-button,
.event-card__cta {
  padding-left: 28px;
  padding-right: 28px;
}

.event-card__cta {
  border: 0;
}

.ext-cta__right {
  overflow: visible;
}

.ext-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
  padding-left: 32px;
  padding-right: 32px;
}

.modal {
  font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif;
}

.modal__overlay {
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal__container {
  background-color: #fff;
  z-index: 999;
  padding: 30px;
  width: 100%;
  max-width: 750px;
  max-height: 80vh;
  border-radius: 4px;
  overflow-y: auto;
  box-sizing: border-box;
}

.modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal__title {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.25;
  color: #1e0c0b;
  box-sizing: border-box;
}

.modal__close {
  background: transparent;
  border: 0;
  cursor: pointer;
}
.modal__close svg {
  width: 30px;
  height: 30px;
}

.modal__content .stock.in-stock {
  background: green;
  color: white;
  display: inline-block;
  padding: 0.2em;
}
.modal__content {
  margin-top: 2rem;
  margin-bottom: 2rem;
  line-height: 1.5;
  color: rgba(0, 0, 0, 0.8);
}
.modal__content .racedesk-related-event h2 {
  margin-bottom: 0;
}
.modal__content .racedesk-related-event h2 a {
  color: #f60000;
}
.modal__content .racedesk-related-event h2 a:hover {
  color: rgb(175, 0, 0);
}
.modal__content .price {
  font-weight: bold;
  margin-top: 0;
}
.modal__content .tm-extra-product-options-fields .tc-cell.tc-element-container ul {
  flex-direction: none;
  display: block;
}
.modal__content .woocommerce span.onsale {
  right: -0.5em;
  left: initial;
  background-color: #f60000;
}

.modal__btn {
  font-size: 0.875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background-color: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  border-radius: 0.25rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  -webkit-appearance: button;
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: -webkit-transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
  transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}

.modal__btn:focus,
.modal__btn:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.modal__btn-primary {
  background-color: #00449e;
  color: #fff;
}

/**************************\
  Demo Animation Style
\**************************/
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden=false] .modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=false] .modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

/* Grundlayout Hero */
.elementor-widget-ext_hero .ext-hero-widget {
  position: relative;
  overflow: hidden;
}
.elementor-widget-ext_hero .ext-hero-widget.ext-hero--height-small .ext-hero-overlay {
  min-height: 40vh;
}
.elementor-widget-ext_hero .ext-hero-widget.ext-hero--height-normal .ext-hero-overlay {
  min-height: 60vh;
}
.elementor-widget-ext_hero .ext-hero-widget.ext-hero--height-tall .ext-hero-overlay {
  min-height: 80vh;
}
.elementor-widget-ext_hero .ext-hero-widget .ext-hero-slider {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.elementor-widget-ext_hero .ext-hero-widget .ext-hero-slider .ext-hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}
.elementor-widget-ext_hero .ext-hero-widget .ext-hero-slider .ext-hero-slide.is-active {
  opacity: 1;
}
.elementor-widget-ext_hero .ext-hero-widget .ext-hero-overlay {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.3));
  box-sizing: border-box;
}
.elementor-widget-ext_hero .ext-hero-widget .ext-hero-overlay {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.3));
  box-sizing: border-box;
}
.elementor-widget-ext_hero .ext-hero-widget .ext-hero-overlay .ext-hero-content {
  max-width: 1352px;
  color: #ffffff;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
}
.elementor-widget-ext_hero .ext-hero-widget .ext-hero-overlay .ext-hero-content > * {
  max-width: 575px;
}
.elementor-widget-ext_hero .ext-hero-widget .ext-hero-overlay .ext-hero-content .ext-hero-headline {
  font-size: 3.2rem;
  line-height: 1.1;
  margin-bottom: 0.5em;
  font-weight: 900;
}
@media (max-width: 768px) {
  .elementor-widget-ext_hero .ext-hero-widget .ext-hero-overlay .ext-hero-content .ext-hero-headline {
    font-size: 2.2rem;
  }
}
.elementor-widget-ext_hero .ext-hero-widget .ext-hero-overlay .ext-hero-content .ext-hero-subheadline {
  font-size: 1.5rem;
  margin-bottom: 1em;
  font-weight: 400;
  opacity: 0.9;
}
@media (max-width: 768px) {
  .elementor-widget-ext_hero .ext-hero-widget .ext-hero-overlay .ext-hero-content .ext-hero-subheadline {
    font-size: 1.25rem;
  }
}
.elementor-widget-ext_hero .ext-hero-widget .ext-hero-overlay .ext-hero-content .ext-hero-description {
  font-size: 1rem;
  margin-bottom: 1.5em;
  opacity: 0.95;
}
.elementor-widget-ext_hero .ext-hero-widget .ext-hero-overlay .ext-hero-content {
  /* .ext-hero-button {
  	display: inline-block;
  	padding: 0.85em 2.2em;
  	border-radius: 999px;
  	text-decoration: none;
  	font-weight: 600;
  	background: #ff4444;
  	color: #ffffff;
  	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
  	transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;

  	&:hover {
  		transform: translateY(-1px);
  		box-shadow: 0 14px 35px rgba(0, 0, 0, 0.35);
  		background: #ff3030;
  	}
  } */
}

/* Höhe per Klasse steuern – kannst du auch in dein SCSS verschieben */
/* Video-Wrapper: füllt den Hintergrund */
.ext-hero-video {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
}

.ext-hero-video iframe,
.ext-hero-video video {
  width: 100%;
  height: 100%;
}

/* Falls du den Slider weiter nutzt */
.ext-hero-slider {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.ext-hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}
.ext-hero-slide.is-active {
  opacity: 1;
}
.ext-hero-slide .ext-hero-slide-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.ext-hero-video {
  position: relative;
  width: 100%;
}
.ext-hero-video__inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.ext-hero-video__media {
  position: relative;
  width: 100%;
  height: 60vh;
}
.ext-hero-video__poster, .ext-hero-video__iframe-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.ext-hero-video__poster {
  background-size: cover;
  background-position: center center;
}
.ext-hero-video__iframe {
  width: 100%;
  height: 100%;
}
.ext-hero-video__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  box-sizing: border-box;
  text-align: center;
}
.ext-hero-video__content {
  max-width: 800px;
  margin: 0 auto;
}
.ext-hero-video__heading {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  font-weight: 900;
  text-transform: uppercase;
}
.ext-hero-video__subheading {
  font-size: 1.1rem;
  margin-bottom: 1.5rem;
}
.ext-hero-video__play {
  cursor: pointer;
  border: none !important;
  background: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1rem;
}
.ext-hero-video__play svg {
  border-radius: 15px;
}
.ext-hero-video__play:hover {
  background: none !important;
}
.ext-hero-video__play:hover svg {
  background: rgba(255, 255, 255, 0.5);
  box-shadow: 1px 1px 39px 15px rgba(255, 255, 255, 0.72);
  -webkit-box-shadow: 1px 1px 39px 15px rgba(255, 255, 255, 0.72);
  -moz-box-shadow: 1px 1px 39px 15px rgba(255, 255, 255, 0.72);
}
.ext-hero-video__play-icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 2px solid #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.ext-hero-video__play-icon::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-40%, -50%);
  border-style: solid;
  border-width: 10px 0 10px 18px;
  border-color: transparent transparent transparent #fff;
}
@media (max-width: 768px) {
  .ext-hero-video__heading {
    font-size: 1.8rem;
  }
  .ext-hero-video__subheading {
    font-size: 1rem;
  }
  .ext-hero-video__play-icon {
    width: 50px;
    height: 50px;
  }
}

.bg-black {
  background-color: #000;
  color: #fff;
}

.ext-blog-list {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  column-gap: 3rem;
}
@media (max-width: 767px) {
  .ext-blog-list {
    row-gap: 2rem;
  }
}
.ext-blog-list a {
  color: inherit;
  text-decoration: none;
}
.ext-blog-list a:hover {
  text-decoration: underline;
}
.ext-blog-list .ext-blog-item {
  display: flex;
  align-items: flex-start;
  gap: 1.75rem;
}
.ext-blog-list .ext-blog-item__thumb {
  flex: 0 0 220px;
  border-radius: 2px;
  overflow: hidden;
  background: #111;
}
.ext-blog-list .ext-blog-item__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 767px) {
  .ext-blog-list .ext-blog-item__thumb img {
    height: 16em;
  }
}
.ext-blog-list .ext-blog-item__thumb-placeholder {
  display: block;
  width: 100%;
  padding-top: 100%;
  background: #222;
}
.ext-blog-list .ext-blog-item__content {
  flex: 1 1 auto;
  min-width: 0;
}
.ext-blog-list .ext-blog-item__meta-top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 0.8rem;
  opacity: 0.85;
}
.ext-blog-list .ext-blog-item__category {
  padding: 0.2rem 0.9rem;
  border-radius: 2px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  font-weight: 500;
}
.ext-blog-list .ext-blog-item__date {
  opacity: 0.8;
}
.ext-blog-list .ext-blog-item__title {
  margin: 0 0 1.5rem;
  font-size: 1.25rem;
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase;
}
.ext-blog-list .ext-blog-item__title a:hover {
  text-decoration: underline;
  color: white;
}
.ext-blog-list .ext-blog-item__meta-bottom {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.78rem;
  opacity: 0.8;
  margin-top: 0.25rem;
}
.ext-blog-list .ext-blog-item__meta-icon {
  font-size: 0.8rem;
}
.ext-blog-list .ext-blog-item__author-label {
  text-transform: uppercase;
  letter-spacing: 0.16em;
}
.ext-blog-list .ext-blog-item__author-name {
  font-weight: 500;
}
.ext-blog-list .ext-blog-item__excerpt {
  margin-top: 1rem;
  font-size: 0.85rem;
  line-height: 1.5;
  opacity: 0.9;
}
.ext-blog-list--grid-2-1 .ext-blog-item:nth-child(1),
.ext-blog-list--grid-2-1 .ext-blog-item:nth-child(2) {
  grid-column: 1;
}
.ext-blog-list--grid-2-1 .ext-blog-item:nth-child(1) {
  grid-row: 1;
}
.ext-blog-list--grid-2-1 .ext-blog-item:nth-child(2) {
  grid-row: 2;
}
.ext-blog-list--grid-2-1 .ext-blog-item--featured {
  grid-column: 2;
  grid-row: 1/span 2;
  flex-direction: column;
}
.ext-blog-list--grid-2-1 .ext-blog-item--featured .ext-blog-item__thumb {
  flex: 0 0 auto;
  max-width: none;
  width: 100%;
}
.ext-blog-list--grid-2-1 .ext-blog-item--featured .ext-blog-item__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 767px) {
  .ext-blog-list--grid-2-1 .ext-blog-item--featured .ext-blog-item__thumb img {
    height: 35em;
  }
}
.ext-blog-list--grid-2-1 .ext-blog-item--featured .ext-blog-item__content {
  padding-top: 1.6rem;
}
.ext-blog-list--grid-2-1 .ext-blog-item--featured .ext-blog-item__title {
  font-size: 1.6rem;
  margin-bottom: 1.6rem;
}
.ext-blog-list--grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 2rem;
  row-gap: 2rem;
}
@media (max-width: 1024px) {
  .ext-blog-list--grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .ext-blog-list--grid-3 {
    grid-template-columns: minmax(0, 1fr);
  }
}
.ext-blog-list--style2 .ext-blog-item {
  flex-direction: column;
  gap: 1rem;
}
.ext-blog-list--style2 .ext-blog-item__thumb {
  flex: 0 0 auto;
  max-width: none;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 2px;
  overflow: hidden;
}
.ext-blog-list--style2 .ext-blog-item__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 767px) {
  .ext-blog-list--style2 .ext-blog-item__thumb img {
    height: 100%;
  }
}
.ext-blog-list--style2 .ext-blog-item__thumb-placeholder {
  padding-top: 0;
  aspect-ratio: 16/9;
  width: 100%;
}
.ext-blog-list--style2 .ext-blog-item__content {
  padding-top: 0;
}
.ext-blog-list--style2 .ext-blog-item__title {
  margin: 0 0 1rem;
  font-size: 1.1rem;
}
.ext-blog-list--style2 .ext-blog-item__excerpt {
  margin-top: 0.75rem;
}
.ext-blog-list--style2 .ext-blog-item--featured {
  grid-column: auto;
  grid-row: auto;
}
@media (max-width: 900px) {
  .ext-blog-list {
    grid-template-columns: minmax(0, 1fr);
  }
  .ext-blog-list .ext-blog-item,
  .ext-blog-list .ext-blog-item--featured {
    grid-column: auto !important;
    grid-row: auto !important;
    flex-direction: column;
  }
  .ext-blog-list .ext-blog-item .ext-blog-item__thumb,
  .ext-blog-list .ext-blog-item--featured .ext-blog-item__thumb {
    max-width: none;
    width: 100%;
    height: auto;
  }
  .ext-blog-list .ext-blog-item .ext-blog-item__content,
  .ext-blog-list .ext-blog-item--featured .ext-blog-item__content {
    padding-top: 1.2rem;
  }
}

.flag-bg {
  background: url("/wp-content/uploads/2025/12/flag.png") no-repeat bottom left;
  background-size: cover;
}

.ext-faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.ext-faq-accordion .elementor-accordion-item {
  background: #f5f5f5;
  border-radius: 8px;
  padding: 1rem 1.25rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}
.ext-faq-accordion .elementor-accordion-item:last-child {
  margin-bottom: 0;
}
.ext-faq-accordion .elementor-accordion-item .elementor-tab-title {
  border: none;
  padding: 0;
  background: transparent;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  cursor: pointer;
  font-weight: 600;
  font-size: 1rem;
  color: inherit;
}
.ext-faq-accordion .elementor-accordion-item .elementor-tab-title .elementor-accordion-title-text {
  flex: 1;
  order: 1;
}
.ext-faq-accordion .elementor-accordion-item .elementor-tab-title .elementor-accordion-icon {
  order: 2;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  font-size: 2rem;
  line-height: 1;
}
.ext-faq-accordion .elementor-accordion-item .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-closed {
  display: inline;
}
.ext-faq-accordion .elementor-accordion-item .elementor-tab-title .elementor-accordion-icon .elementor-accordion-icon-opened {
  display: none;
}
.ext-faq-accordion .elementor-accordion-item .elementor-tab-title.elementor-active .elementor-accordion-icon .elementor-accordion-icon-closed {
  display: none;
}
.ext-faq-accordion .elementor-accordion-item .elementor-tab-title.elementor-active .elementor-accordion-icon .elementor-accordion-icon-opened {
  display: inline;
}
.ext-faq-accordion .elementor-accordion-item .elementor-tab-content {
  border: none;
  padding: 0.75rem 0 0 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #444;
}

.partner_carousel {
  white-space: nowrap;
}
.partner_carousel ul,
.partner_carousel li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.partner_carousel figure {
  display: initial;
  margin: 0;
}
.partner_carousel .carousel_wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  position: relative;
  overflow: hidden;
}
@media (min-width: 767px) {
  .partner_carousel .carousel_wrapper:before, .partner_carousel .carousel_wrapper:after {
    position: absolute;
    top: 0;
    width: 250px;
    height: 100%;
    content: "";
    z-index: 2;
  }
  .partner_carousel .carousel_wrapper:before {
    left: 0;
    background: linear-gradient(to left, rgba(255, 255, 255, 0), white);
  }
  .partner_carousel .carousel_wrapper:after {
    right: 0;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), white);
  }
  .partner_carousel .carousel_wrapper:hover .carousel_list {
    animation-play-state: paused;
  }
}
.partner_carousel .carousel_wrapper ul.carousel_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5em;
  padding-block: 1em;
}
@media (min-width: 767px) {
  .partner_carousel .carousel_wrapper ul.carousel_list {
    display: inline-block;
    animation: 30s slide infinite linear;
    flex: 0 0 auto;
  }
}
.partner_carousel .carousel_wrapper ul.carousel_list.copy {
  display: none;
}
@media (min-width: 767px) {
  .partner_carousel .carousel_wrapper ul.carousel_list.copy {
    display: inline-block;
  }
}
.partner_carousel .carousel_wrapper ul.carousel_list li {
  display: inline-block;
}
@media (min-width: 767px) {
  .partner_carousel .carousel_wrapper ul.carousel_list li {
    margin: 0 30px;
  }
}
.partner_carousel .carousel_wrapper ul.carousel_list li .partnerlogo_white img {
  filter: brightness(0) contrast(0) !important;
}
.partner_carousel .carousel_wrapper ul.carousel_list li .image_container {
  border: 1px solid #e5e5e5;
  border-radius: 15px;
  padding: 0.5em 1.5em;
}
.partner_carousel .carousel_wrapper ul.carousel_list li .image_container img {
  width: auto;
  height: 20px;
  object-fit: contain;
}
@media (min-width: 767px) {
  .partner_carousel .carousel_wrapper ul.carousel_list li .image_container img {
    height: 70px;
    max-width: 150px;
  }
}

@keyframes slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.fixed .carousel_wrapper:before, .fixed .carousel_wrapper:after {
  content: none !important;
}
@media (min-width: 767px) {
  .fixed ul.carousel_list {
    animation: none !important;
  }
}
.fixed ul.carousel_list {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  flex: initial !important;
  gap: 1.5em;
  padding-block: 1em;
}
.fixed ul.carousel_list.copy {
  display: none !important;
}

.gh-events,
.gh-box,
.gh-upcoming,
.gh-news,
.gh-report,
.gh-res-tabs,
.gh-results,
.rd-jk,
.gh-rank,
.gh-rteaser {
  --gh-bg: #f3f2f2;
  --gh-ink: #201e1d;
  --gh-dark: #1a1918;
  --gh-light: #f3f2f2;
  --gh-red: #e4000f;
  --gh-red-press: #c7000d;
  --gh-red-deep: #a8000b;
  --gh-rule: rgba(32, 30, 29, 0.4);
  --gh-green: #00b050;
  --gh-yellow: #e6bd0a;
  --gh-orange: #e68200;
  --gh-alert: #ad0000;
  --gh-blue: #1d5fa8;
  --gh-petrol: #0f6f78;
  --gh-font: Archivo, Helvetica Neue, sans-serif;
}

.gh-events {
  font-family: var(--gh-font);
  color: var(--gh-ink);
  background: transparent;
  -webkit-font-smoothing: antialiased;
  text-wrap: pretty;
}
.gh-events *,
.gh-events *::before,
.gh-events *::after {
  box-sizing: border-box;
}
.gh-events p,
.gh-events h1,
.gh-events h2 {
  margin: 0;
}
.gh-events a {
  color: var(--gh-red-deep);
  text-decoration: none;
}
.gh-events a:hover {
  color: var(--gh-red);
}
.gh-events a:focus-visible,
.gh-events button:focus-visible,
.gh-events summary:focus-visible {
  outline: 2px solid var(--gh-red);
  outline-offset: 2px;
}
.gh-events .num {
  font-variant-numeric: tabular-nums;
}
.gh-events .wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 40px);
}
.gh-events .intro {
  padding: clamp(32px, 4vw, 56px) 0 28px;
  border-bottom: 2px solid var(--gh-rule);
}
.gh-events .kicker {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 12px;
  color: var(--gh-red-deep);
}
.gh-events .intro h1 {
  font-weight: 700;
  font-size: clamp(32px, 5vw, 64px);
  line-height: 1.02;
  letter-spacing: -0.035em;
  color: var(--gh-ink);
}
.gh-events .lead {
  font-size: 16.5px;
  line-height: 1.68;
  margin-top: 18px;
  max-width: 62ch;
  color: rgba(32, 30, 29, 0.85);
}
.gh-events .actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 24px;
}
.gh-events .gh-btn {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  font: 600 15px/1 var(--gh-font);
  text-transform: none;
  letter-spacing: normal;
  padding: 13px 20px;
  border: 2px solid transparent;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.gh-events .gh-btn:disabled {
  cursor: default;
  opacity: 0.55;
}
.gh-events .gh-btn--primary {
  background: var(--gh-red);
  color: #fff;
}
.gh-events .gh-btn--primary:hover, .gh-events .gh-btn--primary:focus {
  background: var(--gh-red-press);
  color: #fff;
}
.gh-events .gh-btn--primary:active {
  background: var(--gh-red-deep);
}
.gh-events .gh-btn--secondary {
  background: transparent;
  color: var(--gh-ink);
  border-color: var(--gh-ink);
}
.gh-events .gh-btn--secondary:hover:not(:disabled) {
  background: var(--gh-ink);
  color: var(--gh-bg);
}
.gh-events .gh-btn--ghost {
  background: transparent;
  color: var(--gh-ink);
  border-color: var(--gh-rule);
}
.gh-events .gh-btn--ghost:hover {
  background: rgba(236, 48, 19, 0.1);
  border-color: var(--gh-red);
  color: var(--gh-red-deep);
}
.gh-events .gh-btn--light {
  background: transparent;
  color: var(--gh-light);
  border-color: var(--gh-light);
}
.gh-events .gh-btn--light:hover {
  background: var(--gh-light);
  color: var(--gh-ink);
}
.gh-events .list {
  padding: clamp(28px, 4vw, 48px) 0 clamp(32px, 4vw, 56px);
}
.gh-events .no-events {
  padding: 24px 0;
  font-weight: 600;
}
.gh-events .event {
  scroll-margin-top: 120px;
  border-top: 2px solid var(--gh-ink);
  padding: 24px 0 32px;
}
.gh-events .event:last-of-type {
  border-bottom: 2px solid var(--gh-ink);
}
.gh-events .event .actions {
  margin-top: 8px;
}
.gh-events .event__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 20px;
  flex-wrap: wrap;
}
.gh-events .event--cup {
  --event-accent: var(--gh-red);
}
.gh-events .event--warmup {
  --event-accent: var(--gh-blue);
}
.gh-events .event--cooldown {
  --event-accent: var(--gh-petrol);
}
.gh-events .event--cup,
.gh-events .event--warmup,
.gh-events .event--cooldown {
  border-top: 4px solid var(--event-accent);
}
.gh-events .event__type {
  display: inline-block;
  margin: 0 0 10px;
  padding: 4px 10px;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: #fff;
  background: var(--event-accent, var(--gh-ink));
}
.gh-events .event__title {
  font-weight: 700;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: var(--gh-ink);
}
.gh-events .event__logo {
  height: 1em;
  width: auto;
  margin-left: 10px;
  vertical-align: middle;
}
.gh-events .event__meta {
  font-size: 14.5px;
  margin-top: 8px;
  color: rgba(32, 30, 29, 0.75);
}
.gh-events .event__date {
  font-weight: 700;
  font-size: 22px;
  line-height: 1.2;
}
.gh-events .event__note {
  font-size: 15px;
  line-height: 1.68;
  margin-top: 20px;
  max-width: 72ch;
  color: rgba(32, 30, 29, 0.82);
}
.gh-events .event__hint {
  margin-top: 14px;
  font-size: 14.5px;
  font-weight: 600;
}
.gh-events .event__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.gh-events .event__tags li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  padding: 6px 11px;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--gh-ink);
  background: var(--gh-bg);
  border-left: 3px solid var(--gh-red);
}
.gh-events .event--full {
  opacity: 0.55;
  border-top-color: var(--gh-rule);
  padding-bottom: 20px;
}
.gh-events .event--full .event__title {
  font-size: 22px;
}
.gh-events .event--full .event__date {
  font-size: 18px;
}
.gh-events .prices {
  margin-top: 24px;
  overflow-x: auto;
}
.gh-events .prices table {
  width: 100%;
  min-width: 520px;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 15px;
}
.gh-events .prices th,
.gh-events .prices td {
  background: transparent;
  border: 0;
}
.gh-events .prices th {
  text-align: left;
  font-weight: 700;
  font-size: 13.5px;
  padding: 10px 12px 10px 0;
  border-bottom: 2px solid var(--gh-ink);
}
.gh-events .prices th:first-child {
  width: 110px;
}
.gh-events .prices td {
  text-align: left;
  padding: 12px 12px 12px 0;
  border-bottom: 2px solid var(--gh-rule);
  vertical-align: middle;
}
.gh-events .prices td:first-child {
  font-weight: 600;
}
.gh-events .ticket-btn {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 10px;
  margin: 0;
  padding: 8px 12px;
  font: 700 18px/1.25 var(--gh-font);
  font-variant-numeric: tabular-nums;
  text-align: left;
  text-transform: none;
  letter-spacing: normal;
  color: #fff;
  background: var(--gh-green);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  transition: filter 0.15s;
}
.gh-events .ticket-btn small {
  font-weight: 600;
  font-size: 12.5px;
}
.gh-events .ticket-btn:hover:not(:disabled), .gh-events .ticket-btn:focus:not(:disabled) {
  color: #fff;
  filter: brightness(0.92);
}
.gh-events .ticket-btn:disabled {
  cursor: default;
  opacity: 0.55;
}
.gh-events .ticket-btn--green,
.gh-events .ticket-btn--green:hover,
.gh-events .ticket-btn--green:focus {
  background: var(--gh-green);
  color: #fff;
}
.gh-events .ticket-btn--orange,
.gh-events .ticket-btn--orange:hover,
.gh-events .ticket-btn--orange:focus {
  background: var(--gh-orange);
  color: #fff;
}
.gh-events .ticket-btn--red,
.gh-events .ticket-btn--red:hover,
.gh-events .ticket-btn--red:focus {
  background: var(--gh-alert);
  color: #fff;
}
.gh-events .ticket-btn--yellow,
.gh-events .ticket-btn--yellow:hover,
.gh-events .ticket-btn--yellow:focus {
  background: var(--gh-yellow);
  color: var(--gh-ink);
}
.gh-events .event__extras {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 2px solid var(--gh-rule);
}
.gh-events .event__toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 9px 14px;
  font: 600 14.5px/1 var(--gh-font);
  text-transform: none;
  letter-spacing: normal;
  color: var(--gh-ink);
  background: transparent;
  border: 2px solid var(--gh-ink);
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.gh-events .event__toggle svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 0.2s;
}
.gh-events .event__toggle:hover, .gh-events .event__toggle:focus, .gh-events .event__toggle[aria-expanded=true] {
  color: var(--gh-bg);
  background: var(--gh-ink);
}
.gh-events .event__toggle[aria-expanded=true] svg {
  transform: rotate(180deg);
}
.gh-events .event__files {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.gh-events .event__files-label {
  margin-right: 4px;
  font-size: 13px;
  font-weight: 600;
  color: rgba(32, 30, 29, 0.6);
}
.gh-events .file-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 12px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--gh-ink);
  background: var(--gh-bg);
  border: 2px solid transparent;
  transition: border-color 0.15s, background 0.15s;
}
.gh-events .file-chip svg {
  flex: none;
  width: 16px;
  height: 16px;
  fill: none;
  stroke: var(--gh-red);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.gh-events .file-chip small {
  padding: 2px 5px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: rgba(32, 30, 29, 0.6);
  background: #fff;
}
.gh-events .file-chip:hover, .gh-events .file-chip:focus {
  color: var(--gh-ink);
  background: #fff;
  border-color: var(--gh-ink);
}
.gh-events .event__info {
  flex-basis: 100%;
  max-width: 80ch;
  padding: 16px 20px;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(32, 30, 29, 0.85);
  background: var(--gh-bg);
  border-left: 4px solid var(--gh-red);
}
.gh-events .event__info[hidden] {
  display: none;
}
.gh-events .event__info p {
  margin: 0 0 8px;
}
.gh-events .event__info p:last-child {
  margin-bottom: 0;
}
.gh-events .aside {
  display: grid;
  gap: clamp(28px, 3vw, 40px);
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  padding-bottom: clamp(40px, 5vw, 72px);
}
.gh-events .box {
  border: 2px solid var(--gh-ink);
  padding: 24px;
}
.gh-events .box h2 {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.2;
  margin-bottom: 20px;
}
.gh-events .legend {
  display: grid;
  gap: 14px;
  font-size: 14.5px;
  line-height: 1.6;
}
.gh-events .legend p {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 12px;
  align-items: start;
}
.gh-events .legend .is-muted {
  color: rgba(32, 30, 29, 0.6);
}
.gh-events .swatch {
  width: 22px;
  height: 14px;
  margin-top: 4px;
}
.gh-events .swatch--free {
  border: 2px solid var(--gh-ink);
}
.gh-events .swatch--few {
  background: var(--gh-red);
}
.gh-events .swatch--full {
  background: rgba(32, 30, 29, 0.3);
}
.gh-events .swatch--green {
  background: var(--gh-green);
}
.gh-events .swatch--yellow {
  background: var(--gh-yellow);
}
.gh-events .swatch--orange {
  background: var(--gh-orange);
}
.gh-events .swatch--red {
  background: var(--gh-alert);
}
.gh-events .notes {
  border-top: 2px solid var(--gh-rule);
  margin-top: 20px;
  padding-top: 18px;
  display: grid;
  gap: 14px;
  font-size: 14.5px;
  line-height: 1.65;
  color: rgba(32, 30, 29, 0.82);
}
.gh-events .box--dark {
  background: var(--gh-dark);
  color: var(--gh-light);
  border-color: var(--gh-dark);
}
.gh-events .box--dark h2 {
  margin-bottom: 16px;
  color: var(--gh-light);
}
.gh-events .box--dark p {
  font-size: 14.5px;
  line-height: 1.7;
  color: rgba(243, 242, 242, 0.82);
}
.gh-events .box--dark p + p {
  margin-top: 14px;
}
.gh-events .box--dark .gh-btn {
  margin-top: 20px;
}
@media (max-width: 600px) {
  .gh-events .event__date {
    font-size: 18px;
  }
  .gh-events .actions .gh-btn {
    flex: 1 1 auto;
  }
}

.gh-box.e-con,
.gh-box {
  --gap: 14px;
  --row-gap: 14px;
  --widgets-spacing: 14px;
  --widgets-spacing-row: 14px;
  border: 2px solid var(--gh-ink);
  padding: 24px;
  background: transparent;
  font-family: var(--gh-font);
  color: rgba(32, 30, 29, 0.82);
}
.gh-box.e-con .elementor-widget-heading .elementor-heading-title,
.gh-box .elementor-widget-heading .elementor-heading-title {
  margin: 0 0 4px;
  font: 700 20px/1.2 var(--gh-font);
  letter-spacing: -0.015em;
  color: var(--gh-ink);
}
.gh-box.e-con .elementor-widget-text-editor,
.gh-box .elementor-widget-text-editor {
  font: 400 14.5px/1.65 var(--gh-font);
  color: rgba(32, 30, 29, 0.82);
}
.gh-box.e-con .elementor-widget-text-editor p,
.gh-box .elementor-widget-text-editor p {
  margin: 0;
}
.gh-box.e-con .elementor-widget-text-editor strong,
.gh-box .elementor-widget-text-editor strong {
  color: var(--gh-ink);
}
.gh-box.e-con .elementor-widget-text-editor a,
.gh-box .elementor-widget-text-editor a {
  color: var(--gh-red-deep) !important;
}
.gh-box.e-con .elementor-widget-divider,
.gh-box .elementor-widget-divider {
  --divider-color: var(--gh-rule);
  --divider-border-width: 2px;
  --divider-border-style: solid;
}
.gh-box.e-con .elementor-widget-divider .elementor-divider,
.gh-box .elementor-widget-divider .elementor-divider {
  padding-block: 4px;
}

.gh-legend .elementor-icon-list-items {
  display: grid;
  gap: 12px;
}
.gh-legend .elementor-icon-list-item {
  align-items: center;
  padding: 0 !important;
  font: 400 14.5px/1.6 var(--gh-font);
  color: var(--gh-ink);
}
.gh-legend .elementor-icon-list-icon svg,
.gh-legend .elementor-icon-list-icon i {
  display: none;
}
.gh-legend .elementor-icon-list-icon::before {
  content: "";
  display: block;
  width: 22px;
  height: 14px;
  background: var(--gh-green);
}
.gh-legend .elementor-icon-list-text {
  padding-left: 12px !important;
  color: var(--gh-ink) !important;
}
.gh-legend .elementor-icon-list-item:nth-child(1) .elementor-icon-list-icon::before {
  background: var(--gh-green);
}
.gh-legend .elementor-icon-list-item:nth-child(2) .elementor-icon-list-icon::before {
  background: var(--gh-yellow);
}
.gh-legend .elementor-icon-list-item:nth-child(3) .elementor-icon-list-icon::before {
  background: var(--gh-orange);
}
.gh-legend .elementor-icon-list-item:nth-child(4) .elementor-icon-list-icon::before {
  background: var(--gh-alert);
}

.gh-box--dark.e-con,
.gh-box--dark {
  background: var(--gh-dark);
  border-color: var(--gh-dark);
  color: rgba(243, 242, 242, 0.82);
}
.gh-box--dark.e-con .elementor-widget-heading .elementor-heading-title,
.gh-box--dark .elementor-widget-heading .elementor-heading-title {
  color: var(--gh-light);
}
.gh-box--dark.e-con .elementor-widget-text-editor,
.gh-box--dark .elementor-widget-text-editor {
  font-size: 14.5px;
  line-height: 1.7;
  color: rgba(243, 242, 242, 0.82);
}
.gh-box--dark.e-con .elementor-widget-button .elementor-button,
.gh-box--dark .elementor-widget-button .elementor-button {
  margin-top: 6px;
  padding: 13px 20px;
  font: 600 15px/1 var(--gh-font);
  color: var(--gh-light);
  background: transparent;
  border: 2px solid var(--gh-light);
  border-radius: 0;
  box-shadow: none;
  transition: background 0.15s, color 0.15s;
}
.gh-box--dark.e-con .elementor-widget-button .elementor-button:hover, .gh-box--dark.e-con .elementor-widget-button .elementor-button:focus,
.gh-box--dark .elementor-widget-button .elementor-button:hover,
.gh-box--dark .elementor-widget-button .elementor-button:focus {
  color: var(--gh-ink);
  background: var(--gh-light);
}

.event-ticket-modal {
  --ticket-accent: #00b050;
  --ticket-accent-text: #fff;
}
.event-ticket-modal.ticket-status-green {
  --ticket-accent: #00b050;
}
.event-ticket-modal.ticket-status-orange {
  --ticket-accent: #e68200;
}
.event-ticket-modal.ticket-status-yellow {
  --ticket-accent: #e6bd0a;
  --ticket-accent-text: #111;
}
.event-ticket-modal.ticket-status-red {
  --ticket-accent: #ad0000;
}

.gh-events .event-ticket-modal .modal__container {
  max-width: 680px;
  max-height: 88vh;
  padding: 0;
  border-radius: 0;
  border-top: 6px solid var(--ticket-accent);
  font-family: var(--gh-font);
  color: var(--gh-ink);
}
.gh-events .event-ticket-modal .modal__header {
  align-items: flex-start;
  gap: 20px;
  padding: 24px 28px 20px;
}
.gh-events .event-ticket-modal .modal__kicker {
  margin: 0 0 6px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--gh-red-deep);
}
.gh-events .event-ticket-modal .modal__title {
  margin: 0;
  font: 700 clamp(22px, 3vw, 28px)/1.1 var(--gh-font);
  letter-spacing: -0.02em;
  color: var(--gh-ink);
}
.gh-events .event-ticket-modal .modal__close {
  flex: none;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  background: transparent;
  border: 2px solid transparent;
  border-radius: 0;
  color: var(--gh-ink);
  cursor: pointer;
}
.gh-events .event-ticket-modal .modal__close svg {
  width: 22px;
  height: 22px;
  fill: currentColor;
}
.gh-events .event-ticket-modal .modal__close:hover, .gh-events .event-ticket-modal .modal__close:focus {
  background: var(--gh-bg);
  border-color: var(--gh-ink);
  color: var(--gh-ink);
}
.gh-events .event-ticket-modal .ticket-summary {
  display: grid;
  gap: 10px;
  padding: 18px 28px;
  background: var(--gh-bg);
  border-top: 2px solid var(--gh-ink);
  border-bottom: 2px solid var(--gh-rule);
}
.gh-events .event-ticket-modal .ticket-summary__prices {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
}
.gh-events .event-ticket-modal .ticket-summary__price {
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
.gh-events .event-ticket-modal .ticket-summary__regular {
  font-size: 16px;
  color: rgba(32, 30, 29, 0.55);
}
.gh-events .event-ticket-modal .ticket-summary__badge {
  align-self: center;
  padding: 4px 10px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
  background: var(--gh-red);
}
.gh-events .event-ticket-modal .ticket-summary__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  color: rgba(32, 30, 29, 0.75);
}
.gh-events .event-ticket-modal .ticket-summary__status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 600;
  color: var(--gh-ink);
}
.gh-events .event-ticket-modal .ticket-summary__status::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--ticket-accent);
}
.gh-events .event-ticket-modal .modal__content {
  margin: 0;
  padding: 22px 28px 8px;
}
.gh-events .event-ticket-modal .modal__content .product_title,
.gh-events .event-ticket-modal .modal__content .onsale,
.gh-events .event-ticket-modal .modal__content .summary > .price,
.gh-events .event-ticket-modal .modal__content .stock {
  display: none;
}
.gh-events .event-ticket-modal .modal__content .stock.status-red {
  display: block;
  margin: 0 0 18px;
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 600;
  color: var(--gh-ink);
  background: rgba(173, 0, 0, 0.08);
  border-left: 4px solid var(--gh-alert);
}
.gh-events .event-ticket-modal .modal__content .single-product div.product,
.gh-events .event-ticket-modal .modal__content .summary {
  width: 100%;
  float: none;
  margin: 0;
}
.gh-events .event-ticket-modal .modal__content form.cart {
  margin: 0;
}
.gh-events .event-ticket-modal .modal__content .single_add_to_cart_button {
  width: 100%;
}
.gh-events .event-ticket-modal .modal__content .red-btn {
  display: block;
  margin-top: 18px;
}
.gh-events .event-ticket-modal .modal__footer {
  padding: 14px 28px 22px;
  text-align: right;
}

.event-ticket-dropdown {
  border: 1px solid #ddd;
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
}
.event-ticket-dropdown__header {
  width: 100%;
  border: 0 !important;
  padding: 14px 16px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 24px;
  align-items: center;
  gap: 14px;
  background: var(--ticket-accent) !important;
  color: var(--ticket-accent-text) !important;
  text-align: left;
  cursor: pointer;
  font: inherit;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: filter 0.15s ease;
}
.event-ticket-dropdown__header:hover {
  background: var(--ticket-accent) !important;
  color: var(--ticket-accent-text) !important;
  filter: brightness(0.93);
}
.event-ticket-dropdown__header:focus {
  background: var(--ticket-accent) !important;
  color: var(--ticket-accent-text) !important;
}
.event-ticket-dropdown__header .woocommerce-Price-amount,
.event-ticket-dropdown__header .woocommerce-Price-currencySymbol {
  color: inherit !important;
}
.event-ticket-dropdown__name {
  font-weight: 700;
  font-size: 1rem;
}
.event-ticket-dropdown__price {
  font-weight: 700;
  white-space: nowrap;
}
.event-ticket-dropdown__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  line-height: 1;
}
.event-ticket-dropdown__content {
  padding: 18px;
  border-top: 1px solid #ddd;
  background: #fff;
}
.event-ticket-dropdown.is-open {
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
}

.event-ticket-dropdowns {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tc-extra-product-options {
  margin: 0;
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tm-extra-product-options-fields,
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tc-section-inner-wrap,
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tc-section-fields > .tc-row {
  gap: 0;
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tc-cell.tc-container.cpf-element {
  margin: 0 0 14px;
  padding: 16px 18px 8px;
  background: var(--gh-bg);
  border: 0;
  border-left: 3px solid var(--gh-ink);
  border-radius: 0;
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tc-cell.tc-epo-label {
  margin: 0 0 8px;
  font: 700 15.5px/1.3 var(--gh-font);
  color: var(--gh-ink);
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tm-epo-required {
  color: var(--gh-red);
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tmcp-ul-wrap {
  margin: 0;
  padding: 0;
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tmcp-field-wrap {
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid rgba(32, 30, 29, 0.12);
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tmcp-field-wrap:first-child {
  border-top: 0;
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tm-epo-field-label {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tc-label-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tc-label,
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tc-label-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  font-size: 15px;
  line-height: 1.4;
  color: var(--gh-ink);
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tc-price {
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary input[type=checkbox],
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary input[type=radio] {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--gh-ink);
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary select.tmcp-select,
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary textarea.tmcp-textarea {
  width: 100%;
  min-height: 44px;
  padding: 8px 12px;
  font: 400 15px/1.4 var(--gh-font);
  color: var(--gh-ink);
  background-color: #fff;
  border: 2px solid var(--gh-ink);
  border-radius: 0;
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tm-extra-product-options-totals {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: 6px 16px;
  margin: 6px 0 0;
  padding: 16px 0 0;
  border-top: 2px solid var(--gh-ink);
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tm-extra-product-options-totals dt,
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tm-extra-product-options-totals dd {
  margin: 0;
  padding: 0;
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tm-extra-product-options-totals dt {
  font-size: 15px;
  font-weight: 600;
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tm-extra-product-options-totals dd {
  text-align: right;
}
.gh-events .event-ticket-modal .modal__content .woocommerce .summary.entry-summary .tm-extra-product-options-totals .tm-final-totals .price {
  font-size: 26px;
  font-weight: 700;
}

.gh-upcoming {
  font-family: var(--gh-font);
  color: #fff;
  -webkit-font-smoothing: antialiased;
}
.gh-upcoming .num {
  font-variant-numeric: tabular-nums;
}

.gh-upcoming__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px 24px;
  margin-bottom: 28px;
}

.gh-upcoming .gh-upcoming__title {
  margin: 0;
  font: 700 clamp(30px, 4vw, 40px)/1.1 var(--gh-font);
  letter-spacing: -0.03em;
  color: #fff;
}

.gh-upcoming a.gh-upcoming__all {
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  border-bottom: 2px solid rgba(255, 255, 255, 0.45);
  padding-bottom: 2px;
  transition: border-color 0.15s;
}
.gh-upcoming a.gh-upcoming__all:hover, .gh-upcoming a.gh-upcoming__all:focus {
  color: #fff;
  border-color: #fff;
}

.gh-upcoming__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.gh-upcoming__item {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px 32px;
  margin: 0;
  padding: 24px 0;
  border-top: 2px solid rgba(255, 255, 255, 0.45);
}
.gh-upcoming__item:last-child {
  border-bottom: 2px solid rgba(255, 255, 255, 0.45);
}

.gh-upcoming .gh-upcoming__date {
  margin: 0;
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #fff;
}

.gh-upcoming .gh-upcoming__name {
  margin: 0 0 6px;
  font: 700 20px/1.2 var(--gh-font);
  letter-spacing: -0.015em;
  color: #fff;
}

.gh-upcoming .gh-upcoming__meta {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.85);
}

.gh-upcoming a.gh-upcoming__btn {
  display: inline-flex;
  align-items: center;
  padding: 13px 20px;
  font: 600 15px/1 var(--gh-font);
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  background: transparent;
  border: 2px solid #fff;
  transition: background 0.15s, color 0.15s;
}
.gh-upcoming a.gh-upcoming__btn:hover, .gh-upcoming a.gh-upcoming__btn:focus {
  color: var(--gh-ink);
  background: #fff;
}

.gh-upcoming__empty {
  margin: 0;
  padding: 24px 0;
  border-top: 2px solid rgba(255, 255, 255, 0.45);
  color: rgba(255, 255, 255, 0.85);
}

@media (max-width: 700px) {
  .gh-upcoming__item {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .gh-upcoming .gh-upcoming__date {
    font-size: 22px;
  }
  .gh-upcoming a.gh-upcoming__btn {
    justify-self: start;
    margin-top: 6px;
  }
}
.gh-news {
  font-family: var(--gh-font);
  color: var(--gh-ink);
  -webkit-font-smoothing: antialiased;
}
.gh-news a {
  text-decoration: none;
}
.gh-news p,
.gh-news h2,
.gh-news h3 {
  margin: 0;
}

.gh-news .gh-news__title {
  margin-bottom: 28px;
  font: 700 clamp(30px, 4vw, 40px)/1.1 var(--gh-font);
  letter-spacing: -0.03em;
  color: var(--gh-ink);
}

.gh-news__feature {
  display: grid;
  grid-template-columns: 45fr 55fr;
  align-items: start;
  gap: 32px 40px;
  padding: 8px 0 32px;
  border-bottom: 2px solid var(--gh-rule);
}

.gh-news__feature--noimg {
  grid-template-columns: 1fr;
}

.gh-news__image {
  display: block;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--gh-bg);
}
.gh-news__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0) contrast(1.05);
  transition: filter 0.3s, transform 0.4s;
}
.gh-news__image:hover img {
  filter: saturate(1) contrast(1);
  transform: scale(1.02);
}

.gh-news .gh-news__kicker,
.gh-news .gh-news__date {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--gh-red-deep);
}

.gh-news .gh-news__kicker {
  margin-bottom: 12px;
}

.gh-news .gh-news__feature-title {
  margin-bottom: 14px;
  font: 700 clamp(24px, 3vw, 30px)/1.1 var(--gh-font);
  letter-spacing: -0.04em;
}

.gh-news .gh-news__feature-title a,
.gh-news .gh-news__row-title a {
  color: var(--gh-ink);
}
.gh-news .gh-news__feature-title a:hover, .gh-news .gh-news__feature-title a:focus,
.gh-news .gh-news__row-title a:hover,
.gh-news .gh-news__row-title a:focus {
  color: var(--gh-red-deep);
}

.gh-news .gh-news__excerpt {
  font-size: 15px;
  line-height: 1.65;
  color: rgba(32, 30, 29, 0.82);
}

.gh-news__feature .gh-news__excerpt {
  margin-bottom: 20px;
  font-size: 15.5px;
}

.gh-news a.gh-news__btn {
  display: inline-flex;
  padding: 13px 20px;
  font: 600 15px/1 var(--gh-font);
  color: #fff;
  background: var(--gh-red);
  transition: background 0.15s;
}
.gh-news a.gh-news__btn:hover, .gh-news a.gh-news__btn:focus {
  color: #fff;
  background: var(--gh-red-press);
}

.gh-news__row {
  display: grid;
  grid-template-columns: 20fr 60fr 20fr;
  align-items: start;
  gap: 8px 32px;
  padding: 22px 0;
  border-bottom: 2px solid var(--gh-rule);
}

.gh-news .gh-news__row-title {
  margin-bottom: 8px;
  font: 700 19px/1.2 var(--gh-font);
  letter-spacing: -0.015em;
}

.gh-news .gh-news__row .gh-news__excerpt {
  font-size: 14.5px;
  line-height: 1.6;
}

.gh-news a.gh-news__more {
  justify-self: end;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
  color: var(--gh-red-deep);
}
.gh-news a.gh-news__more:hover, .gh-news a.gh-news__more:focus {
  color: var(--gh-red);
}

.gh-news a.gh-news__archive {
  display: inline-flex;
  margin-top: 28px;
  padding: 13px 20px;
  font: 600 15px/1 var(--gh-font);
  color: var(--gh-ink);
  border: 2px solid var(--gh-ink);
  transition: background 0.15s, color 0.15s;
}
.gh-news a.gh-news__archive:hover, .gh-news a.gh-news__archive:focus {
  color: var(--gh-bg);
  background: var(--gh-ink);
}

.gh-news .gh-news__empty {
  padding: 22px 0;
  border-top: 2px solid var(--gh-rule);
  color: rgba(32, 30, 29, 0.75);
}

@media (max-width: 800px) {
  .gh-news__feature,
  .gh-news__row {
    grid-template-columns: 1fr;
  }
  .gh-news a.gh-news__more {
    justify-self: start;
  }
}
.gh-report ol.gh-podium {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: podium;
  border-top: 2px solid var(--gh-rule);
}
.gh-report ol.gh-podium li {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 9px 0;
  font: 600 15px/1.35 var(--gh-font);
  color: var(--gh-ink);
  border-bottom: 1px solid rgba(32, 30, 29, 0.15);
  counter-increment: podium;
}
.gh-report ol.gh-podium li::before {
  content: "P" counter(podium);
  flex: none;
  width: 36px;
  padding: 3px 0;
  font-size: 12.5px;
  font-weight: 700;
  text-align: center;
  color: var(--gh-ink);
  border: 2px solid var(--gh-ink);
}
.gh-report ol.gh-podium li:first-child::before {
  color: #fff;
  background: var(--gh-red);
  border-color: var(--gh-red);
}

.gh-report .elementor-image-gallery .gallery-item img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  border: 0;
}

.gh-report .elementor-image-gallery .gallery-item {
  margin-bottom: 0;
}

.gh-res-tabs .elementor-tabs-wrapper {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 2px solid var(--gh-ink);
}
.gh-res-tabs .elementor-tab-desktop-title {
  margin-bottom: -2px;
  padding: 14px 22px !important;
  border: 0 !important;
}
.gh-res-tabs .elementor-tab-desktop-title.elementor-active {
  color: var(--gh-light) !important;
  background: var(--gh-ink);
}
.gh-res-tabs .elementor-tab-desktop-title.elementor-active::before, .gh-res-tabs .elementor-tab-desktop-title.elementor-active::after {
  display: none !important;
}
.gh-res-tabs .elementor-tab-content {
  padding: 0 !important;
  border: 0 !important;
}
.gh-res-tabs .elementor-tab-mobile-title {
  font-weight: 700;
  border: 0 !important;
  border-top: 2px solid var(--gh-ink) !important;
}
.gh-res-tabs .elementor-tab-mobile-title.elementor-active {
  color: var(--gh-light);
  background: var(--gh-ink);
}

.gh-results .gh-res-pdf {
  transition: background 0.15s, color 0.15s;
}
.gh-results .gh-res-pdf:hover {
  color: var(--gh-light) !important;
  background: var(--gh-ink);
}
.gh-results a:focus-visible {
  outline: 2px solid var(--gh-red);
  outline-offset: 2px;
}

@media (max-width: 720px) {
  .gh-results article,
  .gh-results > div:first-child {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
.rd-jk {
  font-family: var(--gh-font);
  color: var(--gh-ink);
  -webkit-font-smoothing: antialiased;
}
.rd-jk .num {
  font-variant-numeric: tabular-nums;
}
.rd-jk p,
.rd-jk h3,
.rd-jk h4 {
  margin: 0;
}
.rd-jk del {
  margin-left: 8px;
  font-size: 0.75em;
  font-weight: 500;
  color: rgba(32, 30, 29, 0.5);
}

.rd-jk__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 32px;
  padding: 0;
  list-style: none;
  counter-reset: jk-step;
}
.rd-jk__steps li {
  counter-increment: jk-step;
  padding-top: 10px;
  font-size: 14px;
  font-weight: 600;
  color: rgba(32, 30, 29, 0.55);
  border-top: 4px solid var(--gh-rule);
}
.rd-jk__steps li::before {
  content: counter(jk-step) ". ";
}
.rd-jk__steps li.is-done {
  color: var(--gh-ink);
  border-top-color: var(--gh-ink);
}
.rd-jk__steps li.is-current {
  color: var(--gh-ink);
  border-top-color: var(--gh-red);
}
.rd-jk__steps li a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.rd-jk .rd-jk__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  font: 600 15px/1 var(--gh-font);
  text-transform: none;
  letter-spacing: normal;
  color: #fff;
  text-decoration: none;
  background: var(--gh-red);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  transition: background 0.15s;
}
.rd-jk .rd-jk__btn:hover, .rd-jk .rd-jk__btn:focus {
  color: #fff;
  background: var(--gh-red-press);
}
.rd-jk .rd-jk__btn:disabled, .rd-jk .rd-jk__btn.is-disabled {
  color: var(--gh-ink);
  background: rgba(32, 30, 29, 0.2);
  cursor: default;
}

.rd-jk__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
}

.rd-jk__card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 24px;
  border: 2px solid var(--gh-ink);
}
.rd-jk__card.is-disabled {
  opacity: 0.55;
}
.rd-jk__card .rd-jk__btn {
  align-self: flex-start;
  margin-top: auto;
}

.rd-jk .rd-jk__kicker {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--gh-red-deep);
}

.rd-jk .rd-jk__card-title {
  font: 700 26px/1.1 var(--gh-font);
  letter-spacing: -0.025em;
  color: var(--gh-ink);
}

.rd-jk .rd-jk__price {
  margin-top: 6px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
.rd-jk .rd-jk__price small {
  font-size: 15px;
  font-weight: 600;
}

.rd-jk .rd-jk__save {
  margin-bottom: 8px;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--gh-red-deep);
}

.rd-jk__empty {
  padding: 22px 0;
  border-top: 2px solid var(--gh-rule);
}

.rd-jk .rd-jk__title {
  margin-bottom: 8px;
  font: 700 clamp(24px, 3vw, 30px)/1.15 var(--gh-font);
  letter-spacing: -0.025em;
  color: var(--gh-ink);
}
.rd-jk .rd-jk__title span {
  font-size: 0.6em;
  font-weight: 600;
  color: rgba(32, 30, 29, 0.6);
}

.rd-jk .rd-jk__lead {
  max-width: 70ch;
  margin-bottom: 22px;
  font-size: 15.5px;
  line-height: 1.6;
  color: rgba(32, 30, 29, 0.82);
}

.rd-jk__events {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 2px solid var(--gh-ink);
}

.rd-jk__event {
  margin: 0;
  border-bottom: 2px solid var(--gh-rule);
}
.rd-jk__event label {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 170px 150px;
  align-items: center;
  gap: 4px 16px;
  padding: 14px 12px;
  cursor: pointer;
}
.rd-jk__event input[type=checkbox] {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--gh-ink);
}
.rd-jk__event.is-checked {
  background: var(--gh-bg);
}
.rd-jk__event.is-booked {
  opacity: 0.5;
}
.rd-jk__event.is-booked label {
  cursor: default;
}

.rd-jk__event-name {
  font-size: 17px;
  font-weight: 700;
}

.rd-jk__event-date {
  font-size: 14.5px;
  font-weight: 600;
}

.rd-jk__event-ticket {
  grid-column: 2;
  font-size: 13.5px;
  color: rgba(32, 30, 29, 0.65);
}

.rd-jk__event-price {
  grid-column: 4;
  grid-row: 1;
  font-size: 16px;
  font-weight: 700;
  text-align: right;
}

.rd-jk__summary {
  position: sticky;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  padding: 18px 0;
  font-size: 15px;
  background: #fff;
  border-bottom: 2px solid var(--gh-ink);
}
.rd-jk__summary small {
  margin-left: 6px;
  color: rgba(32, 30, 29, 0.6);
}

.rd-jk__progress {
  margin: 18px 0 28px;
  padding: 0;
  list-style: none;
  border-top: 2px solid var(--gh-ink);
}
.rd-jk__progress li {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 11px 0;
  font-size: 15.5px;
  font-weight: 600;
  border-bottom: 1px solid rgba(32, 30, 29, 0.15);
}
.rd-jk__progress li small {
  margin-left: 8px;
  font-weight: 500;
  color: rgba(32, 30, 29, 0.6);
}
.rd-jk__progress li.is-current {
  padding-left: 10px;
  border-left: 4px solid var(--gh-red);
}
.rd-jk__progress li.is-done .rd-jk__progress-state {
  color: var(--gh-green);
}

.rd-jk__progress-num {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  font-size: 13px;
  border: 2px solid var(--gh-ink);
}
.is-done .rd-jk__progress-num {
  color: #fff;
  background: var(--gh-ink);
}

.rd-jk__progress-state {
  font-size: 13px;
  color: rgba(32, 30, 29, 0.6);
}

.rd-jk__ticket {
  padding: 24px 28px 8px;
  border: 2px solid var(--gh-ink);
  border-top: 6px solid var(--gh-red);
}
.rd-jk__ticket .product_title,
.rd-jk__ticket .onsale,
.rd-jk__ticket .summary > .price,
.rd-jk__ticket .stock {
  display: none;
}
.rd-jk__ticket .stock.status-red {
  display: block;
  margin: 0 0 18px;
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 600;
  color: var(--gh-ink);
  background: rgba(173, 0, 0, 0.08);
  border-left: 4px solid var(--gh-alert);
}
.rd-jk__ticket .single-product div.product,
.rd-jk__ticket .summary {
  width: 100%;
  float: none;
  margin: 0;
}
.rd-jk__ticket form.cart {
  margin: 0;
}
.rd-jk__ticket .single_add_to_cart_button {
  width: 100%;
}
.rd-jk__ticket .red-btn {
  display: block;
  margin-top: 18px;
}

.rd-jk__ticket-head {
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--gh-rule);
}

.rd-jk .rd-jk__ticket-title {
  margin: 4px 0 8px;
  font: 700 clamp(22px, 3vw, 28px)/1.1 var(--gh-font);
  letter-spacing: -0.02em;
  color: var(--gh-ink);
}

.rd-jk .rd-jk__ticket-price {
  font-size: 16px;
  font-weight: 700;
}
.rd-jk .rd-jk__ticket-price small {
  margin-left: 6px;
  font-weight: 500;
  color: rgba(32, 30, 29, 0.6);
}

.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tc-extra-product-options {
  margin: 0;
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tm-extra-product-options-fields,
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tc-section-inner-wrap,
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tc-section-fields > .tc-row {
  gap: 0;
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tc-cell.tc-container.cpf-element {
  margin: 0 0 14px;
  padding: 16px 18px 8px;
  background: var(--gh-bg);
  border: 0;
  border-left: 3px solid var(--gh-ink);
  border-radius: 0;
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tc-cell.tc-epo-label {
  margin: 0 0 8px;
  font: 700 15.5px/1.3 var(--gh-font);
  color: var(--gh-ink);
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tm-epo-required {
  color: var(--gh-red);
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tmcp-ul-wrap {
  margin: 0;
  padding: 0;
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tmcp-field-wrap {
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid rgba(32, 30, 29, 0.12);
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tmcp-field-wrap:first-child {
  border-top: 0;
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tm-epo-field-label {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tc-label-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tc-label,
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tc-label-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  font-size: 15px;
  line-height: 1.4;
  color: var(--gh-ink);
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tc-price {
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary input[type=checkbox],
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary input[type=radio] {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--gh-ink);
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary select.tmcp-select,
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary textarea.tmcp-textarea {
  width: 100%;
  min-height: 44px;
  padding: 8px 12px;
  font: 400 15px/1.4 var(--gh-font);
  color: var(--gh-ink);
  background-color: #fff;
  border: 2px solid var(--gh-ink);
  border-radius: 0;
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tm-extra-product-options-totals {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: 6px 16px;
  margin: 6px 0 0;
  padding: 16px 0 0;
  border-top: 2px solid var(--gh-ink);
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tm-extra-product-options-totals dt,
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tm-extra-product-options-totals dd {
  margin: 0;
  padding: 0;
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tm-extra-product-options-totals dt {
  font-size: 15px;
  font-weight: 600;
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tm-extra-product-options-totals dd {
  text-align: right;
}
.rd-jk .rd-jk__ticket .woocommerce .single-product .summary.entry-summary .tm-extra-product-options-totals .tm-final-totals .price {
  font-size: 26px;
  font-weight: 700;
}

.rd-jk__done {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 20px 24px;
  background: var(--gh-bg);
  border-left: 4px solid var(--gh-green);
}

.rd-jk .rd-jk__restart {
  margin-top: 18px;
  font-size: 14px;
}
.rd-jk .rd-jk__restart a {
  color: var(--gh-red-deep);
}

@media (max-width: 700px) {
  .rd-jk__steps li {
    font-size: 12.5px;
  }
  .rd-jk__event label {
    grid-template-columns: 24px minmax(0, 1fr);
  }
  .rd-jk__event-date,
  .rd-jk__event-ticket,
  .rd-jk__event-price {
    grid-column: 2;
    grid-row: auto;
    text-align: left;
  }
  .rd-jk__ticket {
    padding: 18px 16px 4px;
  }
}
.rd-jk .rd-jk__admin-hint {
  padding: 8px 12px;
  font-size: 13px;
  color: var(--gh-ink);
  background: #fff8df;
  border-left: 3px solid #c99700;
}

#rd-jk {
  scroll-margin-top: 120px;
}

@media (max-width: 767px) {
  /* 1. Jahreskarte – Hero-Überschrift */
  .elementor-element-ce5f11f {
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
  }
  .elementor-element-ce5f11f .elementor-element-78e540 h1.elementor-heading-title {
    font-size: clamp(2.5rem, 10vw, 3.3rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.035em;
    overflow-wrap: break-word;
  }
  /* 2. Jahreskarten-Angebote – Spalten */
  .elementor-element-7c57ec02 > .elementor-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100% !important;
    padding: 0 16px;
    box-sizing: border-box;
  }
  .elementor-element-7c57ec02 > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    flex: 0 0 100%;
  }
  .elementor-element-7c57ec02 .elementor-column + .elementor-column {
    margin-top: 2em;
  }
  .elementor-element-7c57ec02 .elementor-widget-wrap,
  .elementor-element-7c57ec02 .elementor-widget {
    max-width: 100%;
    min-width: 0;
  }
  /* 6er und 4er/5er Überschriften */
  .elementor-element-7c57ec02 .elementor-element-1b3a9cf0 h3,
  .elementor-element-7c57ec02 .elementor-element-5ef6691b h3 {
    font-size: clamp(1.8rem, 8vw, 2.3rem) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.025em;
    overflow-wrap: break-word;
  }
  /* Fließtext lesbar halten */
  .elementor-element-7c57ec02 .elementor-widget-text-editor p {
    font-size: 1rem;
    line-height: 1.6;
  }
  /* 3. Jahreskarten-Buchungsprozess */
  #rd-jk {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  #rd-jk .rd-jk__title {
    font-size: 1.5rem;
    line-height: 1.25;
    overflow-wrap: break-word;
  }
  #rd-jk .rd-jk__title .num {
    display: block;
    margin-top: 5px;
    font-size: 0.7em;
  }
  /* Fortschrittsliste kompakter */
  #rd-jk .rd-jk__progress {
    padding: 0.75em;
    max-width: 100%;
    box-sizing: border-box;
  }
  #rd-jk .rd-jk__progress li {
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: start;
    font-size: 0.9rem;
  }
  #rd-jk .rd-jk__progress li > span:nth-child(2) {
    min-width: 0;
    overflow-wrap: break-word;
  }
  #rd-jk .rd-jk__progress li small {
    display: block;
    margin: 4px 0 0;
    font-size: 0.8rem;
  }
  #rd-jk .rd-jk__progress-state {
    font-size: 0.8rem;
  }
  /* Keine Zusatzoptionen – Button umbrechen */
  #rd-jk .rd-jk__skip {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 1em;
    box-sizing: border-box;
  }
  #rd-jk .rd-jk__skip .rd-jk__btn {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto;
    box-sizing: border-box;
    white-space: normal !important;
    overflow-wrap: break-word;
    font-size: 0.95rem;
    line-height: 1.4;
    text-align: center;
    padding: 0.8em;
  }
  #rd-jk .rd-jk__skip small {
    display: block;
    margin-top: 0.7em;
    line-height: 1.5;
  }
  /* Ticket-Formular */
  #rd-jk .rd-jk__ticket {
    max-width: 100%;
    min-width: 0;
    padding: 1em;
    box-sizing: border-box;
  }
  #rd-jk .rd-jk__ticket-price small {
    display: block;
    margin: 0.4em 0 0;
  }
}
@media (max-width: 767px) {
  /* Jahreskarten-Angebote: gleiche Ausrichtung */
  .elementor-element-7c57ec02 > .elementor-container {
    display: block !important;
    padding: 0 16px !important;
    box-sizing: border-box;
  }
  .elementor-element-7c57ec02 > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
  /* Elementor-Abstände der beiden Spalten entfernen */
  .elementor-element-7c57ec02 .elementor-column > .elementor-widget-wrap {
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }
  /* Zweites Angebot mit gleichmäßigem Abstand */
  .elementor-element-7c57ec02 .elementor-element-1c9dee27 {
    margin-top: 35px !important;
  }
  /* Eventuelle Widget-Einrückungen entfernen */
  .elementor-element-7c57ec02 .elementor-widget {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }
}
.gh-jk-booking-btn {
  display: inline-block;
  margin-top: 30px;
  padding: 14px 28px;
  background: #ec3013;
  color: #fff !important;
  font-family: Archivo, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none !important;
}
.gh-jk-booking-btn:hover {
  background: #b9230e;
}
@media (max-width: 767px) {
  .gh-jk-booking-btn {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
  }
}

@media (min-width: 1025px) {
  .elementor-element-1505e471 .elementor-element-ce5f11f {
    width: 50% !important;
  }
  .elementor-element-1505e471 .elementor-element-509b50c2 {
    width: 50% !important;
  }
  .elementor-element-1505e471 .elementor-element-5a897f9a {
    width: 100%;
  }
  .elementor-element-1505e471 .elementor-element-5a897f9a img {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: auto;
  }
}
.gh-rank {
  --ink:#201e1d;
  --dark:#1a1918;
  --red:#e4000f;
  --red7:#a8000b;
  --rule:rgba(32,30,29,.4);
  font-family: var(--gh-font);
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}

.gh-rank button {
  font-family: inherit;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  box-shadow: none;
}

.gh-rank button:focus-visible {
  outline: 2px solid var(--red);
  outline-offset: 2px;
}

.gh-rank-modes {
  display: flex;
  flex-wrap: wrap;
  border-top: 2px solid var(--ink);
}

.gh-rank-modes button {
  flex: 1 1 220px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  text-align: left;
  padding: 18px 20px;
  background: transparent;
  color: var(--ink);
  font-weight: 700;
  font-size: clamp(20px, 2.4vw, 28px);
  letter-spacing: -0.02em;
}

.gh-rank-modes button small {
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0;
  opacity: 0.75;
}

.gh-rank-modes button:hover {
  background: #e7e5e4;
}

.gh-rank-modes button[aria-selected=true] {
  background: var(--dark);
  color: #f3f2f2;
}

.gh-rank-classes {
  display: flex;
  flex-wrap: wrap;
  gap: 0 4px;
  padding: 0 12px;
  background: var(--dark);
  border-bottom: 2px solid var(--ink);
}

.gh-rank-classes button {
  padding: 14px 16px 11px;
  background: transparent;
  color: rgba(243, 242, 242, 0.6);
  font-size: 15px;
  font-weight: 600;
  border-bottom: 3px solid transparent;
}

.gh-rank-classes button:hover {
  color: #fff;
}

.gh-rank-classes button[aria-selected=true] {
  color: #fff;
  border-bottom-color: var(--red);
}

.gh-rank-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px 24px;
  margin: 36px 0 18px;
}

.gh-rank-title {
  font-family: var(--gh-font);
  font-weight: 700;
  font-size: clamp(24px, 2.8vw, 34px);
  line-height: 1.1;
  letter-spacing: -0.03em;
  margin: 0;
  color: var(--ink);
}

.gh-rank-status {
  font-size: 14px;
  margin: 0;
  color: rgba(32, 30, 29, 0.72);
}

.gh-rank-podium {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  border-top: 2px solid var(--ink);
  border-bottom: 2px solid var(--ink);
}

.gh-pod {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 18px;
  align-items: center;
  padding: 20px 20px 20px 0;
  border-right: 2px solid var(--rule);
}

.gh-pod-pos {
  grid-row: span 2;
  font-weight: 700;
  font-size: clamp(44px, 5vw, 64px);
  line-height: 0.9;
  letter-spacing: -0.05em;
}

.gh-pod-1 .gh-pod-pos {
  color: var(--red);
}

.gh-pod > strong {
  font-size: 18px;
  line-height: 1.2;
}

.gh-pod-pts {
  font-size: 14px;
  color: rgba(32, 30, 29, 0.75);
}

.gh-pod-pts strong {
  color: var(--ink);
}

.gh-rank-scroll {
  overflow-x: auto;
  margin-top: 24px;
  border-bottom: 2px solid var(--ink);
}

.gh-rank-table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
  font-size: 15px;
  margin: 0;
  border: 0;
}

.gh-rank-table th, .gh-rank-table td {
  border: 0;
  background: transparent;
  vertical-align: middle;
}

.gh-rank-table th {
  padding: 10px 8px;
  text-align: left;
  font-size: 13px;
  font-weight: 600;
  color: rgba(32, 30, 29, 0.72);
  border-bottom: 2px solid var(--ink);
}

.gh-rank-table td {
  padding: 12px 8px;
  border-bottom: 2px solid var(--rule);
}

.gh-rank-table tr.gh-top td {
  background: #fff;
}

.gh-rank-table tbody tr:hover td {
  background: #e7e5e4;
}

.gh-rank-table td small {
  display: block;
  font-size: 13px;
  color: rgba(32, 30, 29, 0.7);
}

.gh-rank-table td strong {
  display: block;
}

.gh-c-pos {
  width: 48px;
  padding-left: 0 !important;
  font-weight: 700;
}

.gh-lead {
  color: var(--red7);
}

.gh-c-nr {
  width: 56px;
}

.gh-nr {
  display: inline-block;
  min-width: 32px;
  padding: 3px 6px;
  border: 2px solid var(--ink);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.gh-bike {
  color: rgba(32, 30, 29, 0.84);
}

.gh-c-pt {
  width: 52px;
  text-align: right !important;
}

.gh-c-pt span {
  display: inline-block;
  min-width: 26px;
  padding: 1px 4px;
}

.gh-gross {
  color: rgba(32, 30, 29, 0.6);
}

.gh-c-tot {
  width: 76px;
  text-align: right !important;
  padding-right: 0 !important;
  font-weight: 700;
  font-size: 17px;
  color: var(--ink) !important;
}

.gh-rank .gh-win {
  color: var(--red7);
  font-weight: 700;
}

.gh-rank .gh-dns {
  color: rgba(32, 30, 29, 0.5);
}

.gh-rank .gh-drop {
  text-decoration: line-through;
  outline: 2px dashed var(--rule);
  color: rgba(32, 30, 29, 0.5);
  font-weight: 400;
  padding: 1px 4px;
}

.gh-rank-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin-top: 14px;
  font-size: 13px;
  color: rgba(32, 30, 29, 0.72);
}

.gh-rteaser {
  font-family: var(--gh-font);
  color: #f3f2f2;
  font-variant-numeric: tabular-nums;
}

.gh-rt-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px 32px;
  padding-bottom: 20px;
  border-bottom: 2px solid #f3f2f2;
}

.gh-rt-kicker {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 10px;
  color: #ff858d;
}

.gh-rt-title {
  font-family: var(--gh-font);
  font-weight: 700;
  font-size: clamp(28px, 3.8vw, 46px);
  line-height: 1.02;
  letter-spacing: -0.035em;
  margin: 0;
  color: #f3f2f2;
}

.gh-rt-btn {
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  font-size: 15px;
  line-height: 1;
  padding: 13px 20px;
  background: #f3f2f2;
  color: #201e1d !important;
  border: 2px solid #f3f2f2;
  text-decoration: none;
}

.gh-rt-btn:hover {
  background: #e4000f;
  border-color: #e4000f;
  color: #fff !important;
}

.gh-rt-btn:focus-visible {
  outline: 2px solid #e4000f;
  outline-offset: 2px;
}

.gh-rt-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 0 clamp(20px, 2.5vw, 32px);
}

.gh-rt-cls {
  padding: 20px 0 4px;
  border-bottom: 2px solid rgba(243, 242, 242, 0.2);
}

.gh-rt-cls-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 8px;
}

.gh-rt-cls-head h3 {
  font-family: var(--gh-font);
  font-weight: 700;
  font-size: 19px;
  letter-spacing: -0.015em;
  margin: 0;
  color: #f3f2f2;
}

.gh-rt-cls-head span {
  font-size: 12.5px;
  font-weight: 600;
  color: rgba(243, 242, 242, 0.6);
}

.gh-rt-cls ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

.gh-rt-cls li {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: baseline;
  padding: 10px 0;
  margin: 0;
  border-top: 2px solid rgba(243, 242, 242, 0.12);
}

.gh-rt-pos {
  font-weight: 700;
  font-size: 17px;
  line-height: 1;
}

.gh-rt-name {
  min-width: 0;
  font-size: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gh-rt-pts {
  font-size: 14px;
  font-weight: 700;
}

.gh-rt-lead .gh-rt-pos {
  color: #e4000f;
  font-size: 22px;
}

.gh-rt-lead .gh-rt-name {
  font-weight: 700;
}

.gh-rt-empty {
  grid-column: 1/-1;
  padding: 20px 0;
  margin: 0;
  font-size: 15px;
  color: rgba(243, 242, 242, 0.7);
}

@media (min-width: 768px) {
  .elementor-column.elementor-col-1 {
    width: 1%;
  }
  .elementor-column.elementor-col-2 {
    width: 2%;
  }
  .elementor-column.elementor-col-3 {
    width: 3%;
  }
  .elementor-column.elementor-col-4 {
    width: 4%;
  }
  .elementor-column.elementor-col-5 {
    width: 5%;
  }
  .elementor-column.elementor-col-6 {
    width: 6%;
  }
  .elementor-column.elementor-col-7 {
    width: 7%;
  }
  .elementor-column.elementor-col-8 {
    width: 8%;
  }
  .elementor-column.elementor-col-9 {
    width: 9%;
  }
  .elementor-column.elementor-col-13 {
    width: 13%;
  }
  .elementor-column.elementor-col-15 {
    width: 15%;
  }
  .elementor-column.elementor-col-17 {
    width: 17%;
  }
  .elementor-column.elementor-col-18 {
    width: 18%;
  }
  .elementor-column.elementor-col-19 {
    width: 19%;
  }
  .elementor-column.elementor-col-21 {
    width: 21%;
  }
  .elementor-column.elementor-col-22 {
    width: 22%;
  }
  .elementor-column.elementor-col-23 {
    width: 23%;
  }
  .elementor-column.elementor-col-24 {
    width: 24%;
  }
  .elementor-column.elementor-col-26 {
    width: 26%;
  }
  .elementor-column.elementor-col-27 {
    width: 27%;
  }
  .elementor-column.elementor-col-28 {
    width: 28%;
  }
  .elementor-column.elementor-col-29 {
    width: 29%;
  }
  .elementor-column.elementor-col-31 {
    width: 31%;
  }
  .elementor-column.elementor-col-32 {
    width: 32%;
  }
  .elementor-column.elementor-col-34 {
    width: 34%;
  }
  .elementor-column.elementor-col-35 {
    width: 35%;
  }
  .elementor-column.elementor-col-36 {
    width: 36%;
  }
  .elementor-column.elementor-col-37 {
    width: 37%;
  }
  .elementor-column.elementor-col-38 {
    width: 38%;
  }
  .elementor-column.elementor-col-39 {
    width: 39%;
  }
  .elementor-column.elementor-col-41 {
    width: 41%;
  }
  .elementor-column.elementor-col-42 {
    width: 42%;
  }
  .elementor-column.elementor-col-43 {
    width: 43%;
  }
  .elementor-column.elementor-col-44 {
    width: 44%;
  }
  .elementor-column.elementor-col-45 {
    width: 45%;
  }
  .elementor-column.elementor-col-46 {
    width: 46%;
  }
  .elementor-column.elementor-col-47 {
    width: 47%;
  }
  .elementor-column.elementor-col-48 {
    width: 48%;
  }
  .elementor-column.elementor-col-49 {
    width: 49%;
  }
  .elementor-column.elementor-col-51 {
    width: 51%;
  }
  .elementor-column.elementor-col-52 {
    width: 52%;
  }
  .elementor-column.elementor-col-53 {
    width: 53%;
  }
  .elementor-column.elementor-col-54 {
    width: 54%;
  }
  .elementor-column.elementor-col-55 {
    width: 55%;
  }
  .elementor-column.elementor-col-56 {
    width: 56%;
  }
  .elementor-column.elementor-col-57 {
    width: 57%;
  }
  .elementor-column.elementor-col-58 {
    width: 58%;
  }
  .elementor-column.elementor-col-59 {
    width: 59%;
  }
  .elementor-column.elementor-col-61 {
    width: 61%;
  }
  .elementor-column.elementor-col-62 {
    width: 62%;
  }
  .elementor-column.elementor-col-63 {
    width: 63%;
  }
  .elementor-column.elementor-col-64 {
    width: 64%;
  }
  .elementor-column.elementor-col-65 {
    width: 65%;
  }
  .elementor-column.elementor-col-67 {
    width: 67%;
  }
  .elementor-column.elementor-col-68 {
    width: 68%;
  }
  .elementor-column.elementor-col-69 {
    width: 69%;
  }
  .elementor-column.elementor-col-71 {
    width: 71%;
  }
  .elementor-column.elementor-col-72 {
    width: 72%;
  }
  .elementor-column.elementor-col-73 {
    width: 73%;
  }
  .elementor-column.elementor-col-74 {
    width: 74%;
  }
  .elementor-column.elementor-col-76 {
    width: 76%;
  }
  .elementor-column.elementor-col-77 {
    width: 77%;
  }
  .elementor-column.elementor-col-78 {
    width: 78%;
  }
  .elementor-column.elementor-col-79 {
    width: 79%;
  }
  .elementor-column.elementor-col-81 {
    width: 81%;
  }
  .elementor-column.elementor-col-82 {
    width: 82%;
  }
  .elementor-column.elementor-col-84 {
    width: 84%;
  }
  .elementor-column.elementor-col-85 {
    width: 85%;
  }
  .elementor-column.elementor-col-86 {
    width: 86%;
  }
  .elementor-column.elementor-col-87 {
    width: 87%;
  }
  .elementor-column.elementor-col-88 {
    width: 88%;
  }
  .elementor-column.elementor-col-89 {
    width: 89%;
  }
  .elementor-column.elementor-col-91 {
    width: 91%;
  }
  .elementor-column.elementor-col-92 {
    width: 92%;
  }
  .elementor-column.elementor-col-93 {
    width: 93%;
  }
  .elementor-column.elementor-col-94 {
    width: 94%;
  }
  .elementor-column.elementor-col-95 {
    width: 95%;
  }
  .elementor-column.elementor-col-96 {
    width: 96%;
  }
  .elementor-column.elementor-col-97 {
    width: 97%;
  }
  .elementor-column.elementor-col-98 {
    width: 98%;
  }
  .elementor-column.elementor-col-99 {
    width: 99%;
  }
}
@media (min-width: 768px) {
  .elementor-section:not(.elementor-inner-section) > .elementor-container:not(.elementor-column-gap-no) > .elementor-column:not(:only-child):has(> .elementor-widget-wrap > .elementor-inner-section):not(:first-child) > .elementor-widget-wrap {
    margin-left: 24px;
  }
  .elementor-section:not(.elementor-inner-section) > .elementor-container:not(.elementor-column-gap-no) > .elementor-column:not(:only-child):has(> .elementor-widget-wrap > .elementor-inner-section):not(:last-child) > .elementor-widget-wrap {
    margin-right: 24px;
  }
  .elementor-section.gh-gap > .elementor-container > .elementor-column:not(:only-child):not(:first-child) > .elementor-widget-wrap {
    margin-left: 24px;
  }
  .elementor-section.gh-gap > .elementor-container > .elementor-column:not(:only-child):not(:last-child) > .elementor-widget-wrap {
    margin-right: 24px;
  }
}
.elementor-widget-text-editor:first-child:has(+ .elementor-widget-heading) {
  --kit-widget-spacing: 0px;
  --widgets-spacing: 0px;
  --widgets-spacing-row: 0px;
  margin-block-end: 0 !important;
}
.elementor-widget-text-editor:first-child:has(+ .elementor-widget-heading) p:last-child {
  margin-bottom: 0;
}

.elementor-widget-html table {
  border: 0;
  background: transparent;
}
.elementor-widget-html table thead tr:nth-child(n) th,
.elementor-widget-html table tbody tr:nth-child(n) td,
.elementor-widget-html table tbody tr:nth-child(n) th {
  border-top: 0;
  border-left: 0;
  border-right: 0;
  background-color: transparent;
}

.gh-newsletter .elementor-field-type-acceptance .elementor-field-option label {
  font-size: 13.5px;
  line-height: 1.5;
  color: rgba(243, 242, 242, 0.82);
}
.gh-newsletter .elementor-field-type-acceptance a {
  color: #ff9783;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.gh-newsletter .elementor-field-type-acceptance a:hover {
  color: #fff;
}
.gh-newsletter .elementor-field-type-acceptance input[type=checkbox] {
  accent-color: #ec3013;
}

.gh-newsletter .elementor-message {
  color: #f3f2f2;
}

.woocommerce .single-product .product.type-product .summary.entry-summary {
  float: none;
  width: 100%;
}
.woocommerce .single-product .product.type-product .summary.entry-summary .tc-cell.tc-container {
  border: 1px solid #c1c1c1;
  padding: 10px;
  border-radius: 10px;
}
.woocommerce .single-product .product.type-product .summary.entry-summary .tc-cell.tc-container .tc-cell.tc-epo-label {
  margin: 0;
}

.product.type-product .summary.entry-summary {
  float: none;
  width: 100%;
}

.ext-cta {
  border-radius: 12px;
  padding: 24px;
}
.ext-cta__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
}
.ext-cta__title {
  margin: 0 0 8px 0;
  font-size: 24px;
  line-height: 1.2;
}
.ext-cta__text {
  margin: 0;
  opacity: 0.9;
}
.ext-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  text-decoration: none;
  font-weight: 600;
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.ext-cta__btn:hover {
  text-decoration: underline;
}
@media (max-width: 767px) {
  .ext-cta__inner {
    grid-template-columns: 1fr;
  }
  .ext-cta__right {
    justify-self: start;
  }
}

.custom_table {
  width: 100%;
  background: #fff;
  border-radius: 2px;
  overflow: hidden;
  border-collapse: collapse;
}
.custom_table table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.custom_table th {
  background: #f3f3f3;
  color: #666;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 1.2rem;
  padding: 16px 22px;
  border-bottom: 1px solid #e6e6e6;
  text-align: left;
  white-space: nowrap;
}
.custom_table tbody td {
  padding: 22px 22px;
  border-bottom: 1px solid #e6e6e6;
  font-size: 1.3rem;
  font-weight: 500;
  color: #111;
  vertical-align: middle;
}
.custom_table tbody tr:last-child td {
  border-bottom: 0;
}
@media (max-width: 768px) {
  .custom_table {
    overflow-x: auto;
  }
  .custom_table table {
    min-width: 720px;
  }
}

.custom_table_small {
  width: 100%;
  background: #fff;
  border-radius: 2px;
  overflow: hidden;
  border-collapse: collapse;
}
.custom_table_small table {
  width: 100%;
  border-collapse: collapse;
}
.custom_table_small th {
  background-color: #f3f3f3 !important;
  color: #666;
  font-weight: 700;
  text-transform: uppercase;
  border-bottom: 1px solid #e6e6e6;
  text-align: left;
  white-space: nowrap;
}
.custom_table_small tbody td {
  border-bottom: 1px solid #e6e6e6;
  font-weight: 500;
  color: #111;
  vertical-align: middle;
}
.custom_table_small tbody tr:last-child td {
  border-bottom: 0;
}
@media (max-width: 768px) {
  .custom_table_small {
    overflow-x: auto;
  }
  .custom_table_small table {
    min-width: 720px;
  }
}

.wc-block-cart-item__image {
  display: none !important;
}

.checkout-button.button.alt.wc-forward {
  background-color: #f60000 !important;
}
.checkout-button.button.alt.wc-forward:hover {
  background-color: rgb(175, 0, 0);
}

#coupon_code {
  min-height: 40px;
  width: 200px !important;
}

.product-thumbnail {
  display: none;
}

.woocommerce-cart-form .product-name a {
  color: #f60000;
}
.woocommerce-cart-form .product-name .tm-cart-edit-options {
  display: none;
}

.shop_table.woocommerce-checkout-review-order-table .wc-gzd-cart-item-thumbnail {
  display: none;
}
.shop_table.woocommerce-checkout-review-order-table .tm-cart-edit-options {
  display: none;
}

.woocommerce form .form-row .input-text,
.woocommerce form .form-row select {
  border-radius: 0;
  min-height: 40px;
}

.tm-extra-product-options .tc-epo-label {
  font-size: 1.1rem;
}

.tm-extra-product-options-totals .tm-custom-price-totals {
  margin-bottom: 0;
}
.tm-extra-product-options-totals .tm-custom-price-totals .tm-final-totals {
  padding-bottom: 0;
}

.best-time-select select {
  min-height: 40px;
  background: none;
  outline: 0;
}

.woocommerce-order .woocommerce-notice--success.woocommerce-thankyou-order-received {
  background: #259525;
  color: white;
  padding: 1em;
}

.cart-donation-details summary::-webkit-details-marker {
  display: none;
}

.cart-donation-details summary {
  list-style: none;
}

#order_comments_field {
  display: none;
}

.woocommerce #customer_details .woocommerce-billing-fields,
.woocommerce #customer_details .woocommerce-additional-fields {
  background-color: #f6f5f8;
  border-radius: 5px;
  padding: 1.5em 1em;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
}

.woocommerce #customer_details {
  margin-bottom: 1.5em;
}

.woocommerce .wc-gzd-checkbox-placeholder.wc-gzd-checkbox-placeholder-legal {
  padding: 1.5em 1em;
  background-color: #f6f5f8;
  border-radius: 5px;
  margin-block: 1em;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
}

.woocommerce-checkout-payment {
  box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
}
.woocommerce-checkout-payment input {
  width: 20px;
  height: 20px;
}

.woocommerce .woocommerce-checkout input.woocommerce-form__input.woocommerce-form__input-checkbox.input-checkbox {
  width: 20px;
  height: 20px;
}

button#place_order {
  background: var(--color-primary);
  text-transform: uppercase;
  padding: 1em 1.5em;
  color: #fff !important;
  border-radius: 3px;
}

.woocommerce-message .event-cart-booking-notice {
  float: right;
  max-width: 520px;
  font-weight: 600;
  text-align: right;
}

@media (max-width: 767px) {
  .woocommerce-message .event-cart-booking-notice {
    display: block;
    float: none;
    margin-top: 10px;
    text-align: left;
  }
}
.woocommerce-order,
.woocommerce-account .woocommerce {
  max-width: 1240px;
  margin-inline: auto;
  padding-inline: clamp(16px, 3vw, 40px);
  font-family: "Archivo", "Helvetica Neue", sans-serif;
}
.woocommerce-order h2,
.woocommerce-account .woocommerce h2 {
  font-family: "Archivo", "Helvetica Neue", sans-serif;
  font-size: clamp(26px, 3.2vw, 40px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin: clamp(40px, 5vw, 64px) 0 20px;
}

.woocommerce-order .woocommerce-notice--success {
  background: var(--gh-surface, #eae9e9);
  border: 0;
  border-left: 4px solid var(--gh-red, #e4000f);
  border-radius: 0;
  padding: 18px 22px;
  font-size: 16.5px;
  font-weight: 600;
  color: var(--gh-ink, #201e1d);
}
.woocommerce-order .woocommerce-notice--success::before {
  content: none;
}

.woocommerce-order .woocommerce-order-overview {
  display: flex;
  flex-wrap: wrap;
  gap: 0 clamp(24px, 4vw, 56px);
  margin: 32px 0 0;
  padding: 20px 0;
  list-style: none;
  border-top: 2px solid var(--gh-ink, #201e1d);
  border-bottom: 2px solid var(--gh-rule, rgba(32, 30, 29, 0.4));
}
.woocommerce-order .woocommerce-order-overview li {
  margin: 0;
  padding: 4px 0;
  border: 0;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(32, 30, 29, 0.6);
}
.woocommerce-order .woocommerce-order-overview li strong {
  display: block;
  margin-top: 6px;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: none;
  color: var(--gh-ink, #201e1d);
  font-variant-numeric: tabular-nums;
}

.woocommerce-order table.woocommerce-table,
.woocommerce-order table.shop_table,
.woocommerce-account table.woocommerce-table,
.woocommerce-account table.shop_table {
  width: 100%;
  border: 0;
  border-radius: 0;
  border-collapse: collapse;
  background: none;
}
.woocommerce-order table.woocommerce-table th,
.woocommerce-order table.woocommerce-table td,
.woocommerce-order table.shop_table th,
.woocommerce-order table.shop_table td,
.woocommerce-account table.woocommerce-table th,
.woocommerce-account table.woocommerce-table td,
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td {
  padding: 14px 20px 14px 0;
  border: 0;
  background: none;
  vertical-align: top;
}
.woocommerce-order table.woocommerce-table thead th,
.woocommerce-order table.shop_table thead th,
.woocommerce-account table.woocommerce-table thead th,
.woocommerce-account table.shop_table thead th {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(32, 30, 29, 0.6);
  border-bottom: 2px solid var(--gh-ink, #201e1d);
}
.woocommerce-order table.woocommerce-table tbody td,
.woocommerce-order table.shop_table tbody td,
.woocommerce-account table.woocommerce-table tbody td,
.woocommerce-account table.shop_table tbody td {
  border-bottom: 2px solid var(--gh-rule, rgba(32, 30, 29, 0.4));
  font-size: 15px;
  line-height: 1.6;
}
.woocommerce-order table.woocommerce-table tfoot th,
.woocommerce-order table.woocommerce-table tfoot td,
.woocommerce-order table.shop_table tfoot th,
.woocommerce-order table.shop_table tfoot td,
.woocommerce-account table.woocommerce-table tfoot th,
.woocommerce-account table.woocommerce-table tfoot td,
.woocommerce-account table.shop_table tfoot th,
.woocommerce-account table.shop_table tfoot td {
  border-bottom: 2px solid var(--gh-rule, rgba(32, 30, 29, 0.4));
  font-size: 15px;
  color: var(--gh-ink, #201e1d);
}
.woocommerce-order table.woocommerce-table tfoot tr:last-child th,
.woocommerce-order table.woocommerce-table tfoot tr:last-child td,
.woocommerce-order table.shop_table tfoot tr:last-child th,
.woocommerce-order table.shop_table tfoot tr:last-child td,
.woocommerce-account table.woocommerce-table tfoot tr:last-child th,
.woocommerce-account table.woocommerce-table tfoot tr:last-child td,
.woocommerce-account table.shop_table tfoot tr:last-child th,
.woocommerce-account table.shop_table tfoot tr:last-child td {
  border-bottom: 0;
  border-top: 2px solid var(--gh-ink, #201e1d);
  font-size: 19px;
  font-weight: 700;
}
.woocommerce-order table.woocommerce-table td:last-child,
.woocommerce-order table.woocommerce-table th:last-child,
.woocommerce-order table.shop_table td:last-child,
.woocommerce-order table.shop_table th:last-child,
.woocommerce-account table.woocommerce-table td:last-child,
.woocommerce-account table.woocommerce-table th:last-child,
.woocommerce-account table.shop_table td:last-child,
.woocommerce-account table.shop_table th:last-child {
  padding-right: 0;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.woocommerce-order table.woocommerce-table .product-name a,
.woocommerce-order table.shop_table .product-name a,
.woocommerce-account table.woocommerce-table .product-name a,
.woocommerce-account table.shop_table .product-name a {
  color: var(--gh-ink, #201e1d);
  font-weight: 700;
  text-decoration: none;
}
.woocommerce-order table.woocommerce-table .product-name a:hover,
.woocommerce-order table.shop_table .product-name a:hover,
.woocommerce-account table.woocommerce-table .product-name a:hover,
.woocommerce-account table.shop_table .product-name a:hover {
  color: var(--gh-red-deep, #a8000b);
}

.woocommerce-customer-details address {
  padding: 20px;
  border: 2px solid var(--gh-rule, rgba(32, 30, 29, 0.4));
  border-radius: 0;
  font-style: normal;
  font-size: 15px;
  line-height: 1.7;
}

/*# sourceMappingURL=styles.css.map */
