/* theme.css - HeatHolz Branding */

:root {
    /* Palette de couleurs “Bois & Chaleur” */
    --color-primary: #B03A2E;
    /* Rouge chaleureux */
    --color-primary-dark: #8C2D21;
    /* Accent / survol */
    --color-secondary: #5C4033;
    /* Bois foncé */
    --color-wood-light: #D8B384;
    /* Bois clair */
    --color-wood-medium: #A67C52;
    /* Bois moyen */
    --color-neutral: #F5F0E1;
    /* Neutre clair */
    --color-text: #333333;
    --color-white: #ffffff;
}

/* Overrides for Template Styles */

/* Primary Buttons & Links */
.u-c-brand {
    color: var(--color-primary) !important;
}

.u-bg-brand {
    background-color: var(--color-primary) !important;
}

a:hover {
    color: var(--color-primary-dark);
}

/* Utility Overrides */
.u-c-secondary {
    color: var(--color-secondary) !important;
}

.u-c-white {
    color: var(--color-white) !important;
}

.btn--e-brand {
    background-color: var(--color-primary) !important;
    color: var(--color-white) !important;
    border-color: var(--color-primary) !important;
}

.btn--e-brand:hover {
    background-color: var(--color-primary-dark) !important;
    border-color: var(--color-primary-dark) !important;
}

/* Header Overrides */
.header--style-1 {
    border-bottom: 3px solid var(--color-wood-medium);
}

/* Top Bar / Secondary Nav */
.secondary-nav-wrapper {
    background-color: var(--color-secondary);
}

.secondary-nav-wrapper .secondary-nav {
    color: var(--color-wood-light);
}

/* Primary Nav */
.primary-nav-wrapper--border {
    border-bottom: 1px solid var(--color-wood-light);
}

.main-logo {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 24px;
    color: var(--color-secondary) !important;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.main-logo span {
    color: var(--color-primary);
}

/* Search Bar */
.main-form .main-search-button {
    background-color: var(--color-primary);
    color: var(--color-white);
}

.main-form .main-search-button:hover {
    background-color: var(--color-primary-dark);
}

/* Navigation Links */
.ah-list--link-color-secondary>li>a {
    color: var(--color-secondary);
    font-weight: 600;
}

.ah-list--link-color-secondary>li>a:hover {
    color: var(--color-primary);
}

/* Footer (Preparation) */
footer {
    background-color: var(--color-secondary);
    color: var(--color-wood-light);
}

/* --- FIXES --- */

/* Fix White Links in Menu */
.ah-list a,
.mega-menu-list ul li a {
    color: var(--color-text) !important;
    /* Force dark color */
}

.ah-list a:hover,
.mega-menu-list ul li a:hover {
    color: var(--color-primary) !important;
}

/* --- Fixed Header --- */
.header--fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: #ffffff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Push content down to avoid overlap */
main {
    margin-top: 180px;
    /* Header height + breathing room */
}

@media (max-width: 991px) {
    main {
        margin-top: 140px;
        /* Adjust for mobile header height */
    }
}

/* --- Mobile Cart --- */
.mobile-cart-link {
    display: none;
    /* Hidden by default on desktop */
    font-size: 20px;
    color: var(--color-secondary);
    margin-right: 15px;
}

@media (max-width: 991px) {
    .mobile-cart-link {
        display: inline-block;
    }

    /* Ensure header height is consistent */
    .header--style-1 {
        padding-bottom: 10px;
    }
}

/* --- Icon Sizing Fixes --- */
.header--style-1 i[class^="ri-"] {
    font-size: 22px;
    /* Larger icons in header */
    vertical-align: middle;
}

.mobile-cart-link i {
    font-size: 26px;
    /* Prominent mobile cart */
}

.ah-list i[class^="ri-"] {
    font-size: 20px;
    /* Larger icons in menu */
    margin-right: 8px;
}

.main-search-button {
    font-size: 20px;
    /* Larger search icon */
}

/* Logo Size Fix */
.main-logo img {
    max-width: 150px;
    height: auto;
}