/* =====================================================
   HERO
===================================================== */

.ticket-hero-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 32px;
}

.ticket-stat {
    min-width: 130px;
    padding: 18px 22px;
    text-align: center;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.ticket-stat strong {
    display: block;
    font-size: 1.45rem;
    font-weight: 800;
    color: #fff;
    line-height: 1;
}

.ticket-stat span {
    display: block;
    margin-top: 8px;
    color: rgba(255, 255, 255, .85);
    font-size: .82rem;
}

.ticket-hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}

.ticket-hero-buttons .btn {
    min-width: 190px;
}


/* =====================================================
   EXPLORER
===================================================== */

.ticket-explorer {
    padding: 21px 0;
    background: #f8fafc;
}


/* =====================================================
   STATISTICS
===================================================== */

.ticket-stats-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 18px;

    margin: 0 0 32px;

}

.stats-card {

    background: #fff;

    border: 1px solid #edf1f5;

    border-radius: 22px;

    padding: 22px;

    display: flex;

    align-items: center;

    gap: 18px;

    transition: .25s;

    box-shadow: 0 8px 25px rgba(15, 23, 42, .05);

}

.stats-card:hover {

    transform: translateY(-4px);

    box-shadow: 0 18px 45px rgba(15, 23, 42, .08);

}

.stats-icon {

    width: 56px;

    height: 56px;

    border-radius: 50%;

    display: flex;

    justify-content: center;

    align-items: center;

    font-size: 22px;

    flex-shrink: 0;

}

.stats-icon.total {

    background: #eefaf2;

    color: #2e7d32;

}

.stats-icon.free {

    background: #eefcf4;

    color: #16a34a;

}

.stats-icon.paid {

    background: #fff8e8;

    color: #f59e0b;

}

.stats-icon.average {

    background: #f4f0ff;

    color: #7c3aed;

}

.stats-info {

    flex: 1;

}

.stats-label {

    display: block;

    color: #7b8794;

    font-size: .82rem;

    margin-bottom: 5px;

}

.stats-info h3 {

    margin: 0;

    font-size: 1.9rem;

    font-weight: 800;

    line-height: 1.1;

    color: #111827;

}


/* =====================================================
   FILTER CARD
===================================================== */

.ticket-filter-card {

    background: #fff;

    border: 1px solid #edf1f5;

    border-radius: 26px;

    padding: 30px;

    box-shadow: 0 10px 30px rgba(15, 23, 42, .05);

}

.filter-header {

    margin-bottom: 24px;

}

.filter-header h5 {

    font-size: 1.55rem;

    font-weight: 700;

    color: #111827;

    margin-bottom: 6px;

}

.filter-header p {

    margin: 0;

    color: #6b7280;

    line-height: 1.7;

}


/* =====================================================
   SEARCH
===================================================== */

