/* 6.0 - Menu mobile */
#mobile-menu {
    box-shadow: -10px 0 30px rgba(0,0,0,0.1);
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    z-index: 999999 !important;
    isolation: isolate;
}
#mobile-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.menu-item-has-children-mobile > span {
    cursor: pointer;
    user-select: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    -webkit-tap-highlight-color: transparent;
}
.submenu-mobile {
    transition: max-height 0.3s ease;
}
.submenu-mobile li a {
    display: block;
    -webkit-tap-highlight-color: transparent;
}
.material-symbols-outlined.rotate-180 {
    transform: rotate(180deg);
}
#mobile-menu .material-symbols-outlined {
    transition: transform 0.3s ease;
}
#mobile-menu-overlay {
    opacity: 0;
    transition: opacity 0.3s ease;
    -webkit-tap-highlight-color: transparent;
    z-index: 999998 !important;
}
#mobile-menu-overlay:not(.hidden) {
    opacity: 1;
}

/* Ensure header doesn't interfere */
header {
    isolation: isolate;
}

/* Touch optimizations */
.touch-manipulation {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

/* iOS specific fixes */
@supports (-webkit-touch-callout: none) {
    #mobile-menu {
        height: -webkit-fill-available;
    }
    
    body.menu-open {
        position: fixed;
        width: 100%;
        overflow: hidden;
    }
}

/* Safe area insets for notched devices */
@supports (padding: max(0px)) {
    #mobile-menu {
        padding-left: max(0px, env(safe-area-inset-left));
        padding-right: max(0px, env(safe-area-inset-right));
    }
}

/* Prevent content from appearing above menu */
@media (max-width: 1023px) {
    body > *:not(header):not(#mobile-menu):not(#mobile-menu-overlay) {
        z-index: auto;
        position: relative;
    }
    
    /* Force menu to be on top */
    #mobile-menu,
    #mobile-menu-overlay {
        will-change: transform, opacity;
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
    }
}
/*
Theme Name: ClicNouveau
Theme URI: https://example.com/clicnouveau
Author: Your Name
Author URI: https://example.com
Description: A modern WordPress theme for C-Lic Inspections with Tailwind CSS styling
Version: 1.0.0
Requires at least: 5.0
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: clicnouveau
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

ClicNouveau WordPress Theme, Copyright 2026
ClicNouveau is distributed under the terms of the GNU GPL v2 or later.
*/

/**
 * Table of Contents:
 *
 * 1.0 - Reset & Normalize
 * 2.0 - Typography
 * 3.0 - Elements
 * 4.0 - WordPress Core
 */

/**
 * 1.0 - Reset & Normalize
 */

* {
    box-sizing: border-box;
}

html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/**
 * 2.0 - Typography
 */

body {
    font-family: 'Manrope', sans-serif;
    line-height: 1.6;
}

/**
 * 3.0 - Elements
 */

img {
    max-width: 100%;
    height: auto;
}

/**
 * 4.0 - WordPress Core
 */

/* Alignment */
.alignleft {
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1.5em;
}

.alignright {
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1.5em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.5em;
}

/* Screen Reader Text */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* Custom styles */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* 5.0 - Responsive Design */

/* Touch-friendly button sizing */
@media (hover: none) and (pointer: coarse) {
    button, a.button, .btn, input[type="submit"], input[type="button"] {
        min-height: 44px;
        min-width: 44px;
        padding: 12px 16px;
    }
}

/* Large tablets and small desktops */
@media (max-width: 1024px) {
    body {
        font-size: 1rem;
        padding: 0 10px;
    }
    .alignleft, .alignright, .aligncenter {
        float: none;
        margin: 0 auto 1em auto;
        display: block;
        text-align: center;
    }
    
    /* Improve navigation spacing */
    nav ul {
        gap: 1rem;
    }
}

/* Tablets */
@media (max-width: 768px) {
    body {
        font-size: 0.95rem;
    }
    
    img, video, iframe {
        max-width: 100%;
        height: auto;
        display: block;
    }
    
    /* Video embeds responsive */
    iframe[src*="youtube.com"], 
    iframe[src*="vimeo.com"] {
        aspect-ratio: 16 / 9;
        width: 100%;
        height: auto;
    }
    
    .alignleft, .alignright, .aligncenter {
        float: none;
        margin: 0 auto 1em auto;
        display: block;
        text-align: center;
    }
    
    .container, .site-content, .site-main {
        padding: 0 5px;
        width: 100%;
        box-sizing: border-box;
    }
    
    /* Improve table responsiveness */
    table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* Mobile devices */
@media (max-width: 480px) {
    body {
        font-size: 0.9rem;
        padding: 0 2px;
    }
    
    h1 { 
        font-size: 1.75rem;
        line-height: 1.3;
    }
    h2 { 
        font-size: 1.5rem;
        line-height: 1.3;
    }
    h3 { 
        font-size: 1.25rem;
        line-height: 1.4;
    }
    h4 {
        font-size: 1.1rem;
    }
    
    nav, .menu, .main-navigation {
        font-size: 1rem;
        padding: 0;
    }
    
    /* Better text readability on mobile */
    p, li, td {
        line-height: 1.6;
    }
    
    /* Ensure buttons are touch-friendly */
    button, .button, a.btn, input[type="submit"] {
        min-height: 44px;
        padding: 12px 20px;
        font-size: 1rem;
    }
}

/* Extra small devices */
@media (max-width: 375px) {
    body {
        font-size: 0.875rem;
    }
    
    h1 {
        font-size: 1.5rem;
    }
    
    h2 {
        font-size: 1.3rem;
    }
}

/* Landscape orientation on mobile devices */
@media (max-height: 500px) and (orientation: landscape) {
    .min-h-screen {
        min-height: auto;
    }
    
    header {
        position: relative;
    }
}

/* High DPI screens - optimize for retina displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    img {
        image-rendering: -webkit-optimize-contrast;
    }
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Print styles */
@media print {
    header, footer, nav, .no-print {
        display: none;
    }
    
    body {
        font-size: 12pt;
        color: #000;
        background: #fff;
    }
    
    a {
        text-decoration: underline;
    }
    
    img {
        max-width: 100%;
        page-break-inside: avoid;
    }
}
