/* --------------------------------------------------------------------------
   Canberra Furniture Assembly - Master Stylesheet
   Compliance: CSG Master GEM Architectural Rules
   -------------------------------------------------------------------------- */

/* --- 1. Base Dark Theme & Defaults --- */
body {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background-color: #18181b; /* Master Slate Dark Theme Background */
    color: #f4f4f5;
    overflow-x: hidden;
}

/* --- 2. Brand Utilities (Tailwind Custom Extensions) --- */
.brand-orange {
    color: #ea580c !important;
}

.bg-brand-orange {
    background-color: #ea580c !important;
}

.hover-bg-brand-orange-dark:hover {
    background-color: #c2410c !important;
}

.border-brand-orange {
    border-color: #ea580c !important;
}

.outline-brand-orange:focus {
    outline-color: #ea580c !important;
}

/* --- 3. Navigation & Mega Menu Extensions --- */
.dropdown-menu {
    display: none;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease-in-out;
}

/* Invisible bridge prevents mouse-out drop when hovering across gaps */
.dropdown-menu::before {
    content: "";
    position: absolute;
    top: -15px;
    left: 0;
    width: 100%;
    height: 15px;
    background: transparent;
}

.dropdown:hover .dropdown-menu {
    display: block;
    opacity: 1;
    visibility: visible;
}

/* --- 4. Custom Mobile Drawer Animation --- */
#mobile-menu {
    transition: max-height 0.35s cubic-bezier(0, 1, 0, 1);
}

/* --- 5. Custom Styling for AEO Quick Answer Block --- */
.aeo-answer-box {
    background: rgba(39, 39, 42, 0.85);
    border-left: 5px solid #ea580c;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
}

/* Safe padding adjustments for sticky mobile bottom navigation bar */
@media (max-width: 1023px) {
    footer { padding-bottom: 110px !important; }
    main > section:last-of-type { padding-bottom: 110px !important; }
}

.pb-safe {
    padding-bottom: calc(1rem + env(safe-area-inset-bottom));
}