@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
:root{
    --primary: #014493;
    --primary-hover: #023778;
    --secondary: #FFD802;
    --light-blue: #EFF6FF;
    --light-blue-border: #BEDBFF;
}

.container{max-width: 1400px;}
body{font-family: 'Inter', sans-serif;background-color: #F9FAFB !important; color: #101828 !important;}
.text-primary {color: var(--primary) !important;}
.text-secondary {color: var(--secondary) !important;}
.btn{border-radius: 10px !important;}
.btn-primary {background-color: var(--primary); border-color: var(--primary);}
.btn-primary:hover {background-color: var(--primary-hover); border-color: var(--primary);}
.btn-outline-primary {color: var(--primary); border-color: var(--primary);}
.btn-outline-primary:hover {background-color: var(--primary);}
.btn-secondary, .nav-link.active {background-color: var(--secondary) !important; border-color: var(--secondary) !important; color: var(--primary) !important;}
.btn-primary:hover {background-color: var(--primary-hover); border-color: var(--primary);}
.btn-white{background-color: #fff !important; border: 2px solid #0000001A}
.btn-light-blue{background-color: var(--light-blue) !important; border: 2px solid var(--light-blue-border)}

.btn-available{background-color: #fff !important; border: 2px solid var(--primary)}
.btn-available:hover{background-color: var(--primary) !important; color:white !important; border: 2px solid var(--primary)}
.btn-unavailable{background-color: #F3F4F6 !important; color: #99A1AF !important; border: 2px solid #D1D5DC}

.bg-grey{background-color: #E5E7EB !important;border: 1px solid }
.bg-light-blue{background-color: var(--light-blue) !important;border: 1px solid var(--light-blue-border)  }

.rounded-lg{border-radius: 14px !important;}

.alert-danger{color:#A3004C !important; background-color: #FDF2F8 !important; border-color: #FCCEE8 !important;}

.nav-link{color: var(--primary) !important;}
/*.nav-link:hover {border-bottom: 1px solid #fff;}*/

.ts-wrapper {border:0 !important;}
.ts-wrapper.multi .ts-control > div {background-color: var(--primary) !important;}

.hachure{
    background-color:#fbfbfb;
    background-image:
        repeating-linear-gradient(135deg, rgba(0,0,0,.035) 0 1px, transparent 1px 12px),
        radial-gradient(rgba(0,0,0,.03) 1px, transparent 1px);
    background-size: auto, 22px 22px;
}
.ts-wrapper.multi .ts-control [data-value] {
    background-color: var(--primary) !important;
    background-image: none !important;
}

.toastDiv {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    background: transparent;
    color: #fff;
    padding: 14px 18px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
    z-index: 9999;

    opacity: 0;
    pointer-events: none;
    transition:
        opacity 0.35s ease,
        transform 0.35s ease;
}

/* état visible */
.toastDiv.show {
    opacity: 1;
    pointer-events: auto;
}

/* état fermeture */
.toastDiv.hide {
    opacity: 0;
    transform: translate(-50%, -55%) scale(0.97);
    pointer-events: none;
}

.toastClose {
    background: none;
    border: none;
    color: #fff;
    font-size: 20px;
    cursor: pointer;
    line-height: 1;
}

.dates-row-wrapper{
    padding: 0 44px; /* place pour les boutons */
}

.dates-row{
    display: flex;
    flex-wrap: nowrap;     /* ✅ pas de retour à la ligne */
    gap: 12px;
    overflow-x: auto;      /* ✅ scroll horizontal */
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding: 8px 4px;
}

/* Optionnel : cacher la scrollbar */
.dates-row::-webkit-scrollbar { display: none; }
.dates-row { scrollbar-width: none; }

.date-btn{
    min-width: 150px;      /* garde ton format */
    height: 150px;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    white-space: normal;
}

/* Boutons nav */
.dates-nav{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: .95;
}

.dates-nav-left{ left: 6px; }
.dates-nav-right{ right: 6px; }
[data-date-scroll-target="row"]::-webkit-scrollbar { display: none; }
[data-date-scroll-target="row"] { scrollbar-width: none; }

.date-scroll-wrapper {
    overflow: visible; /* autorise sortie */
}

.date-nav-btn {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    border: 2px solid #0000001A;
    background: white;
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
    z-index: 5;
}

/* Sortie réelle du container */
.date-nav-btn.start-0 {
    transform: translate(-60%, -50%) !important;
}

.date-nav-btn.end-0 {
    transform: translate(60%, -50%) !important;
}
