/* ===================================
   GyverWear Shared Stylesheet
   Common header, nav, footer, reset styles
   Consolidated from 42 pages - Sept 2026
   =================================== */

:root { --primary: #000000; --secondary: #ffffff; --accent: #1a1a1a; --text-gray: #b3b3b3; --highlight: #d4af37; }
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', sans-serif; scroll-behavior: smooth; }
body { background-color: var(--primary); color: var(--secondary); overflow-x: hidden; }
a { text-decoration: none; color: inherit; transition: 0.3s; }
ul { list-style: none; }
.logo { font-size: 26px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; }
.logo span { color: var(--highlight); }
nav ul { display: flex; align-items: center; }
nav ul li { position: relative; margin-left: 25px; }
nav ul li a { font-size: 14px; font-weight: 600; text-transform: uppercase; padding: 10px 0; display: flex; align-items: center; }
nav ul li a:hover { color: var(--highlight); }
nav ul li a i { font-size: 10px; margin-left: 5px; }
nav ul li:hover > ul { display: block; }
.menu-toggle { display: none; font-size: 24px; cursor: pointer; }
.footer-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 40px; padding: 60px 5% 30px; }
.footer-col h3 { font-size: 18px; text-transform: uppercase; margin-bottom: 20px; color: var(--highlight); }
.footer-col p, .footer-col a { color: var(--text-gray); display: block; margin-bottom: 10px; font-size: 14px; }

/* =========================================
   MOBILE NAVIGATION + LAYOUT FIXES (Sept 2026)
   ========================================= */
@media (max-width: 768px) {

    /* --- Mobile menu overlay: full-screen, solid background --- */
    nav ul { display: none; }
    .menu-toggle { display: block; transition: 0.3s; }

    nav ul.mobile-open {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: #000;
        z-index: 999;
        padding: 100px 25px 40px;
        overflow-y: auto;
        margin: 0;
        animation: navFadeIn 0.25s ease;
    }
    @keyframes navFadeIn {
        from { opacity: 0; } to { opacity: 1; }
    }

    nav ul.mobile-open > li {
        margin-left: 0;
        width: 100%;
        border-bottom: 1px solid #222;
    }
    nav ul.mobile-open > li > a {
        padding: 16px 0;
        width: 100%;
        justify-content: space-between;
    }

    /* --- Dropdown submenus: hidden by default, tap-to-expand --- */
    nav ul li ul {
        display: none;
        position: static;
        width: 100%;
        background: #111;
        box-shadow: none;
        padding-left: 15px;
    }
    nav ul li.submenu-active > ul {
        display: block;
    }
    nav ul li.submenu-active > a i {
        transform: rotate(180deg);
        transition: 0.3s;
    }

    /* --- Category banners: less aggressive crop on narrow screens --- */
    .category-banner {
        height: 190px !important;
    }

    /* --- Product showcase: image shows before text on mobile --- */
    .showcase-img { order: -1; }

    /* --- Fix: sticky product gallery overlapping form/content below --- */
    .product-gallery { position: static !important; top: auto !important; }
}

/* =========================================
   PRODUCT LOGO CUSTOMIZER WIDGET
   ========================================= */
.customizer {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    background: var(--accent);
    padding: 30px;
    margin: 20px 0;
    align-items: flex-start;
}
.customizer canvas {
    width: 100%;
    max-width: 450px;
    aspect-ratio: 1 / 1;
    background: #fff;
    touch-action: none;
    cursor: grab;
    border: 1px solid #333;
}
.customizer-controls {
    flex: 1;
    min-width: 240px;
}
.customizer-controls h4 {
    color: var(--highlight);
    text-transform: uppercase;
    margin-bottom: 15px;
    font-size: 16px;
}
.upload-logo-btn {
    display: inline-block;
    background: var(--highlight);
    color: #000;
    padding: 12px 20px;
    font-weight: bold;
    text-transform: uppercase;
    cursor: pointer;
    font-size: 13px;
}
.logo-controls { margin-top: 20px; }
.logo-controls label { display: block; color: var(--text-gray); font-size: 13px; margin-bottom: 5px; margin-top: 15px; }
.logo-controls input[type="range"] { width: 100%; }
.logo-remove {
    margin-top: 15px;
    background: transparent;
    border: 1px solid #666;
    color: #ccc;
    padding: 8px 16px;
    cursor: pointer;
    font-size: 13px;
}
.customizer-inquiry-form { margin-top: 25px; border-top: 1px solid #333; padding-top: 20px; }
.customizer-inquiry-form input, .customizer-inquiry-form textarea {
    width: 100%; padding: 10px; margin-bottom: 10px; background: #000; border: 1px solid #444; color: #fff; font-family: inherit; box-sizing: border-box;
}
.customizer-inquiry-form button {
    width: 100%; padding: 12px; background: var(--highlight); color: #000; font-weight: bold; border: none; text-transform: uppercase; cursor: pointer;
}
.customizer-status { color: var(--highlight); font-size: 13px; margin-top: 8px; min-height: 18px; }
.customizer-hint { color: var(--text-gray); font-size: 12px; margin-top: 8px; }

