.ski-availability-grid__status i {
    display: block;
    color: black;
    font-size: 12px;
}

.input-validation-error {
    border: 1px solid red;
}

/* quick buy styles */
.ski-button.quick-buy {
    font-size: 0.8rem;
}

.quick-buy {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-left: 7px;
    margin-right: 7px;
}

.ski-button.quick-buy-success {
    border: 1px solid green;
}

.quick-buy-success {
    background-color: transparent !important;
    color: green;
    transition: all 0.3s ease;
}

h3 .quick-buy {
    vertical-align: middle;
    margin-bottom: 4px;
}

.notification-banner {
    width: 100%;
    background-color: #d12329;
    color: white;
    text-align: center;
    padding: 12px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

    .notification-banner p {
        margin: 0;
        line-height: 1.4;
        font-size: 1.1rem;
    }

    .notification-banner a {
        color: white;
        border-bottom: 1px solid white;
        text-decoration: none;
    }

        .notification-banner a:hover {
            color: #fff;
            border-bottom: 2px solid #fff;
            opacity: 0.9;
        }

.notification-close-button {
    background: transparent;
    border: 1px solid white;
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
    margin-left: 8px;
}

.ski-info {
    background-color: #d1ecf1;
    border-left: 4px solid #17a2b8;
    padding: 15px;
    margin: 20px 0;
    font-size: 0.9rem;
    color: #0c5460;
    border-radius: 0 4px 4px 0
}

.status-confirmed {
    color: #28a745;
    font-weight: bold;
}

.status-pending {
    color: #ffc107;
    font-weight: bold;
}

.q-icon {
    vertical-align: middle;
    margin-left: 4px;
}

/* Package pricing table styling */
.ski-pricing-table-section {
    padding-bottom: 0;
    padding-top: 2rem;
}

.ski-inclusions-section {
    background-color: #f8f9fa;
    padding: 1.25rem;
    margin-bottom: 2rem;
    border-left: 4px solid #1b5683;
}

.ski-inclusions-title {
    margin: 0 0 1rem 0;
    color: #1b5683;
    font-weight: 700;
    font-size: 1.1em;
}

.ski-inclusions-list {
    margin: 0;
    padding: 0;
    list-style: none;
    column-count: 3;
    column-gap: 1.5rem;
    column-fill: balance;
}

    .ski-inclusions-list .ski-list__item {
        display: flex;
        align-items: center;
        margin-bottom: 0.5rem;
        break-inside: avoid;
        page-break-inside: avoid;
        font-weight: bolder;
    }

    .ski-inclusions-list .ski-list__icon {
        flex-shrink: 0;
        margin-right: 0.75rem;
        color: #1b5683;
    }

.ski-table__item--available {
    border-left: 4px solid #84d100;
}

.ski-table__item--popular {
    border-left: 4px solid #ffbd2e;
}

.ski-table__item--nearly-gone {
    border-left: 4px solid #ff4d4d;
}

.ski-table__item--sold-out {
    background-color: #f7f7f7;
    color: #666;
}

.status-text {
    font-weight: bold;
}

    .status-text[data-status="available"] {
        color: #84d100;
    }

    .status-text[data-status="popular"] {
        color: #ffbd2e;
    }

    .status-text[data-status="nearly-gone"] {
        color: #ff4d4d;
    }

    .status-text[data-status="sold-out"] {
        color: #777b7e;
    }

.qualifier-text {
    color: #999;
    font-size: 0.75em;
    font-style: italic;
}

.sold-out-text {
    color: #777b7e;
    font-size: 0.9em;
}

.ski-heading a {
    color: #1b5683;
    text-decoration: none;
    transition: color 0.2s ease;
    border-bottom: 2px solid transparent;
    transition: border-bottom-color 0.2s ease;
}

    .ski-heading a:hover {
        color: #d12329;
        border-bottom-color: #d12329;
    }

    .ski-heading a:focus {
        outline: 2px solid #1b5683;
        outline-offset: 2px;
        border-radius: 2px;
    }

@media screen and (max-width: 768px) {
    .ski-inclusions-list {
        column-count: 2;
        column-gap: 1rem;
    }
}

@media screen and (max-width: 480px) {
    .ski-inclusions-list {
        column-count: 1;
        column-gap: 0;
    }
}

@media screen and (max-width: 768px) {
    .ski-table .ski-table__td:first-child {
        text-align: left !important;
        padding-left: 50% !important;
    }

    .ski-table__td[data-label="Holiday Dates"] {
        text-align: left !important;
        padding-left: 50% !important;
    }

    .ski-table__td::before {
        text-align: left !important;
        display: block;
        margin-bottom: 0.25rem;
    }
}

@media screen and (min-width: 769px) {
    .ski-table__td[data-label="Holiday Dates"] {
        text-align: left;
    }
}
