
  :root{
    --ink:#1A1228;
    --bg:#FBF7F0;
    --panel:#FFFFFF;
    --accent:#E84D2C;
    --gold:#E8A317;
    --muted:#6B6575;
    --line: rgba(26,18,40,0.10);
    --surface:#F3EDE3;
    --dark:#1A1228;
    --success:#1A7A4C;
  }

  *{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(251,247,240,0.96);
    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:#fff !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:#fff; }
  .cart-count{
    position:absolute;
    top:2px; right:2px;
    background:var(--accent);
    color:#fff;
    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);
    z-index:80;
    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;
    width:min(300px, 86vw);
    height:100%;
    background:var(--panel);
    padding:24px 20px calc(24px + 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:6px;
    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:12px 10px;
    font-weight:600;
    font-size:16px;
    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:#fff !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:#fff;
  }

  .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:#fff;
    font-size:11px;
    font-weight:700;
    padding:4px 10px;
    border-radius:100px;
    z-index:1;
  }
  .promo-slide-text{
    position:relative;
    z-index:1;
    color:#fff;
  }
  .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:#fff;
    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:#fff;
    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{
    flex:0 0 auto;
    width:118px;
    background:#fff;
    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:hover{ transform:translateY(-3px); }
  .promo-item .p-thumb{
    aspect-ratio:1;
    background:var(--surface);
    position:relative;
  }
  .promo-item .p-thumb img{ width:100%; height:100%; object-fit:cover; }
  .p-badge{
    position:absolute;
    top:6px; left:6px;
    background:var(--gold);
    color:var(--ink);
    font-size:9.5px;
    font-weight:700;
    padding:2px 6px;
    border-radius:5px;
  }
  .promo-item .p-stock{
    background:#F5E8C8;
    color:#7A5A00;
    font-size:9.5px;
    font-weight:700;
    text-align:center;
    padding:3px 5px;
  }
  .promo-item .p-stock.low{ background:#FCE4E4; color:#B91C1C; }
  .promo-item .p-info{ padding:6px 7px 8px; }
  .promo-item .p-info h3{
    font-size:11px;
    font-weight:600;
    line-height:1.3;
    min-height:2.3em;
    margin-bottom:3px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .promo-item .p-rating{
    font-size:10.5px;
    color:#E8A317;
    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:#fff;
    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:#fff; }
  .why-item p{ font-size:12px; opacity:0.8; margin:0; line-height:1.35; color:#fff; }

  .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:#fff; }
  .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:#fff;
    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:#fff;
    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:#fff;
    font-size:20px;
    border:none;
  }
  .float-btn:hover{ transform:scale(1.07); }
  .float-btn.wa{ background:#25D366; }
  .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;
  }
