/*
Theme Name: Mobeya NexGen
Template: blocksy
Description: Thème enfant Blocksy portant la charte NexGen de Mobeya (orange #f5891f, titres serif, Inter).
Author: Mobeya
Version: 1.0.2
Text Domain: mobeya-nexgen
*/

:root{
  --ng-primary:#f5891f;--ng-primary-dark:#d4730f;--ng-primary-light:rgba(245,137,31,.12);
  --ng-secondary:#1a1a1a;--ng-secondary-2:#2a2a2a;
  --ng-bg:#ffffff;--ng-bg-alt:#f7f5f0;--ng-bg-alt2:#f0ede8;
  --ng-text:#1a1a1a;--ng-muted:#777777;--ng-muted2:#aaaaaa;--ng-border:#e8e8e8;--ng-border2:#d8d8d8;
  --ng-success:#2e7d32;--ng-error:#c62828;
  --ng-font-heading:Georgia,"Times New Roman",serif;--ng-font-body:Inter,"Segoe UI",system-ui,sans-serif;
  --ng-r-md:10px;--ng-r-lg:14px;--ng-r-xl:20px;--ng-r-full:9999px;
  --ng-shadow-md:0 4px 18px rgba(0,0,0,.09);--ng-shadow-lg:0 12px 40px rgba(0,0,0,.12);--ng-shadow-xl:0 24px 64px rgba(0,0,0,.15);
  --ng-container:1200px;
  /* Blocksy hooks */
  --theme-palette-color-1:#f5891f;--theme-palette-color-2:#d4730f;--theme-palette-color-3:#1a1a1a;--theme-palette-color-4:#777777;
  --theme-palette-color-5:#e8e8e8;--theme-palette-color-6:#f7f5f0;--theme-palette-color-7:#ffffff;--theme-palette-color-8:#ffffff;
  --theme-font-family:Inter,"Segoe UI",system-ui,sans-serif;
  --theme-button-background-initial-color:#f5891f;--theme-button-background-hover-color:#d4730f;
  --theme-button-border-radius:10px;
}
body{font-family:var(--ng-font-body);color:var(--ng-text);-webkit-font-smoothing:antialiased}
h1,h2,h3.ng-serif,.entry-title,.ng-serif{font-family:var(--ng-font-heading);letter-spacing:-.5px}
h1{letter-spacing:-1px;line-height:1.1}
.ct-container,.ct-container-narrow{max-width:var(--ng-container)}

