/**
 * QH Tix final responsive polish — v0.1.17
 *
 * Presentation-only refinements for phone and tablet layouts. The responsive
 * card-count rules remain in responsive-guard.css; this file improves visual
 * hierarchy, touch targets, spacing and readability after those rules apply.
 */

.qhtix-theme img,
.qhtix-theme video,
.qhtix-theme iframe {
    max-width: 100%;
}

.qhtix-theme :where(a, button, input, select, textarea):focus-visible {
    outline: 3px solid rgba(255, 79, 139, .42);
    outline-offset: 3px;
}

/* Tablet presentation: two event cards, one search control per row. */
@media (min-width: 768px) and (max-width: 1100px) {
    body.qhtix-home .qhtix-section--events .gt-event-style-1 .gt-content,
    body.qhtix-home .qhtix-section--events .gt-event-style-2 .gt-content,
    body.qhtix-home .qhtix-section--events .gt-event-style-3 .gt-content,
    body.qhtix-home .qhtix-section--events .gt-event-style-4 .gt-content,
    body.qhtix-home .qhtix-section--featured .gt-event-style-1 .gt-content,
    body.qhtix-home .qhtix-section--featured .gt-event-style-2 .gt-content,
    body.qhtix-home .qhtix-section--featured .gt-event-style-3 .gt-content,
    body.qhtix-home .qhtix-section--featured .gt-event-style-4 .gt-content {
        padding: 21px 21px 24px !important;
    }

    body.qhtix-home .qhtix-section--events .gt-title,
    body.qhtix-home .qhtix-section--featured .gt-title {
        font-size: 1.24rem !important;
        line-height: 1.28 !important;
        margin-bottom: 14px !important;
    }

    body.qhtix-home .qhtix-section--events .gt-details,
    body.qhtix-home .qhtix-section--featured .gt-details {
        font-size: .86rem !important;
        gap: 9px 14px !important;
        line-height: 1.5 !important;
    }

    body.qhtix-home .qhtix-section--events .gt-details svg,
    body.qhtix-home .qhtix-section--featured .gt-details svg {
        height: 17px !important;
        width: 17px !important;
    }

    body.qhtix-event-archive .qhtix-archive-card__content {
        padding: 23px !important;
    }

    body.qhtix-event-archive .qhtix-archive-card h2 {
        font-size: 1.36rem !important;
        line-height: 1.22 !important;
    }

    body.qhtix-event-archive .qhtix-archive-card__meta {
        font-size: .9rem !important;
        row-gap: 10px !important;
    }

    body.qhtix-theme .gt-event-search-tool input,
    body.qhtix-theme .gt-event-search-tool select,
    body.qhtix-theme .gt-event-search-tool button,
    body.qhtix-event-archive .qhtix-archive-filters input,
    body.qhtix-event-archive .qhtix-archive-filters select,
    body.qhtix-event-archive .qhtix-archive-filters button {
        font-size: 1rem !important;
        min-height: 56px !important;
    }

    .qhtix-commerce-intro h1,
    .qhtix-account-intro h1 {
        font-size: clamp(2.65rem, 6vw, 4rem) !important;
    }
}

/* Phone presentation: one full-width event card with a more substantial
 * information panel beneath the artwork. */
