/* Hof Maiberg Companion – Kursdetail 0.5.0 */

.hmc-course-detail,
.hmc-course-detail * {
    box-sizing: border-box;
}

.hmc-course-detail {
    background: #F8F6F1;
    color: #2E352B;
}

.hmc-course-detail__article {
    margin: 0;
}

.hmc-course-detail__hero {
    position: relative;
    min-height: clamp(440px, 62vh, 680px);
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: #3F5238;
}

.hmc-course-detail__hero-media,
.hmc-course-detail__hero-overlay {
    position: absolute;
    inset: 0;
}

.hmc-course-detail__hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hmc-course-detail__hero-overlay {
    background:
        linear-gradient(
            180deg,
            rgba(24, 31, 22, 0.12) 20%,
            rgba(24, 31, 22, 0.74) 100%
        );
}

.hmc-course-detail__hero-content {
    position: relative;
    z-index: 2;
    width: min(1280px, calc(100% - 80px));
    margin: 0 auto;
    padding: 90px 0 70px;
    color: #FFFFFF;
}

.hmc-course-detail__features {
    margin: 0 0 16px;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.hmc-course-detail__hero h1 {
    max-width: 900px;
    margin: 0 0 24px;
    color: #FFFFFF;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(48px, 7vw, 86px);
    font-weight: 600;
    line-height: 0.98;
}

.hmc-course-detail__status {
    display: inline-flex;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(248, 246, 241, 0.92);
    color: #36502F;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.hmc-course-detail__status--low {
    color: #7B4A0E;
}

.hmc-course-detail__status--sold_out,
.hmc-course-detail__status--closed {
    color: #666660;
}

.hmc-course-detail__container {
    width: min(1280px, calc(100% - 80px));
    margin: 0 auto;
    padding: 80px 0 100px;
}

.hmc-course-detail__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(310px, 0.55fr);
    gap: clamp(50px, 7vw, 100px);
    align-items: start;
}

.hmc-course-detail__main {
    min-width: 0;
}

.hmc-course-detail__section {
    padding: 0 0 64px;
    margin: 0 0 64px;
    border-bottom: 1px solid #DED8CB;
}

.hmc-course-detail__section:last-child {
    margin-bottom: 0;
}

.hmc-course-detail__section h2,
.hmc-course-detail__summary h2 {
    margin: 0 0 28px;
    color: #2E352B;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(34px, 4vw, 48px);
    font-weight: 600;
    line-height: 1.05;
}

.hmc-course-detail__prose {
    color: #465044;
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    line-height: 1.85;
}

.hmc-course-detail__prose > *:first-child {
    margin-top: 0;
}

.hmc-course-detail__prose > *:last-child {
    margin-bottom: 0;
}