/* Boutons */
.button,.wp-block-button__link,.single_add_to_cart_button,.checkout-button,.ng-btn{border-radius:var(--ng-r-md)!important;font-weight:600;transition:all .25s ease}
.button:hover,.wp-block-button__link:hover,.single_add_to_cart_button:hover{transform:translateY(-2px)}
.ng-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;padding:13px 26px;font-size:.92rem;cursor:pointer;white-space:nowrap;text-decoration:none}
.ng-btn-lg{padding:16px 32px;font-size:1rem}.ng-btn-sm{padding:8px 18px;font-size:.82rem}.ng-btn-full{width:100%}
.ng-btn-primary{background:var(--ng-primary);color:#fff;box-shadow:0 2px 12px rgba(0,0,0,.1)}
.ng-btn-primary:hover{background:var(--ng-primary-dark);color:#fff}
.ng-btn-secondary{background:var(--ng-secondary);color:#fff}.ng-btn-secondary:hover{background:var(--ng-secondary-2);color:#fff}
.ng-btn-outline{background:transparent;border:1.5px solid var(--ng-secondary);color:var(--ng-secondary)}
.ng-btn-outline:hover{background:var(--ng-secondary);color:#fff}
.ng-btn-ghost{background:transparent;border:1.5px solid var(--ng-border);color:var(--ng-text)}

/* Étiquettes, sections */
.ng-section-tag{display:inline-block;background:var(--ng-primary-light);color:var(--ng-primary-dark);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 14px;border-radius:var(--ng-r-full);margin-bottom:1rem}
.ng-section{padding:80px 5%}.ng-section-alt{background:var(--ng-bg-alt)}
.ng-lead{font-size:1.05rem;line-height:1.8;color:var(--ng-muted);max-width:540px}
.ng-badge-check{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:500;color:var(--ng-muted)}
.ng-badge-check::before{content:"✓";color:var(--ng-primary);font-weight:700;font-size:.72rem}

/* Hero */
.ng-hero{background:linear-gradient(160deg,var(--ng-bg) 50%,var(--ng-bg-alt) 100%);padding:clamp(48px,9vh,84px) 5% clamp(40px,7vh,64px);position:relative;overflow:hidden}
.ng-hero::before{content:"";position:absolute;top:-120px;right:-120px;width:700px;height:700px;background:radial-gradient(circle,var(--ng-primary-light) 0%,transparent 65%);pointer-events:none}
.ng-hero-inner{max-width:var(--ng-container);margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center;position:relative;z-index:1}
.ng-hero-label{display:inline-flex;align-items:center;gap:.5rem;background:var(--ng-primary-light);border:1px solid rgba(245,137,31,.4);border-radius:var(--ng-r-full);padding:6px 14px;font-size:.76rem;font-weight:700;color:var(--ng-primary);margin-bottom:1.5rem}
.ng-hero-label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ng-primary)}
.ng-hero h1{font-size:clamp(2rem,5.5vw,3.5rem);font-weight:800;line-height:1.08;letter-spacing:-1.5px;margin:0}
.ng-hero h1 em{font-style:normal;color:var(--ng-primary)}
.ng-hero-desc{font-size:1.05rem;color:var(--ng-muted);line-height:1.8;margin:1.25rem 0 2rem;max-width:480px}
.ng-hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}
.ng-hero-badges{display:flex;gap:1rem;flex-wrap:wrap}
.ng-hero-card{background:var(--ng-bg);border-radius:var(--ng-r-xl);padding:1.5rem;box-shadow:var(--ng-shadow-xl);position:relative;overflow:hidden}
.ng-hero-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--ng-primary),#fbc48c)}
.ng-hero-card img{border-radius:calc(var(--ng-r-xl) - 4px);width:100%;height:auto;display:block}
.ng-hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:3rem auto 0;padding-top:2rem;border-top:1px solid var(--ng-border);max-width:var(--ng-container)}
.ng-hero-stat{text-align:center}
.ng-hero-stat-num{font-size:1.6rem;font-weight:800;color:var(--ng-primary);letter-spacing:-1px}
.ng-hero-stat-label{font-size:.78rem;color:var(--ng-muted)}
@media(max-width:900px){.ng-hero-inner{grid-template-columns:1fr;text-align:center}.ng-hero-actions,.ng-hero-badges{justify-content:center}.ng-hero-visual{display:none}.ng-hero-stats{grid-template-columns:repeat(2,1fr)}}

/* Grilles, cartes */
.ng-grid{display:grid;gap:1.25rem}.ng-grid-2{grid-template-columns:repeat(2,1fr)}.ng-grid-3{grid-template-columns:repeat(3,1fr)}.ng-grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1024px){.ng-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.ng-grid-3,.ng-grid-4{grid-template-columns:repeat(2,1fr)}.ng-grid-2{grid-template-columns:1fr}}
@media(max-width:480px){.ng-grid-3,.ng-grid-4{grid-template-columns:1fr}}
.ng-feat-card,.ng-entry{background:var(--ng-bg);border:1px solid var(--ng-border);border-radius:var(--ng-r-lg);padding:1.6rem;transition:transform .3s,box-shadow .3s}
.ng-feat-card:hover{transform:translateY(-4px);box-shadow:var(--ng-shadow-md)}
.ng-feat-icon{width:44px;height:44px;background:var(--ng-primary-light);border-radius:var(--ng-r-md);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--ng-primary-dark);font-size:1.2rem}
.ng-feat-card h3{font-size:.95rem;font-weight:700;margin:0 0 .4rem;font-family:var(--ng-font-body);letter-spacing:0}
.ng-feat-card p{font-size:.82rem;color:var(--ng-muted);line-height:1.7;margin:0}
.ng-entry{padding:2rem;display:flex;flex-direction:column;gap:.75rem}
.ng-entry h3{font-size:1.5rem;margin:0}.ng-entry p{color:var(--ng-muted);font-size:.92rem;line-height:1.7;flex:1;margin:0}

