/* ==========================================================
   EV Location — CSS Global (toutes les pages)
   Chargé via wp_enqueue_style, mis en cache par le navigateur.
   Les couleurs dynamiques utilisent les variables CSS définies dans :root.
   ========================================================== */

:root {
    --ezo-primary: #007BFF;
    --ezo-primary-dark: #0056b3;
    --ezo-dark: #1a1a1a;
    --ezo-light: #ffffff;
    --ezo-gray: #f4f5f7;
    --ezo-success: #28a745;
    --ezo-danger: #dc3545;
    --ezo-warning: #ffc107;
}

/* ── Cache Blocksy header/footer/hero ── */
#header.ct-header, header#header, .ct-header,
#footer.ct-footer, footer#footer, .ct-footer,
.hero-section, div.hero-section,
.entry-header.ct-container-narrow,
#offcanvas, .ct-drawer-canvas,
.ct-trending-block, section.ct-trending-block,
.ct-module-title, .ct-related-posts,
header.entry-header, .page-title { display:none !important; }

/* ── Ratio images 3:2 ── */
.ct-image-container,
.ct-image-container img,
.woocommerce-product-gallery__image img,
img.wp-post-image,
.ct-media-container,
.ct-media-container img {
    aspect-ratio: 3/2 !important;
    object-fit: cover !important;
    width: 100% !important;
    height: auto !important;
    border: none !important;
    border-radius: 4px !important;
}

/* ── Miniatures galerie produit ── */
.single-product div.product div.images ol { display:flex !important; flex-wrap:wrap !important; gap:10px !important; }
.single-product div.product div.images ol li { width:80px !important; height:auto !important; flex:none !important; }
ol li img { aspect-ratio:3/2 !important; object-fit:cover !important; width:100% !important; height:auto !important; border-radius:4px !important; }
ol li.active img, .flex-control-thumbs li img.flex-active { border:2px solid var(--ezo-primary) !important; box-shadow:0 0 5px rgba(0,123,255,.5); }

/* ── Prix en bleu ── */
.price, .amount, .woocommerce-Price-amount { color:var(--ezo-primary) !important; font-weight:bold !important; }

/* ── Cache le prix brut fiche produit ── */
.single-product .product .summary p.price,
.single-product .product .summary .price { display:none !important; }

/* ── Suppression titres hero Blocksy ── */
.ct-container-narrow .page-title { display:none !important; visibility:hidden !important; height:0 !important; margin:0 !important; padding:0 !important; }

/* ── Overflow fix ── */
html { overflow-x: hidden; }
body { max-width: 100%; overflow-x: hidden; }

/* ── Header EZO ── */
#ezo-header{position:fixed;top:0;left:0;right:0;height:calc(80px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:var(--ezo-primary);box-shadow:0 4px 15px rgba(0,123,255,.3);z-index:99999;display:flex;align-items:center;justify-content:center;}
.ezo-hdr-inner{width:100%;max-width:1200px;padding:0 20px;display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;}
.ezo-hdr-actions{display:flex;align-items:center;gap:25px;}
.ezo-hdr-link{text-decoration:none;color:#fff;font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px;transition:opacity .3s;font-family:'Segoe UI',sans-serif;}
.ezo-hdr-link:hover{opacity:.8;}
.ezo-burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:5px;}
.ezo-burger span{display:block;width:25px;height:3px;background:#fff;border-radius:2px;}
.ezo-prop-btn{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 12px;border-radius:50px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);transition:.2s;user-select:none;}
.ezo-prop-btn:hover{background:rgba(255,255,255,.18);}
.ezo-prop-btn.on{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.7);}
.ezo-prop-sw{width:32px;height:18px;background:rgba(255,255,255,.3);border-radius:9px;position:relative;transition:.2s;flex-shrink:0;}
.ezo-prop-sw::after{content:'';position:absolute;width:14px;height:14px;background:#fff;border-radius:50%;top:2px;left:2px;transition:.2s;opacity:.7;}
.ezo-prop-btn.on .ezo-prop-sw{background:rgba(255,255,255,.9);}
.ezo-prop-btn.on .ezo-prop-sw::after{transform:translateX(14px);opacity:1;background:var(--ezo-primary);}
.ezo-prop-lbl{color:#fff;font-size:12px;font-weight:700;white-space:nowrap;}
@media(max-width:900px){.ezo-prop-lbl{display:none;}}
.ezo-mobile-menu{position:fixed;top:calc(80px + env(safe-area-inset-top,0px));left:0;width:100%;background:#fff;border-top:1px solid #eee;padding:20px;display:none;box-shadow:0 10px 10px rgba(0,0,0,.05);z-index:99997;box-sizing:border-box;}
.ezo-mobile-menu ul{list-style:none;padding:0;margin:0;text-align:center;}
.ezo-mobile-menu li{margin-bottom:15px;}
.ezo-mobile-menu a{text-decoration:none;color:#333;font-size:18px;font-weight:600;}

/* ── Bandeau promotionnel ── */
.ezo-banner{position:fixed;top:calc(80px + env(safe-area-inset-top,0px));left:0;right:0;height:45px;background:linear-gradient(90deg,var(--ezo-primary) 0%,var(--ezo-primary-dark) 100%);z-index:99998;display:flex;align-items:center;justify-content:center;padding:0 20px;box-sizing:border-box;}
.ezo-banner-inner{width:100%;max-width:1200px;display:flex;justify-content:space-between;align-items:center;gap:15px;}
.ezo-banner-items{flex:1;display:flex;justify-content:center;align-items:center;gap:24px;color:#fff;font-size:13px;font-weight:600;}
.ezo-banner-item{display:flex;align-items:center;gap:6px;white-space:nowrap;}
.ezo-banner-cta{background:#fff;color:var(--ezo-primary) !important;padding:6px 14px;border-radius:50px;text-decoration:none !important;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;}

/* ── Marges corps de page ── */
html,body{margin-top:calc(125px + env(safe-area-inset-top,0px)) !important;}
#wpadminbar{z-index:999999 !important;}
@media(max-width:900px){.ezo-hdr-text{display:none;}.ezo-burger{display:flex;}}
@media(max-width:768px){.ezo-banner{height:40px;top:calc(80px + env(safe-area-inset-top,0px));}html,body{margin-top:calc(120px + env(safe-area-inset-top,0px)) !important;}.ezo-banner-item:nth-child(2),.ezo-banner-item:nth-child(3){display:none;}}
