/*
Theme Name: Bronze Maroc Pro
Theme URI: https://bronzemaroc.com
Author: Bronze Maroc
Author URI: https://bronzemaroc.com
Description: A premium, production-ready WooCommerce theme for Bronze Maroc — hand-cast heritage bronze artisan e-commerce. Built from the Antigravity design framework with full Elementor compatibility, Redux Theme Options, dynamic layouts, and AJAX-powered WooCommerce integration.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
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: bronze-maroc-pro
Tags: e-commerce, woocommerce, custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, one-column, two-columns, right-sidebar, full-width-template, theme-options
WooCommerce: 8.0
*/

/* ==========================================================================
   BRONZE MAROC PRO — DESIGN SYSTEM (CSS Custom Properties)
   Extracted from Antigravity / Stitch AI Design Tokens
   These variables are dynamically overridable via Redux Theme Options
   ========================================================================== */

:root {
    /* ── Primary Palette ──────────────────────────────────────────────── */
    --bm-primary:                    #79542e;
    --bm-primary-container:          #956c44;
    --bm-primary-fixed:              #ffdcbd;
    --bm-primary-fixed-dim:          #eebd8e;
    --bm-on-primary:                 #ffffff;
    --bm-on-primary-container:       #fffbff;
    --bm-on-primary-fixed:           #2c1600;
    --bm-on-primary-fixed-variant:   #61401b;
    --bm-inverse-primary:            #eebd8e;

    /* ── Secondary Palette ────────────────────────────────────────────── */
    --bm-secondary:                  #4d6453;
    --bm-secondary-container:        #cde6d1;
    --bm-secondary-fixed:            #d0e9d4;
    --bm-secondary-fixed-dim:        #b4cdb8;
    --bm-on-secondary:               #ffffff;
    --bm-on-secondary-container:     #516857;
    --bm-on-secondary-fixed:         #0b2013;
    --bm-on-secondary-fixed-variant: #364c3c;

    /* ── Tertiary Palette ─────────────────────────────────────────────── */
    --bm-tertiary:                   #90463f;
    --bm-tertiary-container:         #ae5d55;
    --bm-tertiary-fixed:             #ffdad6;
    --bm-tertiary-fixed-dim:         #ffb4ab;
    --bm-on-tertiary:                #ffffff;
    --bm-on-tertiary-container:      #fffbff;
    --bm-on-tertiary-fixed:          #3c0605;
    --bm-on-tertiary-fixed-variant:  #76312b;

    /* ── Surface / Background ─────────────────────────────────────────── */
    --bm-surface:                    #fef9ea;
    --bm-surface-dim:                #dedacb;
    --bm-surface-bright:             #fef9ea;
    --bm-surface-variant:            #e7e2d4;
    --bm-surface-tint:               #7c5730;
    --bm-surface-container-lowest:   #ffffff;
    --bm-surface-container-low:      #f8f3e4;
    --bm-surface-container:          #f3eedf;
    --bm-surface-container-high:     #ede8d9;
    --bm-surface-container-highest:  #e7e2d4;
    --bm-background:                 #fef9ea;
    --bm-on-surface:                 #1d1c13;
    --bm-on-surface-variant:         #50453b;
    --bm-on-background:              #1d1c13;
    --bm-inverse-surface:            #323127;
    --bm-inverse-on-surface:         #f6f1e2;

    /* ── Outline ──────────────────────────────────────────────────────── */
    --bm-outline:                    #82756a;
    --bm-outline-variant:            #d4c4b7;

    /* ── Error ────────────────────────────────────────────────────────── */
    --bm-error:                      #ba1a1a;
    --bm-error-container:            #ffdad6;
    --bm-on-error:                   #ffffff;
    --bm-on-error-container:         #93000a;

    /* ── Typography ───────────────────────────────────────────────────── */
    --bm-font-headline:              'Noto Serif', Georgia, 'Times New Roman', serif;
    --bm-font-body:                  'Manrope', 'Segoe UI', Roboto, sans-serif;
    --bm-font-label:                 'Manrope', 'Segoe UI', Roboto, sans-serif;

    /* ── Layout ───────────────────────────────────────────────────────── */
    --bm-container-width:            1280px;
    --bm-container-padding:          2rem;
    --bm-header-height:              5rem;
    --bm-border-radius:              0.125rem;
    --bm-border-radius-lg:           0.25rem;
    --bm-border-radius-xl:           0.5rem;
    --bm-border-radius-full:         0.75rem;

    /* ── Gradients ────────────────────────────────────────────────────── */
    --bm-gradient-bronze:            linear-gradient(135deg, #79542e 0%, #956c44 100%);

    /* ── Shadows ──────────────────────────────────────────────────────── */
    --bm-shadow-sm:                  0 1px 2px rgba(29, 28, 19, 0.05);
    --bm-shadow-md:                  0 4px 6px rgba(29, 28, 19, 0.07);
    --bm-shadow-lg:                  0 10px 15px rgba(29, 28, 19, 0.1);
    --bm-shadow-xl:                  0 20px 25px rgba(29, 28, 19, 0.1);
    --bm-shadow-header:              0 40px 60px -15px rgba(29, 28, 19, 0.06);

    /* ── Transitions ──────────────────────────────────────────────────── */
    --bm-transition-fast:            150ms ease;
    --bm-transition-base:            300ms ease;
    --bm-transition-slow:            500ms ease;
    --bm-transition-slower:          700ms ease;
}

/* ── Dark Mode Overrides ─────────────────────────────────────────────── */
.dark {
    --bm-surface:                    #1d1c13;
    --bm-surface-dim:                #15140d;
    --bm-surface-bright:             #323127;
    --bm-surface-container-lowest:   #0e0d08;
    --bm-surface-container-low:      #1d1c13;
    --bm-surface-container:          #212017;
    --bm-surface-container-high:     #2c2b21;
    --bm-surface-container-highest:  #37362c;
    --bm-background:                 #1d1c13;
    --bm-on-surface:                 #e7e2d4;
    --bm-on-surface-variant:         #d4c4b7;
    --bm-on-background:              #e7e2d4;
    --bm-primary:                    #eebd8e;
    --bm-on-primary:                 #2c1600;
    --bm-primary-container:          #61401b;
    --bm-on-primary-container:       #ffdcbd;
    --bm-outline:                    #9d8e81;
    --bm-outline-variant:            #50453b;
}

/* ==========================================================================
   GLOBAL RESETS & BASE STYLES
   ========================================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: var(--bm-font-body);
    color: var(--bm-on-surface);
    background-color: var(--bm-surface);
    line-height: 1.6;
    overflow-x: hidden;
}

::selection {
    background-color: var(--bm-primary-fixed);
    color: var(--bm-on-primary-fixed);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color var(--bm-transition-base);
}

button {
    cursor: pointer;
    border: none;
    background: none;
    font-family: inherit;
}

/* ── WordPress Required Classes ──────────────────────────────────────── */

.wp-caption {
    max-width: 100%;
}

.wp-caption img {
    display: block;
    margin: 0 auto;
}

.wp-caption-text {
    font-size: 0.875rem;
    color: var(--bm-on-surface-variant);
    text-align: center;
    padding-top: 0.5rem;
}

.alignnone { margin: 1rem 0; }
.aligncenter { display: block; margin: 1rem auto; }
.alignleft { float: left; margin: 0 1rem 1rem 0; }
.alignright { float: right; margin: 0 0 1rem 1rem; }

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    clip: auto !important;
    display: block;
    height: auto;
    left: 5px;
    top: 5px;
    width: auto;
    z-index: 100000;
    background-color: var(--bm-surface);
    color: var(--bm-on-surface);
    padding: 1rem;
}

/* ── WordPress Block Editor Support ──────────────────────────────────── */

.entry-content > *,
.wp-block-group__inner-container > * {
    max-width: var(--bm-container-width);
    margin-left: auto;
    margin-right: auto;
}

.entry-content > .alignwide {
    max-width: calc(var(--bm-container-width) + 200px);
}

.entry-content > .alignfull {
    max-width: none;
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

/* Sticky posts */
.sticky {
    position: relative;
}

.bypostauthor {
    /* Styling for post author comments */
}

.gallery-caption {
    font-size: 0.875rem;
}