@media (max-width: 767px) {
    body.qhtix-home .qhtix-section--events {
        padding-bottom: 62px !important;
        padding-top: 28px !important;
    }

    body.qhtix-home .qhtix-section--events .gt-categorized-contents .gt-columns,
    body.qhtix-home .qhtix-section--featured .swiper-container {
        gap: 24px !important;
    }

    body.qhtix-home .qhtix-section--events .gt-event-style-1,
    body.qhtix-home .qhtix-section--events .gt-event-style-2,
    body.qhtix-home .qhtix-section--events .gt-event-style-3,
    body.qhtix-home .qhtix-section--events .gt-event-style-4 {
        border-radius: 20px !important;
        box-shadow: 0 16px 38px rgba(24, 12, 32, .14) !important;
    }

    body.qhtix-home .qhtix-section--events .gt-event-style-1 .gt-content,
    body.qhtix-home .qhtix-section--events .gt-event-style-2 .gt-content,
    body.qhtix-home .qhtix-section--events .gt-event-style-3 .gt-content,
    body.qhtix-home .qhtix-section--events .gt-event-style-4 .gt-content,
    body.qhtix-home .qhtix-section--featured .gt-event-style-1 .gt-content,
    body.qhtix-home .qhtix-section--featured .gt-event-style-2 .gt-content,
    body.qhtix-home .qhtix-section--featured .gt-event-style-3 .gt-content,
    body.qhtix-home .qhtix-section--featured .gt-event-style-4 .gt-content {
        box-sizing: border-box !important;
        min-height: 172px !important;
        padding: 24px 23px 27px !important;
    }

    body.qhtix-home .qhtix-section--events .gt-title,
    body.qhtix-home .qhtix-section--featured .gt-title {
        font-size: clamp(1.28rem, 5.6vw, 1.52rem) !important;
        font-weight: 850 !important;
        letter-spacing: -.025em !important;
        line-height: 1.24 !important;
        margin-bottom: 16px !important;
        min-height: 0 !important;
    }

    body.qhtix-home .qhtix-section--events .gt-details,
    body.qhtix-home .qhtix-section--featured .gt-details {
        align-items: center !important;
        font-size: clamp(.91rem, 3.7vw, 1rem) !important;
        gap: 10px 16px !important;
        line-height: 1.52 !important;
    }

    body.qhtix-home .qhtix-section--events .gt-details > *,
    body.qhtix-home .qhtix-section--featured .gt-details > * {
        min-height: 22px !important;
    }

    body.qhtix-home .qhtix-section--events .gt-details svg,
    body.qhtix-home .qhtix-section--featured .gt-details svg,
    body.qhtix-home .qhtix-section--events .gt-details i,
    body.qhtix-home .qhtix-section--featured .gt-details i {
        flex: 0 0 18px !important;
        height: 18px !important;
        width: 18px !important;
    }

    body.qhtix-home .qhtix-section--events .gt-price,
    body.qhtix-home .qhtix-section--featured .gt-price {
        font-size: .98rem !important;
    }

    /* Category chips remain swipeable but meet comfortable touch sizing. */
    body.qhtix-theme .gt-categorized-contents .gt-nav {
        gap: 9px !important;
        padding-bottom: 14px !important;
    }

    body.qhtix-theme .gt-categorized-contents .gt-nav > li > a {
        align-items: center !important;
        display: inline-flex !important;
        font-size: .78rem !important;
        justify-content: center !important;
        min-height: 44px !important;
        padding: 10px 16px !important;
        white-space: nowrap !important;
    }

    /* Search and filters: readable text and native controls that do not zoom
     * unexpectedly on mobile browsers. */
    body.qhtix-theme .gt-event-search-tool input,
    body.qhtix-theme .gt-event-search-tool select,
    body.qhtix-theme .gt-event-search-tool button,
    body.qhtix-theme .gt-event-search-tool .bootstrap-select > button,
    body.qhtix-event-archive .qhtix-archive-filters input,
    body.qhtix-event-archive .qhtix-archive-filters select,
    body.qhtix-event-archive .qhtix-archive-filters button,
    body.qhtix-theme .woocommerce input.input-text,
    body.qhtix-theme .woocommerce select,
    body.qhtix-theme .woocommerce textarea {
        font-size: 16px !important;
        min-height: 54px !important;
    }

    body.qhtix-home .qhtix-search-band .gt-event-search {
        margin-left: 14px !important;
        margin-right: 14px !important;
        padding: 18px !important;
    }

    /* Custom archive cards use the same stronger mobile hierarchy. */
    body.qhtix-event-archive .qhtix-archive-grid {
        gap: 24px !important;
    }

    body.qhtix-event-archive .qhtix-archive-card {
        border-radius: 20px !important;
        overflow: hidden !important;
    }

    body.qhtix-event-archive .qhtix-archive-card__content {
        padding: 24px 22px 26px !important;
    }

    body.qhtix-event-archive .qhtix-archive-card__category {
        font-size: .82rem !important;
        margin-bottom: 12px !important;
    }

    body.qhtix-event-archive .qhtix-archive-card h2 {
        font-size: clamp(1.35rem, 6vw, 1.62rem) !important;
        letter-spacing: -.025em !important;
        line-height: 1.2 !important;
        margin-bottom: 18px !important;
    }

    body.qhtix-event-archive .qhtix-archive-card__meta {
        font-size: .96rem !important;
        gap: 11px !important;
    }

    body.qhtix-event-archive .qhtix-archive-card__meta > div {
        align-items: baseline !important;
        gap: 10px !important;
    }

    body.qhtix-event-archive .qhtix-archive-card__meta dt {
        font-size: .73rem !important;
        min-width: 52px !important;
    }

    body.qhtix-event-archive .qhtix-archive-card__footer {
        align-items: center !important;
        font-size: .96rem !important;
        margin-top: 20px !important;
        padding-top: 17px !important;
    }

    body.qhtix-event-archive .qhtix-archive-card__footer > a {
        min-height: 44px !important;
        padding: 10px 0 !important;
    }

    /* Archive and single-event heroes retain impact without crowding narrow
     * screens or forcing excessive scrolling before discovery content. */
    body.qhtix-event-archive .qhtix-archive-hero,
    body.qhtix-event-archive .qhtix-archive-hero__inner {
        min-height: 460px !important;
    }

    body.qhtix-event-archive .qhtix-archive-hero__inner {
        padding-bottom: 52px !important;
        padding-top: 126px !important;
    }

    body.qhtix-event-archive .qhtix-archive-hero h1 {
        font-size: clamp(2.55rem, 12vw, 3.8rem) !important;
        line-height: .98 !important;
    }

    body.qhtix-event-page .qhtix-event-hero h1 {
        font-size: clamp(2.45rem, 11.5vw, 3.7rem) !important;
        line-height: .98 !important;
    }

    body.qhtix-event-page .qhtix-event-hero__meta {
        font-size: .88rem !important;
        line-height: 1.55 !important;
    }

    body.qhtix-event-page .qhtix-event-tickets h2 {
        font-size: clamp(2rem, 9vw, 2.65rem) !important;
    }

    body.qhtix-event-page .qhtix-event-tickets__intro {
        font-size: .98rem !important;
    }

    body.qhtix-event-page .qhtix-event-tickets .qh-ticket-block__heading h4,
    body.qhtix-event-page .qhtix-event-tickets .qh-ticket-block > h4 {
        font-size: 1.38rem !important;
    }

    body.qhtix-event-page .qhtix-event-tickets .single_add_to_cart_button,
    body.qhtix-event-page .qhtix-event-tickets .fooevents_seating_chart,
    body.qhtix-event-page .qhtix-event-tickets #fooevents-open-seats-pos {
        min-height: 54px !important;
    }

    /* Commerce and account pages: compact headings, full-width touch actions
     * and horizontal protection for legacy WooCommerce tables. */
    body.qhtix-commerce-page .qhtix-commerce-intro h1,
    body.qhtix-account-page .qhtix-account-intro h1 {
        font-size: clamp(2.15rem, 10vw, 3rem) !important;
        line-height: 1 !important;
    }

    body.qhtix-commerce-page .qhtix-commerce-intro,
    body.qhtix-account-page .qhtix-account-intro {
        padding: 26px 21px !important;
    }

    body.qhtix-theme .woocommerce table.shop_table,
    body.qhtix-account-page .woocommerce-orders-table,
    body.qhtix-account-page .event-report-table {
        -webkit-overflow-scrolling: touch;
    }

    body.qhtix-cart-page .wc-proceed-to-checkout a.checkout-button,
    body.qhtix-checkout-page #place_order,
    body.qhtix-account-page .woocommerce a.button,
    body.qhtix-account-page .woocommerce button.button {
        box-sizing: border-box !important;
        min-height: 50px !important;
    }

    body.qhtix-account-page .woocommerce-MyAccount-navigation ul {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.qhtix-account-page .woocommerce-MyAccount-navigation li {
        min-width: 0 !important;
        width: 100% !important;
    }

    /* Newsletter and footer: remove avoidable horizontal pressure. */
    body.qhtix-home .qhtix-mailing-list,
    body.qhtix-home .qhtix-mailing-list__fields {
        width: 100% !important;
    }

    .qhtix-footer-brand__links {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
    }

    .qhtix-footer-brand__links a {
        min-height: 46px !important;
    }
}

/* Very narrow phones receive slightly tighter outer spacing while preserving
 * the larger event-card text and touch targets. */
@media (max-width: 390px) {
    body.qhtix-home .qhtix-section--events .gt-event-style-1 .gt-content,
    body.qhtix-home .qhtix-section--events .gt-event-style-2 .gt-content,
    body.qhtix-home .qhtix-section--events .gt-event-style-3 .gt-content,
    body.qhtix-home .qhtix-section--events .gt-event-style-4 .gt-content {
        padding-left: 19px !important;
        padding-right: 19px !important;
    }

    body.qhtix-event-archive .qhtix-archive-card__content {
        padding-left: 19px !important;
        padding-right: 19px !important;
    }

    body.qhtix-commerce-page .gt-site-inner > .container,
    body.qhtix-account-page .gt-site-inner > .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* Avoid motion-heavy hover transforms on touch-first devices. */
@media (hover: none) {
    body.qhtix-theme .gt-event-style-1:hover,
    body.qhtix-theme .gt-event-style-2:hover,
    body.qhtix-theme .gt-event-style-3:hover,
    body.qhtix-theme .gt-event-style-4:hover,
    body.qhtix-event-archive .qhtix-archive-card:hover {
        transform: none !important;
    }
}