.ticket-search {

    position: relative;

    margin-bottom: 16px;

    background: linear-gradient(135deg, #fffdf5, #fff7dc);

    border: 2px solid #f4b400;

    border-radius: 20px;

    padding: 6px;

    box-shadow: 0 8px 25px rgba(244, 180, 0, .15);

    transition: .25s;

}

.ticket-search:hover {

    box-shadow: 0 12px 30px rgba(244, 180, 0, .22);

}

.ticket-search:focus-within {

    border-color: #d89b00;

    box-shadow: 0 0 0 4px rgba(244, 180, 0, .15);

}

.ticket-search .form-control {

    height: 58px;

    border: none;

    border-radius: 16px;

    background: #fff;

    padding-left: 54px;

    box-shadow: none;

}

.ticket-search .form-control:focus {

    border: none;

    box-shadow: none;

}

.ticket-search i {

    position: absolute;

    left: 24px;

    top: 50%;

    transform: translateY(-50%);

    color: #d89b00;

    font-size: 1.2rem;

    z-index: 2;

}

.ticket-search .form-control {

    height: 60px;

    border-radius: 18px;

    border: 1px solid #e4e8ee;

    padding-left: 56px;

    font-size: 1rem;

    background: #fff;

    transition: .25s;

}

.ticket-search .form-control:focus {

    border-color: #f4b400;

    box-shadow: 0 0 0 .18rem rgba(244, 180, 0, .12);

}


/* =====================================================
   POPULAR KEYWORDS
===================================================== */

.popular-search {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 8px;

    margin-bottom: 24px;

}

.popular-search span {

    color: #64748b;

    font-weight: 600;

    font-size: .9rem;

}

.keyword-chip {

    border: none;

    background: #f7f8fa;

    color: #475569;

    border-radius: 999px;

    padding: 7px 14px;

    font-size: .82rem;

    transition: .25s;

    cursor: pointer;

}

.keyword-chip:hover {

    background: #f4b400;

    color: #fff;

}


/* =====================================================
   FILTER SELECT
===================================================== */

.filter-select {

    position: relative;

}

.filter-select i {

    position: absolute;

    left: 18px;

    top: 50%;

    transform: translateY(-50%);

    color: #94a3b8;

    z-index: 2;

    pointer-events: none;

}

.filter-select .form-select {

    width: 100%;

    height: 58px;

    border-radius: 16px;

    border: 1px solid #e5e7eb;

    padding-left: 48px;

    box-shadow: none;

    background: #fff;

    transition: .25s;

}

.filter-select .form-select:focus {

    border-color: #f4b400;

    box-shadow: 0 0 0 .15rem rgba(244, 180, 0, .12);

}


/* =====================================================
   RESULT
===================================================== */
.ticket-result {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin: 28px 0 20px;

    padding: 18px 22px;

    background: #fff;

    border: 1px solid #edf2f7;

    border-radius: 18px;

}

.ticket-result-info {

    display: flex;

    align-items: center;

    gap: 12px;

    color: #64748b;

    font-size: 1rem;

}

.ticket-result-info i {

    color: var(--booking-primary);

    font-size: 1.2rem;

}

.ticket-result strong {

    color: #111827;

    font-weight: 700;

}

.btn-reset-filter {

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 10px 18px;

    border-radius: 999px;

    border: 1px solid var(--booking-primary);

    background: #fff;

    color: var(--booking-primary);

    font-weight: 600;

    transition: .25s;

}

.btn-reset-filter:hover {

    background: var(--booking-primary);

    color: #fff;

}

/* =====================================================
   TICKET TABLE
===================================================== */

.ticket-table-section {
    padding-top: 0;
    padding-bottom: 55px;

}

.ticket-table-card {

    background: #fff;

    border: 1px solid #e9eef4;

    border-radius: 26px;

    overflow: hidden;

    box-shadow: 0 15px 40px rgba(15, 23, 42, .05);

}

/* =====================================================
   TICKET TABLE
===================================================== */

.ticket-table {

    margin: 0;

    border-collapse: separate;

    border-spacing: 0;

}

/* =========================
   HEADER
========================= */

.ticket-table thead {

    background: #1d4d3a;

}

.ticket-table th {

    padding: 18px 22px;

    border: none;

    font-size: .78rem;

    font-weight: 700;

    letter-spacing: .08em;

    text-transform: uppercase;

    color: #fff;

    white-space: nowrap;

    position: sticky;

    top: 0;

    z-index: 5;

    background: #1d4d3a;

}

.ticket-table th:first-child {

    border-top-left-radius: 18px;

}

.ticket-table th:last-child {

    border-top-right-radius: 18px;

}

/* =========================
   BODY
========================= */

.ticket-table td {

    padding: 18px 22px;

    border-top: 1px solid #edf2f7;

    vertical-align: middle;

    color: #334155;

    transition: .25s;

}

.ticket-table tbody tr {

    transition: .25s;

}

.ticket-table tbody tr:nth-child(even) {

    background: #fbfcfd;

}

.ticket-table tbody tr:hover {

    background: #f6faf8;

    transform: scale(1.002);

}

/* =========================
   NAME
========================= */

.ticket-table td:first-child strong {

    color: #111827;

    font-size: 1rem;

    font-weight: 700;

}

/* =========================
   CATEGORY
========================= */

.ticket-category {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 6px 12px;

    border-radius: 999px;

    background: #eef2ff;

    color: #4f46e5;

    font-size: .75rem;

    font-weight: 600;

    line-height: 1;

}

/* =========================
   PRICE
========================= */

.ticket-table td:nth-child(4),

.ticket-table td:nth-child(5) {

    font-weight: 600;

    color: #111827;

}

/* =========================
   FREE
========================= */

.ticket-free {

    color: #16a34a;

    font-weight: 700;

}

/* =========================
   BADGE
========================= */

.ticket-table .badge {

    border-radius: 999px;

    padding: .45rem .9rem;

    font-size: .72rem;

    font-weight: 700;

    letter-spacing: .02em;

}

/* =========================
   SCROLL
========================= */

.table-responsive {

    overflow: auto;

    max-height: 720px;

}

.table-responsive::-webkit-scrollbar {

    width: 8px;

    height: 8px;

}

.table-responsive::-webkit-scrollbar-thumb {

    background: #cbd5e1;

    border-radius: 20px;

}

.table-responsive::-webkit-scrollbar-thumb:hover {

    background: #94a3b8;

}

/* =========================
   NAME
========================= */

.ticket-name {

    display: flex;

    flex-direction: column;

    gap: 4px;

}

.ticket-name strong {

    font-size: .96rem;

    color: #0f172a;

    font-weight: 700;

}

.ticket-name small {

    color: #94a3b8;

    font-size: .8rem;

}

/* =========================
   CATEGORY
========================= */

.ticket-category {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 6px 14px;

    border-radius: 999px;

    background: #f1f5f9;

    color: #475569;

    font-size: .75rem;

    font-weight: 600;

}

/* =========================
   PRICE
========================= */

.ticket-price {

    font-weight: 700;

    color: #111827;

    white-space: nowrap;

}

.ticket-free {

    color: #16a34a;

    font-weight: 700;

}

/* =========================
   STATUS
========================= */

.ticket-table .badge {

    padding: .48rem .85rem;

    border-radius: 999px;

    font-size: .75rem;

    font-weight: 600;

}

.ticket-table .bg-success {

    background: #e8f7ec !important;

    color: #198754 !important;

}

.ticket-table .bg-warning {

    background: #fff4d6 !important;

    color: #a16207 !important;

}

/* =========================
   EMPTY STATE
========================= */

.ticket-empty {

    text-align: center;

    padding: 70px 20px;

    display: none;

}

.ticket-empty i {

    font-size: 3rem;

    color: #cbd5e1;

    margin-bottom: 14px;

}

.ticket-empty h4 {

    font-size: 1.25rem;

    margin-bottom: 10px;

    color: #111827;

}

.ticket-empty p {

    margin: 0;

    color: #64748b;

}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px) {

    .ticket-table-section {

        padding-bottom: 60px;

    }

    .ticket-table-card {

        border-radius: 20px;

    }

}