.hmc-course-detail__schedule {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.hmc-course-detail__schedule li {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 16px;
    align-items: center;
    padding: 18px 20px;
    background: #FFFFFF;
    border: 1px solid #E5E0D6;
    border-radius: 12px;
}

.hmc-course-detail__schedule-number {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #E4EDDF;
    color: #36502F;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
}

.hmc-course-detail__schedule strong,
.hmc-course-detail__schedule span {
    display: block;
    font-family: "Montserrat", sans-serif;
}

.hmc-course-detail__schedule strong {
    color: #2E352B;
    font-size: 15px;
}

.hmc-course-detail__schedule span {
    margin-top: 4px;
    color: #667061;
    font-size: 13px;
}

.hmc-course-detail__address {
    color: #465044;
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-style: normal;
    line-height: 1.8;
}

.hmc-course-detail__sidebar {
    position: sticky;
    top: 110px;
}

.hmc-course-detail__summary {
    padding: 30px;
    background: #FFFFFF;
    border: 1px solid #E5E0D6;
    border-radius: 18px;
    box-shadow: 0 16px 42px rgba(46, 53, 43, 0.08);
}

.hmc-course-detail__summary h2 {
    font-size: 32px;
}

.hmc-course-detail__summary dl {
    margin: 0;
}

.hmc-course-detail__summary dl > div {
    padding: 17px 0;
    border-bottom: 1px solid #ECE8DF;
}

.hmc-course-detail__summary dl > div:first-child {
    padding-top: 0;
}

.hmc-course-detail__summary dt,
.hmc-course-detail__summary dd {
    margin: 0;
    font-family: "Montserrat", sans-serif;
}

.hmc-course-detail__summary dt {
    margin-bottom: 5px;
    color: #70786C;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.hmc-course-detail__summary dd {
    color: #2E352B;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
}

.hmc-course-detail__button {
    width: 100%;
    display: inline-flex;
    justify-content: center;
    margin-top: 26px;
    padding: 14px 22px;
    border-radius: 999px;
    background: #C97B19;
    color: #FFFFFF;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.hmc-course-detail__button:hover {
    background: #A86513;
    color: #FFFFFF;
}

.hmc-course-detail__closed-notice {
    padding: 26px;
    border-radius: 14px;
    background: #E9E7E1;
    color: #565B53;
    font-family: "Montserrat", sans-serif;
}

.hmc-course-detail__closed-notice p {
    margin: 8px 0 0;
    line-height: 1.7;
}

.hmc-course-detail__booking-engine {
    width: 100%;
}

/* MagePeople nur innerhalb des Buchungsblocks etwas beruhigen */
.hmc-course-detail__booking-engine .mep-reg-btn-sec,
.hmc-course-detail__booking-engine form {
    max-width: 100%;
}

.hmc-course-detail a:focus-visible {
    outline: 2px solid #C97B19;
    outline-offset: 4px;
}

@media (max-width: 960px) {
    .hmc-course-detail__layout {
        grid-template-columns: 1fr;
    }

    .hmc-course-detail__sidebar {
        position: static;
        order: -1;
    }
}

@media (max-width: 680px) {
    .hmc-course-detail__hero-content,
    .hmc-course-detail__container {
        width: calc(100% - 40px);
    }

    .hmc-course-detail__hero {
        min-height: 480px;
    }

    .hmc-course-detail__hero-content {
        padding-bottom: 48px;
    }

    .hmc-course-detail__container {
        padding: 56px 0 70px;
    }

    .hmc-course-detail__section {
        padding-bottom: 46px;
        margin-bottom: 46px;
    }

    .hmc-course-detail__summary {
        padding: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}


/* Kursdetail 0.5.1 */

.hmc-course-detail__back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 24px;
    color: rgba(255, 255, 255, 0.92);
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.hmc-course-detail__back-link:hover {
    color: #FFFFFF;
    opacity: 0.82;
}

.hmc-course-detail__faq {
    display: grid;
    gap: 12px;
}

.hmc-course-detail__faq-item {
    overflow: hidden;
    background: #FFFFFF;
    border: 1px solid #E5E0D6;
    border-radius: 12px;
}

.hmc-course-detail__faq-item summary {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 22px;
    cursor: pointer;
    color: #2E352B;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 700;
    list-style: none;
}

.hmc-course-detail__faq-item summary::-webkit-details-marker {
    display: none;
}

.hmc-course-detail__faq-symbol {
    position: relative;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
}

.hmc-course-detail__faq-symbol::before,
.hmc-course-detail__faq-symbol::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 14px;
    height: 2px;
    border-radius: 999px;
    background: #C97B19;
    transform: translate(-50%, -50%);
}

.hmc-course-detail__faq-symbol::after {
    transform: translate(-50%, -50%) rotate(90deg);
    transition: opacity 160ms ease;
}

.hmc-course-detail__faq-item[open] .hmc-course-detail__faq-symbol::after {
    opacity: 0;
}

.hmc-course-detail__faq-content {
    padding: 0 22px 22px;
    color: #465044;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    line-height: 1.75;
}

.hmc-course-detail__faq-content > *:first-child {
    margin-top: 0;
}

.hmc-course-detail__faq-content > *:last-child {
    margin-bottom: 0;
}


/* Preis- und Statusdarstellung 0.5.3 */

.hmc-course-detail__price-primary,
.hmc-course-detail__price-secondary {
    display: block;
}

.hmc-course-detail__price-primary {
    font-weight: 600;
}

.hmc-course-detail__price-secondary {
    margin-top: 4px;
    color: #687064;
    font-size: 13px;
    font-weight: 400;
}

.hmc-course-detail__summary-status {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    background: #E4EDDF;
    color: #36502F;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.hmc-course-detail__summary-status--low {
    background: #F4E4CC;
    color: #7B4A0E;
}

.hmc-course-detail__summary-status--sold_out {
    background: #EEDAD6;
    color: #79332B;
}

.hmc-course-detail__summary-status--closed,
.hmc-course-detail__summary-status--hidden {
    background: #E5E5E2;
    color: #666660;
}

.hmc-course-detail__booking-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 22px;
    padding: 14px 18px;
    border: 1px solid #DDE5D8;
    border-radius: 10px;
    background: #F1F6EE;
    color: #36502F;
    font-family: "Montserrat", sans-serif;
}

