/* ============================================================
   SUPERCAR VOUCHER SYSTEM — STYLES v1.1
   Strong specificity to override Elementor / theme defaults
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Teko:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');

/* ── PRODUCT GRID ────────────────────────────────────────── */
.scv-grid-wrap {
    width: 100%;
}

.scv-product-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 1024px) {
    .scv-product-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 24px !important;
    }
}

@media (max-width: 600px) {
    .scv-product-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }
}

/* ── PRODUCT CARD ────────────────────────────────────────── */
.scv-product-card {
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.scv-card-img-link {
    display: block !important;
    text-decoration: none !important;
    line-height: 0 !important;
}

.scv-card-img-wrap {
    width: 100% !important;
    aspect-ratio: 231 / 265.6 !important;
    overflow: hidden !important;
    background: #f0f0f0 !important;
    display: block !important;
}

.scv-card-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.4s ease !important;
    margin: 0 !important;
    padding: 0 !important;
}

.scv-card-img-link:hover .scv-card-img {
    transform: scale(1.04) !important;
}

.scv-card-body {
    padding: 12px 0 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin: 0 !important;
}

/* ── TITLE ───────────────────────────────────────────────── */
.scv-product-card .scv-card-title {
    font-family: 'Teko', sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    color: #000000 !important;
    margin: 0 0 2px 0 !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
    border: none !important;
    background: none !important;
}

/* ── PRICE ───────────────────────────────────────────────── */
.scv-product-card .scv-card-price {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.scv-product-card .scv-price-regular {
    font-family: 'Teko', sans-serif !important;
    font-size: 32px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    color: #950E0D !important;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
}

.scv-product-card .scv-price-strike {
    font-family: 'Teko', sans-serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    color: #aaaaaa !important;
    text-decoration: line-through !important;
    margin: 0 !important;
    padding: 0 !important;
}

.scv-product-card .scv-price-sale {
    font-family: 'Teko', sans-serif !important;
    font-size: 32px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    color: #950E0D !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ── CARD BUTTONS ────────────────────────────────────────── */
.scv-product-card .scv-card-buttons {
    display: flex !important;
    flex-direction: row !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    margin-top: 8px !important;
    padding: 0 !important;
}

.scv-product-card .scv-card-btn,
.scv-action-buttons .scv-card-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 8px 24px !important;
    border: 2px solid #950E0D !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #950E0D !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    outline: none !important;
}

.scv-product-card .scv-card-btn:hover,
.scv-product-card .scv-card-btn:focus,
.scv-action-buttons .scv-card-btn:hover,
.scv-action-buttons .scv-card-btn:focus {
    background: #950E0D !important;
    background-color: #950E0D !important;
    color: #ffffff !important;
    text-decoration: none !important;
    border-color: #950E0D !important;
}

/* Single product page buttons */
.scv-action-buttons {
    display: flex !important;
    flex-direction: row !important;
    gap: 10px !important;
    margin-top: 16px !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
}

/* Book Now = ~120px, Buy Gift Voucher = ~164px — driven by text + padding */

/* ── LOAD MORE ───────────────────────────────────────────── */
.scv-load-more-wrap {
    text-align: center !important;
    margin-top: 40px !important;
    width: 100% !important;
}

.scv-load-more-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 48px !important;
    height: 54px !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 2px solid #950E0D !important;
    border-radius: 0 !important;
    color: #950E0D !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
    box-shadow: none !important;
}

.scv-load-more-btn:hover {
    background: #950E0D !important;
    background-color: #950E0D !important;
    color: #ffffff !important;
}

.scv-load-more-btn:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

/* ── BOOKING WIDGET WRAPPER ──────────────────────────────── */
.scv-widget {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#scv-booking-mode,
#scv-voucher-mode {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    width: 100% !important;
}