/* =====================================================
   MOBILE TICKET CARD
===================================================== */

.ticket-mobile-card {

    background: #fff;

    border: 1px solid #e8edf3;

    border-radius: 22px;

    padding: 18px;

    margin-bottom: 16px;

    box-shadow: 0 10px 30px rgba(15, 23, 42, .05);

    transition: .25s;

}

.ticket-mobile-card:last-child {

    margin-bottom: 0;

}

.ticket-mobile-card:hover {

    transform: translateY(-3px);

    box-shadow: 0 18px 40px rgba(15, 23, 42, .08);

}


/* =========================
   HEADER
========================= */

.ticket-mobile-header {

    display: flex;

    justify-content: space-between;

    align-items: flex-start;

    gap: 14px;

    margin-bottom: 14px;

}

.ticket-mobile-header h3 {

    margin: 0;

    font-size: 1.05rem;

    line-height: 1.45;

    font-weight: 700;

    color: #111827;

}


/* =========================
   META
========================= */

.ticket-mobile-meta {

    display: flex;

    flex-wrap: wrap;

    gap: 14px;

    margin-bottom: 16px;

}

.ticket-mobile-meta span {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    color: #64748b;

    font-size: .86rem;

}

.ticket-mobile-meta i {

    color: #d4a017;

}


