/* Tickets & Prices. Original Claude inline design is preserved in the PHP template. */
body.page-template-page-tickets-prices .site-content > .ast-container,
body.page-template-page-tickets-prices #content > .ast-container {
    display: block;
    max-width: none;
    padding: 0;
}
#k5 span > p > a{color: #071a3d;font-weight: 700;text-decoration: underline;}
.iff38-tickets {
    --margin: 80px;
    --gutter: 24px;
    --blue: #F04B47;
    font-family: Jost, Heebo, sans-serif;
    width: 100%;
    overflow: clip;
}
.iff38-tickets *, .iff38-tickets *::before, .iff38-tickets *::after {
    box-sizing: border-box;
}
.iff38-tickets h1, .iff38-tickets h2, .iff38-tickets h3 {
    margin: 0;
}
.iff38-tickets a {
    text-decoration: none;
}
.iff38-tickets a[href]:hover {
    filter: brightness(1.09);
}
.iff38-tickets [data-tkc] {
    height: 100%;
}
.iff38-tickets [data-tkc] > span:first-child {
    min-height: 1em;
}
@media (max-width: 1100px) {
    .iff38-tickets {
        --margin: 40px;
        --gutter: 20px;
    }
    .iff38-tickets [data-tkgrid] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 767px) {
    .iff38-tickets {
        --margin: 20px;
        --gutter: 16px;
    }
    .iff38-tickets [data-tkwrap] {
        padding: 32px 20px 40px !important;
        gap: 24px !important;
    }
    .iff38-tickets [data-tkgrid] {
        overflow-x: auto;
        scroll-padding-inline: 20px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        display: flex !important;
        margin: 0 -20px !important;
        padding: 0 20px 4px !important;
        gap: 12px !important;
    }
    .iff38-tickets [data-tkgrid]::-webkit-scrollbar {
        display: none;
    }
    .iff38-tickets [data-tkgrid] > [data-tkc] {
        flex: 0 0 74%;
        scroll-snap-align: start;
        padding: 22px !important;
    }
    .iff38-tickets [data-tksteps] {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
    }
    .iff38-tickets [data-tkgroup] {
        margin: 0 -20px;
        padding: 24px 20px !important;
        border-radius: 0 !important;
    }
}

/* The shared header_title class remains available for future global unification. */
.iff38-tickets .header_title {
    top: 80px !important;
}
.iff38-tickets .header_title_inner {
    transition: padding .4s ease;
}
.iff38-tickets .header_title.is-compact .header_title_inner {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}
.iff38-tickets .header_title h1 {
    transition: font-size .4s ease;
}
.iff38-tickets .header_title.is-compact h1 {
    font-size: 34px !important;
}
.iff38-tickets .header_title p {
    transition: opacity .3s ease, max-height .3s ease;
    max-height: 120px;
    overflow: hidden;
}
.iff38-tickets .header_title.is-compact p {
    max-height: 0;
    opacity: 0;
}
@media (max-width: 767px) {
    .iff38-tickets .header_title {
        top: 66px !important;
    }
    .iff38-tickets .header_title.is-compact .header_title_inner {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }
}
