﻿:root {
    --theme-maroon: #731f1a;
    --theme-maroon-dark: #55130f;
    --theme-maroon-light: #9b3830;
    --theme-maroon-soft: #f5d8d3;
    --bg-page: #f6f3eb;
    --bg-surface: #fffdf8;
    --bg-soft: #eee9df;
    --text-main: #2d1b17;
    --text-muted: #776a62;
    --accent-gold: #d59a45;
    --border-color: #ded5c9;
    --border-soft: #ebe4da;
    --shadow-theme: 0 12px 30px rgba(61,30,22,.12);
    --bs-primary: var(--theme-maroon);
    --bs-primary-rgb: 115,31,26;
    --bs-secondary: #776a62;
    --bs-secondary-rgb: 119,106,98;
    --bs-success: #39734c;
    --bs-body-bg: var(--bg-page);
    --bs-body-color: var(--text-main);
    --bs-border-color: var(--border-color);
}


body {
    background: radial-gradient(circle at top right,#efe5d7 0,transparent 30%),var(--bg-page);
    color: var(--text-main);
}

.booking-theme {
    min-height: 100vh;
    padding: 1.25rem 0;
}

    .booking-theme .card, .booking-theme .modal-content, .booking-theme .offcanvas {
        background-color: var(--bg-surface);
        border-color: var(--border-soft) !important;
    }

    .booking-theme .card {
        box-shadow: var(--shadow-theme) !important;
    }

    .booking-theme .card-header, .booking-theme .bg-white, .booking-theme .offcanvas-header, .booking-theme .offcanvas .border-top {
        background-color: var(--bg-surface) !important;
    }

    .booking-theme .bg-body-tertiary, .booking-theme .bg-light {
        background-color: var(--bg-soft) !important;
    }

    .booking-theme .text-primary {
        color: var(--theme-maroon) !important;
    }

    .booking-theme .bg-primary, .booking-theme .btn-primary {
        background-color: var(--theme-maroon) !important;
        border-color: var(--theme-maroon) !important;
    }

        .booking-theme .btn-primary:hover, .booking-theme .btn-primary:focus {
            background-color: var(--theme-maroon-dark) !important;
            border-color: var(--theme-maroon-dark) !important;
            box-shadow: 0 0 0 .2rem rgba(115,31,26,.16);
        }

    .booking-theme .btn-outline-primary {
        color: var(--theme-maroon);
        border-color: var(--theme-maroon-light);
    }

        .booking-theme .btn-outline-primary:hover {
            color: #fff;
            background-color: var(--theme-maroon);
            border-color: var(--theme-maroon);
        }

    .booking-theme .btn-success {
        color: #fff;
        background-color: var(--accent-gold);
        border-color: var(--accent-gold);
    }

        .booking-theme .btn-success:hover {
            background-color: #bd7d2d;
            border-color: #bd7d2d;
        }

    .booking-theme .form-control, .booking-theme .form-select, .booking-theme .input-group-text {
        background-color: #fffefa;
        border-color: var(--border-color);
        color: var(--text-main);
    }

        .booking-theme .form-control:focus, .booking-theme .form-select:focus {
            border-color: var(--theme-maroon-light);
            box-shadow: 0 0 0 .2rem rgba(115,31,26,.14);
        }

    .booking-theme .form-check-input:checked {
        background-color: var(--theme-maroon);
        border-color: var(--theme-maroon);
    }

    .booking-theme .border, .booking-theme .border-top, .booking-theme .border-bottom {
        border-color: var(--border-soft) !important;
    }

    .booking-theme .text-secondary {
        color: var(--text-muted) !important;
    }

    .booking-theme [data-container="languages"] label {
        background-color: #fffefa;
        border-color: var(--border-color) !important;
        cursor: pointer;
        transition: .2s ease;
    }

        .booking-theme [data-container="languages"] label:hover {
            border-color: var(--theme-maroon-light) !important;
            background-color: var(--theme-maroon-soft);
            transform: translateY(-2px);
        }

/*Adjusting Calender Style*/
[data-property="availability-calendar"] {
    --fc-border-color: #adb5bd !important;
}

    /* Calendar header */
    [data-property="availability-calendar"] .fc-header-toolbar {
        margin-bottom: 5px !important;
    }

    [data-property="availability-calendar"] .fc-toolbar-title {
        font-size: 22px !important;
    }

    /* Calendar buttons */
    [data-property="availability-calendar"] .fc-button {
        padding: 4px 8px !important;
        font-size: 12px !important;
    }

    /* Month table rows */
    [data-property="availability-calendar"] .fc-daygrid-body-unbalanced tr {
        height: 40px !important;
    }

    /* Month cells */
    [data-property="availability-calendar"] .fc-daygrid-body-unbalanced .fc-daygrid-day {
        height: 40px !important;
        min-height: 40px !important;
    }

    [data-property="availability-calendar"] .fc-daygrid-day-frame {
        height: 40px !important;
        min-height: 40px !important;
    }

    /* Remove extra space inside cells */
    [data-property="availability-calendar"] .fc-daygrid-day-events {
        min-height: 0 !important;
        height: 0 !important;
    }

    /* Date number */
    [data-property="availability-calendar"] .fc-daygrid-day-number {
        padding: 2px 4px !important;
        font-size: 12px !important;
    }

    /* Footer / legend */
    [data-property="availability-calendar"] + .d-flex {
        margin-top: 4px !important;
        gap: 8px !important;
        font-size: 11px !important;
    }