/* Extracted from index.html - tombstone: moved from inline <style> */

/* Base & optimizations */
body {
    -webkit-tap-highlight-color: transparent;
    background-color: #f7fafc;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
/* Mobile optimizations */
* {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    box-sizing: border-box;
}
/* Cache la scrollbar pour la navigation mobile si elle dépasse */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.fade-in {
    animation: fadeIn 0.28s ease-in-out;
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
.slider-container {
    position: relative;
    overflow: hidden;
}
.slider-track {
    display: flex;
    transition: transform 0.45s ease-in-out;
}
.slider-item {
    min-width: 100%;
    flex-shrink: 0;
}

/* Header / Nav responsive */
.mobile-menu-btn { display: none; }
#mobile-nav { display: none; }

/* Better mobile touch targets and compact spacing */
@media (max-width: 768px) {
    button, a, input, select, textarea {
        min-height: 44px;
    }
    .nav-link {
        padding: 0.5rem 0.75rem !important;
        font-size: 14px;
    }
    header .h-16 { height: 56px; }
    .slider-container { height: clamp(28vh, 36vh, 50vh); }
    .fade-in { padding-bottom: 12px; }
    footer .py-12 { padding-top: 1rem; padding-bottom: 1rem; }
    .mobile-menu-btn { display: inline-flex; }
    #mobile-nav { display: none; }
    #mobile-nav.open { display: block; }
    main { padding-bottom: calc(env(safe-area-inset-bottom) + 12px); }
    .sticky.top-24 { top: 18px; }
    .no-scrollbar { -webkit-overflow-scrolling: touch; }
}

/* Very small screens: stack and compress */
@media (max-width: 420px) {
    .nav-link { font-size: 13px; padding: 0.5rem; }
    .slider-container { height: 34vh; }
    .text-5xl { font-size: 1.6rem; }
    .rounded-3xl { border-radius: 14px; }
    .w-14.h-14 { width: 48px; height: 48px; }
}

/* Safe area for notched devices */
@supports (padding: max(0px)) {
    body {
        padding-left: max(0px, env(safe-area-inset-left));
        padding-right: max(0px, env(safe-area-inset-right));
    }
}

/* Mobile quick access bar for primary sections (visible only on small screens) */
#mobile-quickbar {
    box-shadow: 0 -6px 20px rgba(15, 23, 42, 0.06);
    padding-bottom: calc(env(safe-area-inset-bottom) + 8px);
}
#mobile-quickbar a { min-height: 44px; }
#mobile-quickbar .fa-solid { font-size: 1rem; }

/* Hide quickbar on larger screens (desktop/tablet) */
@media (min-width: 640px) {
    #mobile-quickbar { display: none !important; }
}