/* =========================
   PRICE
========================= */

.ticket-mobile-price {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 14px;

    border-top: 1px solid #edf2f7;

    padding-top: 16px;

}

.ticket-mobile-price div {

    display: flex;

    flex-direction: column;

}

.ticket-mobile-price small {

    font-size: .72rem;

    text-transform: uppercase;

    letter-spacing: .08em;

    color: #94a3b8;

    margin-bottom: 4px;

}

.ticket-mobile-price strong {

    font-size: 1rem;

    font-weight: 700;

    color: #111827;

}


/* =========================
   STATUS
========================= */

.ticket-status {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 6px 12px;

    border-radius: 999px;

    font-size: .76rem;

    font-weight: 700;

}

.ticket-status.free {

    background: #e8f7ec;

    color: #198754;

}

.ticket-status.paid {

    background: #fff4d6;

    color: #a16207;

}


/* =========================
   RESPONSIVE
========================= */

@media(max-width:768px) {

    .ticket-mobile-card {

        border-radius: 18px;

        padding: 16px;

    }

    .ticket-mobile-header {

        margin-bottom: 12px;

    }

    .ticket-mobile-header h3 {

        font-size: 1rem;

    }

    .ticket-mobile-meta {

        gap: 12px;

        margin-bottom: 14px;

    }

    .ticket-mobile-price {

        gap: 12px;

        padding-top: 14px;

    }

}

@media(max-width:420px) {

    .ticket-mobile-card {

        padding: 15px;

    }

    .ticket-mobile-header h3 {

        font-size: .95rem;

    }

    .ticket-mobile-price strong {

        font-size: .95rem;

    }

}

/* =====================================================
   OVERVIEW
===================================================== */

.ticket-overview {

    padding: 70px 0;

    background: #fff;

}

.ticket-overview img {

    width: 100%;

    border-radius: 24px;

    box-shadow: 0 15px 35px rgba(15, 23, 42, .08);

}

.ticket-overview .section-label {

    display: inline-block;

    margin-bottom: 12px;

}

.ticket-overview .section-title {

    margin-bottom: 18px;

}

.ticket-overview p {

    color: #64748b;

    line-height: 1.9;

    margin-bottom: 18px;

}


/* =====================================================
   INFO GRID
===================================================== */

.ticket-info-grid {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 18px;

    margin-top: 30px;

}

.ticket-info-card {

    display: flex;

    align-items: flex-start;

    gap: 16px;

    padding: 20px;

    background: #f8fafc;

    border: 1px solid #edf2f7;

    border-radius: 20px;

    transition: .25s;

}

.ticket-info-card:hover {

    background: #fff;

    box-shadow: 0 10px 30px rgba(15, 23, 42, .06);

}

.ticket-info-card i {

    width: 46px;

    height: 46px;

    border-radius: 50%;

    display: flex;

    justify-content: center;

    align-items: center;

    background: #fff8e6;

    color: #d4a017;

    font-size: 1.2rem;

    flex-shrink: 0;

}

.ticket-info-card strong {

    display: block;

    margin-bottom: 6px;

    color: #111827;

    font-size: .96rem;

}

.ticket-info-card span {

    display: block;

    color: #64748b;

    line-height: 1.6;

    font-size: .88rem;

}


/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:991px) {

    .ticket-overview {

        padding: 60px 0;

    }

    .ticket-overview img {

        margin-bottom: 28px;

    }

}

