.tad-wrap {
    max-width: 900px;
    margin: 0 auto;
}

.tad-form {
    display: block !important;
}

.tad-attendee {
    display: block !important;
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 2rem;
    padding: 1.5rem;
    border: 1px solid #d8d8d8;
    border-radius: 6px;
}

.tad-attendee legend {
    padding: 0 .5rem;
    font-size: 1.3rem;
    font-weight: 700;
}

.tad-attendee-product {
    margin: 0 0 1.25rem;
    padding: .65rem .85rem;
    border-left: 4px solid #a57b32;
    background: #f7f4ee;
    font-weight: 700;
}

.tad-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.5rem;
}

.tad-grid .form-row {
    margin: 0;
}

.tad-grid .form-row-wide,
.tad-consent {
    grid-column: 1 / -1;
}

.tad-grid input[type="text"],
.tad-grid select,
.tad-grid textarea {
    box-sizing: border-box;
    width: 100%;
}

.tad-grid label {
    display: block;
    margin-bottom: .35rem;
    font-weight: 600;
}

.tad-consent label {
    font-weight: 400;
}

.tad-consent input {
    margin-right: .4rem;
}

.tad-grid .required {
    color: #b32d2e;
}

@media (max-width: 700px) {
    .tad-grid {
        grid-template-columns: 1fr;
    }
}

.tad-purchase-form {
    max-width: 680px;
    margin: 2rem auto;
    padding: 2rem;
    border: 1px solid #d8d8d8;
    border-radius: 8px;
    background: #fff;
    text-align: center;
}

.tad-purchase-form h2 {
    margin: 0 0 .35rem;
}

.tad-ticket-price {
    margin-bottom: 1.5rem;
    font-size: 1.15rem;
    font-weight: 700;
}

.tad-ticket-choices {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.5rem 0;
    text-align: left;
}

.tad-ticket-choice {
    padding: 1.25rem;
    border: 1px solid #d8d8d8;
    border-radius: 6px;
    background: #f8f8f8;
}

.tad-ticket-choice h3 {
    margin: 0 0 .5rem;
    font-size: 1.05rem;
}

.tad-ticket-choice .tad-ticket-price {
    margin-bottom: 1rem;
}

@media (max-width: 700px) {
    .tad-ticket-choices {
        grid-template-columns: 1fr;
    }
}

.tad-quantity-field label {
    display: block;
    margin-bottom: .5rem;
    font-weight: 700;
}

.tad-quantity-field select {
    min-width: 110px;
    padding: .65rem 2.25rem .65rem .8rem;
    font-size: 1rem;
}

.tad-checkout-button {
    margin-top: .75rem;
}

.tad-purchase-note {
    margin: 1rem 0 0;
    font-size: .9rem;
}

/* Focused ticket checkout. */
body.woocommerce-checkout {
    --tad-ink: #172338;
    --tad-muted: #5b6574;
    --tad-line: #dfe3e8;
    --tad-panel: #f7f8fa;
    --tad-accent: #a57b32;
    --tad-accent-dark: #7b5921;
    --tad-success: #277451;
}

.woocommerce-checkout .entry-title {
    display: none;
}

/* Remove optional elements from the focused ticket flow. */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout #wc-stripe-express-checkout-element,
.woocommerce-checkout #wc-stripe-express-checkout__order-attribution-inputs,
.woocommerce-checkout #wc-stripe-express-checkout-button-separator,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-SavedPaymentMethods-saveNew {
    display: none !important;
}

.woocommerce-checkout .tad-checkout-intro {
    max-width: 1100px;
    margin: 0 auto 2.25rem;
    padding: 2rem;
    border-left: 5px solid var(--tad-accent);
    background: var(--tad-ink);
    color: #fff;
}

.woocommerce-checkout .tad-checkout-kicker {
    margin: 0 0 .4rem;
    color: #e2c68d;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.woocommerce-checkout .tad-checkout-intro h1 {
    margin: 0 0 .65rem;
    color: #fff;
    font-size: clamp(1.7rem, 3vw, 2.55rem);
    line-height: 1.15;
}

.woocommerce-checkout .tad-checkout-intro > p:not(.tad-checkout-kicker) {
    max-width: 760px;
    margin: 0;
    color: #edf0f4;
}

.tad-checkout-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .75rem;
    margin: 1.75rem 0 0;
    padding: 0;
    list-style: none;
}