/* ── LABELS ──────────────────────────────────────────────── */
.scv-widget .scv-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #000000 !important;
    display: block !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.scv-widget .scv-field-wrap {
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ── QUANTITY SELECT ─────────────────────────────────────── */
.scv-widget .scv-select-wrap {
    position: relative !important;
    width: 100% !important;
}

.scv-widget .scv-select-wrap select {
    width: 100% !important;
    height: 62px !important;
    border: 1px solid #cccccc !important;
    border-radius: 0 !important;
    padding: 0 50px 0 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    color: #777777 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    line-height: normal !important;
}

.scv-widget .scv-select-wrap select option:first-child {
    font-family: 'Inter', sans-serif !important;
    font-weight: 300 !important;
    font-size: 16px !important;
    color: #777777 !important;
}

.scv-widget .scv-arrow {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    line-height: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.scv-widget .scv-arrow svg {
    width: 20px !important;
    height: 12px !important;
    display: block !important;
}

/* ── BOOKING DATE INPUT ──────────────────────────────────── */
.scv-widget .scv-input-wrap {
    position: relative !important;
    width: 100% !important;
}

.scv-widget .scv-input-wrap input[type="text"] {
    width: 100% !important;
    height: 62px !important;
    border: 1px solid #cccccc !important;
    border-radius: 0 !important;
    padding: 0 50px 0 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    color: #333333 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.scv-widget .scv-input-wrap input::placeholder {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    color: #999999 !important;
}

.scv-widget .scv-cal-icon {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    line-height: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.scv-widget .scv-cal-icon svg {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
}

/* ── TIME SLOTS ──────────────────────────────────────────── */
.scv-widget .scv-time-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.scv-widget .scv-time-btn {
    width: 111px !important;
    height: 50px !important;
    min-height: 50px !important;
    border: 2px solid #950E0D !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #950E0D !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color 0.15s, color 0.15s !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.scv-widget .scv-time-btn.selected,
.scv-widget .scv-time-btn:hover {
    background: #950E0D !important;
    background-color: #950E0D !important;
    color: #ffffff !important;
    border-color: #950E0D !important;
}

/* ── ADD TO CART / BUY VOUCHER BUTTON ────────────────────── */
.scv-widget button.scv-atc-btn,
.scv-widget #scv-book-btn,
.scv-widget #scv-voucher-btn {
    display: block !important;
    width: 100% !important;
    height: 62px !important;
    min-height: 62px !important;
    background: #950E0D !important;
    background-color: #950E0D !important;
    color: #ffffff !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: background-color 0.2s !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    text-align: center !important;
}

.scv-widget button.scv-atc-btn:hover,
.scv-widget #scv-book-btn:hover,
.scv-widget #scv-voucher-btn:hover {
    background: #7a0b0a !important;
    background-color: #7a0b0a !important;
    color: #ffffff !important;
}

.scv-widget button.scv-atc-btn:disabled,
.scv-widget #scv-book-btn:disabled,
.scv-widget #scv-voucher-btn:disabled {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
}

/* ── VOUCHER NOTE ────────────────────────────────────────── */
.scv-widget .scv-voucher-note {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #555555 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ── MESSAGES ────────────────────────────────────────────── */
.scv-widget .scv-message {
    display: none;
    padding: 12px 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    border-radius: 0 !important;
    margin: 0 !important;
}

.scv-widget .scv-message.success {
    background: #d4edda !important;
    color: #155724 !important;
    border: 1px solid #c3e6cb !important;
}

.scv-widget .scv-message.error {
    background: #f8d7da !important;
    color: #721c24 !important;
    border: 1px solid #f5c6cb !important;
}

/* ── MOBILE ──────────────────────────────────────────────── */
@media (max-width: 480px) {
    .scv-product-card .scv-card-buttons {
        flex-direction: column !important;
    }

    .scv-product-card .scv-card-btn,
    .scv-action-buttons .scv-card-btn {
        width: 100% !important;
        font-size: 20px !important;
        height: 44px !important;
        min-height: 44px !important;
    }

    .scv-product-card .scv-card-title {
        font-size: 20px !important;
    }

    .scv-product-card .scv-price-regular,
    .scv-product-card .scv-price-sale {
        font-size: 26px !important;
    }

    .scv-widget .scv-time-btn {
        width: calc(33.33% - 7px) !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   CUSTOM CART PAGE
   ═══════════════════════════════════════════════════════════ */

.scv-cart-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-top: 48px !important;
    box-sizing: border-box !important;
}

/* Each cart row = image | form | upgrade panel */
.scv-cart-row {
    display: grid !important;
    grid-template-columns: 2fr 2.5fr 2.5fr !important;
    gap: 0 !important;
    margin-bottom: 40px !important;
    padding-bottom: 40px !important;
    border-bottom: 1px solid #e5e5e5 !important;
    align-items: start !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
}

@media (max-width: 900px) {
    .scv-cart-row {
        grid-template-columns: 1fr 1fr !important;
        gap: 20px !important;
    }
    .scv-cart-img-col {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 768px) {
    .scv-cart-row {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .scv-cart-upgrade-col {
        padding: 0 !important;
    }
    .scv-upgrade-meta-label {
        min-width: 90px !important;
    }
}

/* ── IMAGE COL ─────────────────────────────────────────────── */
.scv-cart-img-col {
    width: 100% !important;
    min-width: 0 !important;
    flex-shrink: 0 !important;
}

.scv-cart-img {
    width: 100% !important;
    height: auto !important;
    max-height: 301px !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* ── FORM COL ──────────────────────────────────────────────── */
.scv-cart-form-col {
    padding: 10px 28px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.scv-cart-title {
    font-family: 'Teko', sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    color: #1E1E1E !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 30px !important;
    width: 442px !important;
    max-width: 100% !important;
}

.scv-cart-price {
    font-family: 'Teko', sans-serif !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    font-style: normal !important;
    color: #ED0006 !important;
    line-height: 1 !important;
    margin: 0 !important;
}

.scv-cart-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    color: #1E1E1E !important;
    display: block !important;
    margin-bottom: 6px !important;
    text-transform: capitalize !important;
}

.scv-cart-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

/* Qty row */
.scv-cart-qty-row {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.scv-cart-qty-wrap {
    width: 320px !important;
    flex-shrink: 0 !important;
    position: relative !important;
}

.scv-cart-qty-wrap select {
    width: 100% !important;
    height: 52px !important;
    border: 1px solid #777777 !important;
    border-radius: 0 !important;
    padding: 0 44px 0 14px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    color: #333 !important;
    background: transparent !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

/* Cart qty dropdown arrow — positioned inside the select field */
.scv-cart-qty-wrap .scv-arrow {
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 18px !important;
    height: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
    color: #1E1E1E !important;
    font-size: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Cpolyline points='2,5 9,13 16,5' stroke='%231E1E1E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 18px 18px !important;
}

.scv-cart-unit-price {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    color: #1E1E1E !important;
    line-height: 52px !important;
    height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* Booking info (read-only date/time display) */
.scv-cart-booking-info {
    background: transparent !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.scv-cart-info-row {
    display: flex !important;
    gap: 4px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #1E1E1E !important;
}

.scv-cart-info-label {
    font-weight: 500 !important;
    min-width: 110px !important;
    color: #1E1E1E !important;
}

/* Inputs */
.scv-cart-input {
    width: 320px !important;
    max-width: 100% !important;
    height: 52px !important;
    border: 1px solid #777777 !important;
    border-radius: 0 !important;
    padding: 0 14px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    color: #333 !important;
    background: #fff !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.scv-cart-input::placeholder { color: #999 !important; }

.scv-cart-textarea {
    width: 320px !important;
    max-width: 100% !important;
    height: 100px !important;
    border: 1px solid #777777 !important;
    border-radius: 0 !important;
    padding: 12px 14px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    color: #333 !important;
    background: #fff !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: none !important;
    resize: vertical !important;
}

.scv-cart-textarea::placeholder { color: #999 !important; }

/* Remove button */
.scv-cart-remove {
    background: none !important;
    border: none !important;
    color: #999 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    cursor: pointer !important;
    padding: 0 !important;
    text-align: left !important;
    width: fit-content !important;
    margin-top: 4px !important;
}

.scv-cart-remove:hover { color: #950E0D !important; }

/* ── UPGRADE PANEL COL ─────────────────────────────────────── */
.scv-cart-upgrade-col {
    padding: 0 0 0 40px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.scv-upgrade-panel {
    background: #F4F4F4 !important;
    padding: 24px !important;
    min-height: 200px !important;
}

.scv-upgrade-title {
    font-family: 'Teko', sans-serif !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
    color: #1E1E1E !important;
    text-align: center !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
}

/* ── BOOKING META (date + time) inside upgrade panel ─────── */
.scv-upgrade-booking-meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin-bottom: 16px !important;
}

.scv-upgrade-meta-row {
    display: flex !important;
    align-items: baseline !important;
    gap: 4px !important;
}

.scv-upgrade-meta-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    color: #1E1E1E !important;
    min-width: 110px !important;
    flex-shrink: 0 !important;
}

.scv-upgrade-meta-value {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    color: #1E1E1E !important;
}

.scv-upgrade-coming {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #aaa !important;
    text-align: center !important;
    margin: 0 !important;
}

/* ── UPGRADE ITEMS (YOH Burger, Coffee etc.) ───────────────── */
.scv-upgrade-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #fff !important;
    padding: 12px 16px !important;
    margin-bottom: 10px !important;
}

.scv-upgrade-item-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.scv-upgrade-item-name {
    font-family: 'Teko', sans-serif !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    text-transform: capitalize !important;
    color: #1E1E1E !important;
    line-height: 1.1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.scv-upgrade-item-subtext {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    font-style: normal !important;
    text-transform: capitalize !important;
    color: #777777 !important;
    line-height: 1 !important;
    margin: 0 !important;
}

.scv-upgrade-item-subtext .scv-upgrade-price {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    color: #ED0006 !important;
}

/* Add button (red, +) */
.scv-upgrade-btn-add {
    width: 40px !important;
    height: 40px !important;
    background: #950E0D !important;
    border: none !important;
    color: #fff !important;
    font-size: 24px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    transition: background 0.2s !important;
}

.scv-upgrade-btn-add:hover {
    background: #7a0b0a !important;
}

/* Added button (green, checkmark) */
.scv-upgrade-btn-added {
    width: 40px !important;
    height: 40px !important;
    background: #3EAF3F !important;
    border: none !important;
    color: #fff !important;
    font-size: 20px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    transition: background 0.2s !important;
}

.scv-upgrade-btn-added:hover {
    background: #2e8c2f !important;
}

/* ── CART FOOTER ───────────────────────────────────────────── */
.scv-cart-footer {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 16px !important;
    margin-top: 20px !important;
    padding-top: 20px !important;
}

.scv-cart-totals {
    width: 380px !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.scv-cart-subtotal,
.scv-cart-total {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    color: #333 !important;
}

.scv-cart-total {
    font-weight: 700 !important;
    font-size: 18px !important;
    padding-top: 10px !important;
    border-top: 2px solid #000 !important;
}

/* Coupon input row */
.scv-coupon-row {
    display: flex !important;
    gap: 8px !important;
}

.scv-coupon-row .scv-cart-input {
    flex: 1 !important;
    height: 46px !important;
}

.scv-coupon-btn {
    height: 46px !important;
    padding: 0 20px !important;
    background: #000 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: background 0.2s !important;
}

.scv-coupon-btn:hover { background: #950E0D !important; }

.scv-coupon-msg {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    padding: 4px 0 !important;
}

.scv-cart-discounts {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.scv-discount-row {
    display: flex !important;
    justify-content: space-between !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #3EAF3F !important;
}

/* Checkout button */
.scv-cart-footer .scv-checkout-btn,
a.scv-checkout-btn,
.scv-checkout-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 380px !important;
    max-width: 100% !important;
    height: 56px !important;
    background: #950E0D !important;
    background-color: #950E0D !important;
    color: #fff !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}

.scv-cart-footer .scv-checkout-btn:hover,
a.scv-checkout-btn:hover,
.scv-checkout-btn:hover {
    background: #7a0b0a !important;
    background-color: #7a0b0a !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* Empty cart */
.scv-cart-empty {
    text-align: center !important;
    padding: 60px 20px !important;
    font-family: 'Inter', sans-serif !important;
}

@media (max-width: 600px) {
    .scv-cart-form-col { padding: 16px 0 !important; }
    .scv-cart-upgrade-col { padding: 0 !important; }
    .scv-cart-footer { align-items: stretch !important; }
    .scv-cart-totals, .scv-checkout-btn { width: 100% !important; }
    .scv-upgrade-meta-row { flex-wrap: wrap !important; gap: 2px !important; }
    .scv-upgrade-meta-label { min-width: auto !important; }
    .scv-upgrade-booking-meta { margin-bottom: 12px !important; }
}

/* ═══════════════════════════════════════════════════════════
   CUSTOM CHECKOUT PAGE  [scv_checkout]
   ═══════════════════════════════════════════════════════════ */

.scv-co-wrap {
    display: grid !important;
    grid-template-columns: 1fr 420px !important;
    gap: 40px !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding-top: 48px !important;
    padding-bottom: 80px !important;
    box-sizing: border-box !important;
    align-items: start !important;
}

.scv-co-left {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

@media (max-width: 900px) {
    .scv-co-wrap {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
        padding-top: 32px !important;
    }
}

/* ── SECTION TITLE — Teko 700, 32px, Uppercase, #1E1E1E ─── */
.scv-co-section-title {
    font-family: 'Teko', sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    color: #1E1E1E !important;
    margin: 0 0 28px 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    border: none !important;
    background: none !important;
}

/* ── FIELDS ────────────────────────────────────────────── */
.scv-co-field {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 20px !important;
}

.scv-co-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    color: #1E1E1E !important;
    margin-bottom: 8px !important;
    display: block !important;
    text-transform: capitalize !important;
}

/* Input: typed text — Inter 300 light, 16px, #777777 */
.scv-co-input {
    width: 100% !important;
    height: 52px !important;
    border: 1px solid #777777 !important;
    border-radius: 0 !important;
    padding: 0 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    color: #1E1E1E !important;
    background: #fff !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    transition: border-color 0.2s !important;
}

.scv-co-input:focus {
    border-color: #1E1E1E !important;
}

.scv-co-input.scv-co-error-field {
    border-color: #ED0006 !important;
}

/* Placeholder: Inter 300 light, 16px, #777777, Title case */
.scv-co-input::placeholder {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    color: #777777 !important;
    text-transform: capitalize !important;
}

/* Textarea: typed text — Inter 300 light, 16px, #1E1E1E */
.scv-co-textarea {
    width: 100% !important;
    height: 120px !important;
    border: 1px solid #777777 !important;
    border-radius: 0 !important;
    padding: 14px 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    color: #1E1E1E !important;
    background: #fff !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: none !important;
    resize: vertical !important;
    transition: border-color 0.2s !important;
}

.scv-co-textarea:focus {
    border-color: #1E1E1E !important;
}

.scv-co-textarea.scv-co-error-field {
    border-color: #ED0006 !important;
}

/* Textarea placeholder: Inter 300 light, 16px, #777777 */
.scv-co-textarea::placeholder {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    color: #777777 !important;
    text-transform: capitalize !important;
}

/* ── PHONE FIELD ───────────────────────────────────────── */
.scv-co-phone-wrap {
    display: flex !important;
    align-items: stretch !important;
}

.scv-co-phone-prefix {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 52px !important;
    padding: 0 14px !important;
    background: #F4F4F4 !important;
    border: 1px solid #777777 !important;
    border-right: none !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #1E1E1E !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
}

.scv-co-phone-input {
    flex: 1 !important;
    border-left: none !important;
}

/* ── INLINE VALIDATION ERRORS ──────────────────────────── */
.scv-co-error {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #ED0006 !important;
    margin-top: 4px !important;
    display: none !important;
}

.scv-co-error.visible {
    display: block !important;
}

/* ── COUPON ROW ────────────────────────────────────────── */
.scv-co-coupon-row {
    display: flex !important;
    gap: 0 !important;
}

.scv-co-coupon-row .scv-co-input {
    flex: 1 !important;
    border-right: none !important;
}

.scv-co-coupon-btn {
    height: 52px !important;
    padding: 0 24px !important;
    background: #1E1E1E !important;
    color: #fff !important;
    border: 1px solid #1E1E1E !important;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: background 0.2s !important;
    flex-shrink: 0 !important;
}

.scv-co-coupon-btn:hover {
    background: #950E0D !important;
    border-color: #950E0D !important;
}

.scv-co-coupon-msg {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    margin-top: 6px !important;
    padding: 4px 0 !important;
}

/* ── TOTALS ────────────────────────────────────────────── */
.scv-co-totals {
    margin: 24px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.scv-co-total-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* Sub Total / Discount label — Teko 500, 32px, Title case, #1E1E1E */
.scv-co-total-label {
    font-family: 'Teko', sans-serif !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    color: #1E1E1E !important;
    text-transform: capitalize !important;
    line-height: 1 !important;
}

.scv-co-discount-label {
    color: #1E1E1E !important;
}

/* Prices next to Sub Total / Discount — Teko 700, 32px, #ED0006 */
.scv-co-price {
    font-family: 'Teko', sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    color: #ED0006 !important;
    line-height: 1 !important;
}

.scv-co-discount-price {
    color: #ED0006 !important;
}

/* ── PLACE ORDER BUTTON ────────────────────────────────── */
.scv-co-place-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 56px !important;
    background: #950E0D !important;
    background-color: #950E0D !important;
    color: #fff !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    margin-top: 8px !important;
    margin-bottom: 60px !important;
    text-decoration: none !important;
}

.scv-co-place-btn:hover {
    background: #7a0b0a !important;
    background-color: #7a0b0a !important;
    color: #fff !important;
}

.scv-co-place-btn:disabled {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
}

.scv-co-global-error {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #ED0006 !important;
    margin-top: 10px !important;
    text-align: center !important;
}

/* ── RIGHT PANEL — SUMMARY ─────────────────────────────── */
.scv-co-right {
    position: relative !important;
    padding-bottom: 60px !important;
}

.scv-co-summary {
    background: #F4F4F4 !important;
    overflow: visible !important;
}

/* 'Booked Data Summary' header — Teko 500, 32px, centre, #FFFFFF */
.scv-co-summary-header {
    background: #1E1E1E !important;
    color: #FFFFFF !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    text-align: center !important;
    padding: 16px 20px !important;
    letter-spacing: 0 !important;
    text-transform: capitalize !important;
    line-height: 1.1 !important;
}

.scv-co-summary-section {
    padding: 20px 20px 8px !important;
    border-bottom: none !important;
}

.scv-co-summary-section:last-child {
    border-bottom: none !important;
    padding-bottom: 20px !important;
}

/* 'Booked Items', 'Personal Data', 'Booking Data' — Teko 700, 24px, Uppercase, #1E1E1E */
.scv-co-summary-heading {
    font-family: 'Teko', sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    color: #1E1E1E !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
    border: none !important;
    background: none !important;
}

/* Booked items — product name: Inter 500, 16px, #1E1E1E */
.scv-co-booked-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    margin-bottom: 4px !important;
    gap: 8px !important;
}

.scv-co-item-name {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    color: #1E1E1E !important;
    flex: 1 !important;
    line-height: 1.3 !important;
}

/* Product price — Teko 700, 20px, Uppercase, #ED0006 */
.scv-co-item-price {
    font-family: 'Teko', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    color: #ED0006 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}

/* Add-on row — 'For Extra' text + price */
.scv-co-booked-sub {
    display: flex !important;
    align-items: baseline !important;
    gap: 4px !important;
    margin-bottom: 8px !important;
    padding-left: 0 !important;
}

/* 'For Extra' text — Inter 300 light, 16px, Title case, #777777 */
.scv-co-addon-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    font-style: normal !important;
    color: #777777 !important;
    text-transform: capitalize !important;
}

/* Add-on item name — Inter 300 light, 16px */
.scv-co-addon-name {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    font-style: normal !important;
    color: #1E1E1E !important;
    flex: 1 !important;
    line-height: 1.3 !important;
}

/* Add-on price '£5' — Inter 700 bold, 16px, #ED0006 */
.scv-co-addon-price {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    color: #ED0006 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}

/* Personal & Booking data rows — Inter 500, 16px, #1E1E1E */
.scv-co-data-row {
    display: flex !important;
    align-items: baseline !important;
    gap: 6px !important;
    margin-bottom: 8px !important;
}

.scv-co-data-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    color: #1E1E1E !important;
    min-width: 120px !important;
    flex-shrink: 0 !important;
}

.scv-co-data-sep {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #1E1E1E !important;
    flex-shrink: 0 !important;
}

/* Data values — Inter 400 regular, 16px, #1E1E1E */
.scv-co-data-val {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    color: #1E1E1E !important;
    word-break: break-word !important;
}

/* ── EMPTY STATE ───────────────────────────────────────── */
.scv-co-empty {
    text-align: center !important;
    padding: 60px 20px !important;
    font-family: 'Inter', sans-serif !important;
}

/* ═══════════════════════════════════════════════════════════
   REDEEM VOUCHER WIDGET — [scv_redeem]
   ═══════════════════════════════════════════════════════════ */

.scv-redeem-wrap {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.scv-redeem-input-row {
    display: flex !important;
    gap: 10px !important;
    width: 100% !important;
    align-items: stretch !important;
}

/* Input — grey background, Teko 24px */
.scv-redeem-input {
    width: 409px !important;
    flex: 0 0 409px !important;
    height: 50px !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 24px !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    background: #8D8A8A !important;
    background-color: #8D8A8A !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    letter-spacing: 1px !important;
    line-height: 1 !important;
}

.scv-redeem-input::placeholder {
    color: rgba(255,255,255,0.75) !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
}

/* Button — white bg, 2px solid white border, Teko 24px */
.scv-redeem-btn {
    width: 141px !important;
    flex: 0 0 141px !important;
    height: 50px !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 0 !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: background 0.2s, color 0.2s !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    letter-spacing: 0.5px !important;
}

.scv-redeem-btn:hover {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #950E0D !important;
    border-color: #ffffff !important;
}

.scv-redeem-btn:disabled {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
}

/* Messages */
.scv-redeem-msg {
    padding: 10px 16px !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 20px !important;
    border-radius: 0 !important;
    letter-spacing: 0.5px !important;
}

.scv-redeem-msg.success {
    background: rgba(46, 204, 113, 0.25) !important;
    color: #3EAF3F !important;
    border: 1px solid rgba(46, 204, 113, 0.5) !important;
}

.scv-redeem-msg.error {
    background: rgba(231, 76, 60, 0.2) !important;
    color: #ff6b6b !important;
    border: 1px solid rgba(231, 76, 60, 0.4) !important;
}

@media (max-width: 600px) {
    .scv-redeem-input-row {
        flex-direction: column !important;
    }
    .scv-redeem-input {
        height: 54px !important;
        font-size: 20px !important;
    }
    .scv-redeem-btn {
        width: 100% !important;
        height: 54px !important;
        font-size: 20px !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   REDEEMED ITEM STATES
   ═══════════════════════════════════════════════════════════ */

/* Redeemed badge */
.scv-redeemed-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #888 !important;
    letter-spacing: 0.2px !important;
    margin-bottom: 4px !important;
}

.scv-redeemed-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    height: 16px !important;
    background: #3EAF3F !important;
    color: #fff !important;
    border-radius: 50% !important;
    font-size: 10px !important;
    flex-shrink: 0 !important;
}

.scv-redeemed-code {
    font-weight: 600 !important;
    color: #666 !important;
    letter-spacing: 0.5px !important;
}

/* Locked qty — styled to look like the select but not interactive */
.scv-qty-locked {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 200px !important;
    height: 52px !important;
    border: 1px solid #e0e0e0 !important;
    background: #f5f5f5 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #666 !important;
    cursor: not-allowed !important;
    user-select: none !important;
    box-sizing: border-box !important;
}

/* ═══════════════════════════════════════════════════════════
   VOUCHER ROW — REMOVE BUTTON
   ═══════════════════════════════════════════════════════════ */

.scv-discount-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #3EAF3F !important;
    gap: 8px !important;
}

.scv-discount-row-right {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.scv-remove-voucher-btn {
    background: none !important;
    border: none !important;
    color: #999 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    padding: 2px 4px !important;
    transition: color 0.15s !important;
    flex-shrink: 0 !important;
}

.scv-remove-voucher-btn:hover {
    color: #950E0D !important;
}

/* ═══════════════════════════════════════════════════════════
   CONFIRM POPUP MODAL
   ═══════════════════════════════════════════════════════════ */

.scv-confirm-overlay {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.65) !important;
    z-index: 999999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
}

.scv-confirm-overlay.scv-confirm-open {
    display: flex !important;
}

.scv-confirm-modal {
    background: #1a1a1a !important;
    border: 1px solid #333 !important;
    max-width: 480px !important;
    width: 100% !important;
    padding: 40px 36px 32px !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.6) !important;
}

.scv-confirm-msg {
    font-family: 'Teko', sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    line-height: 1.3 !important;
    margin: 0 0 32px 0 !important;
    text-align: center !important;
    letter-spacing: 0.3px !important;
}

.scv-confirm-btns {
    display: flex !important;
    gap: 12px !important;
    justify-content: center !important;
}

.scv-confirm-yes {
    flex: 1 !important;
    height: 52px !important;
    background: #950E0D !important;
    color: #ffffff !important;
    border: 2px solid #950E0D !important;
    border-radius: 0 !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: background 0.2s, color 0.2s !important;
    text-transform: uppercase !important;
}

.scv-confirm-yes:hover {
    background: #7a0b0a !important;
    border-color: #7a0b0a !important;
}

.scv-confirm-no {
    flex: 1 !important;
    height: 52px !important;
    background: transparent !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 0 !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: background 0.2s, color 0.2s !important;
    text-transform: uppercase !important;
}

.scv-confirm-no:hover {
    background: #ffffff !important;
    color: #000000 !important;
}

/* ═══════════════════════════════════════════════════════════
   CART — TIME SLOT BUTTONS (mirror widget styles, no .scv-widget scope)
   ═══════════════════════════════════════════════════════════ */

.scv-cart-form-col .scv-time-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.scv-cart-form-col .scv-time-btn,
.scv-co-time-wrap .scv-time-btn {
    width: 111px !important;
    height: 50px !important;
    min-height: 50px !important;
    border: 2px solid #950E0D !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #950E0D !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color 0.15s, color 0.15s !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.scv-cart-form-col .scv-time-btn.selected,
.scv-cart-form-col .scv-time-btn:hover,
.scv-co-time-wrap .scv-time-btn.selected,
.scv-co-time-wrap .scv-time-btn:hover {
    background: #950E0D !important;
    background-color: #950E0D !important;
    color: #ffffff !important;
    border-color: #950E0D !important;
}

/* ═══════════════════════════════════════════════════════════
   CHECKOUT — PER-PRODUCT BOOKING BLOCKS
   ═══════════════════════════════════════════════════════════ */

.scv-co-booking-block {
    border-top: none !important;
    padding-top: 16px !important;
    margin-top: 4px !important;
}

.scv-co-booking-block h4.scv-co-summary-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
}

.scv-co-voucher-tag {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #3EAF3F !important;
    letter-spacing: 0.5px !important;
    background: rgba(46,204,113,0.1) !important;
    padding: 2px 7px !important;
    border-radius: 3px !important;
    text-transform: uppercase !important;
}

.scv-co-required {
    color: #950E0D !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

.scv-co-date-wrap {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}

.scv-co-date-wrap .scv-co-input {
    padding-right: 40px !important;
    cursor: pointer !important;
}

.scv-co-cal-icon {
    position: absolute !important;
    right: 12px !important;
    font-size: 18px !important;
    pointer-events: none !important;
    color: #666 !important;
}

.scv-co-time-wrap {
    margin-top: 0 !important;
}

.scv-co-time-wrap .scv-time-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.scv-co-error.scv-co-date-error,
.scv-co-error.scv-co-time-error {
    display: block !important;
    min-height: 18px !important;
    font-size: 12px !important;
    color: #950E0D !important;
    margin-top: 4px !important;
}

.scv-co-error.scv-co-date-error.visible,
.scv-co-error.scv-co-time-error.visible {
    display: block !important;
}

/* ═══════════════════════════════════════════════════════════
   CHECKOUT BUTTON — DISABLED / BLOCKED STATE
   ═══════════════════════════════════════════════════════════ */

.scv-checkout-btn {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    cursor: pointer !important;
    background: #950E0D !important;
    color: #ffffff !important;
    border: 2px solid #950E0D !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 14px 0 !important;
    text-decoration: none !important;
    transition: background 0.2s, opacity 0.2s !important;
    border-radius: 0 !important;
    margin-top: 16px !important;
}

.scv-checkout-btn:hover:not(:disabled):not(.scv-checkout-btn--blocked) {
    background: #7a0b0a !important;
    border-color: #7a0b0a !important;
    color: #fff !important;
}

.scv-checkout-btn--blocked,
.scv-checkout-btn:disabled {
    background: #ccc !important;
    border-color: #ccc !important;
    color: #888 !important;
    cursor: not-allowed !important;
    opacity: 0.7 !important;
}

/* ── Cart booking warning banner ────────────────────────── */
.scv-cart-booking-warning {
    margin-top: 10px !important;
    padding: 12px 16px !important;
    background: #fff8e1 !important;
    border-left: 4px solid #f5a623 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #7a5c00 !important;
    line-height: 1.5 !important;
}

.scv-cart-booking-warning .scv-warning-icon {
    color: #f5a623 !important;
    margin-right: 6px !important;
    font-size: 15px !important;
}

/* ═══════════════════════════════════════════════════════════
   CHECKOUT PLACE ORDER — DISABLED / BLOCKED STATE
   ═══════════════════════════════════════════════════════════ */

.scv-co-place-btn--blocked,
.scv-co-place-btn:disabled {
    background: #ccc !important;
    border-color: #ccc !important;
    color: #888 !important;
    cursor: not-allowed !important;
    opacity: 0.75 !important;
}

/* ── Checkout booking warning banner ────────────────────── */
.scv-co-booking-warning {
    display: none !important;
    padding: 12px 16px !important;
    background: #fff8e1 !important;
    border-left: 4px solid #f5a623 !important;
    border-radius: 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #7a5c00 !important;
    line-height: 1.5 !important;
    margin-bottom: 12px !important;
}

.scv-co-booking-warning.visible {
    display: block !important;
}

.scv-co-booking-warning .scv-warning-icon {
    color: #f5a623 !important;
    margin-right: 6px !important;
    font-size: 15px !important;
}

.scv-co-booking-warning small {
    display: block !important;
    margin-top: 4px !important;
    color: #9a7a00 !important;
    font-size: 12px !important;
}

/* ═══════════════════════════════════════════════════════════
   PRODUCT PAGE — ADDON SECTION
   ═══════════════════════════════════════════════════════════ */

.scv-addon-section {
    margin-top: 28px !important;
    border-top: 1px solid #e0e0e0 !important;
    padding-top: 20px !important;
}

.scv-addon-title {
    font-family: 'Teko', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    color: #111 !important;
    text-transform: uppercase !important;
    margin: 0 0 14px 0 !important;
    text-align: center !important;
}

.scv-addon-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.scv-addon-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    border: 1px solid #e0e0e0 !important;
    padding: 14px 16px !important;
    background: #fff !important;
    transition: border-color 0.15s !important;
}

.scv-addon-row--selected {
    border-color: #950E0D !important;
}

.scv-addon-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.scv-addon-name {
    font-family: 'Teko', sans-serif !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    text-transform: capitalize !important;
    color: #1E1E1E !important;
    line-height: 1.1 !important;
}

.scv-addon-price {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    font-style: normal !important;
    color: #777777 !important;
    line-height: 1.2 !important;
}

.scv-addon-price strong {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    color: #ED0006 !important;
}

/* Add Now / Remove Now button — product page */
.scv-addon-btn {
    flex-shrink: 0 !important;
    height: 46px !important;
    min-width: 110px !important;
    padding: 0 18px !important;
    background: #950E0D !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: background 0.15s !important;
    white-space: nowrap !important;
}

.scv-addon-btn:hover {
    background: #7a0b0a !important;
}

.scv-addon-btn--added {
    background: #3EAF3F !important;
}

.scv-addon-btn--added:hover {
    background: #2d8f2e !important;
}

/* Add to Cart footer button inside addon section */
.scv-addon-cart-btn {
    display: block !important;
    width: 100% !important;
    height: 56px !important;
    margin-top: 14px !important;
    background: #950E0D !important;
    color: #ffffff !important;
    border: 2px solid #950E0D !important;
    border-radius: 0 !important;
    font-family: 'Teko', sans-serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.15s !important;
}

.scv-addon-cart-btn:hover {
    background: #7a0b0a !important;
    border-color: #7a0b0a !important;
}

/* ═══════════════════════════════════════════════════════════
   CART PAGE — UPGRADE PANEL ADDON LIST
   ═══════════════════════════════════════════════════════════ */

.scv-upgrade-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: 10px !important;
}

.scv-upgrade-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    border: 1px solid #777777 !important;
    padding: 10px 12px !important;
    background: #fff !important;
}

.scv-upgrade-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
}

/* Tick / Plus toggle button */
.scv-upgrade-toggle {
    flex-shrink: 0 !important;
    width: 40px !important;
    height: 40px !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.15s !important;
    line-height: 1 !important;
    padding: 0 !important;
}

.scv-upgrade-toggle--add {
    background: #950E0D !important;
    color: #ffffff !important;
}

.scv-upgrade-toggle--add:hover {
    background: #7a0b0a !important;
}

.scv-upgrade-toggle--added {
    background: #3EAF3F !important;
    color: #ffffff !important;
}

.scv-upgrade-toggle--added:hover {
    background: #c0392b !important; /* turns red to signal it will remove */
}

.scv-upgrade-toggle:disabled {
    opacity: 0.5 !important;
    cursor: wait !important;
}

