html {
  font-size: 100%;
  scroll-padding-top: var(--hdt-anchor-offset);
}

:root {
  --hdt-anchor-offset: 140px;
}

[id] {
  scroll-margin-top: var(--hdt-anchor-offset);
}

.open-booking-button .elementor-button {
    cursor: pointer;
}

.gform-icon::before {
    font-family: "hdt-icons" !important;
}

.hdt-menu-dropdown .e-n-menu-content {
    min-width: 320px;
}

.hdt-menu-dropdown .e-n-menu-content .elementor-widget-jet-smart-filters-checkboxes {
    width: 100%;
}


@media (max-width: 767px) {
    .elementor-element-be23263 > .e-con-inner {
        --row-gap: 0px;
    }
}

@media (max-width: 1366px) {
    .elementor-location-single > .e-con.e-parent:first-child,
    .elementor-location-archive > .e-con.e-parent:first-child,
    main > .elementor > .e-con.e-parent:first-child,
    main .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con.e-parent:first-child {
        padding-top: 8px !important;
        --padding-top: 8px !important;
        --padding-block-start: 8px !important;
    }

    .e-con {
        --container-default-padding-top: 16px !important;
        --container-default-padding-bottom: 16px !important;
    }

    [class*="elementor-"] .elementor-element.e-con {
        --padding-top: 8px !important;
        --padding-bottom: 8px !important;
    }

    [class*="elementor-"] .elementor-element.e-con.e-parent {
        --margin-top: 0px !important;
        --margin-bottom: 0px !important;
    }

    .elementor-location-header > .elementor > .e-con,
    .elementor-location-header > .elementor > .e-con > .e-con-inner > .e-con {
        --padding-top: initial !important;
        --padding-bottom: initial !important;
        --margin-top: initial !important;
        --margin-bottom: initial !important;
    }

    [class*="elementor-"] .elementor-element.e-con.e-child:not(.e-n-menu-content .e-con):not([id^="e-n-menu-content-"]):not(.hdt-padding-default) {
        --padding-top: 8px !important;
        --padding-bottom: 8px !important;
    }

    [class*="elementor-"] .elementor-element.e-con.tile-card {
        padding: 0 !important;
        --padding-top: 0px !important;
        --padding-bottom: 0px !important;
    }

    .hdt-padding-default > .elementor-absolute + .elementor-widget-heading {
        margin-top: 24px !important;
    }

    .hdt-padding-default > .elementor-widget-button.elementor-absolute {
        position: absolute;
        bottom: 8px !important;
    }

    .e-con.hdt-padding-none > .e-con-inner,
    .e-con.hdt-padding-none {
        --padding-top: 0px !important;
    }

    .elementor-location-single .e-con.hdt-padding-none,
    main .elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con.hdt-padding-none,
    .elementor-location-footer .e-con.hdt-padding-none {
        --padding-block-start: 0px !important;
        --padding-block-end: 0px !important;
    }

    .elementor-location-single .elementor-heading-title,
    main .elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-heading-title {
        margin-top: 8px;
        margin-bottom: 8px;
    }

    .elementor-location-single .elementor-widget-button:not(:last-child),
    main .elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-button:not(:last-child) {
        margin-bottom: 12px;
    }

    .elementor-location-footer .elementor-widget-image {
        margin-bottom: 8px !important;
    }

    .elementor-location-footer .elementor-widget-icon-list {
        margin-top: 4px !important;
    }

    .elementor-location-footer .e-con.e-parent {
        --padding-top: 8px !important;
        --padding-bottom: 8px !important;
        --row-gap: 8px !important;
        gap: 8px !important;
    }

    .elementor-location-footer .e-con.e-child {
        --padding-top: 4px !important;
        --padding-bottom: 4px !important;
        --row-gap: 4px !important;
        gap: 4px !important;
    }

    .elementor-location-footer .e-con-inner {
        --row-gap: 8px !important;
        gap: 8px !important;
    }

    .elementor-location-single .elementor-widget:last-child {
        margin-bottom: 12px;
    }


    .elementor-location-single .e-con.e-child .elementor-widget {
        margin-bottom: 8px;
    }

    .elementor-location-single .e-con.e-child .elementor-widget:last-child {
        margin-bottom: 0;
    }


}

.elementor-heading-title a,
.elementor-widget a[href^="tel:"],
.elementor-widget a[href^="mailto:"],
.elementor-widget-text-editor a,
.elementor-icon-list-text,
.elementor-icon-list-item > a {
    transition: color 0.2s;
}

.elementor-heading-title a:hover,
.elementor-widget a[href^="tel:"]:hover,
.elementor-widget a[href^="mailto:"]:hover,
.elementor-widget-text-editor a:hover {
    color: var(--e-global-color-1e19c7f, #047990) !important;
}

.elementor-widget-button .elementor-button:hover .elementor-button-content-wrapper {
    opacity: 0.7;
}

.elementor-icon-list-item:hover .elementor-icon-list-text,
.elementor-icon-list-item:hover > a {
    opacity: 0.7;
}

body,
body p, body div, body span, body a, body button,
body input, body select, body textarea,
body h1, body h2, body h3, body h4, body h5, body h6,
body li, body td, body th, body label,
body .elementor-widget-container,
body .jet-listing-dynamic-field__content,
body .asp_w_container,
body .asp_w_container *,
body .asp_r,
body .asp_r * {
    font-family: "Roboto", sans-serif;
}

h5, h6 {margin-bottom:0;}
p a, .jet-listing-dynamic-field__content ul li a {border-bottom: 1px solid;}
.rank-math-breadcrumb {opacity: 0.75;}
.rank-math-breadcrumb a {border-bottom: 0;}
.elementor-widget-text-editor > *:not(h1, h2, h3, h4, h5, h6):last-of-type, .elementor-widget-text-editor .elementor-widget-container > *:not(h1, h2, h3, h4, h5, h6):last-of-type, .jet-listing-dynamic-field__content > *:not(h1, h2, h3, h4, h5, h6):last-of-type {
  margin-bottom: 0;
}
.elementor-widget-text-editor > ul + p, .elementor-widget-text-editor > p + ul, .elementor-widget-text-editor .elementor-widget-container > ul + p, .elementor-widget-container > p + ul {
  margin-top: 1.5em;
}

main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
main p,
main span,
main li,
main a,
article h1,
article h2,
article h3,
article h4,
article h5,
article h6,
article p,
article span,
article li,
article a {
	hyphens: manual;
	overflow-wrap: break-word;
}

main a,
article a {
	word-break: break-word;
}

a {
  color: inherit;
}
a:hover {
  color: var(--e-global-color-1e19c7f);
}
.img-aspect-ratio-16-9 img {
  width: 100%;
  object-fit: cover;
  object-position: center center;
  aspect-ratio: 16 / 9;
}
.img-aspect-ratio-3-1 img {
  width: 100%;
  object-fit: cover;
  object-position: center center;
  aspect-ratio: 3 / 1;
}
.img-aspect-ratio-3-2 img {
  width: 100%;
  object-fit: cover;
  object-position: center center;
  aspect-ratio: 3 / 2;
}
.img-aspect-ratio-21-9 img {
  width: 100%;
  object-fit: cover;
  object-position: center center;
  aspect-ratio: 21 / 9;
}
.aspect-ratio-21-9 {
  width: 100%;
  aspect-ratio: 21 / 9;
}
.img-contain img {
  object-fit: contain;
}
.gradient-overlay::after {
  content: '';
  pointer-events: none;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50px;
  background: linear-gradient(to top, white, transparent);
}
figure .embed-content {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
figure .embed-content iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

select {
    position: relative;
    appearance: none;
    -webkit-appearance: none; /* For Safari */
    -moz-appearance: none; /* For Firefox */
    font-family: var(--e-global-typography-53ca5e8-font-family), Sans-serif;
    font-size: var(--e-global-typography-53ca5e8-font-size);
    line-height: var(--e-global-typography-53ca5e8-line-height);
    color: var(--e-global-color-8a64ffb);
    background-color: var(--e-global-color-3c16749);
    border: 1px solid var(--e-global-color-02e42e4);
    padding: 10px 16px;
    border-radius: 0;
    box-sizing: border-box;
}

input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none; /* For Safari */
    -moz-appearance: none;
    width: 22px;
    height: 22px;
    color: currentColor;
    border: 1px solid currentColor;
    border-radius: 0;
    display: inline-block;
    flex-shrink: 0;
    cursor: pointer;
    position: relative;
    padding: 0 !important;
    margin-top: 1px;
}

input[type="checkbox"]:checked::before {
    content: "\e80b";
    font-family: "hdt-icons";
    font-size: 16px;
    color: currentColor;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    line-height: 1;
}

input[type="checkbox"] + label {
    cursor: pointer;
    font-size: var(--e-global-typography-53ca5e8-font-size);
}

div:has(> select), .woocommerce-input-wrapper:has(> select) {
    position: relative;
}

div:has(> select)::before, .woocommerce-input-wrapper:has(> select)::before {
    content: "\e80d";
    font-family: "hdt-icons";
    font-size: 18px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    display: inline-block;
    color: var(--e-global-color-9b9f1a7);
    z-index: 1;
}

.hdt-button {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    background-color: var(--e-global-color-accent);
    color: var(--e-global-color-bc26fb6);
    font-size: var(--e-global-typography-1dc0f67-font-size);
    font-weight: var(--e-global-typography-1dc0f67-font-weight);
    line-height: var(--e-global-typography-1dc0f67-line-height);
    box-sizing: border-box;
    border: 2px solid var(--e-global-color-accent);
}

.hdt-button:hover {
    border: 2px solid var(--e-global-color-primary);
    background-color: var(--e-global-color-primary);
    line-height: var(--e-global-typography-1dc0f67-line-height) !important;
}

.hdt-button--secondary {
    border: 2px solid var(--e-global-color-bc26fb6);
    background-color: var(--e-global-color-3c16749);
}

.hdt-button--secondary:hover {
    color: var(--e-global-color-1de3f2b);
    border: 2px solid var(--e-global-color-1de3f2b);
    background-color: var(--e-global-color-3c16749);
}

.hdt-button--icon-before::before {
    content: "\e817";
    font-family: "hdt-icons";
    font-size: 20px;
}

.hdt-button--icon-after::after {
    content: "\e817";
    font-family: "hdt-icons";
    font-size: 20px;
}

.hdt-button--icon-before.hdt-button--icon-pen::before,
.hdt-button--icon-after.hdt-button--icon-pen::after {
    content: "\e823";
}

.hdt-button--icon-before.hdt-button--icon-plus::before,
.hdt-button--icon-after.hdt-button--icon-plus::after {
    content: "\e826";
}

.ginput_container_consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 40px;
}

.gform_heading {
    display: none;
}

.gfield--type-honeypot {
    display: none;
}

.gfield--type-consent {
    padding: 0;
    border: 0;
}

.gfield--type-consent legend {
    display: none;
}

.gform_fields {
    display: flex;
    gap: 10px 20px;
    flex-wrap: wrap;
}

.gfield--width-half {
    width: 100%;
}

@media (min-width: 768px) {
    .gfield--width-half {
        width: calc(50% - 10px);
    }
}

.gfield--type-html, .gfield--width-full {
    width: 100%;
}

.gfield + .gfield--type-html {
    margin-top: 20px;
}

.gform_validation_errors {
    position: relative;
    background-color: #FCE8EC;
    border-left: 4px solid #D90000;
    box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.07);
    padding: 24px 32px;
}

.gform_validation_errors + .gform_heading + .hdt-form {
    margin-top: 40px;
}

.gform_validation_errors > h2 {
    position: relative;
    color: var(--e-global-color-8a64ffb);
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
    margin: 0;
    box-sizing: border-box;
    padding-top: 36px;
}

.gform_validation_errors .gform-icon::before {
    content: "\e813";
    font-family: "hdt-icons" !important;
    font-size: 24px;
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    display: inline-block;
    color: #D90000;
}

@media (min-width: 768px) {
    .gform_validation_errors > h2 {
        padding-top: 0;
        padding-left: 36px;
    }
}

.gform_validation_errors .gform-icon--circle-error::before {
    content: "\e813";
    color: #D90000;
}

.gform_button {
    margin-bottom: 20px;
}

@media (max-width: 1366px) {
    .hdt-form .gform_fields {
        padding-left: 20px;
        padding-right: 20px;
    }

    .hdt-form .gform_footer {
        padding-left: 20px;
        padding-right: 20px;
    }
}

.gfield_validation_message {
    color: #D90000;
    font-family: var(--e-global-typography-aa06487-font-family), Sans-serif;
    font-size: var(--e-global-typography-aa06487-font-size);
    line-height: var(--e-global-typography-aa06487-line-height);
}

.hdt-form h2, .hdt-form h3 {
    color: var(--e-global-color-5a698b8);
    font-family: var(--e-global-typography-7455e76-font-family), Sans-serif;
    font-size: var(--e-global-typography-7455e76-font-size);
    font-weight: var(--e-global-typography-7455e76-font-weight);
    line-height: var(--e-global-typography-7455e76-line-height);
    margin: 0;
    margin-top: 20px;
}

.gform-field-label--type-inline:not(label) {
    margin-top: 20px;
}

.gform_footer {
    margin-top: 40px;
}

/* Einheitliche Datenschutz-Hinweise (GF, Registrierung, Widerruf, Buchung) */
.hdt-privacy-notice,
.hdt-gf-privacy-notice,
.hdt-withdrawal-legal-notice {
    margin: 0 0 16px;
    font-family: var(--e-global-typography-aa06487-font-family), sans-serif;
    font-size: var(--e-global-typography-aa06487-font-size);
    font-weight: var(--e-global-typography-aa06487-font-weight, 400);
    line-height: var(--e-global-typography-aa06487-line-height);
    color: var(--e-global-color-9b9f1a7);
}

.hdt-privacy-notice a,
.hdt-gf-privacy-notice a,
.hdt-withdrawal-legal-notice a,
.woocommerce-form-register .woocommerce-privacy-policy-text a,
.woocommerce-form-register .woocommerce-privacy-policy-text .hdt-privacy-notice a {
    border-bottom: 1px solid currentColor;
    text-decoration: none;
    color: inherit;
}

.hdt-privacy-notice a:hover,
.hdt-privacy-notice a:focus,
.hdt-gf-privacy-notice a:hover,
.hdt-gf-privacy-notice a:focus,
.hdt-withdrawal-legal-notice a:hover,
.hdt-withdrawal-legal-notice a:focus {
    color: inherit;
    opacity: 0.85;
}

/* Mein Konto → Datenschutz: Download-Link wie Site-Buttons (grün + opacity-Hover, vgl. checkout-button) */
.hdt-privacy-export-ready a.hdt-button {
    transition: color .2s;
}

.hdt-privacy-export-ready a.hdt-button:hover,
.hdt-privacy-export-ready a.hdt-button:focus {
    background-color: var(--e-global-color-accent);
    border-color: var(--e-global-color-accent);
    color: rgba(2, 59, 70, 0.7);
}

.gfield_error input,
.gfield_error select {
    border: 1px solid #D90000 !important;
}

.gfield_error .ginput_container {
    position: relative;
}

.gfield_error .ginput_container_select::before {
    color: #D90000 !important;
}

.gfield_error .ginput_container:not(.ginput_container_consent):not(.ginput_container_select)::after {
    content: "\e813";
    font-family: "hdt-icons";
    font-size: 16px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    display: inline-block;
    color: #D90000;
    z-index: 1;
}

.gform-field-label .gfield_required {
    margin-left: 2px;
}

.gform-field-label a {
    text-decoration: underline;
}

/*.gfield.hidden_label label {
    display: none;
}*/

.woocommerce-notices-wrapper,
.woocommerce-NoticeGroup-checkout {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.woocommerce-notices-wrapper:empty,
.woocommerce-NoticeGroup-checkout:empty {
    display: none;
}

.woocommerce-notices-wrapper ul[role="alert"],
.woocommerce-NoticeGroup-checkout div[role="alert"] ul {
    max-width: 1920px;
    box-sizing: border-box;
    width: 100%;
    position: relative;
    background-color: #FCE8EC;
    border-left: 4px solid #D90000;
    box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.07);
    padding: 24px 32px;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-message {
    box-sizing: border-box;
    width: 100%;
    position: relative;
    box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.07);
    padding: 24px 32px;
	
	padding-left: 50px;
	
    color: var(--e-global-color-8a64ffb);
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
}

