/* General */

main {
    .row, h1, h2, h3, p {
        padding-left: 0;
        padding-right: 0;
    }
    
    h1 {
        font-size: 64px;
    }
}

a {
    color: #af3c34;
}

a.btn-primary,
button.btn-primary {
    background: #af3c34;
    border-radius: 2rem;
    border: none;
    color: #fff;
    font-weight: bold;
    
    &:hover {
        background: #96c3bf;
        color: #000;
    }
}

p a.btn-default {
    border-radius: 2rem;
    font-weight: bold !important;
}

.tn-btn-wrapper a.btn-primary,
p a.btn-primary {
    background: #af3c34;
    border-radius: 2rem;
    border: none;
    color: #fff;
    font-weight: bold !important;
    
    &:hover {
        background: #96c3bf;
        color: #000;
    }
}

.tn-btn-wrapper:has(a.btn-primary) {
    padding: 0 2rem;
}

label.control-label {
    padding: 0;
}
    
input.form-control,
select.form-control {
    box-shadow: 0 0 0 1px #f1f1f1;
}

.tn-radio-button-list__input:checked+.tn-radio-button-list__button {
    background-color: #af3c34;
    border-color: #af3c34;
}

form button.btn-primary {
    background: #af3c34;
    border-radius: 2rem;
    border: none;
    color: #fff;
    font-size: 16px;
    font-weight: bold !important;
    transition: background 0.3s ease, color 0.3s ease;
    
    &:hover {
        background: #96c3bf;
        color: #000;
    }
}

fieldset {
    h2 {
        font-size: 40px;
        padding: 0;
    }
    
    p {
        padding: 0;
    }
}

/* Utility Nav */

.tn-utility-nav {
    background-color: #f1f1f1;
}

.tn-utility-nav a.btn {
    align-items: center;
    background: #af3c34;
    border-radius: 2rem;
    border: none;
    color: #fff;
    display: flex;
    font-weight: bold !important;
    min-height: 40px;
    
    &:hover {
        background: #96c3bf;
        color: #000;
    }
}

.tn-utility-nav-cart-link__quantity-badge {
    margin-top: 5px;
    color: black;
}

.tn-utility-nav-inline-promo-code-form__input {
    border-radius: 2rem 0 0 2rem;
}

.tn-utility-nav-inline-promo-code-form__btn-submit {
    background-color: #af3c34;
    border: none;
    border-radius: 0 2rem 2rem 0 !important;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    
    &:hover {
        background: #96c3bf;
        color: #000;
    }
}

.tn-utility-nav-modal-promo-code-form__btn-open-modal {
    align-items: center;
    background: #af3c34;
    border-radius: 2rem;
    border: none;
    color: #fff;
    font-weight: bold !important;
    min-height: 35px;
    
    &:hover {
        background: #96c3bf;
        color: #000;
    }
}

/* Tickets */

.tn-header-component__heading {
    padding: 0;
}

#tn-events-calendar-mode-tab-nav {
    margin-top: 10px;
}

.tn-event-listing-mode-tab-nav__list-item {
    color: #af3c34;
    margin-bottom: 0;
    
    &.active {
        font-weight: bold;
    }
}

.tn-btn-datepicker {
    margin-bottom: 10px;
}

.tn-btn-datepicker__btn-container {
    .btn-primary {
        background: #af3c34;
        border: none;
    }
    
    .tn-btn-datepicker__btn-period-prev-next--btn-prev {
        border-radius: 2rem 0 0 2rem;
    }
    
    .tn-btn-datepicker__btn-period-prev-next--btn-next {
        border-radius: 0 2rem 2rem 0;
    }
    
    .tn-btn-datepicker__icon-calendar {
        color: #af3c34;
    }
}

table.calendar {
    tr {
        background-color: transparent !important;
    }
    
    th {
        padding: 0;
        border: none;
        vertical-align: middle;
    }
    
    td {
        background: none;
        padding: 0;
        border: none;
        text-align: center;
        vertical-align: middle;
        
        &.day[aria-current=date] span {
            background-color: #af3c34;
            border: none;
        }
    }
}

.tn-events-calendar__day-number--today:after {
    background-color: #af3c34;
}

.tn-events-calendar__event {
    background-color: #f5c86b;
    border-radius: 0 !important;
}

.tn-prod-list-item__perf-anchor {
    border: none;
}

.tn-prod-list-item__button {
    background-color: #af3c34;
    border: none;
    
    &:hover {
        background: #96c3bf;
    }
}

/* Membership */

.tn-membership-product__heading-level-description {
    padding: 0;
}

.tn-membership-product__level-details {
    p {
        padding: 0;
    }
}

/* Login */

.tn-account-login-form__legend {
    h2 {
        padding: 0;
    }
}

.tn-account-login__guest-login-section {
    .tn-account-login__guest-login-section-button {
        margin-left: 2rem;
    }
}

/* Cart */

body.modal-open {
    .modal {
        visibility: visible;
        z-index: 9999;
    }
}