.hmc-course-detail__booking-status span {
    color: #667061;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.hmc-course-detail__booking-status strong {
    font-size: 14px;
}

/*
 * MagePeople-Ausgaben werden nur innerhalb des eigenen Buchungsbereichs
 * ausgeblendet. Die interne Kapazitätslogik bleibt vollständig erhalten.
 */
.hmc-course-detail__booking-engine .mep-low-stock-warning,
.hmc-course-detail__booking-engine .mep-limited-availability-ribbon {
    display: none !important;
}


/* ==========================================================
   Hof Maiberg Buchungsdesign 0.6.0
   Nur innerhalb der eigenen Kursdetailseite wirksam.
   ========================================================== */

.hmc-course-detail__booking-engine {
    --hmc-booking-green: #3F5238;
    --hmc-booking-green-soft: #EEF3EA;
    --hmc-booking-orange: #C97B19;
    --hmc-booking-orange-hover: #A86513;
    --hmc-booking-border: #E5E0D6;
    --hmc-booking-text: #2E352B;
    --hmc-booking-muted: #6B7467;
    font-family: "Montserrat", sans-serif;
    color: var(--hmc-booking-text);
}

/* Äusserer MagePeople-Rahmen beruhigen */
.hmc-course-detail__booking-engine .mpwem,
.hmc-course-detail__booking-engine .mep-event-details,
.hmc-course-detail__booking-engine .mep-reg-btn-sec,
.hmc-course-detail__booking-engine .mep_event_ticket,
.hmc-course-detail__booking-engine [class*="ticket-list"],
.hmc-course-detail__booking-engine [class*="ticket-wrapper"] {
    border-radius: 16px !important;
}

/* Titelbalken Ticketoptionen */
.hmc-course-detail__booking-engine .mep-event-ticket-list-title,
.hmc-course-detail__booking-engine .mep_ticket_type_title,
.hmc-course-detail__booking-engine [class*="ticket-title"],
.hmc-course-detail__booking-engine h3,
.hmc-course-detail__booking-engine h4 {
    color: var(--hmc-booking-green) !important;
    background: transparent !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* Orange Standard-Kopfzeile von MagePeople neutralisieren */
.hmc-course-detail__booking-engine [style*="background"],
.hmc-course-detail__booking-engine .mep-event-ticket-list-title,
.hmc-course-detail__booking-engine .mep_ticket_type_title {
    border-color: var(--hmc-booking-border) !important;
}

/* Ticketcontainer */
.hmc-course-detail__booking-engine .hmc-ticket-row,
.hmc-course-detail__booking-engine .mep-ticket-details,
.hmc-course-detail__booking-engine .mep_event_ticket_type,
.hmc-course-detail__booking-engine .mpwem_ticket_item,
.hmc-course-detail__booking-engine [class*="ticket-type"] {
    padding: 22px 0 !important;
    border-bottom: 1px solid var(--hmc-booking-border) !important;
    background: #FFFFFF !important;
}

/* Ticketname */
.hmc-course-detail__booking-engine .mep_ticket_type_name,
.hmc-course-detail__booking-engine .ticket-name,
.hmc-course-detail__booking-engine [class*="ticket-name"] {
    color: var(--hmc-booking-text) !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    line-height: 1.12 !important;
}

/* Ticketbeschreibung */
.hmc-course-detail__booking-engine .mep_ticket_type_description,
.hmc-course-detail__booking-engine .ticket-description,
.hmc-course-detail__booking-engine [class*="ticket-description"] {
    margin-top: 6px !important;
    color: var(--hmc-booking-muted) !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

/* Ticketpreis */
.hmc-course-detail__booking-engine .mep_ticket_type_price,
.hmc-course-detail__booking-engine .ticket-price,
.hmc-course-detail__booking-engine [class*="ticket-price"] {
    color: var(--hmc-booking-green) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    white-space: nowrap;
}

/* Mengenfeld */
.hmc-course-detail__booking-engine input[type="number"],
.hmc-course-detail__booking-engine input.mep_ticket_qty,
.hmc-course-detail__booking-engine [class*="ticket-qty"] input {
    width: 66px !important;
    min-height: 46px !important;
    padding: 8px !important;
    border: 1px solid var(--hmc-booking-border) !important;
    border-radius: 10px !important;
    background: #FFFFFF !important;
    color: var(--hmc-booking-text) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    text-align: center !important;
    box-shadow: none !important;
}

/* Plus / Minus */
.hmc-course-detail__booking-engine .mep_ticket_minus,
.hmc-course-detail__booking-engine .mep_ticket_plus,
.hmc-course-detail__booking-engine .mpwem_ticket_minus,
.hmc-course-detail__booking-engine .mpwem_ticket_plus,
.hmc-course-detail__booking-engine [class*="minus"],
.hmc-course-detail__booking-engine [class*="plus"] {
    width: 46px !important;
    height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--hmc-booking-border) !important;
    border-radius: 50% !important;
    background: var(--hmc-booking-green-soft) !important;
    color: var(--hmc-booking-green) !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transition:
        background 160ms ease,
        color 160ms ease,
        transform 160ms ease;
}

.hmc-course-detail__booking-engine .mep_ticket_minus:hover,
.hmc-course-detail__booking-engine .mep_ticket_plus:hover,
.hmc-course-detail__booking-engine .mpwem_ticket_minus:hover,
.hmc-course-detail__booking-engine .mpwem_ticket_plus:hover,
.hmc-course-detail__booking-engine [class*="minus"]:hover,
.hmc-course-detail__booking-engine [class*="plus"]:hover {
    background: var(--hmc-booking-green) !important;
    color: #FFFFFF !important;
    transform: translateY(-1px);
}

/* Gesamtpreis */
.hmc-course-detail__booking-engine .mep-total-price,
.hmc-course-detail__booking-engine .mep_total_price,
.hmc-course-detail__booking-engine [class*="total-price"],
.hmc-course-detail__booking-engine [class*="total_price"] {
    color: var(--hmc-booking-text) !important;
    font-size: 19px !important;
    font-weight: 600 !important;
}

/* Hauptbutton */
.hmc-course-detail__booking-engine button[type="submit"],
.hmc-course-detail__booking-engine input[type="submit"],
.hmc-course-detail__booking-engine .mep_add_cart_button,
.hmc-course-detail__booking-engine .mep_cart_btn,
.hmc-course-detail__booking-engine [class*="add-cart"],
.hmc-course-detail__booking-engine [class*="book-now"] {
    min-height: 52px !important;
    padding: 14px 28px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--hmc-booking-orange) !important;
    color: #FFFFFF !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition:
        background 160ms ease,
        transform 160ms ease;
}

