
  :root{
    --ink:#1A1228;
    --ink-soft:#2A1F3D;
    --bg:#FFFFFF;
    --panel:#FFFFFF;
    --accent:#E84D2C;
    --accent-dark:#C73D20;
    --accent-light:#F36B43;
    --gold:#E8A317;
    --gold-soft:#F5E8C8;
    --gold-dark:#9A6B00;
    --muted:#6B6575;
    --muted-soft:#B0AAB8;
    --line: rgba(26,18,40,0.10);
    --surface:#F7F7F8;
    --surface-2:#F0EEF3;
    --dark:#1A1228;
    --success:#1A7A4C;
    --danger:#DC2626;
    --danger-soft:#FCE4E4;
    --whatsapp:#25D366;
  }

  *{box-sizing:border-box;}
  html{
    scroll-behavior:smooth;
    width:100%;
    /* clip n'empêche pas position:sticky (contrairement à overflow-x:hidden) */
    overflow-x:clip;
  }
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.5;
    overflow-x:clip;
    width:100%;
    max-width:100vw;
  }
  h1,h2,h3{ font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-weight:700; letter-spacing:-0.025em; margin:0; }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  button{font-family:inherit; cursor:pointer;}

  .ticker-wrap{
    background:var(--dark);
    color:#FBF7F0;
    overflow:hidden;
    white-space:nowrap;
    padding:8px 0;
    font-size:12.5px;
    font-weight:500;
    letter-spacing:0.02em;
    border-bottom:2px solid var(--gold);
  }
  .ticker{
    display:inline-block;
    padding-left:100%;
    animation:ticker 28s linear infinite;
  }
  .ticker span{ margin-right:40px; }
  .ticker .sep{ color:var(--gold); margin-right:40px; }
  @keyframes ticker{
    0%{ transform:translateX(0); }
    100%{ transform:translateX(-100%); }
  }
  @media (prefers-reduced-motion: reduce){
    .ticker{ animation:none; padding-left:16px; }
  }

  /* Header sticky pleine largeur — reste visible au scroll sur toutes les pages */
  .top-bar{
    position:sticky;
    top:0;
    z-index:60;
    width:100%;
    background:rgba(255,255,255,0.97);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border-bottom:1px solid var(--line);
  }
  .top-bar-inner{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:4px 16px;
    padding:12px 18px;
    max-width:1200px;
    margin:0 auto;
    width:100%;
  }
  .top-bar-left{
    display:flex;
    align-items:center;
    gap:8px;
  }
  .site-search{
    order:3;
    flex:1 1 100%;
  }
  .head-actions{ order:2; margin-left:auto; }
  @media (min-width:900px){
    .top-bar-inner{ flex-wrap:nowrap; }
    .site-search{
      order:2;
      flex:1 1 auto;
      max-width:520px;
      margin:0 auto;
    }
    .head-actions{ order:3; margin-left:0; }
  }
  .hamburger{
    background:none; border:none; padding:8px;
    display:flex; flex-direction:column; gap:5px;
    width:40px;
  }
  .hamburger span{
    width:22px; height:2.2px; background:var(--ink); border-radius:2px;
    transition:transform 0.25s, opacity 0.2s;
  }
  .hamburger.open span:nth-child(1){ transform:translateY(7.2px) rotate(45deg); }
  .hamburger.open span:nth-child(2){ opacity:0; }
  .hamburger.open span:nth-child(3){ transform:translateY(-7.2px) rotate(-45deg); }

  .brand{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
  }
  .brand-mark{ display:flex; align-items:center; line-height:0; }
  .brand-mark img{
    max-height:40px;
    width:auto;
    display:block;
  }
  .brand-text{
    font-family:'Plus Jakarta Sans', sans-serif;
    font-weight:800;
    font-size:16px;
    letter-spacing:-0.02em;
    color:var(--ink);
    white-space:nowrap;
    max-width:140px;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  @media (max-width:380px){
    .brand-mark + .brand-text{ display:none; } /* trop étroit : logo seul */
  }
  .head-actions{ display:flex; gap:6px; align-items:center; }

  /* Intégration GTranslate dans le header (au lieu du widget flottant par défaut) */
  .lang-switch{
    display:flex;
    align-items:center;
    height:40px;
  }
  .lang-switch .gtranslate_wrapper{
    line-height:1;
  }
  .lang-switch select.gtranslate_select_switcher,
  .lang-switch .goog-te-combo{
    border:1.5px solid var(--line);
    border-radius:100px;
    padding:7px 12px;
    font-family:inherit;
    font-size:13px;
    background:var(--panel);
    color:var(--ink);
    cursor:pointer;
  }
  /* Style "drapeaux" GTranslate : on réduit la taille des icônes */
  .lang-switch .gtranslate_wrapper img,
  .lang-switch .gt_float_switcher img{
    width:22px !important;
    height:22px !important;
    border-radius:50%;
  }
  .lang-switch .gt-selected,
  .lang-switch .gt-option-selector{
    border:1.5px solid var(--line) !important;
    border-radius:100px !important;
    padding:6px 10px !important;
    background:var(--panel) !important;
  }
  /* Cache le widget flottant par défaut de GTranslate : on utilise uniquement
     la version intégrée dans le header via le shortcode [gtranslate] */
  #gt_float_wrapper{ display:none !important; }
  .icon-btn{
    width:40px; height:40px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:none;
    border:none;
    color:var(--ink);
    font-size:20px;
    position:relative;
    flex-shrink:0;
  }
  .icon-btn svg{ width:22px; height:22px; }
  .icon-btn:hover{ background:rgba(26,18,40,0.06); }

  .icon{ width:19px; height:19px; flex-shrink:0; vertical-align:-4px; }
  .icon.chevron{ width:16px; height:16px; transition:transform 0.2s; }
  .icon.menu-icon{ width:18px; height:18px; margin-right:6px; vertical-align:-3px; color:var(--muted); }
  .mobile-close .icon{ width:20px; height:20px; }



  .search-bar{
    display:flex;
    align-items:center;
    gap:6px;
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:999px;
    padding:4px 6px 4px 16px;
    max-width:640px;
  }
  .search-bar input[type="search"]{
    flex:1;
    border:none;
    background:none;
    outline:none;
    font:inherit;
    font-size:14px;
    color:var(--ink);
    min-width:0;
  }
  .search-bar input[type="search"]::placeholder{ color:var(--muted); }
  .search-bar button,
  .search-bar .search-submit{
    width:36px; height:36px;
    border-radius:50%;
    border:none !important;
    background:var(--accent) !important;
    color:var(--bg) !important;
    display:flex; align-items:center; justify-content:center;
    font-size:15px;
    flex-shrink:0;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(232,77,44,0.35);
  }
  .search-bar button:hover,
  .search-bar .search-submit:hover,
  .search-bar button:focus,
  .search-bar .search-submit:focus{
    background:var(--accent) !important;
    filter:brightness(1.08);
    outline:none;
  }
  .search-bar button .icon{ width:17px; height:17px; color:var(--bg); }
  .cart-count{
    position:absolute;
    top:2px; right:2px;
    background:var(--accent);
    color:var(--bg);
    font-size:10px;
    font-weight:700;
    width:16px; height:16px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
  }
  /* Pastille « connecté » sur l'icône compte */
  .icon-btn-account .account-online{
    position:absolute;
    top:4px; right:4px;
    width:9px; height:9px;
    border-radius:50%;
    background:#1A7A4C;
    border:2px solid var(--bg);
    box-shadow:0 0 0 1px rgba(26,122,76,0.25);
  }
  .icon-btn-account.is-logged-in{ color:var(--ink); }

  .mobile-menu{
    position:fixed;
    inset:0;
    background:rgba(26,18,40,0.45);
    /* Au-dessus de l'en-tête fixe (z-index 1000) pour que le haut du menu
       ne soit plus masqué par le header. */
    z-index:11050;
    opacity:0;
    visibility:hidden;
    transition:opacity 0.25s, visibility 0.25s;
  }
  .mobile-menu.open{ opacity:1; visibility:visible; }
  html.menu-locked, body.menu-locked{
    overflow:hidden;
    height:100%;
  }

  .mobile-panel{
    position:absolute;
    top:0; left:0;
    /* Carte menu plus compacte */
    width:min(240px, 72vw);
    height:100%;
    background:var(--panel);
    padding:18px 14px calc(18px + env(safe-area-inset-bottom, 0px));
    transform:translateX(-100%);
    transition:transform 0.3s cubic-bezier(.4,0,.2,1);
    display:flex;
    flex-direction:column;
    gap:4px;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-y;
  }
  .mobile-menu.open .mobile-panel{ transform:translateX(0); }
  .mobile-panel a{
    display:block;
    padding:10px 8px;
    font-weight:600;
    font-size:14.5px;
    border-radius:10px;
  }
  .mobile-panel a:hover{ background:var(--surface); }

  /* Sous-catégories dépliables */
  .menu-cat-group{ display:flex; flex-direction:column; }
  .menu-cat-toggle{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    background:none;
    border:none;
    padding:12px 10px;
    font-weight:600;
    font-size:16px;
    font-family:inherit;
    color:inherit;
    border-radius:10px;
    text-align:left;
  }
  .menu-cat-toggle:hover{ background:var(--surface); }
  .menu-cat-toggle span{ display:flex; align-items:center; }
  .menu-cat-toggle .chevron{
    transition:transform 0.2s;
    color:var(--muted);
    font-size:13px;
  }
  .menu-cat-group.open .menu-cat-toggle .chevron{ transform:rotate(180deg); }
  .menu-submenu{
    display:grid;
    grid-template-rows:0fr;
    transition:grid-template-rows 0.25s ease;
  }
  .menu-cat-group.open .menu-submenu{ grid-template-rows:1fr; }
  .menu-submenu > div{ overflow:hidden; }
  .menu-subitem{
    display:block;
    padding:10px 10px 10px 26px !important;
    font-weight:500 !important;
    font-size:14.5px !important;
    color:var(--muted) !important;
  }
  .menu-subitem:hover{ color:var(--ink) !important; background:var(--surface); }
  .menu-subitem-all{
    font-style:italic;
    color:var(--accent) !important;
  }
  .menu-cat-nested{
    margin-left:8px;
  }
  .menu-cat-nested > .menu-cat-toggle{
    padding:10px 10px 10px 26px;
    font-weight:500;
    font-size:14.5px;
    color:var(--muted);
  }
  .menu-cat-nested .menu-subitem{
    padding-left:40px !important;
  }
  .mobile-panel-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:12px;
    padding-bottom:12px;
    border-bottom:1px solid var(--line);
  }
  .menu-brand{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
    text-decoration:none;
    color:inherit;
  }
  .menu-brand-mark{
    display:flex;
    align-items:center;
    line-height:0;
    flex-shrink:0;
  }
  .menu-brand-mark img,
  .menu-brand-mark .custom-logo{
    max-height:36px !important;
    width:auto !important;
    height:auto !important;
  }
  .menu-brand-mark a{ display:flex; line-height:0; }
  .menu-brand-text{
    display:flex;
    flex-direction:column;
    line-height:1.05;
    min-width:0;
  }
  .menu-brand-top:empty{ display:none; }
  .menu-brand-top{
    font-size:9px;
    letter-spacing:0.14em;
    color:var(--accent);
    font-weight:600;
  }
  .menu-brand-bottom{
    font-weight:800;
    font-size:14px;
    color:var(--ink);
  }

  .mobile-close{
    flex-shrink:0;
    width:40px; height:40px;
    display:flex; align-items:center; justify-content:center;
    background:none; border:none;
    font-size:24px;
    margin:0;
    color:var(--muted);
    cursor:pointer;
    border-radius:50%;
  }
  .mobile-close:hover{ background:rgba(26,18,40,0.06); }

  /* recherche mobile / pleine largeur : même look, bouton toujours accent */
  .douawe-search-wrap{
    position:relative;
    max-width:1200px;
    margin:12px auto 0;
    padding:0 18px;
  }
  .site-search .douawe-search-wrap{
    margin:0;
    padding:0;
    max-width:none;
  }
  .search-bar{
    display:flex;
    align-items:center;
    gap:6px;
    background:var(--panel);
    border:1.5px solid var(--line);
    border-radius:999px;
    padding:4px 6px 4px 16px;
    max-width:100%;
  }
  .search-bar:focus-within{
    border-color:var(--accent);
    box-shadow:0 0 0 3px rgba(232,77,44,0.15);
  }
  .search-bar input[type="search"],
  .search-bar input{
    flex:1;
    border:none;
    background:none;
    outline:none;
    font:inherit;
    font-size:14px;
    color:var(--ink);
    min-width:0;
    padding:8px 0;
    box-shadow:none;
  }
  .search-bar button,
  .search-bar .search-submit{
    width:38px; height:38px;
    border-radius:50%;
    border:none;
    background:var(--accent) !important;
    color:var(--bg) !important;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(232,77,44,0.35);
  }
  .search-bar button:hover,
  .search-bar .search-submit:hover{
    filter:brightness(1.08);
    background:var(--accent) !important;
  }
  .search-bar button .icon,
  .search-bar .search-submit .icon{
    width:17px; height:17px; color:var(--bg);
  }

  .promo-carousel-wrap{
    max-width:1200px;
    margin:14px auto 0;
    padding:0 18px;
  }
  /* Viewport qui clippe : le track (transform) est l'enfant */
  .promo-carousel-viewport{
    overflow:hidden;
    border-radius:16px;
    width:100%;
  }
  .promo-carousel{
    display:flex;
    width:100%;
    transition:transform 0.5s cubic-bezier(.65,0,.35,1);
    will-change:transform;
  }
  .promo-slide{
    flex:0 0 100%;
    width:100%;
    min-width:100%;
    height:150px;
    background-size:cover;
    background-position:center;
    position:relative;
    display:flex;
    align-items:flex-end;
    padding:14px;
  }
  .promo-slide::before{
    content:"";
    position:absolute; inset:0;
    background:linear-gradient(0deg, rgba(26,18,40,0.75) 0%, rgba(26,18,40,0.1) 60%);
  }
  .promo-slide-tag{
    position:absolute;
    top:10px; left:10px;
    background:var(--accent);
    color:var(--bg);
    font-size:11px;
    font-weight:700;
    padding:4px 10px;
    border-radius:100px;
    z-index:1;
  }
  .promo-slide-text{
    position:relative;
    z-index:1;
    color:var(--bg);
  }
  .promo-slide-text strong{ font-size:18px; font-weight:700; display:block; }
  .promo-slide-text span{ font-size:12px; opacity:0.85; }
  .promo-dots{
    display:flex;
    justify-content:center;
    gap:6px;
    margin-top:10px;
  }
  .promo-dots .dot{
    width:6px; height:6px;
    border-radius:50%;
    background:var(--line);
    border:none;
    padding:0;
    transition:width 0.2s, background 0.2s;
  }
  .promo-dots .dot.active{
    background:var(--accent);
    width:18px;
    border-radius:100px;
  }
  @media (min-width:640px){
    .promo-slide{ height:210px; padding:24px; }
    .promo-slide-text strong{ font-size:26px; }
  }

  .section{ max-width:1200px; margin:0 auto; padding:32px 18px 24px; }
  .cat-section{ text-align:center; padding-top:20px; padding-bottom:12px; }
  .cat-title{ font-size:clamp(20px,3vw,26px); }
  .cat-sub{ margin-top:4px; color:var(--muted); font-size:13.5px; }

  .cat-grid{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:12px 6px;
    margin-top:20px;
  }
  .cat-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    text-align:center;
  }
  .cat-circle{
    width:100%;
    aspect-ratio:1;
    max-width:78px;
    border-radius:50%;
    overflow:hidden;
    background:var(--surface);
    border:2px solid var(--ink);
    display:flex; align-items:center; justify-content:center;
  }
  .cat-circle img{ width:100%; height:100%; object-fit:cover; }
  .cat-circle.outline{ background:var(--panel); }
  .cat-mono{ font-size:8px; font-weight:700; letter-spacing:0.04em; }
  .cat-item span{
    font-size:11px;
    font-weight:600;
    line-height:1.2;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  @media (min-width:640px){
    .cat-circle{ max-width:96px; }
    .cat-item span{ font-size:12.5px; }
  }
  @media (max-width:560px){
    .cat-grid{ grid-template-columns:repeat(3, 1fr); }
  }

  .section-pad{ max-width:1200px; margin:0 auto; padding:0 14px 8px; }

  .promo-card{
    border-radius:20px;
    padding:20px 16px 16px;
    color:var(--bg);
    margin-bottom:16px;
    background:var(--dark);
  }
  .promo-card.flash{ background:#C43A22; }
  .promo-card.secondary{ background:var(--dark); }

  .promo-card-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
  }
  .promo-card-head h2{
    font-size:clamp(18px,2.8vw,22px);
    line-height:1.15;
  }
  .promo-arrow{
    flex:0 0 auto;
    width:38px; height:38px;
    border-radius:50%;
    background:var(--bg);
    color:var(--ink);
    display:flex; align-items:center; justify-content:center;
    font-size:16px;
    transition:transform 0.2s;
  }
  .promo-arrow:hover{ transform:translateX(3px); }

  .promo-timer{
    display:inline-flex;
    align-items:center;
    gap:5px;
    background:rgba(255,255,255,0.95);
    color:var(--ink);
    font-weight:700;
    font-size:12.5px;
    padding:5px 11px;
    border-radius:100px;
    margin-top:10px;
  }
  .promo-card-caption{
    font-size:12px;
    opacity:0.85;
    margin-top:4px;
  }

  .promo-scroll{
    display:flex;
    gap:10px;
    overflow-x:auto;
    margin-top:14px;
    padding-bottom:2px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .promo-scroll::-webkit-scrollbar{ display:none; }

  .promo-item{
    position:relative;
    flex:0 0 auto;
    width:118px;
    background:var(--bg);
    color:var(--ink);
    border-radius:10px;
    overflow:hidden;
    scroll-snap-align:start;
    box-shadow:0 3px 10px rgba(0,0,0,0.08);
    transition:transform 0.2s;
  }
  .promo-item .promo-item-link{ display:block; color:inherit; text-decoration:none; }
  .promo-item .promo-wish-btn,
  .promo-item .douawe-wish-btn--loop{
    position:absolute; top:6px; right:6px; z-index:5;
    width:30px; height:30px; border-radius:50%; border:0; padding:0;
    background:rgba(255,255,255,.95); color:var(--accent);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 2px 8px rgba(0,0,0,.12); cursor:pointer;
  }
  .promo-item .douawe-card-cart-btn--promo,
  .promo-item .douawe-card-cart-btn{
    position:absolute; right:6px; bottom:6px; z-index:5;
  }
  .promo-item:hover{ transform:translateY(-3px); }
  .promo-item .p-thumb{
    aspect-ratio:1.25 / 1;
    background:var(--surface);
    position:relative;
  }
  .promo-item .p-thumb img{ width:100%; height:100%; object-fit:contain; object-position:center; background:var(--bg); }
  .p-badge{
    position:absolute;
    top:6px; left:6px;
    right:auto;
    background:var(--gold);
    color:var(--ink);
    font-size:9.5px;
    font-weight:700;
    padding:2px 6px;
    border-radius:5px;
    z-index:3;
  }
  /* Rupture / stock bas : badge sur la photo (bas gauche) */
  .promo-item .p-thumb .p-stock{
    position:absolute;
    left:6px;
    bottom:6px;
    top:auto;
    margin:0;
    z-index:3;
    background:rgba(185,28,28,0.95);
    color:var(--bg);
    font-size:9.5px;
    font-weight:700;
    text-align:center;
    padding:3px 6px;
    border-radius:5px;
    max-width:75%;
  }
  .promo-item .p-info{ padding:5px 6px 6px; }
  .promo-item .p-info h3{
    font-size:10.5px;
    font-weight:600;
    line-height:1.25;
    min-height:0;
    margin-bottom:2px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .promo-item .p-rating{
    font-size:10.5px;
    color:var(--gold);
    margin-bottom:3px;
  }
  .promo-item .p-rating span{ color:var(--muted); }
  .promo-item .p-price-now{ font-size:12.5px; font-weight:800; }
  .promo-item .p-price-old-row{
    display:flex;
    align-items:center;
    gap:5px;
    margin-top:2px;
    flex-wrap:wrap;
  }
  .promo-item .p-price-old{
    font-size:10px;
    text-decoration:line-through;
    color:var(--muted);
  }
  .promo-item .p-discount{
    background:var(--success);
    color:var(--bg);
    font-size:9.5px;
    font-weight:700;
    padding:2px 5px;
    border-radius:4px;
  }
  @media (min-width:640px){
    .promo-item{ width:140px; }
    .promo-card{ padding:24px 20px 18px; }
  }

  .why-item{
    flex:0 0 auto;
    width:200px;
    background:rgba(255,255,255,0.12);
    border:1px solid rgba(255,255,255,0.18);
    border-radius:14px;
    padding:16px 14px;
    scroll-snap-align:start;
  }
  .why-item .why-icon{ font-size:22px; margin-bottom:8px; }
  .why-item h3{ font-size:14px; margin-bottom:4px; color:var(--bg); }
  .why-item p{ font-size:12px; opacity:0.8; margin:0; line-height:1.35; color:var(--bg); }

  .trust-strip{
    max-width:1200px;
    margin:18px auto 0;
    padding:0 14px;
  }
  .trust-inner{
    background:var(--dark);
    color:#FBF7F0;
    border-radius:16px;
    padding:16px 18px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .trust-text h3{ font-size:15px; margin-bottom:2px; }
  .trust-text p{ font-size:12px; opacity:0.75; margin:0; }
  .pay-logos{ display:flex; flex-wrap:wrap; gap:8px; }
  .pay-logo{
    background:rgba(255,255,255,0.1);
    border-radius:8px;
    padding:6px 11px;
    font-size:12px;
    font-weight:600;
  }
  .pay-logo.wave{ background:#1DC8F4; color:#00334d; }
  .pay-logo.orange{ background:#FF7900; color:var(--bg); }
  .pay-logo.mtn{ background:#FFCC00; color:#000; }

  .reviews-section{
    max-width:1200px;
    margin:24px auto 0;
    padding:12px 14px 8px;
  }
  .reviews-head h2{ font-size:clamp(18px,2.8vw,24px); }
  .reviews-head .sub{ font-size:13px; color:var(--muted); margin-top:3px; }
  .reviews-scroll{
    display:flex;
    gap:12px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    margin-top:14px;
    padding-bottom:4px;
  }
  .reviews-scroll::-webkit-scrollbar{ display:none; }
  .review-card{
    flex:0 0 auto;
    width:260px;
    background:var(--panel);
    border-radius:14px;
    padding:16px;
    border:1px solid var(--line);
    scroll-snap-align:start;
  }
  .review-stars{ color:var(--gold); font-size:13px; margin-bottom:8px; }
  .review-text{ font-size:13.5px; line-height:1.45; color:rgba(26,18,40,0.85); margin-bottom:12px; }
  .review-author{ display:flex; align-items:center; gap:8px; }
  .review-avatar{
    width:34px; height:34px;
    border-radius:50%;
    background:var(--dark);
    color:var(--bg);
    display:flex; align-items:center; justify-content:center;
    font-weight:700;
    font-size:13px;
  }
  .review-name{ font-weight:700; font-size:13px; }
  .review-city{ font-size:11.5px; color:var(--muted); }

  .made-ci{ max-width:1200px; margin:20px auto 0; padding:0 14px; }
  .made-inner{
    background:var(--dark);
    border-radius:16px;
    padding:22px 20px;
    color:var(--bg);
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:14px;
  }
  .made-inner h2{ font-size:clamp(17px,2.6vw,22px); }
  .made-inner p{ font-size:13px; opacity:0.8; margin:6px 0 0; max-width:32ch; }
  .btn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:10px 18px;
    border-radius:100px;
    font-weight:700;
    font-size:13.5px;
    border:none;
  }
  .btn-gold{ background:var(--gold); color:var(--ink); }
  .btn-gold:hover{ filter:brightness(1.08); }

  footer{ background:var(--dark); color:rgba(251,247,240,0.8); margin-top:28px; }
  .foot-inner{
    max-width:1200px;
    margin:0 auto;
    padding:36px 18px 22px;
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr;
    gap:24px;
  }
  @media (max-width:780px){ .foot-inner{ grid-template-columns:1fr 1fr; } }
  @media (max-width:480px){ .foot-inner{ grid-template-columns:1fr; } }
  footer h4{
    font-size:11px; text-transform:uppercase;
    letter-spacing:0.08em; color:var(--gold); margin-bottom:10px; font-weight:700;
  }
  footer ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; font-size:13.5px; }
  .foot-logo{ font-weight:800; font-size:18px; color:#FBF7F0; margin-bottom:6px; }
  .foot-desc{ font-size:13px; opacity:0.7; margin:0 0 10px; max-width:28ch; }
  .bottom-bar{
    border-top:1px solid rgba(251,247,240,0.1);
    padding:14px 18px;
    max-width:1200px;
    margin:0 auto;
    font-size:11.5px;
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:6px;
    color:rgba(251,247,240,0.4);
  }

  /* Bouton WhatsApp flottant — bas droite.
     bottom relevé pour ne pas se superposer au plugin d'assistance chat. */
  .float-btns{
    position:fixed;
    bottom:90px;
    left:16px;
    right:auto;
    z-index:90;
    display:flex;
    flex-direction:column;
    gap:10px;
    align-items:flex-start;
  }
  .float-btn{
    width:50px; height:50px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 6px 18px rgba(0,0,0,0.2);
    transition:transform 0.2s;
    color:var(--bg);
    font-size:20px;
    border:none;
  }
  .float-btn:hover{ transform:scale(1.07); }
  .float-btn.wa{ background:var(--whatsapp); }
  .float-btn svg{ width:24px; height:24px; }

  .icon-btn:focus-visible, .btn:focus-visible, .promo-arrow:focus-visible, .hamburger:focus-visible{
    outline:2px solid var(--accent);
    outline-offset:2px;
  }

/* Engagements du pied de page — compactes et sans défilement horizontal */
.douawe-footer-trust{
  width:100%;
  max-width:1100px;
  margin:0 auto;
  padding:10px 18px 0;
  overflow:hidden;
}
.douawe-footer-trust-inner{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:center;
  border-radius:14px;
  background:rgba(255,255,255,.045);
  color:#2a8f3a;
  overflow:hidden;
}
.douawe-footer-trust-item{
  min-width:0;
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:7px 6px;
  text-align:left;
  font-size:11px;
  line-height:1.15;
  color:#2a8f3a;
  border-right:1px solid rgba(255,255,255,.12);
}
.douawe-footer-trust-item:last-child{border-right:0;}
.douawe-footer-trust-icon{
  width:30px; height:30px; flex:0 0 30px;
  display:flex; align-items:center; justify-content:center;
}
.douawe-footer-trust-icon svg{width:30px;height:30px;display:block;}
@media (max-width:520px){
  .douawe-footer-trust{padding:8px 8px 0;}
  .douawe-footer-trust-item{min-height:62px;gap:4px;padding:5px 2px;font-size:8.5px;text-align:center;flex-direction:column;}
  .douawe-footer-trust-icon{width:25px;height:25px;flex-basis:25px;}
  .douawe-footer-trust-icon svg{width:25px;height:25px;}
}
@media (max-width:360px){
  .douawe-footer-trust-item{font-size:8px;min-height:58px;}
  .douawe-footer-trust-icon{width:22px;height:22px;flex-basis:22px;}
  .douawe-footer-trust-icon svg{width:22px;height:22px;}
}

/* =========================================================
   IDENTITÉ VISUELLE — FOND SITE BLANC
   Le blanc devient le fond principal de toutes les pages.
   Les surfaces secondaires restent très légèrement grisées
   pour conserver la hiérarchie visuelle et la lisibilité.
   ========================================================= */
html, body{
  background:var(--bg);
}
.top-bar{
  background:rgba(255,255,255,0.97);
}

/* =========================================================
   DOUAWE PROSHOP — V24 : header mobile stable
   Une ligne pour hamburger + logo + actions, puis la recherche.
   Aucune partie du header ne peut se retrouver sur une troisième ligne.
   ========================================================= */
@media (max-width:899px){
  .top-bar-inner{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:
      "left actions"
      "search search" !important;
    align-items:center !important;
    column-gap:6px !important;
    row-gap:8px !important;
    padding:8px 12px !important;
    width:100% !important;
    box-sizing:border-box !important;
  }
  .top-bar-left{
    grid-area:left !important;
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
    width:auto !important;
  }
  .top-bar-left .hamburger{
    flex:0 0 40px !important;
  }
  .top-bar-left .brand{
    min-width:0 !important;
    max-width:calc(100vw - 190px) !important;
  }
  .head-actions{
    grid-area:actions !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    min-width:0 !important;
    width:auto !important;
    margin:0 !important;
    gap:2px !important;
  }
  .head-actions .icon-btn{ flex:0 0 40px !important; width:40px !important; height:40px !important; }
  .lang-switch{ flex:0 0 auto !important; }
  .site-search{
    grid-area:search !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    order:initial !important;
  }
  .site-search .douawe-search-wrap{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }
}


/* =========================================================
   V25 — EN-TÊTE GLOBAL UNIFIÉ ET FIXE
   Le bandeau + la ligne principale forment un seul en-tête fixe
   sur toutes les pages. Un espace dynamique est réservé dans le flux
   afin qu'aucun contenu ne passe dessous.
   ========================================================= */
.douawe-site-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  max-width:100% !important;
  z-index:1000 !important;
  background:var(--bg);
}
.douawe-site-header .top-bar{
  position:relative !important;
  top:auto !important;
  width:100% !important;
}
.douawe-site-header .ticker-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}
.douawe-header-spacer{
  display:block !important;
  width:100% !important;
  height:var(--douawe-header-height, 0px) !important;
  min-height:var(--douawe-header-height, 0px) !important;
}
@media (max-width:899px){
  .douawe-site-header .top-bar-inner{
    min-height:72px;
  }
}

/* V25 — boutons de confirmation dans le toast */
.douawe-toast .toast-actions .card-cart-confirm{
  flex:1;
  text-align:center;
  padding:8px 10px;
  border:0;
  border-radius:10px;
  font:600 13px/1.2 inherit;
  background:rgba(255,255,255,0.12);
  color:var(--bg);
  cursor:pointer;
}
.douawe-toast .toast-actions .card-cart-confirm.toast-primary,
.douawe-toast .toast-actions .toast-primary.card-cart-confirm{
  background:var(--accent);
}

/* =========================================================
   V26 — EN-TÊTE UNIFIÉ : même géométrie sur tout le site
   ========================================================= */
.douawe-site-header,
.douawe-site-header .top-bar,
.douawe-site-header .top-bar-inner{
  box-sizing:border-box !important;
}
.douawe-site-header{
  position:fixed !important;
  inset:0 0 auto 0 !important;
  width:100vw !important;
  max-width:100vw !important;
  overflow:visible !important;
}
.douawe-site-header .top-bar{
  position:relative !important;
  width:100% !important;
  margin:0 !important;
}
@media (max-width:899px){
  .douawe-site-header .top-bar-inner{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    grid-template-rows:52px 44px !important;
    grid-template-areas:
      "left spacer actions"
      "search search search" !important;
    gap:0 4px !important;
    padding:0 10px 8px !important;
    width:100% !important;
    min-height:104px !important;
    align-items:center !important;
  }
  .douawe-site-header .top-bar-left{
    grid-area:left !important;
    height:52px !important;
    display:flex !important;
    align-items:center !important;
    gap:3px !important;
    min-width:0 !important;
  }
  .douawe-site-header .hamburger{
    flex:0 0 42px !important;
    width:42px !important;
    height:42px !important;
    padding:7px !important;
    margin:0 !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .douawe-site-header .brand{
    height:52px !important;
    min-width:0 !important;
    max-width:180px !important;
    display:flex !important;
    align-items:center !important;
    line-height:1 !important;
  }
  .douawe-site-header .brand-mark,
  .douawe-site-header .brand-mark a{
    height:42px !important;
    display:flex !important;
    align-items:center !important;
  }
  .douawe-site-header .brand-mark img{
    max-height:36px !important;
    width:auto !important;
    display:block !important;
  }
  .douawe-site-header .head-actions{
    grid-area:actions !important;
    height:52px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:2px !important;
    margin:0 !important;
    min-width:0 !important;
  }
  .douawe-site-header .head-actions .icon-btn{
    flex:0 0 38px !important;
    width:38px !important;
    height:38px !important;
    margin:0 !important;
  }
  .douawe-site-header .lang-switch{
    height:38px !important;
    display:flex !important;
    align-items:center !important;
  }
  .douawe-site-header .site-search{
    grid-area:search !important;
    width:100% !important;
    height:44px !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    order:initial !important;
    align-self:end !important;
  }
  .douawe-site-header .site-search .douawe-search-wrap{
    height:44px !important;
    width:100% !important;
    margin:0 !important;
  }
}

/* V26 — cartes produits compactes et icône panier bien ancrée */
.woocommerce ul.products li.product{
  position:relative !important;
}
@media (max-width:639px){
  .woocommerce ul.products li.product .woocommerce-loop-product__link{
    min-width:0 !important;
  }
}

/* V27 — en-tête mobile : la recherche reste strictement dans sa ligne.
   On fixe sa hauteur réelle pour éviter tout étirement vertical sur les pages
   Boutique / catégories / produit. */
@media (max-width:899px){
  .douawe-site-header .top-bar-inner{
    grid-template-rows:48px 40px !important;
    min-height:88px !important;
    height:auto !important;
    align-items:center !important;
  }
  .douawe-site-header .top-bar-left,
  .douawe-site-header .head-actions{
    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;
    overflow:hidden !important;
  }
  .douawe-site-header .site-search{
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    overflow:visible !important;
    align-self:center !important;
  }
  .douawe-site-header .site-search .douawe-search-wrap{
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    overflow:visible !important;
  }
  .douawe-site-header .site-search .search-bar{
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    padding:3px 5px 3px 12px !important;
    align-items:center !important;
    overflow:hidden !important;
  }
  .douawe-site-header .site-search .search-bar input[type="search"],
  .douawe-site-header .site-search .search-bar input{
    height:32px !important;
    min-height:32px !important;
    max-height:32px !important;
    padding:0 !important;
    line-height:32px !important;
  }
  .douawe-site-header .site-search .search-bar button,
  .douawe-site-header .site-search .search-bar .search-submit{
    width:34px !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
  }
}

/* V27 — le sélecteur de quantité et Ajouter au panier restent toujours sur
   la même ligne sur les petits écrans. */
@media (max-width:899px){
  .woocommerce div.product form.cart{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    gap:7px !important;
  }
  .woocommerce div.product form.cart .quantity{
    flex:0 0 auto !important;
  }
  .woocommerce div.product form.cart .single_add_to_cart_button{
    flex:1 1 auto !important;
    min-width:0 !important;
    width:auto !important;
  }
}

/* La confirmation est une vraie carte blanche, jamais translucide. */
.douawe-toast{
  background:var(--bg) !important;
  color:var(--ink-soft) !important;
}

/* V27 — fiche produit : galerie encore plus compacte sur téléphone. */
@media (max-width:639px){
  .douawe-pg-main{
    max-height:170px !important;
    aspect-ratio:1.45 / 1 !important;
  }
  .douawe-pg-main img{
    max-height:155px !important;
  }
}


/* V28 — recherche header : aucune hauteur parasite ne peut agrandir sa ligne. */
@media (max-width:899px){
  .douawe-site-header .site-search,
  .douawe-site-header .site-search form,
  .douawe-site-header .site-search .douawe-search-wrap,
  .douawe-site-header .site-search .search-bar{
    box-sizing:border-box !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
  .douawe-site-header .site-search input[type=search],
  .douawe-site-header .site-search input[type=text],
  .douawe-site-header .site-search button{
    box-sizing:border-box !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    align-self:center !important;
  }
}

/* =========================================================
   V31 — CARTE DE CONFIRMATION (toast)
   Centrage robuste mobile (inset + margin auto), sans transform
   qui sortait la carte hors viewport sur certains navigateurs.
   ========================================================= */
.douawe-toast{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:min(300px, calc(100vw - 32px)) !important;
  max-width:calc(100vw - 32px) !important;
  height:fit-content !important;
  max-height:min(70vh, calc(100dvh - 48px)) !important;
  margin:auto !important;
  overflow:auto !important;
  box-sizing:border-box !important;
  transform:scale(.96) !important;
  background:var(--bg) !important;
  color:var(--ink-soft) !important;
  border:1px solid rgba(42,31,61,.10) !important;
  border-radius:18px !important;
  padding:16px !important;
  box-shadow:0 20px 60px rgba(25,18,40,.25) !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  font-size:14px !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:opacity .2s ease, transform .2s ease, visibility .2s !important;
  z-index:12000 !important;
}
.douawe-toast.show{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:scale(1) !important;
}
.douawe-toast[hidden]{ display:none !important; }
.douawe-toast strong{ color:var(--ink-soft) !important; font-size:14.5px !important; }
.douawe-toast > span:not(.toast-actions){ color:var(--muted) !important; line-height:1.45 !important; font-size:12.5px !important; }
.douawe-toast .toast-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
  margin-top:2px !important;
}
.douawe-toast .toast-actions .card-cart-confirm,
.douawe-toast .toast-actions .cart-remove-confirm{
  flex:none !important;
  min-height:42px !important;
  padding:9px 12px !important;
  border:1px solid rgba(42,31,61,.12) !important;
  border-radius:11px !important;
  background:var(--surface-2) !important;
  color:var(--ink-soft) !important;
  font:700 13px/1.2 inherit !important;
  text-align:center !important;
  cursor:pointer !important;
}
.douawe-toast .toast-actions .card-cart-confirm.toast-primary,
.douawe-toast .toast-actions .toast-primary.card-cart-confirm,
.douawe-toast .toast-actions .cart-remove-confirm.toast-primary,
.douawe-toast .toast-actions .toast-primary.cart-remove-confirm{
  background:linear-gradient(135deg,var(--accent-light),var(--accent)) !important;
  color:var(--bg) !important;
  border-color:transparent !important;
}
@media (max-width:639px){
  .douawe-toast{
    width:min(280px, calc(100vw - 28px)) !important;
    padding:14px !important;
  }
}


/* =========================================================
   V42 — SYSTÈME VISUEL GLOBAL
   Footer strictement identique sur toutes les pages, CTA panier
   identique aux cartes WooCommerce, confirmation toujours au-dessus.
   ========================================================= */
.douawe-footer-trust,
.douawe-footer-trust-inner,
.douawe-footer-trust-item,
.douawe-footer,
.douawe-footer .footer-inner,
.douawe-footer .footer-bottom{
  box-sizing:border-box !important;
}
.douawe-footer-trust{
  width:100% !important;
  max-width:1100px !important;
  margin:0 auto !important;
  padding:10px 18px 0 !important;
  overflow:hidden !important;
}
.douawe-footer-trust-inner{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:stretch !important;
  border:1px solid rgba(232,163,23,.14) !important;
  border-radius:14px !important;
  background:rgba(26,18,40,.035) !important;
  color:var(--gold,#E8A317) !important;
  overflow:hidden !important;
}
.douawe-footer-trust-item{
  min-width:0 !important;
  min-height:68px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:7px 6px !important;
  text-align:left !important;
  font-size:11px !important;
  line-height:1.15 !important;
  color:var(--gold,#E8A317) !important;
  font-weight:700 !important;
  border-right:1px solid rgba(42,31,61,.10) !important;
}
.douawe-footer-trust-item:last-child{border-right:0 !important;}
.douawe-footer-trust-icon{
  width:30px !important;
  height:30px !important;
  flex:0 0 30px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:inherit !important;
}
.douawe-footer-trust-icon svg{width:30px !important;height:30px !important;display:block !important;}
.douawe-footer{
  width:100% !important;
  background:var(--dark,#1A1228) !important;
  color:#FBF7F0 !important;
  margin-top:28px !important;
  border-top:1px solid rgba(232,163,23,.22) !important;
}
.douawe-footer .footer-inner{
  width:100% !important;
  max-width:1100px !important;
  margin:0 auto !important;
  padding:28px 18px 20px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:20px !important;
  justify-content:space-between !important;
  align-items:center !important;
}
.douawe-footer .footer-inner > div:first-child strong{color:#FBF7F0 !important;font-weight:800 !important;}
.douawe-footer .footer-inner p{color:rgba(251,247,240,.72) !important;}
.douawe-footer .footer-links{display:flex !important;align-items:center !important;flex-wrap:wrap !important;gap:10px !important;font-size:13px !important;font-weight:700 !important;}
.douawe-footer .footer-links a{color:#E8A317 !important;text-decoration:none !important;}
.douawe-footer .footer-links a:hover{color:#fff !important;}
.douawe-footer .footer-bottom{text-align:center !important;padding:12px 18px 24px !important;font-size:12px !important;color:rgba(251,247,240,.55) !important;}

/* Les cartes de l'accueil utilisent exactement le même CTA panier que les cartes WooCommerce. */
.promo-item .douawe-card-cart-btn,
.promo-item .douawe-card-cart-btn--promo{
  position:absolute !important;
  right:9px !important;
  bottom:9px !important;
  z-index:8 !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:var(--accent) !important;
  color:var(--bg) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 5px 16px rgba(232,77,44,.28) !important;
}
.promo-item .douawe-card-cart-btn .icon,
.promo-item .douawe-card-cart-btn--promo .icon{
  width:20px !important;
  height:20px !important;
  margin:0 !important;
}

/* Confirmation panier : le toast est une vraie couche modale, au-dessus des cartes. */
html body.woocommerce-cart #douaweToast,
html body.woocommerce-cart .douawe-toast{
  position:fixed !important;
  inset:0 !important;
  width:min(300px,calc(100vw - 32px)) !important;
  max-width:calc(100vw - 32px) !important;
  height:max-content !important;
  max-height:calc(100dvh - 48px) !important;
  margin:auto !important;
  z-index:2147483647 !important;
  isolation:isolate !important;
}
html body.woocommerce-cart #douaweToast.show,
html body.woocommerce-cart .douawe-toast.show{
  z-index:2147483647 !important;
}
/* Force les articles et le sticky checkout à rester sous la boîte de confirmation. */
html body.woocommerce-cart .cart-item,
html body.woocommerce-cart .douawe-cart-wrap,
html body.woocommerce-cart .douawe-pay-bar{z-index:1 !important;}

@media (max-width:520px){
  .douawe-footer-trust{padding:8px 8px 0 !important;}
  .douawe-footer-trust-item{min-height:62px !important;gap:4px !important;padding:5px 2px !important;font-size:8.5px !important;text-align:center !important;flex-direction:column !important;}
  .douawe-footer-trust-icon{width:25px !important;height:25px !important;flex-basis:25px !important;}
  .douawe-footer-trust-icon svg{width:25px !important;height:25px !important;}
}
@media (max-width:360px){
  .douawe-footer-trust-item{font-size:8px !important;min-height:58px !important;}
  .douawe-footer-trust-icon{width:22px !important;height:22px !important;flex-basis:22px !important;}
  .douawe-footer-trust-icon svg{width:22px !important;height:22px !important;}
}