.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-NoticeGroup-checkout .woocommerce-info {
    background-color: #FCF4CC;
    border-left: 4px solid #F2B600;
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-NoticeGroup-checkout .woocommerce-message {
    background-color: #E4F7AF;
    border-left: 4px solid #95C11F;
}

.woocommerce-notices-wrapper ul[role="alert"]::after,
.woocommerce-NoticeGroup-checkout div[role="alert"] ul::after {
    font-family: "hdt-icons";
    font-size: 24px;
    position: absolute;
    left: 20px;
    top: 30px;
    pointer-events: none;
    display: inline-block;
    content: "\e813";
    color: #D90000;
}

.woocommerce-notices-wrapper .woocommerce-info::after,
.woocommerce-notices-wrapper .woocommerce-message::after {
    content: "";
    font-family: "hdt-icons";
    font-size: 24px;
    position: absolute;
    left: 20px;
    top: 30px;
    pointer-events: none;
    display: inline-block;
}

.woocommerce-notices-wrapper .woocommerce-info::after {
    color: #F2B600;
    content: "\e814";
    content: "\e813";
}

.woocommerce-notices-wrapper .woocommerce-message::after {
    color: #95C11F;
    content: "\e812";
}

.woocommerce-notices-wrapper ul[role="alert"] li,
.woocommerce-NoticeGroup-checkout div[role="alert"] ul li {
    color: var(--e-global-color-8a64ffb);
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
}

@media (min-width: 769px) {
    .woocommerce-notices-wrapper ul[role="alert"],
    .woocommerce-NoticeGroup-checkout div[role="alert"] ul,
    .woocommerce-notices-wrapper .woocommerce-info,
    .woocommerce-notices-wrapper .woocommerce-message {
        padding: 30px 40px;
    }
}

@media (min-width: 1025px) {
    .woocommerce-notices-wrapper ul[role="alert"],
    .woocommerce-NoticeGroup-checkout div[role="alert"] ul,
    .woocommerce-notices-wrapper .woocommerce-info,
    .woocommerce-notices-wrapper .woocommerce-message {
        padding: 30px 64px;
    }
}

.woocommerce {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
    flex-wrap: wrap;
    gap: 40px;
}

.woocommerce p:not([class]), .woocommerce .woocommerce-MyAccount-content p {
    font-family: var(--e-global-typography-53ca5e8-font-family), sans-serif;
    font-size: var(--e-global-typography-53ca5e8-font-size);
    line-height: var(--e-global-typography-53ca5e8-line-height);
    color: var(--e-global-color-8a64ffb);
}

.woocommerce p,
.woocommerce h2,
.woocommerce h3 {
    margin: 0;
}

.woocommerce h2  {
    font-size: var(--e-global-typography-85df161-font-size);
    font-weight: var(--e-global-typography-85df161-font-weight);
    line-height: var(--e-global-typography-85df161-line-height);
    color: var(--e-global-color-5a698b8);
}

.hdt-cart__eyebrow {
    margin: 0 0 4px;
    color: var(--e-global-color-1de3f2b, #06A3C1);
    font-family: var(--e-global-typography-c3ba77d-font-family), sans-serif;
    font-size: var(--e-global-typography-c3ba77d-font-size, clamp(1.125rem, 1.06rem + 0.26vw, 1.375rem));
    font-weight: 700;
    line-height: 1.3;
}

.woocommerce .hdt-cart > h2 {
    font-family: var(--e-global-typography-279cc8c-font-family), sans-serif;
    font-size: var(--e-global-typography-279cc8c-font-size);
    font-weight: var(--e-global-typography-279cc8c-font-weight);
    line-height: var(--e-global-typography-279cc8c-line-height);
    margin: 0 0 24px;
}

/* Leerer Warenkorb */
/* Leere Ansicht: oben minimaler Abstand, unten kleine Mindest-Luft (Rest macht der Sticky-Footer). */
.woocommerce-cart:has(.hdt-cart--empty) #content .e-con.e-parent,
.woocommerce-cart:has(.hdt-cart--empty) #content .e-con.e-parent > .e-con-inner {
    padding-top: 0 !important;
    padding-bottom: 48px !important;
}
/* Leere Ansicht: Sticky-Footer rein per CSS – Inhalt streckt sich auf die Viewport-Hoehe,
   Footer sitzt immer am unteren Rand (kein Weissraum darunter), Abstand waechst mit der Fenstergroesse. */
body.woocommerce-cart:has(.hdt-cart--empty) {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
body.woocommerce-cart:has(.hdt-cart--empty) main#content {
    flex: 1 0 auto;
}
.hdt-cart-empty {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
}
.hdt-cart-empty .cart-empty,
.hdt-cart-empty .woocommerce-info {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    line-height: var(--e-global-typography-text-line-height);
    color: var(--e-global-color-8a64ffb, #2D2E2F);
}
.hdt-cart-empty .cart-empty::before,
.hdt-cart-empty .woocommerce-info::before { content: none !important; display: none !important; }
.hdt-cart-empty .return-to-shop { margin: 0; }
.hdt-cart-empty__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--e-global-color-primary, #95C11F);
    color: #023B46;
    border: none;
    border-radius: 0;
    padding: 14px 32px;
    font-weight: 700;
    text-decoration: none;
    transition: color .2s;
}
.hdt-cart-empty__button:hover,
.hdt-cart-empty__button:focus { color: rgba(2, 59, 70, 0.7); }

/* === Warenkorb-Aktions-Buttons: EINE Quelle ===
   "Bearbeiten" = Sidebar-Stil (grau Outline -> Hover teal-Fuellung + weisser Text).
   Alle Loeschen-Aktionen nutzen die gemeinsame Klasse .hdt-delete-btn (Trash-Icon, grau -> Hover
   teal-Fuellung, identisch zum Edit-Hover). Groessen-Variante: .hdt-delete-btn--lg. */
.woocommerce .hdt-cart__event-edit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 44px;
    padding: 0 22px;
    background: #fff;
    color: #525556;
    border: 1px solid #525556;
    border-radius: 0;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
.woocommerce .hdt-cart__event-edit:hover,
.woocommerce .hdt-cart__event-edit:focus { background: #034F5E; color: #fff; border-color: #034F5E; }
.woocommerce .hdt-cart__event-edit svg path { fill: currentColor; }

.woocommerce .hdt-delete-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    background: #fff;
    color: #9a9d9e;
    border: 1px solid #e6e6e3;
    border-radius: 0;
    cursor: pointer;
    text-decoration: none;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
.woocommerce .hdt-delete-btn:hover,
.woocommerce .hdt-delete-btn:focus { background: #034F5E; color: #fff; border-color: #034F5E; }
.woocommerce .hdt-delete-btn svg { width: 16px; height: 18px; }
.woocommerce .hdt-delete-btn svg path { fill: currentColor; }
.woocommerce .hdt-delete-btn--lg { width: 44px; height: 44px; }
.woocommerce .hdt-delete-btn--lg svg { width: 18px; height: 20px; }

.woocommerce h3  {
    font-size: var(--e-global-typography-7455e76-font-size);
    font-weight: var(--e-global-typography-7455e76-font-weight);
    line-height: var(--e-global-typography-7455e76-line-height);
    color: var(--e-global-color-5a698b8);
}

.woocommerce .u-columns {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.woocommerce .woocommerce-ResetPassword .clear {
    display: none;
}

.woocommerce .u-columns > div,
.woocommerce .woocommerce-ResetPassword,
.woocommerce_lost_passwort_confirmation,
.woocommerce .woocommerce-MyAccount-content,
.hdt-cart__actions,
.hdt-checkout__billing,
.hdt-checkout__shipping,
.hdt-checkout__review,
.hdt-checkout__login,
.hdt-checkout__coupon,
.hdt-order {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    flex-basis: 0;
    padding: 20px;
    background-color: var(--e-global-color-966b3ca);
    gap: 20px;
}

/* Kasse: Seiten-Headline wie Warenkorb (Eyebrow + Headline) */
.hdt-checkout__intro { margin: 0; text-align: left; width: 100%; }
.woocommerce-checkout .hdt-checkout__wrapper { margin-top: 0 !important; }
.hdt-checkout__eyebrow {
    margin: 0 0 4px;
    color: var(--e-global-color-1de3f2b, #06A3C1);
    font-family: var(--e-global-typography-c3ba77d-font-family), sans-serif;
    font-size: var(--e-global-typography-c3ba77d-font-size, clamp(1.125rem, 1.06rem + 0.26vw, 1.375rem));
    font-weight: 700;
    line-height: 1.3;
}
.woocommerce .hdt-checkout__title {
    font-family: var(--e-global-typography-279cc8c-font-family), sans-serif;
    font-size: var(--e-global-typography-279cc8c-font-size);
    font-weight: var(--e-global-typography-279cc8c-font-weight);
    line-height: var(--e-global-typography-279cc8c-line-height);
    color: var(--e-global-color-5a698b8, #034F5E);
    margin: 0;
}

.woocommerce .woocommerce-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.woocommerce .woocommerce-Button, .woocommerce .woocommerce-button {
    width: 100%;
    cursor: pointer;
    margin-top: 20px;
}

.woocommerce .woocommerce-form-login > p:not([class]) {
    display: none;
}

.woocommerce .woocommerce-form__label-for-checkbox {
    display: flex !important;
    align-items: center;
    gap: 10px;
}

.woocommerce .woocommerce-LostPassword {
    color: var(--e-global-color-9b9f1a7);
    font-family: var(--e-global-typography-aa06487-font-family), sans-serif;
    font-size: var(--e-global-typography-aa06487-font-size);
    line-height: var(--e-global-typography-aa06487-line-height);
}

.woocommerce .woocommerce-form-register {
    flex: 2;
    display: flex;
    flex-direction: column;
}

.woocommerce .woocommerce-form-register > *:last-child {
    margin-top: auto;
}

.woocommerce .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce .woocommerce-MyAccount-navigation ul,
.woocommerce .woocommerce-MyAccount-navigation ul > li {
    display: block;
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce .woocommerce-MyAccount-navigation ul > li a {
    display: block;
    padding: 8px 16px;
    color: var(--e-global-color-9b9f1a7);
}

.woocommerce .woocommerce-MyAccount-navigation ul > li:not(.is-active) a:hover {
    background-color: var(--e-global-color-966b3ca);
    color: var(--e-global-color-1de3f2b);
}

.woocommerce .woocommerce-MyAccount-navigation ul > li.is-active a {
    background-color: var(--e-global-color-accent);
    font-weight: var(--e-global-typography-d812632-font-weight);
}

.wc-form-flex {
    display: flex;
}

.wc-form-flex-dir-column {
    flex-direction: column;
}

.wc-form-flex-justify-between {
    justify-content: space-between;
}

.wc-account__tiles {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 20px;
}

.wc-account__tile {
    display: flex;
    padding: 30px;
    background-color: #FFFFFF;
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05);
    gap: 20px;
}

.wc-account__tile--column {
    flex-direction: column;
    justify-content: space-between;
}

.wc-account__tile-text > * {
    margin: 0;
}

.wc-account__tile-text > h3 {
    font-size: var(--e-global-typography-821dfd8-font-size);
    font-weight: var(--e-global-typography-821dfd8-font-weight);
    line-height: var(--e-global-typography-821dfd8-line-height);
    color: var(--e-global-color-5a698b8);
}

.wc-account__tile-text > address {
    margin-top: 5px;
    font-family: var(--e-global-typography-53ca5e8-font-family), Sans-serif;
    font-size: var(--e-global-typography-53ca5e8-font-size);
    line-height: var(--e-global-typography-53ca5e8-line-height);
    font-style: normal;;
}

.wc-account__tile-icon {
    content: "";
    font-family: "hdt-icons";
    font-size: 24px;
    position: absolute;
    left: 20px;
    top: 30px;
    pointer-events: none;
    display: inline-block;
    content: "\e813";
    color: #F2B600;
}

.wc-account__edit-address {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.woocommerce-address-fields__field-wrapper,
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper,
.woocommerce-account-fields .create-account,
.woocommerce-EditAccountForm > div.wc-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px 20px;
}

.woocommerce-address-fields__field-wrapper span.optional,
.woocommerce-billing-fields__field-wrapper span.optional,
.woocommerce-shipping-fields__field-wrapper span.optional,
.woocommerce-additional-fields__field-wrapper span.optional,
.woocommerce-account-fields .create-account span.optional {
    display: none;
}

.woocommerce-address-fields__field-wrapper .required,
.woocommerce-billing-fields__field-wrapper .required,
.woocommerce-shipping-fields__field-wrapper .required,
.woocommerce-additional-fields__field-wrapper .required,
.woocommerce-account-fields .create-account .required {
    text-decoration: none;
}

.woocommerce-input-wrapper {
    display: block;
}

.woocommerce-EditAccountForm {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.woocommerce-EditAccountForm .woocommerce-Button {
    margin: 0;
}

.wc-flex {
    display: flex;
}

.wc-flex--column {
    flex-direction: column;
}

.wc-flex--gap-10 {
    gap: 10px;
}

.woocommerce .password-input {
    position: relative;
}

.woocommerce-order-item.item__title {
	color: var(--e-global-color-5a698b8);
	font-family: var(--e-global-typography-d812632-font-family), Sans-serif;
    font-size: var(--e-global-typography-d812632-font-size);
    font-weight: var(--e-global-typography-d812632-font-weight);
    line-height: var(--e-global-typography-d812632-line-height);
}

.wc-item-meta.wc-item-meta--attendees {
	list-style: none;
	padding: 0;
	margin-top: 16px;
}

.wc-item-meta.wc-item-meta--attendees .wc-attendee__item {
	font-family: var(--e-global-typography-53ca5e8-font-family), Sans-serif;
    font-size: var(--e-global-typography-53ca5e8-font-size);
    line-height: var(--e-global-typography-53ca5e8-line-height);
}

.wc-item-meta.wc-item-meta--attendees .wc-attendee__item + .wc-attendee__item,
.wc-item-meta.wc-item-meta--attendees .wc-attendee__item:first-child {
	padding-top: 16px;
	border-top: 1px solid var(--e-global-color-e8414c9);
}

.wc-item-meta.wc-item-meta--attendees .wc-attendee__item .wc-attendee-item__label {
	color: var(--e-global-color-5a698b8);
	font-family: var(--e-global-typography-d812632-font-family), Sans-serif;
	font-size: var(--e-global-typography-d812632-font-size);
	font-weight: var(--e-global-typography-d812632-font-weight);
	line-height: var(--e-global-typography-d812632-line-height);
}

.woocommerce-table.woocommerce-table--order-details.shop_table.order_details {
	margin-bottom: 0;
}

.woocommerce-table.woocommerce-table--order-details.shop_table.order_details,
.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tbody td {
	background-color: var(--e-global-color-3c16749);
	border: none;
}

.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tbody tr + tr td {
	border-top: 1px solid var(--e-global-color-e8414c9);
}

.woocommerce-table.woocommerce-table--order-details.shop_table.order_details th {
	text-align: left;
}

.woocommerce-table.woocommerce-table--order-details.shop_table.order_details thead th {
	border: none;
	border-bottom: 1px solid var(--e-global-color-e8414c9);
}

.woocommerce-table.woocommerce-table--order-details.shop_table.order_details .woocommerce-table__product-table.product-total,
.woocommerce-table.woocommerce-table--order-details.shop_table.order_details .woocommerce-table__product-total.product-total,
.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot td {
	text-align: right;
}

.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot th,
.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot td {
	background-color: var(--e-global-color-966b3ca);
	border-left: none;
	border-right: none;
	border-color: var(--e-global-color-e8414c9);
}
.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot tr:first-child th,
.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot tr:first-child td {
	border-top: none;
	padding-top: 32px;
}


.hdt-cart-wrapper {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.hdt-cart__header {
    display: none;
}

.hdt-cart__header-item {
    font-size: var(--e-global-typography-758d7a4-font-size);
    font-weight: var(--e-global-typography-758d7a4-font-weight);
    line-height: var(--e-global-typography-758d7a4-line-height);
}

.hdt-cart__items,
.hdt-cart__item {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.hdt-cart__line-item {}

.hdt-cart__line-item--start {}

.hdt-cart__line-item--end {}

.woocommerce .show-password-input {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    background: transparent;
    padding: 5px;
    border: 0;
    color: var(--e-global-color-9b9f1a7);
}

.woocommerce .show-password-input:hover {
    background: transparent;
}

.woocommerce .show-password-input::before {
    content: "\e818";
    content: "\e813";
    font-family: "hdt-icons";
    font-size: 16px;
    color: currentColor;
    line-height: 1;
}

.woocommerce .show-password-input.display-password::before {
    content: "\e817";
}

.hdt-cart__item-name {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.hdt-cart__item-name > span {
    font-size: var(--e-global-typography-d812632-font-size);
    font-weight: var(--e-global-typography-d812632-font-weight);
    line-height: var(--e-global-typography-d812632-line-height);
}

.hdt-cart__item-name > dl, .hdt-cart__item-name dd p {
    font-size: var(--e-global-typography-758d7a4-font-size) !important;
    font-weight: var(--e-global-typography-758d7a4-font-weight) !important;
    line-height: var(--e-global-typography-758d7a4-line-height) !important;
}

.hdt-cart__item-quantity,
.hdt-cart__item-price,
.hdt-cart__item-subtotal {
    font-family: var(--e-global-typography-53ca5e8-font-family), Sans-serif;
    font-size: var(--e-global-typography-53ca5e8-font-size);
    line-height: var(--e-global-typography-53ca5e8-line-height);
}

.hdt-cart__item-remove {
    order: -1;
}

.hdt-cart__item--end .hdt-cart__item-thumbnail *,
.hdt-cart__item--end .hdt-cart__item-name > span,
.hdt-cart__item--end .hdt-cart__item-name > .variation .variation-Artikel-Nr,
.hdt-cart__item--end .hdt-cart__item-name > .variation .variation-Veranstaltung {
    display: none;
}

.hdt-cart-footer {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.hdt-cart__actions .coupon {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.hdt-cart-footer,
.hdt-cart__collaterals {
    width: 100%;
}

/* Cart-Page: Margin/Padding von Cart-Wrapper & .hdt-cart auf 0, damit die Items
   buendig mit dem Breadcrumb / Titel laufen (Container-Breite bleibt = Common-Space). */
.woocommerce-cart .hdt-cart,
.woocommerce-cart .hdt-cart-wrapper,
.woocommerce-cart .woocommerce {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

.hdt-cart-footer {
    margin-top: 32px;
    margin-bottom: 0;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-top: 48px;
    padding-bottom: 48px;
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
    background: var(--e-global-color-966b3ca, #F4F4F1);
}

/* Summe-Band bündig an den Footer (kein Leerraum darunter) */
.woocommerce-cart main#content,
.woocommerce-cart .page-content,
.woocommerce-cart #content .e-con.e-parent,
.woocommerce-cart #content .e-con.e-parent > .e-con-inner {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
.woocommerce-cart .hdt-cart-wrapper,
.woocommerce-cart .hdt-cart-footer {
    margin-bottom: 0;
}

.hdt-cart__collaterals .cart_totals {
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: transparent;
    border: none;
    padding: 0;
    width: 100%;
}

.hdt-cart__collaterals .cart_totals h3 {
    margin: 0;
    font-size: 1.2rem;
    color: var(--e-global-color-secondary);
}

.hdt-cart__collaterals .cart_totals table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

.hdt-cart__collaterals .cart_totals th {
    text-align: left;
    padding: 8px 0;
    border: none;
    font-weight: 400;
}

.hdt-cart__collaterals .cart_totals td {
    text-align: right;
    padding: 8px 0;
    border: none;
    font-variant-numeric: tabular-nums;
}

.hdt-cart__collaterals .cart_totals .order-total th,
.hdt-cart__collaterals .cart_totals .order-total td {
    border-top: 2px solid #034F5E;
    padding-top: 14px;
    font-size: 1.15rem;
    font-weight: 700;
    color: #034F5E;
}

/* Weiter zur Kasse: gleicher Button-Stil wie die ganze Seite (grün + opacity-Hover) */
.hdt-cart__collaterals .wc-proceed-to-checkout a.checkout-button,
.hdt-cart__collaterals a.checkout-button.button {
    display: block;
    width: 100%;
    text-align: center;
    background: var(--e-global-color-primary, #95C11F) !important;
    color: #023B46 !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 14px 32px !important;
    font-weight: 700;
    transition: color .2s;
}
.hdt-cart__collaterals .wc-proceed-to-checkout a.checkout-button:hover,
.hdt-cart__collaterals a.checkout-button.button:hover {
    background: var(--e-global-color-primary, #95C11F) !important;
    color: rgba(2, 59, 70, 0.7) !important;
}

/* Summe ist reine Anzeige: kein Zeilen-Hintergrund / Hover */
.hdt-cart__collaterals .cart_totals tr,
.hdt-cart__collaterals .cart_totals tr:hover,
.hdt-cart__collaterals .cart_totals th,
.hdt-cart__collaterals .cart_totals td,
.hdt-cart__collaterals .cart_totals tr:hover th,
.hdt-cart__collaterals .cart_totals tr:hover td {
    background: transparent !important;
}

.hdt-cart__item-quantity::before,
.hdt-cart__item-price::before,
.hdt-cart__item-subtotal::before {
    content: attr(data-title) ": ";
    font-weight: var(--e-global-typography-758d7a4-font-weight);
}

.hdt-checkout,
.hdt-checkout__before--wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    width: 100%;
}
/* Abstand zwischen Headline und Band: 40 -> 20px */
.woocommerce-checkout .woocommerce {
    gap: 20px;
}
/* Gleicher White-Space unter der Intro wie auf der Bestaetigungsseite */
.woocommerce-checkout .hdt-checkout__intro { margin-bottom: 64px; }
/* Leeren Hinweis-/Login-Wrapper ausblenden (sonst zweiter Gap) */
.woocommerce-checkout .hdt-checkout__before--wrapper {
    margin: 0;
    gap: 0;
}
.woocommerce-checkout .hdt-checkout__before--wrapper:empty,
.woocommerce-checkout .hdt-checkout__before--wrapper:has(> .woocommerce-notices-wrapper:empty:only-child) {
    display: none;
}

.hdt-checkout {
    align-items: start;
    width: 100%;
}

/* Kasse: Form-Wrapper als durchgehendes Full-Width-Farbband (full-bleed), Inhalt zentriert */
.hdt-checkout__wrapper {
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-items: stretch;
    background-color: var(--e-global-color-966b3ca);
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 81px calc(50vw - 50%) 120px;
    box-sizing: border-box;
}
/* Abstand zwischen AGB-Checkbox und Bestellbutton */
.wc-gzd-order-submit .wc-gzd-place-order #place_order {
    margin-top: 20px;
}
/* Bestellbutton im Brand-Stil + Hover wie die uebrigen gruenen Buttons */
.wc-gzd-order-submit #place_order,
.woocommerce-checkout #place_order {
    background-color: var(--e-global-color-primary, #95C11F) !important;
    color: #023B46 !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 14px 32px !important;
    font-weight: 700;
    transition: color .2s;
}
.wc-gzd-order-submit #place_order:hover,
.wc-gzd-order-submit #place_order:focus,
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout #place_order:focus {
    background-color: var(--e-global-color-primary, #95C11F) !important;
    color: rgba(2, 59, 70, 0.7) !important;
}
/* Beide Spalten-Ueberschriften buendig oben starten (Rechnungsdetails == Zahlungsart) */
.hdt-checkout #order_payment_heading,
.hdt-checkout #customer_details .woocommerce-billing-fields > h3:first-child {
    margin-top: 0 !important;
}
/* Rechts kommt direkt der Radio, links steht ueber der ersten Eingabe ein Label.
   Zahlungs-Block um eine Label-Zeile nach unten, damit Radio == erste Eingabe-Box. */
.hdt-checkout #order_review #payment {
    margin-top: 26px;
}
.hdt-checkout__wrapper .hdt-checkout__billing,
.hdt-checkout__wrapper .hdt-checkout__shipping,
.hdt-checkout__wrapper .hdt-checkout__review {
    background-color: transparent;
    padding: 0;
}

/* ===== Bestellbestaetigung (order-received): Headline + Full-Width-Band wie Kasse ===== */
.woocommerce-order-received .woocommerce { gap: 20px; }
.woocommerce-order-received .hdt-order__intro { margin: 0 0 64px; }
.woocommerce-order-received .hdt-order {
    background-color: var(--e-global-color-966b3ca);
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 112px calc(50vw - 50%) 88px;
    box-sizing: border-box;
    display: block;
}
.woocommerce-order-received .hdt-order__inner {
    display: flex;
    flex-direction: column;
    gap: 0;
}
/* Band buendig an den Footer */
.woocommerce-order-received main#content,
.woocommerce-order-received .page-content,
.woocommerce-order-received #content .e-con.e-parent,
.woocommerce-order-received #content .e-con.e-parent > .e-con-inner {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
.woocommerce-order-received .hdt-order { margin-bottom: 0 !important; }
/* Bestaetigung-Text */
.woocommerce-order-received .woocommerce-thankyou-order-received {
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    font-weight: 400;
    line-height: var(--e-global-typography-text-line-height);
    color: var(--e-global-color-8a64ffb, #2D2E2F);
    margin: 10px 0 0;
}

/* ===== Event-Karten (wie Warenkorb: weiss, Border, Thumb + Name + Teilnehmer) ===== */
.hdt-order-details { width: 100%; }
.hdt-order-cards {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}
.hdt-order-card {
    background: #fff;
    border: 1px solid #e3e3e1;
    overflow: hidden;
    width: 100%;
}
.hdt-order-card__header {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    padding: 24px;
    border-bottom: 1px solid #ececec;
}
.hdt-order-card__thumb-wrap {
    flex: 0 0 360px;
    position: relative;
}
.hdt-order-card__thumb {
    display: block;
    width: 360px;
    height: 203px;
    object-fit: cover;
}
.hdt-order-card__badges {
    position: absolute;
    top: 6px;
    left: 6px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.hdt-order-card__badge {
    display: inline-block;
    background: #fff;
    color: #050505;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 3px 8px;
    line-height: 1.2;
    box-shadow: 0 1px 3px rgba(0,0,0,.12);
}
.hdt-order-card__info {
    flex: 1 1 auto;
    min-width: 0;
}
.hdt-order-card__name {
    display: block;
    font-family: var(--e-global-typography-c3ba77d-font-family), sans-serif;
    font-size: var(--e-global-typography-c3ba77d-font-size);
    font-weight: var(--e-global-typography-c3ba77d-font-weight);
    line-height: var(--e-global-typography-c3ba77d-line-height);
    color: #034F5E;
    margin: 0 0 10px;
}
.hdt-order-card__meta {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 2px 10px;
    margin: 0;
    font-family: var(--e-global-typography-53ca5e8-font-family), sans-serif;
    font-size: var(--e-global-typography-53ca5e8-font-size);
    line-height: var(--e-global-typography-53ca5e8-line-height);
    color: var(--e-global-color-8a64ffb, #555);
}
.hdt-order-card__meta dt { font-weight: 600; margin: 0; }
.hdt-order-card__meta dd { margin: 0; }
.hdt-order-card__body {
    padding: 20px 24px 22px;
}
.hdt-order-card__participants-label {
    font-family: var(--e-global-typography-53ca5e8-font-family), sans-serif;
    font-size: var(--e-global-typography-53ca5e8-font-size);
    line-height: var(--e-global-typography-53ca5e8-line-height);
    font-weight: 600;
    color: var(--e-global-color-8a64ffb, #555);
    margin: 0 0 4px;
}
.hdt-order-card__type-group { margin-bottom: 4px; }
.hdt-order-card__type-label {
    font-family: var(--e-global-typography-7ef5cef-font-family), sans-serif;
    font-size: var(--e-global-typography-7ef5cef-font-size);
    font-weight: var(--e-global-typography-7ef5cef-font-weight);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--e-global-color-secondary, #525556);
    margin: 8px 0 4px;
}
.hdt-order-card__attendees {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}
.hdt-order-card__attendee {
    display: grid;
    grid-template-columns: auto 1fr max-content;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #ececec;
}
.hdt-order-card__attendee:last-child { border-bottom: none; }
.hdt-order-card__attendee-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #e3e6e7;
    color: #525556;
    flex: 0 0 auto;
}
.hdt-order-card__attendee-icon svg { width: 13px; height: 13px; display: block; }
.hdt-order-card__attendee-name {
    min-width: 0;
    overflow-wrap: anywhere;
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    line-height: var(--e-global-typography-text-line-height);
}
.hdt-order-card__attendee-price {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    line-height: var(--e-global-typography-text-line-height);
}
.hdt-order-card__subtotal {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 24px;
    padding-top: 12px;
    margin-top: 4px;
    border-top: 2px solid #ececec;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: var(--e-global-typography-text-font-size);
}

/* === Kasse Bestelluebersicht: weisse Karten (.hdt-order-card) + Summen-Block ===
   Nutzt dieselben Karten wie Warenkorb/Bestaetigung; in der schmaleren Kasse-Spalte kompaktes Thumbnail. */
.hdt-creview .hdt-order-card__thumb-wrap { flex: 0 0 140px; }
.hdt-creview .hdt-order-card__thumb { width: 140px; height: 79px; }
.hdt-creview .hdt-order-card__header { padding: 20px; gap: 18px; }
.hdt-creview .hdt-order-card__body { padding: 16px 20px 18px; }
/* Karten-Titel teal halten (schlaegt .woocommerce h3 per hoeherer Spezifitaet) */
.hdt-creview .hdt-order-card__name {
    font-family: var(--e-global-typography-c3ba77d-font-family), sans-serif;
    font-size: var(--e-global-typography-c3ba77d-font-size);
    font-weight: var(--e-global-typography-c3ba77d-font-weight);
    line-height: var(--e-global-typography-c3ba77d-line-height);
    color: #034F5E;
}

/* Summen unter den Karten */
.hdt-creview__totals {
    width: calc(100% - 40px);
    margin: 18px 20px 0;
    border-collapse: collapse;
}
.hdt-creview__totals th,
.hdt-creview__totals td {
    padding: 8px 0;
    text-align: left;
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    font-weight: 400;
    color: #2D2E2F;
    background: transparent;
    border: 0;
}
.hdt-creview__totals td { text-align: right; font-variant-numeric: tabular-nums; }
/* Zwischensumme/Versand/Steuer: mittelgewichtig, dezente Trennung */
.hdt-creview__totals tr.cart-subtotal th,
.hdt-creview__totals tr.cart-subtotal td,
.hdt-creview__totals tr.fee th,
.hdt-creview__totals tr.fee td,
.hdt-creview__totals tr.tax-total th,
.hdt-creview__totals tr.tax-rate th,
.hdt-creview__totals tr.cart-discount th,
.hdt-creview__totals tr.shipping th { font-weight: 600; }
/* Gesamtsumme: staerkste Stufe – teal, fett, 2px-Teal-Border oben (wie Warenkorb) */
.hdt-creview__totals tr.order-total th,
.hdt-creview__totals tr.order-total td {
    padding-top: 16px;
    border-top: 2px solid #034F5E !important;
    color: #034F5E;
    font-family: var(--e-global-typography-7455e76-font-family), sans-serif;
    font-size: var(--e-global-typography-7455e76-font-size);
    font-weight: var(--e-global-typography-7455e76-font-weight);
    line-height: var(--e-global-typography-7455e76-line-height);
}

/* Anmerkung-Block nach den Karten */
.hdt-order-note {
    border: 1px solid #e3e3e1;
    background: #fff;
    padding: 16px 20px;
    margin-top: 20px;
}
.hdt-order-note__title {
    display: block;
    font-family: var(--e-global-typography-53ca5e8-font-family), sans-serif;
    font-size: var(--e-global-typography-53ca5e8-font-size);
    font-weight: 700;
    line-height: var(--e-global-typography-53ca5e8-line-height);
    color: #034F5E;
    margin: 0 0 6px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.hdt-order-note p {
    margin: 0;
    font-family: var(--e-global-typography-53ca5e8-font-family), sans-serif;
    font-size: var(--e-global-typography-53ca5e8-font-size);
    line-height: var(--e-global-typography-53ca5e8-line-height);
}

/* Aktions-Buttons (Mein Konto Bestellung) */
.hdt-order-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 20px;
}

/* ===== Footer-Band: Gesamtsumme | Bestelldaten | Adresse ===== */
.hdt-order__footer-band {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 40px;
    border-top: 2px solid #034F5E;
    padding-top: 32px;
}

.hdt-order__footer-section-label {
    font-family: var(--e-global-typography-7ef5cef-font-family), sans-serif;
    font-size: var(--e-global-typography-7ef5cef-font-size);
    font-weight: var(--e-global-typography-7ef5cef-font-weight);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--e-global-color-1de3f2b, #06A3C1);
    margin: 0 0 16px;
}

/* Footer-Band: alle 3 Spalten exakt gleicher Abstand Label -> erstes Inhaltselement */
.hdt-order__footer-section-label,
.hdt-order__footer-address .woocommerce-column__title {
    margin: 0 0 16px !important;
    line-height: 1.2 !important;
    padding: 0 !important;
}
.hdt-order__totals-table tr:first-child th,
.hdt-order__totals-table tr:first-child td { padding-top: 0 !important; }
.hdt-order__meta-list,
.hdt-order__footer-address address,
.hdt-order__totals-table { margin-top: 0 !important; }
.hdt-order__footer-address address { line-height: var(--e-global-typography-text-line-height) !important; }

/* Gesamtsumme */
.hdt-order__footer-totals { padding: 0 0 32px; }
/* Summen-Block in "Mein Konto > Bestellung" (order-details.php ohne Footer-Band) */
.hdt-order-details__totals {
    margin-top: 24px;
    max-width: 380px;
    margin-left: auto;
}
.hdt-order__totals-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}
.hdt-order__totals-table,
.hdt-order__totals-table tr,
.hdt-order__totals-table th,
.hdt-order__totals-table td {
    background: transparent !important;
}
.hdt-order__totals-table th,
.hdt-order__totals-table td {
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    line-height: var(--e-global-typography-text-line-height);
    padding: 5px 0;
    border: none;
    vertical-align: baseline;
}
.hdt-order__totals-table th { text-align: left; font-weight: 400; }
.hdt-order__totals-table td { text-align: right; font-variant-numeric: tabular-nums; }
.hdt-order__total-row--grand th,
.hdt-order__total-row--grand td {
    padding-top: 14px;
    border-top: 2px solid #034F5E !important;
    font-family: var(--e-global-typography-7455e76-font-family), sans-serif;
    font-size: var(--e-global-typography-7455e76-font-size);
    font-weight: var(--e-global-typography-7455e76-font-weight);
    line-height: var(--e-global-typography-7455e76-line-height);
    color: #034F5E;
}

/* Bestelldaten */
.hdt-order__footer-meta {
    padding: 0 0 32px;
    border-top: 1px solid #e3e3e1;
    padding-top: 28px;
}
.hdt-order__meta-list {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 6px 16px;
    margin: 0;
}
.hdt-order__meta-list dt {
    font-family: var(--e-global-typography-53ca5e8-font-family), sans-serif;
    font-size: var(--e-global-typography-53ca5e8-font-size);
    line-height: var(--e-global-typography-53ca5e8-line-height);
    font-weight: 600;
    color: var(--e-global-color-8a64ffb, #555);
    margin: 0;
}
.hdt-order__meta-list dd {
    font-family: var(--e-global-typography-53ca5e8-font-family), sans-serif;
    font-size: var(--e-global-typography-53ca5e8-font-size);
    line-height: var(--e-global-typography-53ca5e8-line-height);
    color: var(--e-global-color-8a64ffb, #555);
    margin: 0;
}

/* Adresse */
.hdt-order__footer-address {
    padding-top: 28px;
    border-top: 1px solid #e3e3e1;
}
.hdt-order__footer-address .woocommerce-customer-details { margin: 0; }
.hdt-order__footer-address .woocommerce-columns--addresses {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin: 0;
}
.hdt-order__footer-address .woocommerce-column__title {
    font-family: var(--e-global-typography-7ef5cef-font-family), sans-serif;
    font-size: var(--e-global-typography-7ef5cef-font-size);
    font-weight: var(--e-global-typography-7ef5cef-font-weight);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--e-global-color-1de3f2b, #06A3C1);
    margin: 0 0 16px;
}
.hdt-order__footer-address address {
    font-style: normal;
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    line-height: 1.7;
    color: var(--e-global-color-8a64ffb, #555);
    border: none;
    padding: 0;
    margin: 0;
}
.hdt-order__footer-address .woocommerce-customer-details--phone,
.hdt-order__footer-address .woocommerce-customer-details--email {
    margin: 2px 0 0;
    font-family: var(--e-global-typography-53ca5e8-font-family), sans-serif;
    font-size: var(--e-global-typography-53ca5e8-font-size);
    color: var(--e-global-color-secondary, #525556);
}

/* Auf breiten Screens: Footer-Band als 3-Spalter (Summe | Meta | Adresse) */
@media (min-width: 768px) {
    .hdt-order__footer-band {
        grid-template-columns: 1fr 1fr;
        gap: 0 56px;
    }
    .hdt-order__footer-totals {
        grid-column: 1;
        grid-row: 1;
        padding: 0 56px 0 0;
        border-right: 1px solid #e3e3e1;
        border-bottom: none;
        padding-bottom: 0;
        align-self: start;
    }
    .hdt-order__footer-meta {
        grid-column: 2;
        grid-row: 1;
        border-top: none;
        padding-top: 0;
        padding-bottom: 28px;
    }
    .hdt-order__footer-address {
        grid-column: 2;
        grid-row: 2;
        border-top: 1px solid #e3e3e1;
    }
}
@media (min-width: 1100px) {
    .hdt-order__footer-band {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .hdt-order__footer-totals {
        grid-column: 1;
        grid-row: 1;
    }
    .hdt-order__footer-meta {
        grid-column: 2;
        grid-row: 1;
        border-top: none;
        padding-top: 0;
        padding-left: 0;
        border-left: none;
        border-right: none;
        padding-bottom: 0;
    }
    .hdt-order__footer-address {
        grid-column: 3;
        grid-row: 1;
        border-top: none;
        padding-top: 0;
        border-left: 1px solid #e3e3e1;
        padding-left: 56px;
    }
    .hdt-order__footer-meta {
        padding-left: 0;
    }
}

/* Tablet/Mobile: Bild bricht voll um (wie Warenkorb) */
@media (max-width: 768px) {
    .hdt-order-card__header { flex-wrap: wrap; gap: 16px; }
    .hdt-order-card__thumb-wrap { flex: 0 0 100%; }
    .hdt-order-card__thumb { width: 100%; height: auto; aspect-ratio: 16 / 9; }
}
@media (max-width: 500px) {
    .hdt-order-card__header { padding: 16px; }
    .hdt-order-card__body { padding: 16px; }
}

/* Mein-Konto Bestellung: Gesamtsumme am Ende der Tabelle (show_customer_details=true) */
.woocommerce-order-pay .hdt-order-details,
.woocommerce-view-order .hdt-order-details { width: 100%; }

/* Band buendig an den Footer (kein Leerraum darunter) */
.woocommerce-checkout main#content,
.woocommerce-checkout .page-content,
.woocommerce-checkout #content .e-con.e-parent,
.woocommerce-checkout #content .e-con.e-parent > .e-con-inner {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
.woocommerce-checkout .hdt-checkout__wrapper { margin-bottom: 0 !important; }

.hdt-checkout__addresses {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.hdt-checkout__shipping .woocommerce-shipping-fields,
.hdt-checkout__shipping .woocommerce-additional-fields,
.hdt-checkout__billing .woocommerce-billing-fields {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.hdt-checkout__payment ul.payment_methods {
    display: flex;
    flex-direction: column;
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.hdt-checkout__payment ul.payment_methods li {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.hdt-checkout__payment-method-wrapper {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.hdt-checkout__payment-method-wrapper input {
    flex: 0 0 auto;
}

.hdt-checkout__payment-method-wrapper + .payment_box {
    padding-left: 34px;
}

.hdt-checkout__payment-method-wrapper label {
    flex: 1;
    font-size: var(--e-global-typography-b16cc09-font-size);
    font-weight: var(--e-global-typography-b16cc09-font-weight);
    line-height: var(--e-global-typography-b16cc09-line-height);
}

/* WC/GZD: früher <abbr class="required">, jetzt <span class="required"> */
.hdt-checkout .woocommerce-gzd-legal-checkbox-text + .required {
    display: none;
}

.hdt-checkout .woocommerce-gzd-legal-checkbox-text::after {
    content: " *";
}

/* Datenschutzhinweis wie Form-Labels / GZD-Legal-Text (Elementor-Kit: label = aa06487 / 9b9f1a7),
   nicht Body-Fliesstext via .woocommerce p:not([class]) — Kasse + Registrierung */
.hdt-checkout .woocommerce-privacy-policy-text,
.hdt-checkout .woocommerce-privacy-policy-text p,
.woocommerce-form-register .woocommerce-privacy-policy-text,
.woocommerce-form-register .woocommerce-privacy-policy-text p {
    font-family: var(--e-global-typography-aa06487-font-family), sans-serif;
    font-size: var(--e-global-typography-aa06487-font-size);
    font-weight: var(--e-global-typography-aa06487-font-weight, 400);
    line-height: var(--e-global-typography-aa06487-line-height);
    color: var(--e-global-color-9b9f1a7);
    margin: 0;
}

.hdt-checkout .woocommerce-privacy-policy-text,
.woocommerce-form-register .woocommerce-privacy-policy-text {
    margin-bottom: 12px;
}

/* Rechtliche Links bewusst unterstrichen (Site-Links sonst oft ohne) */
.hdt-checkout .woocommerce-privacy-policy-text a,
.hdt-checkout .woocommerce-gzd-legal-checkbox-text a,
.woocommerce-form-register .woocommerce-gzd-reg_data_privacy-checkbox-text a,
.woocommerce-form-register [class*="woocommerce-gzd-"][class*="-checkbox-text"] a {
    border-bottom: 1px solid currentColor;
    text-decoration: none;
    color: inherit;
}

.hdt-checkout__payment-method-wrapper input[type=radio] {
    appearance: none;
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.hdt-checkout__payment-method-wrapper label {
    display: flex;
    gap: 5px;
    flex-direction: column;
    flex-grow: 1;
    width: 100%;
    cursor: pointer;
    position: relative;
    padding-left: 34px;
}

.hdt-checkout__payment-method-wrapper label img {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.hdt-checkout__payment-method-wrapper label::before {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 24px;
    height: 24px;
    border: 1px solid var(--e-global-color-8a64ffb);
    background-color: white;
    border-radius: 50%;
    z-index: 3;
}

.hdt-checkout__payment-method-wrapper label:hover::before {
    background-color: var(--e-global-color-966b3ca);
}

.hdt-checkout__payment-method-wrapper input[type=radio]:checked + label::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 6px;
    width: 12px;
    height: 12px;
    background-color: var(--e-global-color-8a64ffb);
    border-radius: 50%;
    z-index: 4;
}

.hdt-order ul.woocommerce-order-overview {
    list-style: none;
    padding: 0;
    margin: 0;
}

.hdt-order .woocommerce-order-details,
.hdt-order .woocommerce-customer-details {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/*
 * Event Navigation
 */
nav.hdt-event-nav {
  display: block;
  width: 100%;
}

.hdt-event-nav--empty {
  display: none;
}

.hdt-event-nav__list,
.hdt-event-nav__skeleton {
  list-style: none;
  display: flex;
  flex-wrap: nowrap;
  gap: 24px;
  margin: 0;
  padding: 0;
}

.hdt-event-nav__skeleton {
  width: 100%;
}

.hdt-event-nav__skeleton-item {
  display: block;
  width: var(--hdt-event-nav-skeleton-width, 80px);
  height: 16px;
  border-radius: 999px;
  background-color: var(--e-global-color-99afb8f);
  opacity: 0.18;
  position: relative;
  overflow: hidden;
}

.hdt-event-nav__skeleton-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0),
    var(--e-global-color-8a64ffb),
    rgba(255, 255, 255, 0)
  );
  opacity: 0.5;
  transform: translateX(-100%);
  animation: hdt-event-nav-skeleton-wave 1.4s ease-in-out infinite;
}

@keyframes hdt-event-nav-skeleton-wave {
  0% {
    transform: translateX(-100%);
  }
  50% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(100%);
  }
}

.hdt-event-nav__item {
  margin: 0;
  flex: 0 0 auto;
}

.hdt-event-nav__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 9px 0;
  font-family: var(
    --e-global-typography-b16cc09-font-family,
    "Roboto"
  ), Sans-serif;
  font-size: var(--e-global-typography-b16cc09-font-size);
  font-weight: var(--e-global-typography-b16cc09-font-weight);
  line-height: var(--e-global-typography-b16cc09-line-height);
  color: var(--e-global-color-99afb8f);
  text-decoration: none;
  opacity: 0.6;
  transition: opacity 0.2s ease, color 0.2s ease;
  white-space: nowrap;
}

.hdt-event-nav__link::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 100%;
  height: 2px;
  background: var(--e-global-color-8a64ffb);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.2s ease;
}

.hdt-event-nav__link:hover,
.hdt-event-nav__link:focus {
  opacity: 1;
  color: var(--e-global-color-99afb8f);
  font-family: var(
    --e-global-typography-b16cc09-font-family,
    "Roboto"
  ), Sans-serif;
  font-size: var(--e-global-typography-b16cc09-font-size) !important;
  font-weight: var(--e-global-typography-b16cc09-font-weight);
  line-height: var(--e-global-typography-b16cc09-line-height) !important;
}

.hdt-event-nav__link--active {
  opacity: 1;
  color: var(--e-global-color-8a64ffb);
}

.hdt-event-nav__link--active::after {
  transform: scaleX(1);
}

.hdt-event-nav--loading .hdt-event-nav__list {
  opacity: 0;
  pointer-events: none;
}

.hdt-event-nav--loading .hdt-event-nav__skeleton {
  opacity: 1;
}

.hdt-event-nav--ready .hdt-event-nav__skeleton {
  display: none;
}

@media (max-width: 1023px) {
  nav.hdt-event-nav {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  nav.hdt-event-nav::-webkit-scrollbar {
    display: none;
  }

  .hdt-event-nav__list,
  .hdt-event-nav__skeleton {
    gap: 16px;
    min-width: max-content;
  }

  .hdt-event-nav__link {
    font-size: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hdt-event-nav__skeleton-item::after {
    animation-duration: 3.2s;
  }
}

/*
 * Event Card CSS
 * 
 */
.hdt-event-card__tag {
	line-height: 0;
	z-index: auto !important;
}

.e-con[data-settings*='"position":"absolute"'] {
	z-index: 1 !important;
}

.hdt-event-card__listing .jet-listing-dynamic-repeater__items {
	flex-wrap: wrap;
}

.hdt-event-card__listing .jet-listing-dynamic-repeater__item {

}

.hdt-event-card__badge-listing {
	flex: 0 1 auto !important;
}

body:not(.rtl) .elementor-287 .elementor-element.elementor-element-d5e1f55 {
    left: 20px;
    top: 28px;
}

@media (max-width: 1366px) {
    body:not(.rtl) .elementor-287 .elementor-element.elementor-element-d5e1f55 {
        left: 11px;
    }
}

@media (max-width: 767px) {
    .jet-listing-grid--287.grid-col-tablet-2,
    .jet-listing-grid--287.grid-col-mobile-2 {
        --columns: 1 !important;
    }
}

.jet-listing-grid--287 .jet-listing-grid__item {
    overflow: hidden;
}

.jet-listing-grid--287 .jet-listing-grid__item .elementor-287 > .e-con > .e-con-inner {
    flex-direction: column !important;
}

.jet-listing-grid--287 .jet-listing-grid__item .img-aspect-ratio-16-9 img {
    width: 100%;
    height: auto;
    max-height: 250px;
    object-fit: cover;
}

.hdt-event-card__badge-listing .jet-listing-grid__items {
	display: flex !important;
}

.hdt-event-card__badge-listing .badge {
	line-height: 0;
}

.hdt-event-card__badge-listing .badge .badge__text,
.hdt-event-card__badge-listing .badge .badge__text * {
	color: inherit !important;
}

.hdt-event-card__badge-listing .badge--neu {
	color: var(--e-global-color-3c16749);
	background-color: var(--e-global-color-963e124) !important;
	border-color: var(--e-global-color-963e124) !important;
}

.hdt-event-card__badge-listing .badge--call-for-papers {
	color: var(--e-global-color-3c16749);
	background-color: var(--e-global-color-1e19c7f) !important;
	border-color: var(--e-global-color-1e19c7f) !important;
}

.hdt-event-card__badge-listing .badge--early-bird {
	color: var(--e-global-color-3c16749);
	background-color: var(--e-global-color-5f1f041) !important;
	border-color: var(--e-global-color-5f1f041) !important;
}

.hdt-event-card__badge-listing .badge--tipp {
	color: var(--e-global-color-3c16749);
	background-color: var(--e-global-color-1de3f2b) !important;
	border-color: var(--e-global-color-1de3f2b) !important;
}

/*
 * Event Price Display
 * 
 */
.hdt-events-prices {
	border-bottom: 1px solid #D7D7D5;
	padding-bottom: 5px;
}
.hdt-events-prices__item.normal,
.hdt-events-prices__item.member,
.hdt-events-prices__item.B {
	display: flex;
	justify-content: space-between;
}
.hdt-events-prices__item.normal {
	border-top: 1px solid #D7D7D5;
	padding-top: 10px;
}

.hdt-events-prices__item.member + .hdt-events-prices__item.normal {
	margin-top: 8px;
}

.hdt-events-prices__item.B {
	padding-bottom: 8px;
}



.hdt-events-prices__item.member .hdt-events-prices-item__text,
.hdt-events-prices__item.B .hdt-events-prices-item__text {
	width: 100%;
	max-width: max-content;
	padding-right: 7px;
}
.hdt-events-prices__item.member .hdt-events-prices-item__text {
	text-decoration: underline;
}
.hdt-events-prices__item.member .hdt-events-prices-item__text,
.hdt-events-prices__item.member .hdt-events-prices-item__price,
.hdt-events-prices__item.B .hdt-events-prices-item__text,
.hdt-events-prices__item.B .hdt-events-prices-item__price {
	font-size: 14px;
	line-height: 21px;
	font-weight: 400;
	color: #7D7D7D;
}
.hdt-events-prices__item.normal .hdt-events-prices-item__line,
.hdt-events-prices__item.member .hdt-events-prices-item__line,
.hdt-events-prices__item.B .hdt-events-prices-item__line {
	display: none;
}
.hdt-events-prices__item.member .hdt-events-prices-item__price,
.hdt-events-prices__item.B .hdt-events-prices-item__price {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.hdt-events-prices__item.member .hdt-events-prices--sthr,
.hdt-events-prices__item.B .hdt-events-prices--sthr {
	font-size: 18px;
}
.hdt-events-prices__item.member .hdt-events-prices__note,
.hdt-events-prices__item.B .hdt-events-prices__note {
	margin-right: auto;
}
.hdt-events-prices__item.normal .hdt-events-prices__note,
.hdt-events-prices__item.member .hdt-events-prices__note,
.hdt-events-prices__item.B .hdt-events-prices__note {
	color: inherit;
}

/*
 * Event Single Post
 * 
 */
.hdt-events__group {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.hdt-events__group + .hdt-events__group {
	margin-top: 20px;
}

.hdt-events-group__title {
	font-family: var(--e-global-typography-primary-font-family), Sans-serif;
	color: var(--e-global-color-8a64ffb);
	font-size: var(--e-global-typography-5ae52b6-font-size);
	line-height: var(--e-global-typography-5ae52b6-line-height);
	font-weight: var(--e-global-typography-5ae52b6-font-weight);
}

.hdt-events-group__list {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.hdt-events-group-list__item {
	display: flex;
	align-items: center;
	padding: 10px 10px 10px 20px;
	background: var(--e-global-color-966b3ca);
}

.hdt-events-group-list-item__title {
	font-family: var(--e-global-typography-primary-font-family), Sans-serif;
	color: var(--e-global-color-8a64ffb);
	font-size: var(--e-global-typography-b0e3ff3-font-size);
	line-height: var(--e-global-typography-b0e3ff3-line-height);
	font-weight: var(--e-global-typography-b0e3ff3-font-weight);
}

.hdt-events-group-list__item .hdt-events-group-list-item__btn,
.hdt-events-group-list__item .hdt-events-group-list-item__btn:hover,
.hdt-events-group-list__item .hdt-events-group-list-item__btn:focus,
.hdt-events-group-list__item .hdt-events-group-list-item__btn:active {
	display: inline-block;
	padding: 8px 20px;
	text-align: center;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	border: none;
	border-radius: 0;
	box-sizing: border-box;
}

.hdt-events-group-list__item .hdt-events-group-list-item__btn {
	margin-left: auto;
}

.hdt-events-group-list-item__flyer {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-left: auto;
	margin-right: 12px;
	padding: 8px 20px;
	font-family: var(--e-global-typography-primary-font-family), Sans-serif;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	box-sizing: border-box;
	border: 0;
	border-radius: 0;
	box-shadow: inset 0 0 0 1px var(--e-global-color-primary);
	color: var(--e-global-color-primary);
	background: transparent;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.hdt-events-group-list-item__flyer svg {
	transform: rotate(180deg);
	flex-shrink: 0;
}

.hdt-events-group-list-item__flyer:hover,
.hdt-events-group-list-item__flyer:focus,
.hdt-events-group-list-item__flyer:active {
	padding: 8px 20px !important;
	border: 0 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	background: rgba(0, 0, 0, 0.04);
	color: var(--e-global-color-primary);
	box-shadow: inset 0 0 0 2px var(--e-global-color-primary);
}

.hdt-events-group-list-item__flyer:hover svg,
.hdt-events-group-list-item__flyer:focus svg {
	transform: rotate(180deg) translateY(-2px);
	transition: transform 0.2s ease;
}

.hdt-events-group-list-item__flyer + .hdt-events-group-list-item__btn {
	margin-left: 0;
}

@media (max-width: 600px) {
	.hdt-events-group-list-item__flyer {
		padding: 5px 10px;
	}
	.hdt-events-group-list-item__flyer span {
		display: none;
	}
}

.hdt-events-group-list__item .hdt-events-group-list-item__btn {
	color: var(--e-global-color-bc26fb6);
	background-color: var(--e-global-color-accent);
	transition: background-color 0.2s, color 0.2s;
}

.hdt-events-group-list__item .hdt-events-group-list-item__btn:hover,
.hdt-events-group-list__item .hdt-events-group-list-item__btn:focus {
	color: rgba(2, 59, 70, 0.7);
}

.elementor-element-d8bb309 a.elementor-button,
.elementor-element-d8bb309 a.elementor-button:visited {
	background-color: #FFFFFF !important;
	color: #525556 !important;
	border: 1px solid #525556 !important;
	transition: background-color .2s, color .2s, border-color .2s;
}

.elementor-element-d8bb309 a.elementor-button:hover,
.elementor-element-d8bb309 a.elementor-button:focus {
	background-color: #034F5E !important;
	color: #FFFFFF !important;
	border-color: #034F5E !important;
}

.hdt-events-prices {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-family: var(--e-global-typography-primary-font-family), Sans-serif;
}

.hdt-events-prices__item {
	display: flex;
	align-items: flex-start;
}

.hdt-events-prices-item__text {
	font-size: var(--e-global-typography-b0e3ff3-font-size);
	line-height: var(--e-global-typography-b0e3ff3-line-height);
	color: var(--e-global-color-8a64ffb);
	flex: 0 1 auto;
}

.hdt-events-prices-item__line {
	flex-grow: 1;
	border-bottom: 1px dotted var(--e-global-color-9b9f1a7);
	height: 20px;
	align-self: baseline;
	margin-left: 8px;
	margin-right: 10px;
}

.hdt-events-prices-item__price {
	font-size: var(--e-global-typography-b0e3ff3-font-size);
	line-height: var(--e-global-typography-b0e3ff3-line-height);
	color: var(--e-global-color-8a64ffb);
	flex: 0 1 auto;
}

.hdt-events-prices__note {
	color: var(--e-global-color-99afb8f);
}

.hdt-events-prices--sthr {
	text-decoration: line-through;
	color: var(--e-global-color-28838c0);
}

.hdt-content-toggle__content {
	height: 0;
	overflow: hidden;
	transition: height 0.3s ease;
}

.hdt-content-toggle__toggle-title {
	cursor: pointer;
}

.hdt-content-toggle__toggler {
	display: inline-block;
	transform: rotate(0deg);
	transition: transform 0.3s ease;
	transform-origin: center;
}

.hdt-content-toggle__toggler--active {
	transform: rotate(180deg);
}

/*
 * Menu / Navigation
 * 
 */
.jet-mobile-menu__instance--slide-out-layout .jet-mobile-menu__container {
    z-index: 99999 !important;
}

.jet-mobile-menu__item.hdt-menu-headline {
    display: none !important;
}

.jet-mobile-menu__item--active > .jet-mobile-menu__item-inner > a,
.jet-mobile-menu__item--active > .jet-mobile-menu__item-inner .jet-menu-label,
.jet-mobile-menu__item.current-menu-item > .jet-mobile-menu__item-inner .jet-menu-label,
.jet-mobile-menu__item.current-menu-ancestor > .jet-mobile-menu__item-inner .jet-menu-label,
.jet-mobile-menu__item.current-menu-parent > .jet-mobile-menu__item-inner .jet-menu-label {
    color: #047990 !important;
    font-weight: 500 !important;
}

.fa-times::before {
    content: "\e831";
    font-family: "hdt-icons" !important;
    font-style: normal;
    font-weight: normal;
}

:not(.elementor-location-header) .hdt-menu-dropdown .e-n-menu-heading {
    flex-wrap: wrap;
}

.jet-mega-menu--layout-horizontal .jet-mega-menu-sub-menu .jet-mega-menu-item:hover > .jet-mega-menu-sub-menu {
    visibility: visible !important;
    pointer-events: auto !important;
    height: auto !important;
    overflow: visible !important;
}

.hdt-menu--main .jet-mega-menu-sub-menu__list {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.hdt-menu--main .jet-mega-menu-list {
    align-items: center !important;
}

.elementor-menu-cart__toggle:hover .elementor-button-text:after,
.elementor-menu-cart__toggle:hover .e-toggle-cart-custom-icon,
.jet-mega-menu-item__inner:hover .jet-mega-menu-item__label ,
.jet-mega-menu-item__inner:hover .jet-mega-menu-item__dropdown svg path {
    color: #047990;
}

.hdt-menu--main .jet-mega-menu-sub-menu__list .jet-mega-menu-item__icon {
    order: 2;
}

.hdt-menu--main .jet-mega-hdt-menu-item-last {
    position: relative;
    padding-top: 40px;
}

.hdt-menu--main .jet-mega-hdt-menu-item-last a {
    font-size: var(--e-global-typography-758d7a4-font-size) !important;
    font-weight: var(--e-global-typography-758d7a4-font-weight) !important;
    line-height: var(--e-global-typography-758d7a4-line-height) !important;
    color: var(--e-global-color-8a64ffb) !important;
}

.hdt-menu--main .jet-mega-hdt-menu-item-last a * {
    color: var(--e-global-color-8a64ffb);
}

.hdt-menu--main .jet-mega-hdt-menu-item-last a:hover * {
    color: var(--e-global-color-1e19c7f);
}

.hdt-menu--main .jet-mega-hdt-menu-item-last::before {
    content: "";
    position: absolute;
    top: 20px;
    left: 20px;
    width: calc(100% - 40px);
    border-top: 1px solid var(--e-global-color-02e42e4);
}


.hdt-menu--main .jet-mega-menu-item--top-level:first-child .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level:first-child .jet-mega-menu-item__inner,
.hdt-menu--main .jet-mega-menu-item--top-level:first-child .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level:first-child:hover .jet-mega-menu-item__inner,
.hdt-menu--main .jet-mega-menu-item--top-level:first-child .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level:first-child:focus .jet-mega-menu-item__inner,
.hdt-menu--main .jet-mega-menu-item--top-level:first-child .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level.jet-mega-menu-item--hover:first-child .jet-mega-menu-item__inner,
.hdt-menu--main .jet-mega-menu-item--top-level:first-child .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level:first-child .jet-mega-menu-item__inner .jet-mega-menu-item__label,
.hdt-menu--main .jet-mega-menu-item--top-level:first-child .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level:first-child:hover .jet-mega-menu-item__inner .jet-mega-menu-item__label,
.hdt-menu--main .jet-mega-menu-item--top-level:first-child .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level:first-child:focus .jet-mega-menu-item__inner .jet-mega-menu-item__label,
.hdt-menu--main .jet-mega-menu-item--top-level:first-child .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level.jet-mega-menu-item--hover:first-child .jet-mega-menu-item__inner .jet-mega-menu-item__label {
	background: transparent !important;
	color: var(--e-global-color-primary) !important;
	cursor: default;
	pointer-events: none;
	font-family: var(--e-global-typography-7455e76-font-family), Sans-serif;
	font-size: var(--e-global-typography-7455e76-font-size);
	font-weight: var(--e-global-typography-7455e76-font-weight);
	line-height: var(--e-global-typography-7455e76-line-height);
}

.hdt-menu--main .jet-mega-menu-item--top-level .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level .jet-mega-menu-item__inner .jet-mega-menu-item__link {
	flex: 1;
}

.hdt-menu--main .jet-mega-menu-item--top-level:first-child .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level:first-child .jet-mega-menu-item__inner,
.hdt-menu--main .jet-mega-menu-item--top-level:first-child .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level:first-child:hover .jet-mega-menu-item__inner,
.hdt-menu--main .jet-mega-menu-item--top-level:first-child .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level:first-child:focus .jet-mega-menu-item__inner,
.hdt-menu--main .jet-mega-menu-item--top-level:first-child .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level.jet-mega-menu-item--hover:first-child .jet-mega-menu-item__inner {
	margin-bottom: 6px;
}

.hdt-menu--main .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level:last-child .jet-mega-menu-item__inner,
.hdt-menu--main .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level:last-child:hover .jet-mega-menu-item__inner,
.hdt-menu--main .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level:last-child:focus .jet-mega-menu-item__inner,
.hdt-menu--main .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level.jet-mega-menu-item--hover:last-child .jet-mega-menu-item__inner,
.hdt-menu--main .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level:last-child .jet-mega-menu-item__inner .jet-mega-menu-item__label,
.hdt-menu--main .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level:last-child:hover .jet-mega-menu-item__inner .jet-mega-menu-item__label,
.hdt-menu--main .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level:last-child:focus .jet-mega-menu-item__inner .jet-mega-menu-item__label,
.hdt-menu--main .jet-mega-menu-sub-menu__list .jet-mega-menu-item--sub-level.jet-mega-menu-item--hover:last-child .jet-mega-menu-item__inner .jet-mega-menu-item__label {
	background: transparent;
}

.hdt-menu--main .jet-mega-menu-toggle-icon.jet-mega-menu-toggle-icon--opened-state svg,
.hdt-menu--main .jet-mega-menu-toggle-icon.jet-mega-menu-toggle-icon--default-state svg {
	display: none
}

.hdt-menu--main .jet-mega-menu-toggle-icon.jet-mega-menu-toggle-icon--default-state:after {
	background: url("data:image/svg+xml,%3Csvg width='37' height='30' viewBox='0 0 37 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.125 1.8125C0.125 1.15625 0.699219 0.5 1.4375 0.5H35.5625C36.2188 0.5 36.875 1.15625 36.875 1.8125C36.875 2.55078 36.2188 3.125 35.5625 3.125H1.4375C0.699219 3.125 0.125 2.55078 0.125 1.8125ZM0.125 14.9375C0.125 14.2812 0.699219 13.625 1.4375 13.625H35.5625C36.2188 13.625 36.875 14.2812 36.875 14.9375C36.875 15.6758 36.2188 16.25 35.5625 16.25H1.4375C0.699219 16.25 0.125 15.6758 0.125 14.9375ZM36.875 28.0625C36.875 28.8008 36.2188 29.375 35.5625 29.375H1.4375C0.699219 29.375 0.125 28.8008 0.125 28.0625C0.125 27.4062 0.699219 26.75 1.4375 26.75H35.5625C36.2188 26.75 36.875 27.4062 36.875 28.0625Z' fill='%23525556'/%3E%3C/svg%3E");

	content: "";
	background-size: 100%;
	background-repeat: no-repeat;
	margin-top: 10px
}


.hdt-menu--main .jet-mega-menu-toggle-icon.jet-mega-menu-toggle-icon--opened-state:after {
	background: url("data:image/svg+xml,%3Csvg width='37' height='37' viewBox='0 0 37 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 2 L35 32' stroke='%23525556' stroke-width='3'%3E%3C/path%3E%3Cpath d='M35 2 L2 32' stroke='%23525556' stroke-width='3'%3E%3C/path%3E%3C/svg%3E");
	margin-top: 10px;
	background-size: 100%;
	background-repeat: no-repeat;
	content: "";
}
.hdt-menu--main .jet-mega-menu-toggle-icon.jet-mega-menu-toggle-icon--opened-state:after,
.hdt-menu--main .jet-mega-menu-toggle-icon.jet-mega-menu-toggle-icon--default-state:after {
	width: 44px;
	height: 44px;

}

.hdt-menu-dropdown .e-n-menu-item .e-n-menu-dropdown-icon{
    margin-left: 10px;
}

.hdt-menu-dropdown .e-n-menu-title-container{
    gap: 10px;
}
[id^="e-n-menu-content-"] > .elementor-widget,
.e-n-menu-content.e-active .elementor-widget-container{
    z-index: 999;
}
.e-n-menu-content>.e-con{
    filter: drop-shadow(0px 8px 32px rgba(0, 0, 0, 0.2));
    box-shadow: 0px 8px 32px rgba(11, 32, 39, 0.2);
    position: relative;
}

/* .hdt-menu-dropdown .e-n-menu-content>.e-con:after{
      content: "";
      position: absolute;
      width: 100%;
      height: 40px;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);
      left: 0;
      bottom: 0;
    }*/

.hdt-menu-dropdown .e-n-menu-content>.e-con:after,
.e-n-menu-content>.e-con:after {
    display: none !important;
    content: none !important;
}
.jet-date-range {
    padding: 8px 0;
}
.hdt-menu-dropdown .jet-filter-items-search__input{
    border-radius: 0;
    background-color: #F4F4F1;
    border-color: #D7D7D5;
    color: #525556;
}
.hdt-menu-dropdown .jet-checkboxes-list__decorator{
    border-radius: 2px;
    width: 17px;
    height: 17px;
    border: 1px solid #2D2E2F;
}

.hdt-menu-dropdown {
    --n-menu-title-color-normal: #2D2E2F !important;
    --n-menu-title-color-hover: var(--e-global-color-1e19c7f) !important;
    --n-menu-icon-color: #2D2E2F !important;
}

.hdt-menu-dropdown .e-n-menu-title,
.hdt-menu-dropdown .e-n-menu-title-container,
.hdt-menu-dropdown .e-n-menu-title-text,
.hdt-menu-dropdown .e-n-menu-icon,
.hdt-menu__cart .elementor-menu-cart__toggle_button {
    cursor: pointer !important;
}

/* Mini-Cart-Flyout: bei vielen Positionen lief der Flyout ueber den Viewport hinaus,
   die Footer-Buttons (Warenkorb anzeigen / Zur Kasse) waren nicht erreichbar.
   Den gesamten Cart-Inhalt scrollbar machen + die Produktliste begrenzen. */
.elementor-menu-cart__main {
    max-height: 100vh !important;
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column;
    overflow: hidden !important;
}
/* Admin-Bar: Panel ist position:fixed top:0 bottom:0 (= 100vh). Mit Admin-Bar oben
   verdeckt, unten abgeschnitten. Daher top um die Admin-Bar-Hoehe nach unten schieben
   (bottom:0 bleibt -> Hoehe wird automatisch 100vh - Admin-Bar). */
.admin-bar .elementor-menu-cart__main {
    top: 32px !important;
}
@media screen and (max-width: 782px) {
    .admin-bar .elementor-menu-cart__main {
        top: 46px !important;
    }
}
.elementor-menu-cart__main .widget_shopping_cart_content {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
.elementor-menu-cart__main .elementor-menu-cart__products {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding-right: 22px;
}
.elementor-menu-cart__main .elementor-menu-cart__subtotal,
.elementor-menu-cart__main .elementor-menu-cart__footer-buttons,
.elementor-menu-cart__main .woocommerce-mini-cart__total,
.elementor-menu-cart__main .woocommerce-mini-cart__buttons {
    flex: 0 0 auto;
}
.elementor-menu-cart__main .elementor-menu-cart__footer-buttons {
    padding-bottom: 20px;
}

/* Mini-Cart nach Event gruppiert (analog Warenkorb-Seite), kompakt fuer die Sidebar */
.elementor-menu-cart__products .hdt-minicart__event {
    padding: 16px 0 !important;
    margin: 0 !important;
    display: block !important;
    border-bottom: 1px solid #ececec;
}
.elementor-menu-cart__products .hdt-minicart__event:last-of-type {
    border-bottom: none;
}
.hdt-minicart__event-head {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 6px;
}
.elementor-menu-cart__products .hdt-minicart__event-name {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.25;
    color: #034F5E !important;
}
.hdt-minicart__event-remove {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    line-height: 1;
    font-size: 1.25rem;
    text-decoration: none;
    color: #9a9d9e;
    opacity: 1 !important;
}
.hdt-minicart__event-remove:hover {
    color: var(--e-global-color-5a698b8, #c0392b);
}
.hdt-minicart__event-meta {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 1px 8px;
    margin: 0 0 8px;
    font-size: 0.76rem;
    line-height: 1.35;
    color: var(--e-global-color-8a64ffb, #555);
}
.hdt-minicart__event-meta dt { font-weight: 600; margin: 0; }
.hdt-minicart__event-meta dd { margin: 0; }
.hdt-minicart__type { margin-bottom: 6px; }
.hdt-minicart__type-label {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--e-global-color-secondary, #525556);
    margin: 4px 0 2px;
}
.hdt-minicart__attendees { list-style: none; margin: 0; padding: 0; }
.hdt-minicart__attendee {
    display: grid;
    grid-template-columns: 1fr max-content 18px;
    align-items: center;
    gap: 8px;
    padding: 3px 0 !important;
    margin: 0 !important;
    border: none !important;
    font-size: 0.82rem;
}
.hdt-minicart__attendee-name { overflow-wrap: anywhere; }
.hdt-minicart__attendee-price { font-variant-numeric: tabular-nums; white-space: nowrap; font-weight: 600; }
.hdt-minicart__attendee .hdt-minicart__attendee-remove {
    position: static !important;
    grid-column: 3;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    line-height: 1;
    font-size: 1.15rem;
    text-decoration: none;
    color: #9a9d9e;
    opacity: 1 !important;
}
.hdt-minicart__attendee .hdt-minicart__attendee-remove:hover {
    color: var(--e-global-color-5a698b8, #c0392b);
}
.hdt-minicart__event-subtotal {
    /* Gleiches Grid wie .hdt-minicart__attendee, damit der Betrag exakt unter
       den Teilnehmer-Preisen steht (3. Spalte = Platz des Entfernen-×). */
    display: grid;
    grid-template-columns: 1fr max-content 18px;
    gap: 8px;
    margin-top: 8px;
    padding-top: 6px;
    border-top: 1px solid #ececec;
    font-weight: 700;
    font-size: 0.82rem;
}
.hdt-minicart__event-subtotal-value { font-variant-numeric: tabular-nums; }

.hdt-menu-dropdown .e-n-menu-content {
    cursor: auto;
}

.hdt-menu--main .jet-mega-menu-item--top-level > .jet-mega-menu-sub-menu > .jet-mega-menu-sub-menu__list {
    max-height: calc(100vh - 140px);
    overflow-y: auto;
    overscroll-behavior: contain;
}

.hdt-menu-dropdown .e-n-menu-icon,
.hdt-menu-dropdown .e-n-menu-icon i,
.hdt-menu-dropdown .e-n-menu-icon svg {
    position: relative;
    font-weight: 600 !important;
    color: #2D2E2F !important;
    fill: #2D2E2F !important;
    transition: color 0.2s ease, fill 0.2s ease;
}

.hdt-menu-dropdown .e-n-menu-title:hover .e-n-menu-icon,
.hdt-menu-dropdown .e-n-menu-title:hover .e-n-menu-icon i,
.hdt-menu-dropdown .e-n-menu-title:hover .e-n-menu-icon svg,
.hdt-menu-dropdown .e-n-menu-title-container:hover .e-n-menu-icon,
.hdt-menu-dropdown .e-n-menu-title-container:hover .e-n-menu-icon i,
.hdt-menu-dropdown .e-n-menu-title-container:hover .e-n-menu-icon svg {
    color: var(--e-global-color-1e19c7f) !important;
    fill: var(--e-global-color-1e19c7f) !important;
}

.hdt-menu__cart .elementor-button-icon {
    position: relative;
    font-weight: 600 !important;
    color: #2D2E2F;
}

.hdt-menu-dropdown .e-n-menu-title-text,
.hdt-menu__cart .elementor-menu-cart__toggle_button > .elementor-button-text:after {
    font-family: var(--e-global-typography-d812632-font-family), sans-serif;
    font-weight: var(--e-global-typography-d812632-font-weight);
    font-size: var(--e-global-typography-d812632-font-size);
    color: #2D2E2F;
}

.hdt-menu-dropdown .e-n-menu-title:hover .e-n-menu-title-text,
.hdt-menu__cart .elementor-menu-cart__toggle_button:hover,
.hdt-menu__cart .elementor-menu-cart__toggle_button:hover > .elementor-button-text:after,
.hdt-menu__cart .elementor-menu-cart__toggle_button:hover .e-toggle-cart-custom-icon,
.hdt-menu__cart .elementor-menu-cart__toggle_button:hover .elementor-button-icon {
    color: #047990 !important;
}

.hdt-menu-dropdown.hdt-menu-dropdown--user .e-n-menu-icon:after {
    content: "\e80b";
    font-family: "hdt-icons";
    font-size: 8px;
    display: flex;
    width: 16px;
    height: 16px;
    border-radius: 16px;
    border: 1.5px solid #FFF;
    background-color: var(--e-global-color-primary);
    align-items: center;
    justify-content: center;
    line-height: 14px;
    position: absolute;
    bottom: 0px;
    right: -10px;
    display: none;
    color: #FFF;
}

.hdt-menu__cart .elementor-menu-cart__toggle_button {
    background-color: transparent;
    padding: 0;
}

.hdt-menu__cart .elementor-menu-cart__toggle_button .e-toggle-cart-custom-icon {
    color: #2D2E2F !important;
}

.hdt-menu__cart .elementor-button:hover {
    background: transparent;
}

.hdt-menu__cart .elementor-menu-cart__toggle_button > .elementor-button-text:after {
    content: "Warenkorb";
}

.hdt-menu__cart .elementor-menu-cart__toggle_button > .elementor-button-text > .amount {
    display: none;
}

.hdt-menu__cart .elementor-lightbox {
    background-color: rgba(0,0,0,0.8);
}

.hdt-menu__cart .elementor-menu-cart__main {
    width: 480px;
    padding: 30px 60px 30px 60px;
    gap: 20px;
}

.hdt-menu__cart .elementor-menu-cart__close-button-custom {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0px;
    pointer-events: none;
}

.hdt-menu__cart .elementor-menu-cart__close-button-custom::before {
    content: "Warenkorb";
    color: var(--e-global-color-9b9f1a7);
    font-family: var(--e-global-typography-a1286e6-font-family), Sans-serif;
    font-size: var(--e-global-typography-a1286e6-font-size);
    font-weight: var(--e-global-typography-a1286e6-font-weight);
    line-height: var(--e-global-typography-a1286e6-line-height);
}

.hdt-menu__cart .elementor-menu-cart__close-button-custom:hover,
.hdt-menu__cart .elementor-menu-cart__close-button-custom:focus {
    background: transparent !important;
}

.hdt-menu__cart .elementor-menu-cart__close-button-custom:hover::before,
.hdt-menu__cart .elementor-menu-cart__close-button-custom:hover::after {
    background: none !important;
}

.hdt-menu__cart .elementor-menu-cart__close-button-custom .e-close-cart-custom-icon {
    display: none !important;
}

.hdt-menu__cart .elementor-menu-cart__close-button-custom::after {
    content: "\00d7";
    font-size: 28px;
    line-height: 1;
    color: var(--e-global-color-9b9f1a7);
    font-style: normal;
    transition: color 0.2s;
    pointer-events: auto;
    cursor: pointer;
}

.hdt-menu__cart .elementor-menu-cart__close-button-custom:hover::after {
    color: var(--e-global-color-1e19c7f);
}

.hdt-menu__cart .elementor-menu-cart__product {
    display: block;
}

.hdt-menu__cart .elementor-menu-cart__product-image {
    display: none;
}

.hdt-menu__cart .elementor-menu-cart__product-name, .hdt-menu__cart .elementor-menu-cart__product-price {
    padding-left: 0;
}

.hdt-menu__cart .elementor-menu-cart__product-name {
    font-weight: 500;
    font-size: 16px;
}

.hdt-menu__cart .elementor-menu-cart__product-name .variation {
    font-weight: 400;
    font-size: 14px;
}

.hdt-menu__cart .elementor-menu-cart__product-price * {
    font-weight: 500;
    font-size: 16px;
}

.hdt-menu__cart .elementor-menu-cart__product-remove {
    overflow: visible !important;
    width: auto !important;
    height: auto !important;
    border: none !important;
    background: transparent !important;
}

.hdt-cart__item-action button {
    background: none !important;
    padding: 0 !important;
    border: none !important;
}

.jet-listing-grid__slider-icon {
    background: rgba(182, 235, 38, 0.3) !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    width: 36px !important;
    height: 36px !important;
    z-index: 10;
}

.jet-listing-grid__slider-icon path {
    fill: #2D2E2F !important;
}

.jet-listing-grid__slider-icon svg {
    width: 24px;
    height: 24px;
}

.jet-date-range__submit {
    background-image: none !important;
}

.hdt-cart__item-action button:hover,
.hdt-cart__item-action button:focus {
    background: var(--e-global-color-5a698b8) !important;
}

.hdt-cart__item-action button:hover path,
.hdt-cart__item-action button:focus path {
    fill: white !important;
}

.hdt-menu__cart .elementor-menu-cart__product-remove::before,
.hdt-menu__cart .elementor-menu-cart__product-remove::after {
    display: none !important;
}

.elementor-widget-button:has(#hdt-digital-campus-button) {
    width: 100% !important;
    max-width: 340px !important;
    margin-left: 24px !important;
    --container-widget-width: 100% !important;
}

.elementor-widget-button:has(#hdt-digital-campus-button) > .elementor-widget-container {
    display: block !important;
    max-width: 100% !important;
}

.elementor-widget-button:has(#hdt-digital-campus-button) .elementor-button-wrapper {
    text-align: left !important;
    display: block !important;
}

a#hdt-digital-campus-button.elementor-button,
a#hdt-digital-campus-button.elementor-button-link,
#hdt-digital-campus-button.elementor-button {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #050505 !important;
    text-align: left !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    font-family: var(--e-global-typography-text-font-family), sans-serif !important;
    font-size: var(--e-global-typography-text-font-size, 1rem) !important;
    font-weight: var(--e-global-typography-text-font-weight, 400) !important;
    line-height: var(--e-global-typography-text-line-height, 1.5) !important;
    letter-spacing: var(--e-global-typography-text-letter-spacing, normal) !important;
    box-shadow: none !important;
    min-height: 0 !important;
    display: block !important;
    fill: #050505 !important;
    transition: color 0.2s ease;
}

#hdt-digital-campus-button .elementor-button-content-wrapper,
#hdt-digital-campus-button .elementor-button-text {
    text-align: left !important;
    font: inherit !important;
    color: inherit !important;
    text-decoration: inherit !important;
    display: block !important;
}

#hdt-digital-campus-button:hover,
#hdt-digital-campus-button:focus,
#hdt-digital-campus-button:visited:hover,
#hdt-digital-campus-button.elementor-button:hover,
#hdt-digital-campus-button.elementor-button:focus,
#hdt-digital-campus-button:hover .elementor-button-text,
#hdt-digital-campus-button:hover .elementor-button-content-wrapper,
#hdt-digital-campus-button:focus .elementor-button-text,
#hdt-digital-campus-button:focus .elementor-button-content-wrapper,
#hdt-digital-campus-button:hover *,
#hdt-digital-campus-button:focus * {
    background: transparent !important;
    background-color: transparent !important;
    color: #6B9A00 !important;
    text-decoration: underline !important;
    text-decoration-color: #6B9A00 !important;
    border-color: #6B9A00 !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
    transition: color 0.2s ease;
}

#hdt-digital-campus-button:visited,
#hdt-digital-campus-button:visited .elementor-button-text,
#hdt-digital-campus-button:visited .elementor-button-content-wrapper {
    color: #050505 !important;
}

.hdt-menu__cart .elementor-menu-cart__product-remove .hdt-cart__item-action--edit,
.hdt-menu__cart .elementor-menu-cart__product-remove .hdt-cart__item-action-button-confirm,
.hdt-menu__cart .elementor-menu-cart__product-remove .hdt-cart__item-action-button-cancel,
.hdt-menu__cart .elementor-menu-cart__product-remove .hdt-cart__item-actions + .hdt-cart__item-actions {
    display: none !important;
}

.hdt-menu__cart .elementor-menu-cart__footer-buttons a.elementor-button--view-cart,
.hdt-menu__cart .elementor-menu-cart__footer-buttons a.elementor-button--view-cart:visited {
    background-color: #FFFFFF !important;
    color: #525556 !important;
    border: 1px solid #525556 !important;
}

.hdt-menu__cart .elementor-menu-cart__footer-buttons a.elementor-button--view-cart:hover,
.hdt-menu__cart .elementor-menu-cart__footer-buttons a.elementor-button--view-cart:focus {
    background-color: #034F5E !important;
    color: #FFFFFF !important;
    border-color: #034F5E !important;
}

.hdt-menu__cart .elementor-menu-cart__footer-buttons a.elementor-button--checkout,
.hdt-menu__cart .elementor-menu-cart__footer-buttons a.elementor-button--checkout:visited {
    background-color: #95C11F !important;
    color: #023B46 !important;
    border: 1px solid #95C11F !important;
    transition: color .2s;
}

.hdt-menu__cart .elementor-menu-cart__footer-buttons a.elementor-button--checkout:hover,
.hdt-menu__cart .elementor-menu-cart__footer-buttons a.elementor-button--checkout:focus {
    background-color: #95C11F !important;
    color: rgba(2, 59, 70, 0.7) !important;
    border-color: #95C11F !important;
}

@media only screen and (min-width: 768px) and (max-width: 1024px)  {
	.hdt-menu--main .jet-mega-menu-toggle-icon svg {
		width: 37px;
	}
}

@media only screen and (min-width: 1025px)  {
	.hdt-menu--main .elementor-widget-jet-mega-menu {
		order: unset;
	}
}

@media only screen and (max-width: 1025px)  {
	.hdt-menu--main .hdt-menu__item.menu-item--parent:hover .hdt-submenu{
		position: unset !important;

		width: unset !important; 
		box-shadow: unset !important; 
		background-color:unset !important; 
	} 
	
	.hdt-menu--main .hdt-menu__item.menu-item--parent>a {
		pointer-events: none;
	}

	.hdt-menu--main .jet-mega-menu.jet-mega-menu--layout-dropdown.jet-mega-menu--dropdown-layout-default .jet-mega-menu-container {
		left: -15px;
		top: 58px;
	}

	.hdt-menu--main .jet-mega-menu.jet-mega-menu--layout-dropdown.jet-mega-menu--dropdown-open .jet-mega-menu-toggle {
		background-color: transparent !important;
	}

	.hdt-menu--main .jet-mega-menu-container {
		background-color: white !important;
	}

	.hdt-menu--main .jet-mega-menu.jet-mega-menu--layout-dropdown .jet-mega-menu-sub-menu .jet-mega-menu-item__inner {
		padding-top:0;
		padding-bottom:0;
	}
}

/*@media (max-width:1366px) {
	.hdt-menu-dropdown .e-n-menu-title-text {
@media (max-width:1366px) {
	.elementor-location-header .hdt-menu-dropdown .e-n-menu-title-text {
		display:none;
	}

	.elementor-location-header .hdt-menu__cart .elementor-menu-cart__toggle_button > .elementor-button-text:after {
		display:none;
	}
}*/

@media only screen and (max-width: 768px) {
	.hdt-menu--main .jet-mega-menu.jet-mega-menu--layout-dropdown.jet-mega-menu--dropdown-layout-default .jet-mega-menu-container {
		left: -15px;
		top: 45px;
	}

	.hdt-menu--main .jet-mega-menu-toggle-icon.jet-mega-menu-toggle-icon--opened-state:after,
	.hdt-menu--main .jet-mega-menu-toggle-icon.jet-mega-menu-toggle-icon--default-state:after {
		width: 24px;
		height: 24px;
		margin-top: 6px;
	}

	.hdt-menu--main .jet-mega-menu-toggle-icon.jet-mega-menu-toggle-icon--opened-state:after {
		margin-top: 0px;
	}


	.hdt-menu--main .jet-mega-menu--dropdown-open .elementor-element.elementor-element-7a46ea1f {
		padding: 0;
		display: flex !important;
	}

	.hdt-menu--main  .elementor-icon-list--layout-inline {
		height: 21px;
	}
}
@media only screen and (max-width: 480px)  {
	.hdt-menu--main  .jet-mega-menu-container {
		width: 100vw !important;
	}
}
/*
 * EventGroup Navigation
 * 
 */
.hdt-menu__item,
.hdt-menu__item a {
  color: inherit;
  text-decoration: none;
  transition: background-color .2s;
  line-height: var(--e-global-typography-d812632-line-height) !important;
}

.hdt-submenu {
  display: flex;
  flex-direction: column;
}

.hdt-submenu .hdt-menu__title {
  display: none;
}

.hdt-submenu .hdt-menu__item {
  padding-left: 32px;
  padding-right: 32px;
}

.hdt-submenu .hdt-menu__link {
  margin-bottom: 30px;
}

.hdt-submenu .hdt-menu__seperator {
  margin-left: 40px;
  margin-right: 40px;
}

.hdt-menu--page {
  color: var(--e-global-color-9b9f1a7);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4em;
}

.hdt-menu--page .hdt-menu__item a {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}

.hdt-menu--page .hdt-menu__item .elementor-icon {
  margin-left: auto;
}

.hdt-menu--page .hdt-menu__item .elementor-icon svg {
  height: 16px;
  width: 10px;
  display: block;
  fill: var(--e-global-color-primary);
}

.hdt-menu--page .hdt-menu__item {
  padding: 8px 16px;
}

.hdt-menu--page .hdt-menu__item:hover,
.hdt-menu--page .hdt-menu__item:focus {
  background-color: var(--e-global-color-21063c4);
}

.hdt-menu--page .menu-item--active {
  background-color: var(--e-global-color-accent) !important;
}

.hdt-menu--page .hdt-menu__seperator {
  height: 1px;
  background-color: var(--e-global-color-02e42e4);
  width: 100%;
  margin: 20px 40px;
}

.hdt-menu--page .hdt-menu__link,
.hdt-menu--page .hdt-menu__link:hover, 
.hdt-menu--page .hdt-menu__link:focus {
  color: var(--e-global-color-8a64ffb);
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.5em !important;
  text-decoration: none;
  margin-bottom: 11px;
  padding: 8px 0 !important;
  display: inline-block;
}

.hdt-menu--page .hdt-submenu {
  display: flex;
  flex-direction: column;
  padding-left: 16px;
}

/*
 * EventGroup
 *
 */
/*
 * Themen Grid - icons
 */
.hdt-topic-grid .tile-card > .e-con-inner {
    padding: 0 !important;
    flex-direction: column !important;
}

.hdt-topic-grid .jet-listing-grid__item {
    height: auto !important;
}

.hdt-topic-grid .tile-card {
    height: auto !important;
}

.hdt-topic-grid .tile-card .elementor-widget-image {
    flex-shrink: 0;
    overflow: hidden;
}

.hdt-topic-grid .tile-card .elementor-widget-image img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 1/1;
    object-fit: contain;
}

.hdt-topic-grid .jet-listing-dynamic-link {
    padding: 10px 0 4px;
}

.hdt-event-more {
    display: block;
    margin-top: 2px;
    font-size: 0.85em;
    font-weight: 400;
}

.hdt-event-price-value {
    color: #034F5E;
}

.hdt-event-category {
    font-size: 14px;
    line-height: 1.4;
}

/* Zummit-Badges (Neu, Tipp, ...) auf dem Kartenbild, direkt rechts neben dem
   Format-Chip (weisses jet-listing-dynamic-terms-Widget). Metriken identisch
   zum Format-Chip: 12px/500, padding 4px 8px, eckig. */
.elementor-widget-jet-listing-dynamic-terms .hdt-event-badges {
    position: absolute;
    left: calc(100% + 6px);
    top: 0;
    display: flex;
    gap: 6px;
}
.hdt-event-badge {
    display: inline-block;
    background: #95C11F;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
    padding: 4px 8px;
    white-space: nowrap;
}


.hdt-sched__row {
    margin-bottom: 14px;
}

.hdt-sched__label {
    display: block;
    color: var( --e-global-color-1de3f2b );
    font-family: var( --e-global-typography-abb6706-font-family ), Sans-serif;
    font-size: var( --e-global-typography-abb6706-font-size );
    font-weight: var( --e-global-typography-abb6706-font-weight );
    line-height: var( --e-global-typography-abb6706-line-height );
}

.hdt-sched__value {
    display: block;
    color: var( --e-global-color-5a698b8 );
    font-family: var( --e-global-typography-758d7a4-font-family ), Sans-serif;
    font-size: var( --e-global-typography-758d7a4-font-size );
    font-weight: var( --e-global-typography-758d7a4-font-weight );
    line-height: var( --e-global-typography-758d7a4-line-height );
}

.hdt-sched__wunsch {
    margin-bottom: 14px;
    color: var( --e-global-color-5a698b8 );
    font-family: var( --e-global-typography-758d7a4-font-family ), Sans-serif;
    font-size: var( --e-global-typography-758d7a4-font-size );
    font-weight: 600;
}

.hdt-event-more {
    position: relative;
    cursor: help;
}

.hdt-event-more__tip {
    position: absolute;
    left: 0;
    bottom: 100%;
    z-index: 20;
    display: none;
    min-width: 160px;
    margin-bottom: 6px;
    padding: 8px 10px;
    background: #ffffff;
    border: 1px solid #d4d4d4;
    border-radius: 4px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    color: #034F5E;
    white-space: nowrap;
}

.hdt-event-more__tip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 16px;
    border: 6px solid transparent;
    border-top-color: #ffffff;
}

.hdt-event-more__date {
    display: block;
}

.hdt-event-more:hover .hdt-event-more__tip,
.hdt-event-more:focus .hdt-event-more__tip {
    display: block;
}

.hdt-topic-listing .jet-listing-dynamic-repeater__items {
    flex-direction: column;
    gap: 10px;
}

.hdt-topic-listing .jet-listing-dynamic-repeater__items .jet-listing-dynamic-repeater__item {
    display: flex;
    flex-direction: row;
    align-items: start;
    color: var(--e-global-color-5a698b8);

}

.hdt-topic-listing .jet-listing-dynamic-repeater__items .jet-listing-dynamic-repeater__item i {
    font-size: 130%;
    line-height: 120%;
    width: 30px;
    color: var(--e-global-color-1de3f2b);
}

.hdt-filter.hdt-filter--sorting .jet-smart-filters-sorting {
    position: relative;
    display: inline-block;
}

.hdt-filter.hdt-filter--sorting .jet-smart-filters-sorting {
    width: 100%;
}

.hdt-filter.hdt-filter--sorting .jet-sorting::before {
  content: "\e80d";
  font-family: "hdt-icons";
  font-size: 18px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  display: inline-block;
  color: var(--e-global-color-9b9f1a7);
}

/* WooCommerce address skeleton loader */
.hdt-address-loading {
    position: relative;
    isolation: isolate;
}

.hdt-address-loading.hdt-loading-active > :not(.hdt-address-skeleton) {
    visibility: hidden;
    opacity: 0;
}

.hdt-address-loading.hdt-loading-active *:not(.hdt-address-skeleton) {
    visibility: hidden;
}

.hdt-address-loading.hdt-loading-active .hdt-address-skeleton,
.hdt-address-loading.hdt-loading-active .hdt-address-skeleton * {
    visibility: visible;
    opacity: 1;
}

.hdt-address-skeleton {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    overflow: hidden;
    z-index: 1;
    background: rgba(15, 23, 42, 0.28);
    backdrop-filter: blur(3px) brightness(0.94);
    -webkit-backdrop-filter: blur(3px) brightness(0.94);
    filter: saturate(0.96);
}

.hdt-address-skeleton::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.12), rgba(15, 23, 42, 0.1));
}

.hdt-address-skeleton::after {
    content: "";
    position: absolute;
    inset: -40%;
    transform: translateX(-100%);
    background: linear-gradient(115deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0));
    animation: hdt-address-skeleton-wave 1.25s ease-in-out infinite;
}

.hdt-address-skeleton.is-complete {
    animation: hdt-address-skeleton-fade 220ms ease forwards;
}

@keyframes hdt-address-skeleton-wave {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

@keyframes hdt-address-skeleton-fade {
    to {
        opacity: 0;
        visibility: hidden;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hdt-address-skeleton::after {
        animation-duration: 3.2s;
    }

    .hdt-address-skeleton.is-complete {
        animation-duration: 0.01ms;
    }
}

/* Pagination im Kundenkonto rechtsbuendig. Die Doppelklasse trifft nur das
   Bestellungen-Template — die JSF-Pagination im Rest der Website hat kein
   .woocommerce-pagination und bleibt, wie sie ist. */
.hdt-pagination.woocommerce-pagination {
    justify-content: flex-end;
}

.hdt-pagination .prev > .jet-filters-pagination__link::before {
    content: "\e80e";
    font-family: "hdt-icons";
    margin-right: 10px;
}

.hdt-pagination .next > .jet-filters-pagination__link::after {
    content: "\e80f";
    font-family: "hdt-icons";
    margin-left: 10px;
}

@media (min-width: 769px) {
    .woocommerce {
        flex-direction: row;
    }

    .woocommerce .u-columns > div,
    .woocommerce .woocommerce-ResetPassword,
	.woocommerce_lost_passwort_confirmation,
    .woocommerce .woocommerce-MyAccount-content,
    .hdt-cart,
    .hdt-cart__actions,
    .hdt-cart__collaterals,
    .hdt-checkout__billing,
    .hdt-checkout__shipping,
    .hdt-checkout__review,
    .hdt-checkout__login,
    .hdt-checkout__coupon,
    .hdt-order {
        padding: 40px;
    }

    .wc-account__tiles {
        grid-template-columns: 1fr 1fr;
    }

    .woocommerce-address-fields__field-wrapper, .woocommerce-EditAccountForm > div.wc-form {
        grid-template-columns: 1fr 1fr;
    }
    
    .wc-addresses__field--wide {
        grid-column: 1 / -1;
    }

    .hdt-cart__header {
        display: flex;
        flex-direction: row;
        gap: 20px;
    }

    .hdt-cart__item {
        flex-direction: row;
    }

    .hdt-cart__header-item--thumbnail,
    .hdt-cart__item-thumbnail {
        width: 20%;
    }

    .hdt-cart__header-item--name,
    .hdt-cart__item-name {
        width: 40%;
    }

    .hdt-cart__header-item--quantity,
    .hdt-cart__item-quantity {
        width: 10%;
        text-align: right;
    }

    .hdt-cart__header-item--price,
    .hdt-cart__item-price {
        width: 10%;
        text-align: right;
    }

    .hdt-cart__header-item--subtotal,
    .hdt-cart__item-subtotal {
        width: 10%;
        text-align: right;
    }

    .hdt-cart__header-item--remove,
    .hdt-cart__item-remove {
        width: 10%;
        text-align: right;
    }

    .hdt-cart__item-remove {
        order: initial;
    }

    .hdt-cart__item-quantity::before,
    .hdt-cart__item-price::before,
    .hdt-cart__item-subtotal::before {
        content: "";
    }
}

@media (min-width: 1025px) {
    .woocommerce .u-columns {
        flex-direction: row;
    }

    .woocommerce .woocommerce-ResetPassword,
	.woocommerce_lost_passwort_confirmation {
        flex: 0 0 50%;
    }

    .woocommerce .woocommerce-MyAccount-navigation {
        flex: 0 0 25%;
    }

    .woocommerce .woocommerce-MyAccount-content {
        flex: 1;
    }

    .wc-ui__max-width--66 {
        max-width: 66.67%;
    }

    .hdt-cart__header, .hdt-cart__item {
        gap: 30px;
    }

    .hdt-cart-footer {
        flex-direction: row;
    }

    .hdt-checkout,
    .hdt-checkout__before--wrapper {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }

    .hdt-checkout > * {
        min-width: 0;
        box-sizing: border-box;
    }

    .hdt-checkout__addresses,
    .hdt-checkout__shipping {
        gap: 40px;
    }

    .hdt-checkout__shipping .woocommerce-shipping-fields,
    .hdt-checkout__shipping .woocommerce-additional-fields,
    .hdt-checkout__billing .woocommerce-billing-fields,
    .hdt-checkout__review {
        gap: 30px;
    }

    /* Vertikaler Trenner zwischen Formular (links) und Uebersicht (rechts) */
    .hdt-checkout {
        gap: 0;
    }
    .hdt-checkout > #customer_details {
        padding-right: 48px;
        border-right: 1px solid var(--e-global-color-e8414c9, #d7d7d5);
    }
    .hdt-checkout > #order_review {
        padding-left: 48px;
    }
}

.hdt-event-group-card__date-columns {
    display: grid;
    gap: 0 20px;
    font-family: var(--e-global-typography-758d7a4-font-family, sans-serif);
    font-size: var(--e-global-typography-758d7a4-font-size);
    font-weight: var(--e-global-typography-758d7a4-font-weight);
    line-height: var(--e-global-typography-758d7a4-line-height);
    color: var(--e-global-color-5a698b8);
}

.hdt-event-group-card__date-columns--3 {
    grid-template-columns: repeat(3, max-content);
}

.hdt-event-group-card__date-columns--2 {
    grid-template-columns: repeat(2, max-content);
}

.hdt-event-group-card__date-columns span {
    white-space: nowrap;
}

.woocommerce-MyAccount-orders .woocommerce-orders-table__header-order-status,
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-status {
    display: none !important;
}

/* Account tabs */
.wc-account__tabs {
    display: flex;
    gap: 20px;
}

.wc-account__tab {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    appearance: none;
    border-bottom: 2px solid transparent !important;
    background: transparent !important;
    padding: 10px 0;
    color: var(--e-global-color-9b9f1a7);
    cursor: pointer;
    position: relative;
    font-size: var( --e-global-typography-d812632-font-size );
    font-weight: var( --e-global-typography-d812632-font-weight );
    line-height: var( --e-global-typography-d812632-line-height );
}

.wc-account__tab:hover {
    font-size: var( --e-global-typography-d812632-font-size ) !important;
    font-weight: var( --e-global-typography-d812632-font-weight ) !important;
    line-height: var( --e-global-typography-d812632-line-height ) !important;
}

.wc-account__tab.is-active {
    color: var(--e-global-color-5a698b8);
    border-color: #2D2E2F;
    border-bottom: 2px solid #2D2E2F !important;
}

.wc-account__tab-panels {
    display: block;
}

.wc-account__tab-panel {
    display: none;
}

.wc-account__tab-panel.is-active {
    display: block;
}

/* Orders table like design */
.woocommerce-MyAccount-orders.account-orders-table {
    border: none;
    border-collapse: separate;
    border-spacing: 8px 8px; /* Abstand zwischen Spalten und Zeilen */
    table-layout: fixed; /* vier gleiche Spalten */
    width: 100%;
}

.woocommerce-MyAccount-orders thead th {
    border: none;
    border-block-start: none !important;
    text-align: left;
    color: var(--Gray-20, #2D2E2F);
    font-size: var( --e-global-typography-abb6706-font-size );
    font-weight: var( --e-global-typography-abb6706-font-weight );
    line-height: var( --e-global-typography-abb6706-line-height );
    padding-left: 0;
    padding-right: 0;
}

.woocommerce-MyAccount-orders thead th,
.woocommerce-MyAccount-orders tbody th,
.woocommerce-MyAccount-orders tbody td {
    width: 25%;
}

.woocommerce-MyAccount-orders tbody th,
.woocommerce-MyAccount-orders tbody td {
    border: none;
    vertical-align: middle;
    background: #FFFFFF;
    padding: 16px;
}

/* Order number left-aligned, not bold */
.woocommerce-MyAccount-orders tbody th.woocommerce-orders-table__cell-order-number,
.woocommerce-MyAccount-orders tbody .woocommerce-orders-table__cell-order-number {
    text-align: left;
    font-weight: 400;
}

/* Align totals header and values to the right */
.woocommerce-MyAccount-orders .woocommerce-orders-table__header-order-total {
    text-align: right;
}
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-total {
    text-align: right;
}

.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions {
    padding: 8px;
}

/* Use existing .hdt-button for actions */
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions .button.hdt-button,
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions a.hdt-button {
    width: auto;
    margin: 0 0 1px 0;
    padding: 12px 24px;
    font-size: var(--e-global-typography-7ef5cef-font-size);
    font-weight: var(--e-global-typography-7ef5cef-font-weight);
    line-height: var(--e-global-typography-7ef5cef-line-height);
}

/* Second action button gets secondary (gray) style */
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions .hdt-button:nth-child(2) {
    background-color: var(--e-global-color-966b3ca);
    border-color: var(--e-global-color-966b3ca);
    color: var(--e-global-color-8a64ffb);
}

.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions .hdt-button:nth-child(2):hover {
    border-color: var(--e-global-color-1de3f2b);
    color: var(--e-global-color-1de3f2b);
}

/* Hide actions header label */
.woocommerce-MyAccount-orders .woocommerce-orders-table__header-order-actions .nobr {
    display: none;
}

/* Neutralize zebra striping in WC tables */
.woocommerce-MyAccount-orders tbody tr:nth-child(even) td,
.woocommerce-MyAccount-orders tbody tr:nth-child(odd) td,
.woocommerce-MyAccount-orders tbody tr:nth-child(even) th,
.woocommerce-MyAccount-orders tbody tr:nth-child(odd) th {
    background: #FFFFFF;
}
@media (max-width: 767px) {
    .hdt-event-group-card__date-columns--2,
    .hdt-event-group-card__date-columns--3 {
        grid-template-columns: 1fr;
    }
}

.jet-listing-grid__slider .hdt-event-group-card__date-columns--2,
.jet-listing-grid__slider .hdt-event-group-card__date-columns--3 {
    grid-template-columns: 1fr;
}

@media (max-width: 1024px) {
    .jet-listing-grid__slider-icon.prev-arrow,
    .jet-listing-grid__slider-icon.next-arrow {
        background: rgba(182, 235, 38, 0.3) !important;
        color: #2D2E2F !important;
        width: 36px !important;
        height: 36px !important;
        border-radius: 0;
        z-index: 10;
    }

    .jet-listing-grid__slider-icon.prev-arrow svg,
    .jet-listing-grid__slider-icon.next-arrow svg {
        fill: #2D2E2F !important;
    }

    .jet-listing-grid__slider-icon.prev-arrow {
        left: 0px !important;
    }

    .jet-listing-grid__slider-icon.next-arrow {
        right: 0px !important;
    }
}

@media (min-width: 1025px) {
    .jet-listing-grid__slider-icon.prev-arrow {
        left: 8px !important;
    }

    .jet-listing-grid__slider-icon.next-arrow {
        right: 8px !important;
    }
}

.woocommerce button[name="apply_coupon"],
.woocommerce form.checkout_coupon button[type="submit"],
.woocommerce .coupon button.button {
    min-height: 62px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    font-size: 19px !important;
    line-height: 1.4 !important;
    transition: color 0.2s ease, background-color 0.2s ease !important;
}

.woocommerce button[name="apply_coupon"]:hover,
.woocommerce form.checkout_coupon button[type="submit"]:hover,
.woocommerce .coupon button.button:hover {
    color: #047990 !important;
}


#ui-datepicker-div { font-size: 14px; }

#ui-datepicker-div .ui-datepicker-title,
#ui-datepicker-div .ui-datepicker-calendar thead th,
#ui-datepicker-div .ui-datepicker-calendar thead th span {
    font-size: 14px !important;
    font-weight: 500 !important;
}

@media screen and (max-width: 1564px) {
    body.admin-bar #wpadminbar {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        white-space: nowrap !important;
        -webkit-overflow-scrolling: touch;
        min-width: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        scrollbar-width: thin !important;
        scrollbar-color: #888 #1d2327 !important;
    }

    body.admin-bar #wpadminbar::-webkit-scrollbar {
        height: 8px !important;
        display: block !important;
    }
    body.admin-bar #wpadminbar::-webkit-scrollbar-track {
        background: #1d2327 !important;
    }
    body.admin-bar #wpadminbar::-webkit-scrollbar-thumb {
        background: #888 !important;
        border-radius: 4px;
    }

    #wpadminbar > .quicklinks {
        white-space: nowrap !important;
        width: max-content !important;
        min-width: 100%;
    }

    #wpadminbar .ab-top-menu,
    #wpadminbar #wp-admin-bar-top-secondary {
        float: none !important;
        display: inline-block !important;
        vertical-align: top !important;
        white-space: nowrap !important;
        width: auto !important;
    }

    #wpadminbar .ab-top-menu > li,
    #wpadminbar #wp-admin-bar-top-secondary > li {
        float: none !important;
        display: inline-block !important;
        vertical-align: top !important;
        width: auto !important;
        overflow: visible !important;
    }

    #wpadminbar .ab-top-menu > li > .ab-item,
    #wpadminbar #wp-admin-bar-top-secondary > li > .ab-item {
        width: auto !important;
        overflow: visible !important;
        text-indent: 0 !important;
        padding: 0 12px !important;
    }
}

@media screen and (max-width: 782px) {
    html #wp-toolbar > ul > li {
        display: inline-block !important;
    }

    html #wpadminbar #wp-admin-bar-my-account > a {
        width: auto !important;
        text-indent: 0 !important;
        overflow: visible !important;
        padding: 0 12px !important;
    }

    html #wpadminbar #wp-admin-bar-search {
        display: none !important;
    }
}

/* Referenten-Avatar: Person-Icon statt Initialen (vermeidet Kollisionen wie SA/SS) */
.elementor-element-f185e1f .jet-listing-dynamic-field__content {
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
}

.elementor-element-bf25715 {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8.2' r='3.8' fill='%23525556'/%3E%3Cpath d='M4.5 20.5c0-4.2 3.4-6.8 7.5-6.8s7.5 2.6 7.5 6.8' fill='%23525556'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center 58%;
    background-size: 62%;
}

.checkout-inline-error-message {
    display: none;
}

.woocommerce-invalid input.input-text,
.woocommerce-invalid textarea,
.woocommerce-invalid select,
.woocommerce-invalid .select2-selection,
.woocommerce-invalid .wc-addresses__field-input {
    border-color: #e2401c;
}

.hdt-alt-billing__toggle {
    margin: 6px 0 4px;
}
.hdt-alt-billing__fields {
    margin-top: 10px;
    padding-top: 6px;
    border-top: 1px solid #e2e2e2;
}
.hdt-alt-billing__title {
    margin: 0 0 14px;
    font-size: 1.15rem;
    color: #034f5e;
}
.hdt-order-booker {
    margin-top: 24px;
}
.hdt-order-booker__title {
    margin: 0 0 6px;
    font-size: 1.15rem;
    color: #034f5e;
}
.hdt-order-booker__address {
    font-style: normal;
    line-height: 1.5;
}

@media (max-width: 767px) {
    .elementor-widget-shortcode h1,
    .elementor-widget-theme-post-title h1,
    .elementor-widget-heading .elementor-heading-title,
    main h1, article h1 {
        -webkit-hyphens: auto;
        hyphens: auto;
        overflow-wrap: break-word;
        word-break: normal;
    }
}

/* ==========================================================================
   Widerrufsformular (Germanized EU Order Withdrawal, Seite "Vertrag widerrufen")
   Die Seite nutzt das Hello-Elementor-Default-Template (drei Body-Kinder:
   header/main/footer) und traegt als WooCommerce-Seite die Body-Klasse
   .woocommerce. Die globale Regel `.woocommerce { display:flex; align-items:start }`
   (oben, ~Z.717) trifft dadurch das <body> selbst und laesst Header/Footer auf
   Inhaltsbreite schrumpfen statt voll zu strecken -> gebrochenes Layout.
   Scope ueber Body-Klasse .hdt-withdrawal-page (siehe theme-support.php):
   umgebungsunabhaengig (nicht Page-ID) UND zustandsunabhaengig (greift auch nach
   dem Absenden, wenn das Formular ggf. nicht mehr im DOM ist).
   Container-Werte gemessen: Site-.e-con-inner = max-width min(100%,1920px), 64px seitlich.
   ========================================================================== */
body.hdt-withdrawal-page {
    display: flex;
    flex-direction: column;
    /* !important: eine Regel aus einem Fremd-Stylesheet (Elementor/Hello) ueberschreibt
       sonst die Body-min-height; ohne 100vh springt der Footer bei kurzem Inhalt hoch. */
    min-height: 100vh !important;
    align-items: stretch;        /* volle Breite (ueberschreibt .woocommerce align-items:start) */
    justify-content: flex-start; /* Inhalt oben (ueberschreibt justify-content:center) */
    gap: 0;
}

.hdt-withdrawal-page .site-main {
    flex: 1 0 auto;              /* fuellt die Resthoehe -> Footer sitzt unten, springt nicht */
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 48px 0 72px;
    box-sizing: border-box;
}

.hdt-withdrawal-page .page-content {
    width: 100%;
    max-width: min(100% - 128px, 1920px);
    margin: 0 auto;
    box-sizing: border-box;
}

.hdt-withdrawal-page .hdt-wd-overline {
    display: block;
    margin: 0 0 4px;
    color: #06A3C1;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
}
.hdt-withdrawal-page .hdt-wd-title {
    margin: 0 0 32px;
    color: #034F5E;
    font-size: 48px;
    line-height: 1.1;
}

.hdt-withdrawal-page .woocommerce-form-order-withdrawal-request {
    background: #F4F4F1;
    padding: 40px;
    box-sizing: border-box;
}

/* von Germanized injizierten, redundanten "Vertrag widerrufen"-Sub-Footer global ausblenden
   (der Widerruf ist ueber den Footer-Link "Widerruf" unter Rechtliches erreichbar) */
.eu-owb-order-withdraw-from-contract-button {
    display: none;
}

.woocommerce-form-order-withdrawal-request {
    width: 100%;
}

.woocommerce-form-order-withdrawal-request .form-row {
    margin: 0 0 20px;
}

/* Widerruf: Basis-Styles siehe .hdt-privacy-notice oben */

.woocommerce-form-order-withdrawal-request input:not([type="checkbox"]):not([type="radio"]),
.woocommerce-form-order-withdrawal-request textarea,
.woocommerce-form-order-withdrawal-request select {
    width: 100%;
    box-sizing: border-box;
}

.woocommerce-form-order-withdrawal-request .form-row:has(> select)::before {
    top: auto;
    bottom: 23px;
    transform: translateY(50%);
}

/* Widerruf-Meldungen (Germanized-Wrapper) an das Notice-Design der Website angleichen
   (Standard-Notices siehe .woocommerce-notices-wrapper oben). */
.eu-owb-notice-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    margin-bottom: 24px;
}
.eu-owb-notice-wrapper:empty {
    display: none;
}
.eu-owb-notice-wrapper .woocommerce-error,
.eu-owb-notice-wrapper ul[role="alert"],
.eu-owb-notice-wrapper .woocommerce-info,
.eu-owb-notice-wrapper .woocommerce-message {
    box-sizing: border-box;
    width: 100%;
    position: relative;
    margin: 0;
    list-style: none;
    box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.07);
    padding: 24px 32px 24px 50px;
    color: var(--e-global-color-8a64ffb);
    font-family: var(--e-global-typography-text-font-family), sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
}
.eu-owb-notice-wrapper .woocommerce-error,
.eu-owb-notice-wrapper ul[role="alert"] {
    background-color: #FCE8EC;
    border-left: 4px solid #D90000;
}
.eu-owb-notice-wrapper .woocommerce-info {
    background-color: #FCF4CC;
    border-left: 4px solid #F2B600;
}
.eu-owb-notice-wrapper .woocommerce-message {
    background-color: #E4F7AF;
    border-left: 4px solid #95C11F;
}
.eu-owb-notice-wrapper .woocommerce-error::after,
.eu-owb-notice-wrapper ul[role="alert"]::after,
.eu-owb-notice-wrapper .woocommerce-info::after,
.eu-owb-notice-wrapper .woocommerce-message::after {
    font-family: "hdt-icons";
    font-size: 24px;
    position: absolute;
    left: 20px;
    top: 30px;
    pointer-events: none;
    display: inline-block;
}
.eu-owb-notice-wrapper .woocommerce-error::after,
.eu-owb-notice-wrapper ul[role="alert"]::after {
    content: "\e813";
    color: #D90000;
}
.eu-owb-notice-wrapper .woocommerce-info::after {
    content: "\e813";
    color: #F2B600;
}
.eu-owb-notice-wrapper .woocommerce-message::after {
    content: "\e812";
    color: #95C11F;
}

/* Vorname / Nachname nebeneinander ab Tablet; volle Reihen bleiben 100% */
@media (min-width: 600px) {
    .eu-owb-form-fields {
        display: flex;
        flex-wrap: wrap;
        column-gap: 24px;
    }
    .eu-owb-form-fields > .form-row {
        flex: 1 1 100%;
    }
    .eu-owb-form-fields > .form-row-first,
    .eu-owb-form-fields > .form-row-last {
        flex: 1 1 calc(50% - 12px);
    }
    .eu-owb-form-fields > .clear {
        display: none;
    }
}

@media (max-width: 599px) {
    .hdt-withdrawal-page .site-main {
        padding: 32px 0 56px;
    }
    .hdt-withdrawal-page .page-content {
        max-width: calc(100% - 40px);
    }
    .hdt-withdrawal-page .hdt-wd-title {
        font-size: 32px;
    }
    .hdt-withdrawal-page .woocommerce-form-order-withdrawal-request {
        padding: 24px;
    }
}

/* ==========================================================================
   Loading-State fuer Submit-Buttons (siehe assets/js/hdt-form-loading.js)
   ========================================================================== */
.hdt-btn-loading {
    position: relative;
    pointer-events: none;
    opacity: 0.9;
}
.hdt-btn-loading::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.1em;
    width: 1em;
    height: 1em;
    margin-top: -0.5em;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: hdt-btn-spin 0.6s linear infinite;
}
@keyframes hdt-btn-spin {
    to { transform: rotate(360deg); }
}

/* ==========================================================================
   Autofill-Detektor fuer das Header-Login (siehe assets/js/hdt-login-autofill.js).
   Chrome setzt :-webkit-autofill beim Ausfuellen -> feuert animationstart
   'hdt-onautofill', woraufhin das JS das Login-Dropdown offen haelt.
   ========================================================================== */
@keyframes hdt-onautofill { from { /* noop */ } to { /* noop */ } }
.elementor-widget-n-menu .elementor-login input:-webkit-autofill {
    animation-name: hdt-onautofill;
    animation-duration: 1ms;
}

/* Logo-SVG hat nur viewBox, keine intrinsische width/height. Elementor gibt dem
   <img> width:100%, der umschliessende <a> ist aber inline → dessen Breite haengt
   vom Inhalt ab (Zirkelbezug). Firefox loest das auf 0 auf → Logo unsichtbar (Hoehe 0);
   Chrome nutzt die 300px-Naturbreite als Fallback. <a> als block gibt dem img die
   Container-Breite (129/70px) als Basis → Firefox rendert korrekt.
   Verifiziert in echtem Firefox (0×0 → 129×55). */
.elementor-widget-theme-site-logo a {
    display: block;
}

/* HDT-117: FAQ-Themen-Menue darf auf Tablet/Mobil nicht sticky/positioniert bleiben
   und den Inhalt ueberlagern - volle Breite, statisch, kein Transform. */
@media (max-width: 1024px) {
    .elementor-element-4d5b447,
    .elementor-element-4d5b447.elementor-sticky,
    .elementor-element-4d5b447.elementor-sticky--active {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        transform: none !important;
        top: auto !important;
    }
}

/* HDT-112: Aufklapp-Pfeile (Accordion-Toggles) auf Event-Seiten kontrastreicher + fetter.
   Nur die Chevron-Toggles in .elementor-icon; Mega-Menue und Icon-Listen-Bullets bleiben. */
.single-zmmt_event_group .elementor-icon > .icon-chevron-down-regular,
.single-zmmt_event_group .elementor-icon > .icon-chevron-right-regular {
    color: #034f5e;
    font-size: 1.2em;
    -webkit-text-stroke: 0.6px currentColor;
}

/* HDT-110: Kundenstimmen-Section (custom_testimonials) auf Event-Seiten. */
.hdt-testimonials__title {
    color: #034f5e;
}
.hdt-testimonials__list {
    display: flex;
    flex-direction: column;
    gap: 1.5em;
}
.hdt-testimonial {
    margin: 0;
    padding: 1.25em 1.5em;
    background: #f5f7f7;
    border-left: 4px solid #95c11f;
    border-radius: 4px;
}
.hdt-testimonial__text p {
    margin: 0 0 0.6em;
    font-style: italic;
    color: #050505;
}
.hdt-testimonial__text p:last-child {
    margin-bottom: 0;
}
.hdt-testimonial__author {
    display: block;
    margin-top: 0.85em;
    font-style: normal;
    font-weight: 700;
    color: #034f5e;
}
.hdt-testimonial__author::before {
    content: "\2014\00a0";
}

/* Kontakt-Links auf Kursseiten im Ansprechpartner-Stil (Icon + Teal, wie Component 540046).
   Exakte Werte aus den Elementor-Globals: Farbe #034F5E, Hover #06A3C1, Icon 14px, Body Small. */
.hdt-kontakt {
    font-size: clamp(1rem, 0.98458rem + 0.06494vw, 1.0625rem);
    font-weight: 400;
    line-height: 1.6;
}
.hdt-kontakt a {
    display: inline-flex;
    align-items: center;
    color: #034F5E;
    text-decoration: none;
}
.hdt-kontakt a:hover {
    color: #06A3C1;
    text-decoration: none;
}
.hdt-kontakt-icon {
    margin-right: 7px;
    font-size: 14px;
    color: inherit;
}
.hdt-kontakt .hdt-kontakt__name {
    color: #034F5E !important;
    font-weight: 500;
}

/* Fliesstext-Links (Content) in Markenfarbe statt geerbtem Dunkel - Klickbarkeit erkennbar. */
.elementor-widget-text-editor a,
.jet-listing-dynamic-field__content a {
    color: #034F5E;
}
.elementor-widget-text-editor a:hover,
.jet-listing-dynamic-field__content a:hover {
    color: #047990;
}
@media (max-width: 1024px) {
  .elementor-element-4f370be > .e-con-inner { flex-wrap: wrap !important; align-items: center !important; row-gap: 6px; }
  .elementor-element-4f370be .elementor-element-6535eb90 { order: -1 !important; }
  .elementor-element-4f370be .elementor-element-23f116b { order: 2 !important; margin-left: auto !important; }
  .elementor-element-4f370be .elementor-element-1d4c12c1 { order: 3 !important; width: 100% !important; justify-content: flex-end !important; }
}
body[data-elementor-device-mode="mobile"] .elementor-23654 .elementor-element.elementor-element-74bb488.elementor-widget {
    margin-left: -20px !important;
}

@media (max-width: 767px) {
    :root {
        --hdt-gap-section: 20px;
    }

    main .e-con:has(> .elementor-widget-heading),
    main .e-con-inner:has(> .elementor-widget-heading) {
        row-gap: min(var(--row-gap, 0px), var(--hdt-gap-section)) !important;
    }
}