/* WooCommerce : cartes produit façon NexGen */
.woocommerce ul.products li.product,[data-products] .product{background:var(--ng-bg);border:1px solid var(--ng-border);border-radius:var(--ng-r-lg);overflow:hidden;transition:transform .3s,box-shadow .3s}
.woocommerce ul.products li.product:hover,[data-products] .product:hover{transform:translateY(-6px);box-shadow:var(--ng-shadow-lg)}
.woocommerce ul.products li.product .ct-media-container,.woocommerce ul.products li.product img{background:var(--ng-bg-alt2)}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product h2{font-family:var(--ng-font-body);font-size:.95rem;font-weight:700;letter-spacing:0}
.woocommerce ul.products li.product .price{font-size:1.1rem;font-weight:800;color:var(--ng-text);font-variant-numeric:tabular-nums}
.woocommerce ul.products li.product .price .from,.mobeya-eco{font-size:.72rem;font-weight:500;color:var(--ng-muted)}
.woocommerce span.onsale{background:var(--ng-primary);border-radius:6px;font-size:.68rem;font-weight:700;padding:3px 10px;min-height:0;line-height:1.6}

/* Panier latéral Blocksy : rapproché du drawer NexGen */
#woo-cart-panel .ct-panel-inner{width:400px;max-width:95vw}
#woo-cart-panel .ct-panel-content{font-size:.88rem}
#woo-cart-panel .buttons .button{border-radius:var(--ng-r-md)!important}

/* Bandeau d'annonce (Blocksy "Text" header row) */
.ct-header-text{font-size:.83rem}
.ct-header-text strong{color:var(--ng-primary)}

/* Formulaires */
.form-row input.input-text,.form-row textarea,.form-row select,.ng-input{border:1.5px solid var(--ng-border);border-radius:var(--ng-r-md);padding:11px 14px;font-size:.9rem}
.form-row input.input-text:focus,.form-row textarea:focus{border-color:var(--ng-primary);box-shadow:0 0 0 3px var(--ng-primary-light)}

/* Éco-participation sous le prix */
.mobeya-eco{display:block;margin-top:.15rem}

/* Pied de page */
footer.ct-footer{background:var(--ng-secondary);color:#fff}
footer.ct-footer .widget-title{color:var(--ng-primary);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-family:var(--ng-font-body)}
footer.ct-footer a{color:rgba(255,255,255,.75)}footer.ct-footer a:hover{color:#fff}

@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}

/* Accueil et Composer : pleine largeur, sans titre de page */
body.home .entry-header,body.page-composer-mon-bureau .entry-header,body.home .ct-page-title,body.page-composer-mon-bureau .ct-page-title,body.home .hero-section,body.page-composer-mon-bureau .hero-section{display:none}
body.home .site-main>.ct-container,body.home .site-main>.ct-container-narrow,body.home .site-main>.ct-container-full{--theme-normal-container-max-width:100%;--theme-narrow-container-max-width:100%;--theme-container-edge-spacing:0;padding-left:0;padding-right:0;max-width:100%}
body.home article,body.home .entry-content{max-width:none}
body.home .site-main{padding-top:0}
body.page-composer-mon-bureau .site-main>.ct-container,body.page-composer-mon-bureau .site-main>.ct-container-narrow{--theme-normal-container-max-width:1200px;--theme-narrow-container-max-width:1200px;max-width:1200px}
body.home .entry-content>*{margin-top:0;margin-bottom:0}
.ng-hero .ng-hero-card img[src=""]{display:block;width:100%;aspect-ratio:4/3;background:var(--ng-bg-alt2)}
.ng-posts{max-width:1200px;margin:0 auto;padding:60px 5%}
.woocommerce.columns-4 ul.products{max-width:1200px;margin:0 auto;padding:0 5%}
/* Logo */
.site-logo-container img{max-height:44px;width:auto}
