/*
Theme Name: 123EzTheme
Theme URI: https://123ez.biz/
Description: 123EzTheme Ecommerce storefront. Requires active 123EzBiz-Boss account. 100's of Features. Full-width header/footer, gradient colors with 12 presets, catalog navigation, centered content, featured products, and checkout/customer header-footer-only mode. All design controlled via the 123EzBiz Design admin panel.
Version: 1.0.0
Author: LeeCorp Business Services
Author URI: https://123ez.biz/
Text Domain: 123eztheme
Tags: e-commerce, custom-background, custom-logo, left-sidebar, right-sidebar, grid-layout, theme-options
*/

/* ── Base reset ── */
*,*::before,*::after{box-sizing:border-box}
html{line-height:1.15;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--boss-text);background-color:var(--boss-bg);font-size:16px}
a{color:var(--boss-accent);transition:color .14s ease,background .14s ease,border-color .14s ease,transform .14s ease}
a:hover{color:var(--boss-accent2)}
img{max-width:100%;height:auto}
.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{clip:auto!important;clip-path:none;height:auto;left:6px;top:7px;width:auto;z-index:100000;background:#fff;color:#111827;padding:12px;border-radius:8px}

/* ── Page wrap ── */
.ezboss-page-wrap{padding:var(--ez-header-gap) 0 var(--ez-footer-gap)}

/* ── Header / Footer ── */
.ezboss-site-header,.ezboss-site-footer{width:min(calc(100% - (var(--ez-site-edge-gap,16px) * 2)),var(--ez-site-width));margin-left:auto;margin-right:auto;position:relative;color:var(--boss-header);border-color:var(--boss-border)}
.ezboss-site-width-full .ezboss-site-header,.ezboss-site-width-full .ezboss-site-footer,.ezboss-site-width-full .ezboss-site-shell{width:100%;max-width:none;margin-left:0;margin-right:0}
.ezboss-site-header{min-height:var(--ez-header-height);display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}
.ezboss-site-footer{min-height:var(--ez-footer-height);display:flex;align-items:center;border-top:1px solid rgba(255,255,255,.1)}
.ezboss-header-inner,.ezboss-footer-inner{width:100%;margin:0 auto;display:flex;align-items:center;gap:18px}

/* ── Header styles ── */
.ezboss-header-transparent .ezboss-site-header,.ezboss-footer-transparent .ezboss-site-footer{background:transparent}
.ezboss-header-panel .ezboss-site-header,.ezboss-footer-panel .ezboss-site-footer{background:rgba(var(--ez-panel-rgb),var(--ez-panel-alpha));backdrop-filter:blur(var(--ez-panel-blur));-webkit-backdrop-filter:blur(var(--ez-panel-blur))}
.ezboss-header-glass .ezboss-site-header,.ezboss-footer-glass .ezboss-site-footer{background:rgba(var(--ez-panel-rgb),calc(var(--ez-panel-alpha) * .55));backdrop-filter:blur(calc(var(--ez-panel-blur) + 8px));-webkit-backdrop-filter:blur(calc(var(--ez-panel-blur) + 8px))}
.ezboss-header-gradient .ezboss-site-header,.ezboss-footer-gradient .ezboss-site-footer{background:var(--boss-menu-master-gradient);background-size:var(--boss-gradient-size, 120% 120%);background-position:center}
.ezboss-header-solid .ezboss-site-header,.ezboss-footer-solid .ezboss-site-footer{background:var(--boss-panel)}
.ezboss-header-panel .ezboss-site-header,.ezboss-footer-panel .ezboss-site-footer,.ezboss-header-solid .ezboss-site-header,.ezboss-footer-solid .ezboss-site-footer{background:var(--boss-panel-master-gradient)}

/* ── Branding ── */
.ezboss-branding{display:flex;align-items:center;gap:12px;min-width:220px}
.custom-logo,.ezboss-default-logo img{display:block;max-height:72px;width:auto}
.site-title{margin:0;font-size:clamp(1.2rem,2vw,1.7rem);font-weight:900;line-height:1.05}
.site-title a{text-decoration:none;color:var(--boss-header)}
.site-description{margin:4px 0 0;color:var(--boss-text-muted);font-size:.92rem}

/* ── Navigation ── */
.ezboss-menu-toggle{display:none;margin-left:auto;border:1px solid var(--boss-border);border-radius:var(--ez-button-radius);background:var(--boss-button-master-gradient);color:var(--boss-button-text,var(--boss-text));padding:10px 12px;font-weight:800}
.ezboss-header-nav{margin-left:auto}
.ezboss-primary-menu,.ezboss-footer-menu{display:flex;align-items:center;gap:8px;list-style:none;margin:0;padding:0}
.ezboss-primary-menu a,.ezboss-footer-menu a{display:block;text-decoration:none;color:var(--boss-header);padding:10px 12px;border-radius:var(--ez-button-radius);font-weight:750}
.ezboss-primary-menu a:hover,.ezboss-primary-menu .current-menu-item>a{background:var(--boss-button-primary-gradient);color:var(--boss-button-primary-text,#fff);box-shadow:0 10px 24px rgba(0,0,0,.24)}
.ezboss-header-widgets{margin-left:auto}
.ezboss-header-widgets-only{width:100%;margin-left:0;flex:0 0 100%}
.ezboss-header-widgets-only .widget{width:100%;margin:0}

/* ── THREE-COLUMN GRID — the critical layout ── */
.ezboss-site-shell{width:min(calc(100% - (var(--ez-site-edge-gap,16px) * 2)),var(--ez-site-width));margin:0 auto;display:grid;grid-template-columns:var(--ez-left-width) minmax(0,1fr) var(--ez-right-width);gap:var(--ez-layout-gap);align-items:start}
.ezboss-checkout-shell .ezboss-site-shell{grid-template-columns:minmax(0,1fr);max-width:var(--ez-checkout-content-width)}

/* ── Panels ── */
.ezboss-panel{border:var(--ez-panel-border-width) solid var(--boss-border);border-radius:var(--ez-panel-radius);background:rgba(var(--ez-panel-rgb),var(--ez-panel-alpha));backdrop-filter:blur(var(--ez-panel-blur));-webkit-backdrop-filter:blur(var(--ez-panel-blur));box-shadow:0 22px 60px rgba(0,0,0,.25)}

/* ── Sidebars ── */
.ezboss-left-sidebar,.ezboss-right-sidebar{padding:var(--ez-content-padding);min-width:0;background:var(--boss-menu-master-gradient);background-size:var(--boss-gradient-size, 120% 120%);background-position:center;color:var(--boss-sidebar-text, #ffffff);box-shadow:0 22px 60px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.16)}
.ezboss-sticky-left .ezboss-left-sidebar,.ezboss-sticky-right .ezboss-right-sidebar{position:sticky;top:18px}
.ezboss-left-sidebar .ezboss-sidebar-title,.ezboss-right-sidebar .ezboss-sidebar-title,.ezboss-left-sidebar .widget-title,.ezboss-right-sidebar .widget-title{color:var(--boss-sidebar-text, #ffffff);text-shadow:0 1px 2px rgba(0,0,0,.35)}

/* ── Main content ── */
.ezboss-main-content{padding:var(--ez-content-padding);min-width:0}
.ezboss-main-content.ezboss-panel{background:var(--boss-menu-master-gradient)!important;background-size:var(--boss-gradient-size,120% 120%)!important;background-position:center!important}
.ezboss-content-card{padding:0;margin:0 0 26px}
.ezboss-content-card:last-child{margin-bottom:0}
.entry-title,.ezboss-page-title{margin:0 0 18px;color:var(--boss-header);font-size:clamp(1.7rem,3vw,2.65rem);line-height:1.08;letter-spacing:-.025em}
.entry-title a{text-decoration:none;color:inherit}
.entry-content{color:var(--boss-text);line-height:1.65}
.entry-content p:first-child{margin-top:0}
.entry-content h2,.entry-content h3,.entry-content h4{color:var(--boss-header);line-height:1.2}
.entry-content a:not(.ez-btn){text-decoration-thickness:1px;text-underline-offset:3px}

/* ── Widgets ── */
.widget{margin:0 0 18px}
.widget:last-child{margin-bottom:0}
.widget-title{font-size:1rem;color:var(--boss-header);margin:0 0 10px}

/* ── Buttons / inputs ── */
input,textarea,select{font:inherit}
.entry-content input:not([type="submit"]),.entry-content textarea,.entry-content select,.widget input:not([type="submit"]),.widget textarea,.widget select{border:1px solid var(--boss-border);border-radius:var(--ez-button-radius);padding:10px 12px;background:rgba(255,255,255,.92);color:var(--boss-text2);max-width:100%}
.entry-content button,.entry-content input[type="submit"],.widget button,.widget input[type="submit"]{border:1px solid var(--boss-border);border-radius:var(--ez-button-radius);padding:10px 14px;font-weight:800;cursor:pointer;color:var(--boss-button-primary-text,#fff);background:var(--boss-button-primary-gradient)}
.nav-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:20px}
.nav-links a{display:inline-flex;padding:10px 14px;border-radius:var(--ez-button-radius);background:var(--boss-button-master-gradient);border:1px solid var(--boss-border);text-decoration:none;color:var(--boss-text);font-weight:800}

/* ── Footer ── */
.ezboss-footer-default{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--boss-text-muted)}
.ezboss-footer-menu a{color:var(--boss-text-muted);font-size:.92rem}
.ezboss-footer-menu a:hover{color:var(--boss-header);background:rgba(255,255,255,.08)}

/* ── Responsive ── */
@media (max-width:1120px){
    .ezboss-site-shell{grid-template-columns:minmax(220px,var(--ez-left-width)) minmax(0,1fr)}
    .ezboss-right-sidebar{grid-column:1/-1}
    .ezboss-header-inner{flex-wrap:wrap}
    .ezboss-header-nav{order:4;width:100%;margin-left:0}
    .ezboss-primary-menu{justify-content:center;flex-wrap:wrap}
    .ezboss-header-widgets{order:3;margin-left:0}
}
@media (max-width:900px){
    .ezboss-page-wrap{padding:12px 0}
    .ezboss-site-header,.ezboss-site-footer,.ezboss-site-shell{width:min(calc(100% - (var(--ez-site-edge-gap,10px) * 2)),var(--ez-site-width))}
    .ezboss-site-width-full .ezboss-site-header,.ezboss-site-width-full .ezboss-site-footer,.ezboss-site-width-full .ezboss-site-shell{width:100%}
    .ezboss-site-shell{grid-template-columns:minmax(0,1fr)}
    .ezboss-left-sidebar,.ezboss-right-sidebar,.ezboss-main-content{padding:calc(var(--ez-content-padding) * .75)}
    .ezboss-sticky-left .ezboss-left-sidebar,.ezboss-sticky-right .ezboss-right-sidebar{position:relative;top:auto}
    .ezboss-menu-toggle{display:inline-flex}
    .ezboss-header-nav{display:none}
    .ezboss-header-nav.is-open{display:block}
    .ezboss-primary-menu{display:grid;gap:7px}
    .ezboss-primary-menu a{text-align:center;background:rgba(var(--ez-panel-rgb),.6)}
    .ezboss-footer-default{justify-content:center;text-align:center}
    .ezboss-footer-menu{justify-content:center;flex-wrap:wrap}
}
@media (max-width:560px){
    .ezboss-site-header,.ezboss-site-footer,.ezboss-site-shell{width:min(calc(100% - (var(--ez-site-edge-gap,7px) * 2)),var(--ez-site-width))}
    .ezboss-site-width-full .ezboss-site-header,.ezboss-site-width-full .ezboss-site-footer,.ezboss-site-width-full .ezboss-site-shell{width:100%}
    .site-title{font-size:1.05rem}
    .custom-logo,.ezboss-default-logo img{max-height:52px}
    .entry-title,.ezboss-page-title{font-size:1.55rem}
    .ezboss-panel{border-radius:calc(var(--ez-panel-radius) * .8)}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
