/*
Theme Name: Électrochocs Outlet
Theme URI: https://electrochocsoutlet.com
Author: Nesrine Taha
Description: Thème e-commerce sur-mesure pour Électrochocs Outlet — électroménager de Bruxelles, livré en Europe et au Maroc. Design terracotta clair, WooCommerce (boutique, panier, compte client), WhatsApp partout.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
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: electrochocs-outlet
WC requires at least: 7.0
WC tested up to: 9.0
*/

:root{
  --bg:#FAF7F2; --ink:#211C17; --ink-2:#2A1F18;
  --terra:#BC6849; --terra-dk:#A4543A;
  --panel:#F4E7DF; --cream:#FBF1EA;
  --line:#ECE6DD; --line-soft:#F0EAE1; --line-warm:#E3D2C7;
  --shell:1340px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Hanken Grotesk',system-ui,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Bricolage Grotesque',sans-serif;letter-spacing:-0.02em;line-height:1.04}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
input{font-family:inherit}
img{max-width:100%;height:auto}
::selection{background:var(--terra);color:#fff}
@keyframes ec-marq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes ec-dash{to{background-position:-28px 0}}
@keyframes ec-rise{0%{opacity:0;transform:translateY(16px)}100%{opacity:1;transform:translateY(0)}}

.ec-app{width:100%;overflow-x:hidden}
.wrap{max-width:var(--shell);margin:0 auto;padding-left:40px;padding-right:40px}

/* ANNOUNCEMENT */
.announce{background:var(--terra);color:var(--cream);font-weight:600;font-size:13.5px;overflow:hidden;white-space:nowrap;padding:10px 0}
.announce__track{display:inline-flex;gap:54px;align-items:center;padding-left:54px;animation:ec-marq 34s linear infinite;will-change:transform}

/* HEADER */
.header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.header__inner{display:flex;align-items:center;gap:28px;padding-top:16px;padding-bottom:16px}
.brand{display:flex;align-items:center;gap:11px;flex:none}
.brand__badge{width:38px;height:38px;border-radius:10px;background:var(--terra);color:#fff;display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:800}
.brand__name{font-family:'Bricolage Grotesque';font-weight:800;font-size:20px;letter-spacing:-0.03em;line-height:1;color:var(--ink)}
.brand__sub{display:block;font-size:10px;letter-spacing:0.4em;color:var(--terra);font-weight:700}
.search{flex:1;display:flex;align-items:center;background:var(--bg);border:1.5px solid var(--line);border-radius:12px;overflow:hidden;max-width:640px}
.search input{flex:1;border:none;outline:none;background:transparent;padding:13px 16px;font-size:15px;color:var(--ink)}
.search button{border:none;cursor:pointer;background:var(--terra);color:#fff;font-weight:700;font-size:15px;padding:13px 22px}
.tools{display:flex;align-items:center;gap:14px;flex:none;margin-left:auto}
.cur-pill{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px}
.cur-btn{border:none;cursor:pointer;font-weight:700;font-size:13.5px;padding:7px 14px;border-radius:999px;transition:all .15s;background:transparent;color:var(--ink)}
.cur-btn.is-on{background:var(--ink);color:#fff}
.acct{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:14.5px;color:var(--ink)}
.acct span{font-size:16px}
.wa-pill{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;padding:11px 19px;border-radius:999px;font-weight:700;font-size:15px}
.wa-pill span{font-size:16px}
.catnav{border-top:1px solid var(--line-soft);background:#fff}
.catnav__inner{display:flex;align-items:center;gap:30px;height:48px;font-weight:600;font-size:14.5px;overflow-x:auto}
.catnav a{opacity:.78;white-space:nowrap;color:var(--ink)}
.catnav a.is-active{color:var(--terra);font-weight:700;opacity:1}
.catnav a.right{margin-left:auto}

/* HERO */
.hero{padding-top:28px}
.hero__card{display:grid;grid-template-columns:1.08fr 0.92fr;border-radius:20px;overflow:hidden;border:1px solid var(--line);animation:ec-rise .6s ease both}
.hero__left{background:var(--panel);padding:54px 52px;display:flex;flex-direction:column;justify-content:center}
.pill-tag{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;background:#fff;border:1px solid var(--line-warm);color:var(--terra-dk);padding:7px 14px;border-radius:999px;font-weight:700;font-size:13px;letter-spacing:0.03em;margin-bottom:22px}
.hero__title{font-size:58px;font-weight:800;letter-spacing:-0.035em;color:var(--ink-2)}
.hero__title em{font-style:normal;color:var(--terra)}
.hero__p{font-size:18.5px;line-height:1.5;color:rgba(42,31,24,.72);margin-top:20px;max-width:440px}
.hero__ctas{display:flex;gap:13px;margin-top:30px;flex-wrap:wrap}
.btn-terra{background:var(--terra);color:#fff;padding:15px 26px;border-radius:12px;font-weight:700;font-size:16px;display:inline-block;cursor:pointer}
.btn-ghost{background:#fff;border:1px solid var(--line-warm);color:var(--ink-2);padding:15px 26px;border-radius:12px;font-weight:700;font-size:16px;display:inline-block;cursor:pointer}
.hero__right{position:relative;background:repeating-linear-gradient(135deg,#EFEAE2,#EFEAE2 11px,#E7E1D7 11px,#E7E1D7 22px);display:flex;align-items:center;justify-content:center;min-height:360px}
.hero__right img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph-note{font-family:ui-monospace,monospace;font-size:13px;color:#A6A095;text-align:center;line-height:1.7}
.hero__float{position:absolute;bottom:22px;left:22px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:16px;box-shadow:0 12px 30px rgba(42,31,24,0.12)}
.hero__float .lbl{font-size:12.5px;font-weight:600;color:rgba(42,31,24,.55)}
.hero__float .prices{display:flex;align-items:baseline;gap:9px;margin-top:2px}
.price-now{font-family:'Bricolage Grotesque';font-size:24px;font-weight:800}
.price-old{text-decoration:line-through;opacity:.4;font-weight:600;font-size:14px}
.hero__float .off{background:var(--terra);color:#fff;font-weight:800;font-size:14px;padding:7px 11px;border-radius:9px}

/* TRUST STRIP */
.trust{padding-top:20px}
.trust__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.trust__item{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.trust__item .ic{font-size:23px}
.trust__item .t{font-weight:700;font-size:15px}
.trust__item .s{font-size:12.5px;opacity:.55}

/* SHOP */
.shop{padding-top:44px}
.shop__grid{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:start}
.aside{position:sticky;top:128px}
.aside__label{font-size:12px;font-weight:700;letter-spacing:0.12em;color:rgba(42,31,24,.45);padding:0 12px 10px}
.cats{display:flex;flex-direction:column;gap:2px}
.cat-btn{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:none;cursor:pointer;font-size:14.5px;padding:10px 12px;border-radius:10px;transition:all .15s;font-weight:500;background:transparent;color:rgba(42,31,24,.72)}
.cat-btn .ic{font-size:16px;width:20px;text-align:center}
.cat-btn.is-on{font-weight:700;background:var(--panel);color:var(--terra-dk)}
.help-card{margin-top:22px;background:var(--panel);border-radius:14px;padding:18px}
.help-card .h{font-weight:700;font-size:15px;color:var(--terra-dk)}
.help-card p{font-size:13.5px;line-height:1.45;color:rgba(42,31,24,.65);margin-top:6px}
.help-card a{display:inline-block;margin-top:12px;background:var(--terra);color:#fff;font-weight:700;font-size:13.5px;padding:9px 14px;border-radius:9px}
.grid-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap}
.eyebrow{color:var(--terra);font-weight:700;font-size:13px;letter-spacing:0.12em;margin-bottom:8px}
.grid-head h2{font-size:34px;font-weight:800}
.grid-meta{font-size:14px;font-weight:600;color:rgba(42,31,24,.55)}
.grid-meta b{font-weight:800;color:var(--ink)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column}
.card__media{position:relative;display:block;aspect-ratio:1/1;background:repeating-linear-gradient(135deg,#F1ECE4,#F1ECE4 10px,#E9E3D9 10px,#E9E3D9 20px);display:flex;align-items:center;justify-content:center;overflow:hidden}
.card__media img{width:100%;height:100%;object-fit:cover}
.card__media .ph{font-family:ui-monospace,monospace;font-size:11px;color:#A6A095;text-align:center;line-height:1.6}
.card__off{position:absolute;top:12px;left:12px;background:var(--terra);color:#fff;font-weight:800;font-size:13px;padding:6px 10px;border-radius:8px;z-index:2}
.card__tag{position:absolute;top:12px;right:12px;background:var(--ink);color:#fff;font-weight:700;font-size:11px;padding:5px 9px;border-radius:7px;z-index:2}
.card__body{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1}
.card__brand{font-size:12.5px;font-weight:700;color:var(--terra);letter-spacing:0.03em}
.card__name{font-weight:600;font-size:15.5px;margin-top:3px;line-height:1.3;min-height:40px;color:var(--ink)}
.card__price{display:flex;align-items:baseline;gap:9px;margin-top:12px}
.card__price .price-now{font-size:23px}
.card__cta{margin-top:14px;text-align:center;background:var(--ink);color:#fff;font-weight:700;font-size:14.5px;padding:11px 0;border-radius:10px}
.noresults{background:#fff;border:1px solid var(--line);border-radius:16px;padding:60px 24px;text-align:center;color:rgba(42,31,24,.6)}
.noresults .ic{font-size:30px;margin-bottom:10px}
.noresults .t{font-weight:700;font-size:18px;color:var(--ink)}
.noresults p{margin-top:6px;font-size:15px}

/* LIVRAISON */
.livraison{padding-top:72px}
.liv__card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:64px 56px}
.liv__head{text-align:center;max-width:680px;margin:0 auto 48px}
.liv__head h2{font-size:44px;font-weight:800;line-height:1.04}
.liv__head p{font-size:18px;color:rgba(42,31,24,.7);margin-top:18px;line-height:1.5}
.flow{display:flex;align-items:stretch;max-width:1000px;margin:0 auto}
.flow__node{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:24px;text-align:center}
.flow__node.is-dest{background:var(--panel);border-color:var(--line-warm)}
.flow__node .ic{font-size:32px}
.flow__node .city{font-family:'Bricolage Grotesque';font-weight:800;font-size:21px;margin-top:8px}
.flow__node.is-dest .city{color:var(--terra-dk)}
.flow__node .sub{font-size:13.5px;color:rgba(42,31,24,.55);font-weight:600;margin-top:4px}
.flow__arrow{flex:0 0 88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--terra)}
.flow__arrow .ic{font-size:21px}
.flow__arrow .line{width:100%;height:3px;background:repeating-linear-gradient(90deg,var(--terra),var(--terra) 8px,transparent 8px,transparent 16px);background-size:28px 3px;animation:ec-dash .8s linear infinite}
.flow__arrow .eta{font-size:12px;font-weight:700;opacity:.8}
.liv__cta{display:flex;justify-content:center;margin-top:40px}

/* STEPS */
.steps{padding-top:72px}
.steps__head{text-align:center;margin-bottom:46px}
.steps__head h2{font-size:40px;font-weight:800}
.steps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;display:flex;flex-direction:column;gap:12px}
.step__num{font-family:'Bricolage Grotesque';font-size:48px;font-weight:800;color:var(--terra);line-height:1}
.step h3{font-size:22px;font-weight:800}
.step p{font-size:16px;line-height:1.55;color:rgba(42,31,24,.7)}

/* AVIS */
.avis{padding-top:72px}
.avis__head{margin-bottom:30px}
.avis__head h2{font-size:40px;font-weight:800}
.avis__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.review{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px}
.review .stars{color:var(--terra);font-size:16px;letter-spacing:2px}
.review p{font-size:16.5px;line-height:1.55;margin-top:14px;font-weight:500}
.review .who{display:flex;align-items:center;gap:12px;margin-top:20px}
.review .ava{width:42px;height:42px;border-radius:50%;background:repeating-linear-gradient(135deg,#EFEAE2,#EFEAE2 6px,#E7E1D7 6px,#E7E1D7 12px)}
.review .nm{font-weight:700;font-size:15px}
.review .lo{font-size:13px;opacity:.55}

/* CTA BAND */
.ctaband{padding-top:72px}
.ctaband__inner{background:var(--terra);color:var(--cream);border-radius:24px;padding:60px 56px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;position:relative;overflow:hidden}
.ctaband__blob{position:absolute;top:-80px;right:-40px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,0.1)}
.ctaband__txt{position:relative;max-width:600px}
.ctaband__txt h2{font-size:40px;font-weight:800;line-height:1.06}
.ctaband__txt p{font-size:17.5px;opacity:.88;margin-top:14px}
.ctaband__wa{position:relative;display:inline-flex;align-items:center;gap:11px;background:var(--ink);color:#fff;padding:18px 32px;border-radius:999px;font-weight:700;font-size:18px;flex:none}
.ctaband__wa span{font-size:20px}

/* FOOTER */
.footer{padding-top:64px;padding-bottom:40px}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:40px;border-bottom:1px solid var(--line)}
.footer__brand .row{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.footer__brand .bdg{width:34px;height:34px;border-radius:9px;background:var(--terra);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:800}
.footer__brand .nm{font-family:'Bricolage Grotesque';font-weight:800;font-size:18px;letter-spacing:-0.03em}
.footer__brand p{font-size:15px;line-height:1.55;color:rgba(42,31,24,.6);max-width:300px}
.footer__col .h{font-weight:800;font-size:14px;margin-bottom:14px}
.footer__col .links{display:flex;flex-direction:column;gap:9px;font-size:15px;color:rgba(42,31,24,.65)}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;padding-top:22px;font-size:13.5px;color:rgba(42,31,24,.5);flex-wrap:wrap;gap:12px}

/* FLOATING WHATSAPP */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:90;display:inline-flex;align-items:center;gap:9px;background:#25D366;color:#fff;padding:13px 18px;border-radius:999px;font-weight:700;font-size:15px;box-shadow:0 10px 28px rgba(37,211,102,0.4)}
.wa-float span{font-size:19px}

/* ============ WOOCOMMERCE ============ */
.ec-page{max-width:var(--shell);margin:0 auto;padding:44px 40px 64px}
.ec-page h1.page-title,.ec-page .woocommerce-products-header__title{font-size:38px;font-weight:800;margin-bottom:24px}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{color:rgba(42,31,24,.6)}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;padding:0 0 16px;text-align:left}
.woocommerce ul.products li.product a img{border-radius:0;margin:0 0 12px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 16px;font-weight:600;font-size:15.5px;color:var(--ink)}
.woocommerce ul.products li.product .price{padding:0 16px;color:var(--ink);font-family:'Bricolage Grotesque';font-weight:800}
.woocommerce ul.products li.product .price del{opacity:.4;font-weight:600}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{margin:12px 16px 0;display:inline-block}
.woocommerce span.onsale{background:var(--terra);color:#fff;border-radius:8px;font-weight:800;min-height:auto;min-width:auto;padding:6px 10px;line-height:1;top:12px;left:12px;margin:0}
.woocommerce #respond input#submit,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{
  background:var(--terra);color:#fff;border-radius:10px;font-weight:700;font-family:inherit;padding:11px 18px;border:none;transition:filter .15s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce #respond input#submit:hover{filter:brightness(.93);background:var(--terra)}
.woocommerce .single_add_to_cart_button{padding:15px 26px !important;font-size:16px !important}
.ec-wa-product{display:inline-flex;align-items:center;gap:8px;margin-top:14px;background:#25D366;color:#fff;font-weight:700;font-size:15px;padding:13px 20px;border-radius:10px}
.ec-wa-product:hover{filter:brightness(.95)}
.woocommerce div.product .product_title{font-size:34px;font-weight:800}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-family:'Bricolage Grotesque';font-weight:800}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{border-top-color:var(--terra)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--terra)}
.woocommerce .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.woocommerce .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line-soft)}
.woocommerce .woocommerce-MyAccount-navigation li a{display:block;padding:13px 18px;font-weight:600;color:var(--ink)}
.woocommerce .woocommerce-MyAccount-navigation li.is-active a{background:var(--panel);color:var(--terra-dk)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce-page form .form-row input.input-text{border:1.5px solid var(--line);border-radius:10px;padding:12px 14px}
.woocommerce table.shop_table{border-radius:14px;border-color:var(--line)}
.woocommerce .cart-collaterals .cart_totals h2,.woocommerce-checkout h3{font-weight:800}
nav.woocommerce-breadcrumb{color:rgba(42,31,24,.55);margin-bottom:18px}

/* RESPONSIVE */
@media (max-width:980px){
  .wrap{padding-left:24px;padding-right:24px}
  .header__inner{flex-wrap:wrap;gap:16px}
  .search{order:3;flex-basis:100%;max-width:none}
  .hero__card{grid-template-columns:1fr}
  .hero__left{padding:40px 32px}
  .hero__title{font-size:44px}
  .hero__right{min-height:280px}
  .trust__grid{grid-template-columns:repeat(2,1fr)}
  .shop__grid{grid-template-columns:1fr}
  .aside{position:static}
  .cats{flex-direction:row;flex-wrap:wrap}
  .cat-btn{width:auto}
  .help-card{display:none}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .liv__card{padding:44px 28px}
  .liv__head h2{font-size:34px}
  .flow{flex-direction:column;gap:10px}
  .flow__arrow{flex:none;flex-direction:row;padding:4px 0}
  .flow__arrow .line{width:60px;height:3px}
  .steps__grid,.avis__grid{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr 1fr}
  .ec-page{padding:32px 24px 48px}
}
@media (max-width:560px){
  .wrap{padding-left:16px;padding-right:16px}
  .hero__title{font-size:34px}
  .trust__grid{grid-template-columns:1fr}
  .product-grid{grid-template-columns:1fr}
  .grid-head h2{font-size:26px}
  .liv__head h2,.steps__head h2,.avis__head h2,.ctaband__txt h2{font-size:28px}
  .footer__grid{grid-template-columns:1fr}
  .ctaband__inner{padding:40px 28px}
  .acct .lbl-txt{display:none}
}
