/* Unified Xervs booking theme. Loaded after view-level styles for Booking/*. */
body.xv-body[class*="route-booking-"] {
    --bs-primary: #166534;
    --bs-primary-rgb: 22, 101, 52;
    --bs-link-color: #166534;
    --bs-link-hover-color: #14532d;
    --xv-accent: #166534;
    --xv-accent-dark: #14532d;
    --xv-accent-soft: #e8f5ec;
    background: radial-gradient(circle at top left, rgba(22, 101, 52, 0.07), transparent 25%), #f3f5f7 !important;
}

body.xv-body[class*="route-booking-"] .text-primary {
    color: #166534 !important;
}

body.xv-body[class*="route-booking-"] .bg-primary {
    background-color: #166534 !important;
}

body.xv-body[class*="route-booking-"] .border-primary {
    border-color: #166534 !important;
}

body.xv-body[class*="route-booking-"] .btn-primary,
body.xv-body[class*="route-booking-"] .btn-green-primary,
body.xv-body[class*="route-booking-"] button[type="submit"]:not(.btn-outline-danger):not(.btn-light) {
    border-color: #166534 !important;
    background: #166534 !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(22, 101, 52, 0.18) !important;
}

body.xv-body[class*="route-booking-"] .btn-primary:hover:not(:disabled),
body.xv-body[class*="route-booking-"] .btn-green-primary:hover:not(:disabled),
body.xv-body[class*="route-booking-"] button[type="submit"]:hover:not(:disabled) {
    border-color: #14532d !important;
    background: #14532d !important;
    color: #fff !important;
}

body.xv-body[class*="route-booking-"] .btn-primary:disabled,
body.xv-body[class*="route-booking-"] button[type="submit"]:disabled {
    border-color: #a7cbb2 !important;
    background: #a7cbb2 !important;
    box-shadow: none !important;
    opacity: 0.72;
}

body.xv-body[class*="route-booking-"] .btn-outline-primary,
body.xv-body[class*="route-booking-"] .btn-green-outline {
    border-color: #166534 !important;
    background: #fff !important;
    color: #166534 !important;
}

body.xv-body[class*="route-booking-"] .btn-outline-primary:hover,
body.xv-body[class*="route-booking-"] .btn-green-outline:hover {
    background: #e8f5ec !important;
    color: #14532d !important;
}

body.xv-body[class*="route-booking-"] input:focus,
body.xv-body[class*="route-booking-"] select:focus,
body.xv-body[class*="route-booking-"] textarea:focus,
body.xv-body[class*="route-booking-"] .form-control:focus,
body.xv-body[class*="route-booking-"] .form-select:focus {
    border-color: rgba(22, 101, 52, 0.62) !important;
    box-shadow: 0 0 0 0.22rem rgba(22, 101, 52, 0.13) !important;
    outline: 0;
}

body.xv-body[class*="route-booking-"] input[type="checkbox"],
body.xv-body[class*="route-booking-"] input[type="radio"],
body.xv-body[class*="route-booking-"] input[type="range"],
body.xv-body[class*="route-booking-"] .form-check-input {
    accent-color: #166534;
}

body.xv-body[class*="route-booking-"] .form-check-input:checked {
    border-color: #166534 !important;
    background-color: #166534 !important;
}

body.xv-body[class*="route-booking-"] .alert-info {
    border-color: #b7dec3 !important;
    background: #e8f5ec !important;
    color: #14532d !important;
}

body.xv-body[class*="route-booking-"] .progress-bar,
body.xv-body[class*="route-booking-"] .step.active .step-number,
body.xv-body[class*="route-booking-"] .step.completed .step-number {
    border-color: #166534 !important;
    background: #166534 !important;
    color: #fff !important;
}

body.xv-body[class*="route-booking-"] .step.active .step-label,
body.xv-body[class*="route-booking-"] .step.completed .step-label {
    color: #14532d !important;
}

body.xv-body[class*="route-booking-"] .step-connector.completed {
    background: #62a776 !important;
}

body.xv-body[class*="route-booking-"] .card,
body.xv-body[class*="route-booking-"] .xv-panel,
body.xv-body[class*="route-booking-"] .stay-card {
    border-color: rgba(22, 101, 52, 0.13) !important;
}

body.xv-body[class*="route-booking-"] .xv-page-head {
    border-top: 4px solid #166534;
}

body.xv-body[class*="route-booking-"] .xv-stat-card__icon,
body.xv-body[class*="route-booking-"] .stay-results-note,
body.xv-body[class*="route-booking-"] .stay-budget-pill {
    border-color: rgba(22, 101, 52, 0.18) !important;
    background: #e8f5ec !important;
    color: #166534 !important;
}

body.xv-body[class*="route-booking-"] .booking-summary-total,
body.xv-body[class*="route-booking-"] .price-summary,
body.xv-body[class*="route-booking-"] .total-card {
    border-color: #14532d !important;
    background: linear-gradient(145deg, #14532d, #166534) !important;
    color: #fff !important;
}

body.xv-body[class*="route-booking-"] a:not(.btn):focus-visible,
body.xv-body[class*="route-booking-"] button:focus-visible {
    outline-color: #22a15a !important;
}