@media(max-width:768px) {

    .ticket-info-grid {

        grid-template-columns: 1fr;

        gap: 14px;

    }

    .ticket-info-card {

        padding: 18px;

    }

    .ticket-info-card i {

        width: 42px;

        height: 42px;

        font-size: 1.05rem;

    }

}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width:991px) {

    /* Explorer */

    .ticket-explorer {

        padding: 13px 0;

    }

    /* Statistics */

    .ticket-stats-grid {

        grid-template-columns: repeat(2, 1fr);

        gap: 14px;

    }

    .stats-card {

        padding: 18px;

        gap: 14px;

    }

    .stats-icon {

        width: 46px;

        height: 46px;

        font-size: 18px;

    }

    .stats-info h3 {

        font-size: 1.45rem;

    }

    .stats-label {

        font-size: .75rem;

    }

    /* Filter */

    .ticket-filter-card {

        padding: 22px;

        border-radius: 20px;

    }

    .filter-header {

        text-align: center;

    }

    .filter-header h5 {

        font-size: 1.35rem;

    }

    .popular-search {

        justify-content: center;

    }

    /* Overview */

    .ticket-overview {

        padding: 60px 0;

    }

    .ticket-overview img {

        margin-bottom: 28px;

    }

}

@media (max-width:768px) {

    /* Hero */

    .ticket-hero-stats {

        display: grid;

        grid-template-columns: repeat(2, 1fr);

    }

    .ticket-hero-buttons {

        flex-direction: column;

    }

    .ticket-hero-buttons .btn {

        width: 100%;

    }

    /* Search */

    .ticket-search .form-control {

        height: 54px;

        font-size: .92rem;

    }

    .filter-select .form-select {

        height: 52px;

    }

    .btn-reset-filter {

        height: 52px;

    }

    /* Table */

    .ticket-table-card {

        border-radius: 20px;

    }

    /* Mobile Card */

    .ticket-mobile-card {

        padding: 16px;

        border-radius: 18px;

    }

    .ticket-mobile-header h3 {

        font-size: 1rem;

    }

    .ticket-mobile-price {

        gap: 12px;

    }

    /* Overview */

    .ticket-info-grid {

        grid-template-columns: 1fr;

    }

}

@media (max-width:420px) {

    .ticket-filter-card {

        padding: 18px;

    }

    .stats-card {

        padding: 16px;

    }

    .stats-info h3 {

        font-size: 1.25rem;

    }

    .stats-icon {

        width: 40px;

        height: 40px;

        font-size: 16px;

    }

    .ticket-mobile-header h3 {

        font-size: .95rem;

    }

    .ticket-mobile-price strong {

        font-size: .92rem;

    }

}

/* =====================================================
   UTILITIES
===================================================== */

.section-space {

    padding: 80px 0;

}

.rounded-xl {

    border-radius: 24px;

}

.shadow-soft {

    box-shadow: 0 15px 35px rgba(15, 23, 42, .05);

}

.text-muted-light {

    color: #64748b;

}

.bg-light-soft {

    background: #f8fafc;

}

:root {

    --booking-primary: #f4b400;

    --booking-primary-hover: #d89c00;

    --booking-success: #16a34a;

    --booking-warning: #f59e0b;

    --booking-purple: #7c3aed;

    --booking-dark: #111827;

    --booking-muted: #64748b;

    --booking-border: #e5e7eb;

    --booking-background: #f8fafc;

}

.ticket-result-bar {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin: 10px 0 6px;

    gap: 12px;

}

@media (max-width:768px) {

    .ticket-result {

        flex-direction: column;

        align-items: flex-start;

        gap: 8px;

        margin-top: 8px;

        font-size: .9rem;

    }

    .ticket-search input {
        height: 52px;
        font-size: .95rem;
    }

    .popular-search {
        gap: 6px;
        margin: 10px 0 14px;
    }

    .keyword-chip {
        padding: 4px 10px;
        font-size: .72rem;
    }

    .filter-select {
        height: 46px;
        border-radius: 14px;
    }

    .filter-select .form-select {
        height: 44px;
        font-size: .82rem;
    }

    .ticket-result-bar {

        margin: 10px 0 12px;

    }

    .btn-reset-filter {

        width: auto;

        height: 40px;

        padding: 0 14px;

        border-radius: 12px;

        font-size: .82rem;

    }

    .ticket-filter-card {

        padding: 18px;

        border-radius: 20px;

    }

    .ticket-result-info {
        font-size: 13px;
    }

}

/* =====================================================
   TRAVEL TIPS
===================================================== */

