/* =============================================
   Custom CSS — Portes de Vichy
   Styles que Tailwind CDN ne peut pas gérer
   ============================================= */

/* Scroll fluide */
html {
    scroll-behavior: smooth;
}

/* Lightbox */
#lightbox {
    backdrop-filter: blur(4px);
}

#lightbox img {
    transition: opacity 0.3s ease;
}

/* Galerie — hover sur les figures */
figure[data-lightbox] {
    cursor: zoom-in;
}

/* Body min-height pour le footer sticky */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

body > main {
    flex: 1;
}

/* Transition de page */
main {
    animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Carousel */
.carousel-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    border: none;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.3s ease;
    padding: 0;
}

.carousel-dot.active {
    background: #fff;
    transform: scale(1.3);
}

.carousel-dot:hover {
    background: rgba(255, 255, 255, 0.8);
}

/* =============================================
   Dark mode overrides
   ============================================= */
html.dark body {
    background-color: #1a1a2e;
    color: #e0e0e0;
}

html.dark .bg-white {
    background-color: #1e1e30 !important;
}

html.dark .bg-gray-50,
html.dark .bg-gray-100 {
    background-color: #16162a !important;
}

html.dark .bg-fauvettes-bg {
    background-color: #1a1a2e !important;
}

html.dark .text-gray-600 {
    color: #a0a0b0 !important;
}

html.dark .text-gray-700 {
    color: #b0b0c0 !important;
}

html.dark .text-gray-900 {
    color: #e0e0e0 !important;
}

html.dark .text-gray-500 {
    color: #8888a0 !important;
}

html.dark .shadow-md,
html.dark .shadow-lg {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
}

html.dark .border-gray-100,
html.dark .border-gray-200 {
    border-color: #2a2a40 !important;
}

html.dark .divide-gray-100 > * + * {
    border-color: #2a2a40 !important;
}

html.dark .hover\:bg-gray-50:hover {
    background-color: #22223a !important;
}

html.dark .bg-gray-900 {
    background-color: #0d0d1a !important;
}

html.dark table tbody tr:hover {
    background-color: #22223a !important;
}

html.dark .rounded-xl.shadow-md,
html.dark .rounded-2xl.shadow-lg {
    background-color: #1e1e30;
}

/* Titres — couleurs de marque en dark mode */
html.dark .text-portes-primary {
    color: #7b9cc6 !important;
}

html.dark .text-portes-accent {
    color: #c8d45a !important;
}

html.dark .text-fauvettes-primary {
    color: #b0afb1 !important;
}

html.dark .text-fauvettes-accent {
    color: #d4bc8a !important;
}

/* =============================================
   Dark mode — Fauvettes (tons chauds)
   Surcharge les règles html.dark génériques
   ============================================= */
html.dark .gite-fauvettes {
    background-color: #1c1a17;
    color: #e0e0e0;
}

html.dark .gite-fauvettes .bg-white {
    background-color: #252219 !important;
}

html.dark .gite-fauvettes .bg-gray-50,
html.dark .gite-fauvettes .bg-gray-100 {
    background-color: #171511 !important;
}

html.dark .gite-fauvettes .bg-fauvettes-bg {
    background-color: #1c1a17 !important;
}

html.dark .gite-fauvettes .text-gray-500 {
    color: #9a9080 !important;
}

html.dark .gite-fauvettes .text-gray-600 {
    color: #b0a898 !important;
}

html.dark .gite-fauvettes .text-gray-700 {
    color: #c0b8a8 !important;
}

html.dark .gite-fauvettes .shadow-md,
html.dark .gite-fauvettes .shadow-lg {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
}

html.dark .gite-fauvettes .border-gray-100,
html.dark .gite-fauvettes .border-gray-200 {
    border-color: #3a3530 !important;
}

html.dark .gite-fauvettes .divide-gray-100 > * + * {
    border-color: #3a3530 !important;
}

html.dark .gite-fauvettes .hover\:bg-gray-50:hover {
    background-color: #2a2620 !important;
}

html.dark .gite-fauvettes .bg-gray-900 {
    background-color: #110f0c !important;
}

html.dark .gite-fauvettes table tbody tr:hover {
    background-color: #2a2620 !important;
}

html.dark .gite-fauvettes .rounded-xl.shadow-md,
html.dark .gite-fauvettes .rounded-2xl.shadow-lg {
    background-color: #252219;
}

/* Print */
@media print {
    nav, footer, #lightbox, .no-print {
        display: none !important;
    }
}
