﻿.carousel-caption {
    top: 50%;
    transform: translateY(-50%);
    bottom: auto;
    border-radius: 10px;
    padding: 20px;
}

.datepicker table {
    border-collapse: separate;
    border-spacing: 4px;
}

.tooltip-inner {
    max-width: none !important;
    width: auto !important;
    white-space: nowrap;
    padding: 0.5rem 0.75rem;
}

body {
    background: #FFFFFF;
}

.booking-panel {
    position: static;
}

@media (min-width: 768px) {
    .booking-panel {
        position: sticky;
        top: 1rem;
        align-self: flex-start;
    }
}

.booking-panel .booking-title {
    color: rgba(0, 60, 95, .95);
    letter-spacing: .2px;
}

.booking-panel .card {
    border: 1px solid rgba(2, 62, 138, .15);
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(0,0,0,.08) !important;
    backdrop-filter: blur(6px);
}

.booking-panel .card-body {
    padding: 1.1rem 1.1rem;
}

.booking-panel .form-control,
.booking-panel .form-select {
    border: 1px solid rgba(2, 62, 138, .18);
    border-radius: 12px;
}

    .booking-panel .form-control:focus,
    .booking-panel .form-select:focus {
        box-shadow: 0 0 0 .2rem rgba(2, 62, 138, .15);
        border-color: rgba(2, 62, 138, .25);
    }

.booking-panel .room-block {
    border: 1px solid rgba(2,62,138,.12) !important;
    border-radius: 14px;
}

.booking-panel #btn-booking {
    border-radius: 14px;
    box-shadow: 0 10px 18px rgba(0,0,0,.10);
}

.product-tabs {
    border-bottom: 0 !important;
    gap: .5rem;
    padding: .45rem;
    border-radius: 16px;
    background: rgba(255,255,255,.35);
    backdrop-filter: blur(6px);
    box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

    .product-tabs .nav-link {
        border: 1px solid transparent !important;
        border-radius: 14px !important;
        padding: .6rem 1rem;
        color: rgba(0, 60, 95, .90);
        font-weight: 800;
        position: relative;
        display: flex;
        align-items: center;
        gap: .45rem;
        transition: transform .12s ease, background-color .12s ease, box-shadow .12s ease, color .12s ease, border-color .12s ease;
    }

        .product-tabs .nav-link:hover {
            background: rgba(255,255,255,.45);
            border-color: rgba(2, 62, 138, .18) !important;
            transform: translateY(-1px);
        }

        .product-tabs .nav-link.active {
            background: rgba(255,255,255,.92) !important;
            color: #023E8A !important;
            border-color: rgba(2, 62, 138, .35) !important;
            box-shadow: 0 12px 20px rgba(0,0,0,.14);
        }

            .product-tabs .nav-link.active::after {
                content: "";
                position: absolute;
                left: .9rem;
                right: .9rem;
                bottom: .28rem;
                height: 3px;
                border-radius: 999px;
                background: #0077B6;
            }

        .product-tabs .nav-link i {
            opacity: .85;
        }

        .product-tabs .nav-link.active i {
            opacity: 1;
        }

@media (max-width: 576px) {
    .product-tabs {
        flex-wrap: wrap;
    }
}