.hmc-course-detail__booking-engine button[type="submit"]:hover,
.hmc-course-detail__booking-engine input[type="submit"]:hover,
.hmc-course-detail__booking-engine .mep_add_cart_button:hover,
.hmc-course-detail__booking-engine .mep_cart_btn:hover,
.hmc-course-detail__booking-engine [class*="add-cart"]:hover,
.hmc-course-detail__booking-engine [class*="book-now"]:hover {
    background: var(--hmc-booking-orange-hover) !important;
    color: #FFFFFF !important;
    transform: translateY(-1px);
}

/* Eingebettete Icons nicht übermässig hervorheben */
.hmc-course-detail__booking-engine button svg,
.hmc-course-detail__booking-engine button i,
.hmc-course-detail__booking-engine .mep_add_cart_button svg,
.hmc-course-detail__booking-engine .mep_add_cart_button i {
    margin-right: 8px;
    font-size: .95em;
}

/* Niedrigbestandstexte konsequent entfernen */
.hmc-course-detail__booking-engine .mep-low-stock-warning,
.hmc-course-detail__booking-engine .mep-limited-availability-ribbon,
.hmc-course-detail__booking-engine [class*="low-stock"],
.hmc-course-detail__booking-engine [class*="limited-availability"] {
    display: none !important;
}

/* Fokuszustände */
.hmc-course-detail__booking-engine button:focus-visible,
.hmc-course-detail__booking-engine input:focus-visible,
.hmc-course-detail__booking-engine a:focus-visible {
    outline: 2px solid var(--hmc-booking-orange) !important;
    outline-offset: 3px !important;
}

/* Smartphone */
@media (max-width: 680px) {
    .hmc-course-detail__booking-engine .hmc-ticket-row,
    .hmc-course-detail__booking-engine .mep-ticket-details,
    .hmc-course-detail__booking-engine .mep_event_ticket_type,
    .hmc-course-detail__booking-engine .mpwem_ticket_item {
        padding: 18px 0 !important;
    }

    .hmc-course-detail__booking-engine button[type="submit"],
    .hmc-course-detail__booking-engine input[type="submit"],
    .hmc-course-detail__booking-engine .mep_add_cart_button,
    .hmc-course-detail__booking-engine .mep_cart_btn {
        width: 100% !important;
    }
}