.travel-tips {

    padding: 80px 0;

    background: #fff;

}

.travel-tip-card {

    display: flex;

    gap: 18px;

    background: #fff;

    border: 1px solid #edf2f7;

    border-radius: 20px;

    padding: 24px;

    transition: .25s;

    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);

}

.travel-tip-card:hover {

    transform: translateY(-4px);

    box-shadow: 0 18px 36px rgba(15, 23, 42, .08);

}

.travel-tip-card i {

    width: 52px;

    height: 52px;

    display: flex;

    justify-content: center;

    align-items: center;

    border-radius: 50%;

    background: #fff7e6;

    color: #d4a017;

    font-size: 1.35rem;

    flex-shrink: 0;

}

.travel-tip-card h5 {

    margin-bottom: 8px;

    font-size: 1.05rem;

    font-weight: 700;

}

.travel-tip-card p {

    margin: 0;

    color: #64748b;

    line-height: 1.7;

}

@media(max-width:768px) {

    .travel-tips {

        padding: 60px 0;

    }

    .travel-tip-card {

        padding: 18px;

    }

}

/* =====================================================
   FAQ
===================================================== */

.ticket-faq {

    padding: 55px 0;

    background: #f8fafc;

}

.ticket-accordion .accordion-item {

    border: none;

    border-radius: 18px;

    overflow: hidden;

    margin-bottom: 16px;

    box-shadow: 0 10px 28px rgba(15, 23, 42, .05);

}

.ticket-accordion .accordion-button {

    background: #fff;

    padding: 22px 26px;

    font-weight: 700;

    color: #111827;

    box-shadow: none;

}

.ticket-accordion .accordion-button:not(.collapsed) {

    background: #fffdf5;

    color: #b7791f;

}

.ticket-accordion .accordion-button:focus {

    box-shadow: none;

}

.ticket-accordion .accordion-body {

    padding: 0 26px 24px;

    color: #64748b;

    line-height: 1.8;

}

@media(max-width:768px) {

    .ticket-faq {

        padding: 60px 0;

    }

    .ticket-accordion .accordion-button {

        padding: 18px;

        font-size: .95rem;

    }

    .ticket-accordion .accordion-body {

        padding: 0 18px 18px;

    }

}


/* =====================================================
   CTA
===================================================== */

.ticket-cta {

    padding: 55px 0;

    background: #f8fafc;

}

.ticket-cta-card {

    background: linear-gradient(135deg, #174a39, #215b45);

    border-radius: 32px;

    padding: 70px 40px;

    text-align: center;

    color: #fff;

    overflow: hidden;

    position: relative;

}

.ticket-cta-badge {

    display: inline-block;

    background: rgba(255, 255, 255, .12);

    border: 1px solid rgba(255, 255, 255, .18);

    border-radius: 999px;

    padding: 8px 18px;

    font-size: .82rem;

    font-weight: 700;

    margin-bottom: 20px;

}

.ticket-cta-card h2 {

    font-size: 2.4rem;

    font-weight: 800;

    margin-bottom: 18px;

}

.ticket-cta-card p {

    max-width: 700px;

    margin: 0 auto 35px;

    line-height: 1.9;

    color: rgba(255, 255, 255, .85);

}

.ticket-cta-buttons {

    display: flex;

    justify-content: center;

    gap: 16px;

    flex-wrap: wrap;

}

.ticket-cta-buttons .btn {

    min-width: 210px;

    font-weight: 600;

}

.ticket-cta-buttons .btn-outline-light {

    border-width: 2px;

}

.ticket-cta-buttons .btn-outline-light:hover {

    color: #174a39;

}

@media(max-width:768px) {

    .ticket-cta {

        padding: 60px 0;

    }

    .ticket-cta-card {

        padding: 40px 24px;

        border-radius: 24px;

    }

    .ticket-cta-card h2 {

        font-size: 1.8rem;

    }

    .ticket-cta-buttons {

        flex-direction: column;

    }

    .ticket-cta-buttons .btn {

        width: 100%;

    }

}