.tad-checkout-steps li {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-width: 0;
    color: #c5ccd5;
    font-size: .9rem;
}

.tad-checkout-steps span {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid #677386;
    border-radius: 50%;
    font-weight: 800;
}

.tad-checkout-steps .is-complete,
.tad-checkout-steps .is-current {
    color: #fff;
}

.tad-checkout-steps .is-complete span {
    border-color: var(--tad-success);
    background: var(--tad-success);
}

.tad-checkout-steps .is-current span {
    border-color: var(--tad-accent);
    background: var(--tad-accent);
}

.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr);
    grid-template-areas:
        "customer heading"
        "customer review";
    gap: 2rem;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    align-items: start;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
    float: none;
    clear: none;
    min-width: 0;
    width: auto !important;
    margin: 0;
}

.woocommerce-checkout #customer_details {
    grid-area: customer;
    grid-column: 1;
    grid-row: 1 / span 2;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    grid-column: 2;
}

.woocommerce-checkout #order_review_heading {
    grid-area: heading;
}

.woocommerce-checkout #order_review {
    grid-area: review;
}

.woocommerce-checkout #order_review_heading {
    margin: 0 0 -1.25rem;
    padding: 1.5rem 1.5rem 0;
    border: 1px solid var(--tad-line);
    border-bottom: 0;
    background: #fff;
    color: var(--tad-ink);
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
    float: none;
    clear: none;
    width: 100% !important;
}

.woocommerce-checkout #main-content .container,
.woocommerce-checkout #main-content .et_pb_row {
    width: 92%;
    max-width: 1200px;
}

.woocommerce-checkout #main-content .container::before {
    display: none;
}

.woocommerce-checkout #customer_details .col-2:empty {
    display: none;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout #order_review {
    padding: 1.5rem;
    border: 1px solid var(--tad-line);
    background: #fff;
    box-shadow: 0 12px 35px rgba(23, 35, 56, .07);
}

.woocommerce-checkout .woocommerce-billing-fields h3 {
    margin: 0 0 1.25rem;
    color: var(--tad-ink);
}

.woocommerce-checkout .form-row label {
    color: var(--tad-ink);
    font-weight: 700;
}

.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection--single {
    min-height: 48px;
    border: 1px solid #bbc2cc;
    border-radius: 3px;
    background: #fff;
    color: var(--tad-ink);
}

.woocommerce-checkout .input-text {
    padding: .75rem;
}

.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus {
    border-color: var(--tad-accent-dark);
    outline: 3px solid rgba(165, 123, 50, .18);
}

.woocommerce-checkout #payment {
    border-radius: 3px;
    background: var(--tad-panel);
}

.tad-payment-intro {
    padding: 1rem 1rem .2rem;
}

.tad-payment-intro h3 {
    margin: 0 0 .25rem;
    color: var(--tad-ink);
    font-size: 1.1rem;
}

.tad-payment-intro p {
    margin: 0;
    color: var(--tad-muted);
    font-size: .9rem;
}

.woocommerce-checkout #place_order {
    width: 100%;
    min-height: 54px;
    padding: .85rem 1.2rem;
    border: 0;
    border-radius: 3px;
    background: var(--tad-accent);
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .01em;
}

.woocommerce-checkout #place_order:hover,
.woocommerce-checkout #place_order:focus {
    background: var(--tad-accent-dark);
    color: #fff;
}

.tad-checkout-help {
    max-width: 1100px;
    margin: 2rem auto 0;
    padding: 1.25rem 1.5rem;
    border-left: 4px solid var(--tad-accent);
    background: var(--tad-panel);
}

.tad-checkout-help h3 {
    margin: 0 0 .35rem;
    color: var(--tad-ink);
}

.tad-checkout-help p {
    margin: 0;
    color: var(--tad-muted);
}

@media (max-width: 820px) {
    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr;
        grid-template-areas:
            "customer"
            "heading"
            "review";
    }

    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        grid-column: 1;
        grid-row: auto;
    }

    .woocommerce-checkout #order_review_heading {
        margin-top: .25rem;
    }
}

@media (max-width: 600px) {
    .woocommerce-checkout .tad-checkout-intro,
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout #order_review {
        padding: 1.2rem;
    }

    .tad-checkout-steps {
        grid-template-columns: 1fr;
    }
}
