/* =========================================================
   WC TEC Tickets — Frontend Styles
   ========================================================= */

.wct-ticket-section {
    margin: 32px 0;
    padding: 0;
}

.wct-section-title {
    font-size: 1.25em;
    font-weight: 500;
    margin-bottom: 20px;
    color: var(--theme-color-text_dark);
    text-transform: capitalize;
    letter-spacing: 0;
    margin-top: 0;
    display: block;
}

/* ---- Ticket card ---- */
.wct-ticket-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 12px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .06);
    transition: box-shadow .2s;
}

.wct-ticket-card:hover {
    box-shadow: 0 3px 12px rgba(91, 45, 142, .12);
}

.wct-ticket-card.wct-ticket-sold-out {
    opacity: .6;
    background: #fafafa;
}

.wct-ticket-info {
    display: flex;
    flex-direction: row;
    gap: 12px;
}

.wct-ticket-name {
    font-size: 1.05em;
    font-weight: 600;
    color: #222;
}

/* Stock labels */
.wct-stock {
    font-size: .82em;
    font-weight: 500;
    padding: 2px 8px;
    border-radius: 12px;
    display: inline-block;
    width: fit-content;
}

.wct-stock-ok {
    background: #e8f5e9;
    color: #2e7d32;
}

.wct-stock-low {
    background: #fff3e0;
    color: #e65100;
}

.wct-stock-out {
    background: #ffebee;
    color: #c62828;
}

/* ---- Purchase area ---- */
.wct-ticket-purchase {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.wct-ticket-price {
    font-size: 1.25em;
    font-weight: 700;
    color: var(--theme-color-text_link);
    white-space: nowrap;
}

.wct-add-to-cart-form {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

/* ---- Quantity controls ---- */
.wct-qty-wrap {
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
}

.wct-qty-wrap button.wct-qty-btn {
    background: #f5f5f5;
    color: var(--theme-color-text_dark);
    border: none;
    /* width: 32px; */
    height: 36px;
    font-size: 1.1em;
    cursor: pointer;
    line-height: 1;
    transition: background .15s;
    padding: 7.5px 12px;
    line-height: 20px;
}

.wct-qty-wrap button.wct-qty-btn:hover {
    background: #e0e0e0;
}

.wct-qty-input {
    width: 48px !important;
    text-align: center !important;
    border: none !important;
    border-left: 1px solid #ccc !important;
    border-right: 1px solid #ccc !important;
    border-radius: 0 !important;
    height: 36px !important;
    padding: 0 !important;
    font-size: .95em !important;
}

/* ---- Buy button ---- */
.wct-btn-buy {
    background: var(--theme-color-text_link) !important;
    color: #fff !important;
    border: none !important;
    padding: 9px 20px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-size: .9em !important;
    font-weight: 600 !important;
    transition: background .2s !important;
    white-space: nowrap;
}

.wct-btn-buy:hover {
    background: var(--theme-color-text_hover) !important;
}

.wct-btn-buy.disabled {
    background: #bbb !important;
    cursor: not-allowed !important;
}

/* ---- Notice ---- */
.wct-notice {
    padding: 12px 16px;
    border-radius: 6px;
    font-size: .95em;
}

.wct-notice-info {
    background: #e3f2fd;
    color: #1565c0;
    border-left: 3px solid #1565c0;
}

/* ---- Responsive ---- */
@media (max-width: 600px) {
    .wct-ticket-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .wct-ticket-purchase {
        width: 100%;
    }

    .wct-add-to-cart-form {
        align-items: flex-start;
        flex-direction: column;
    }
}