/* ==========================================================================
   CHALYS SHOP — Feuille de style principale
   Design system : rose fuchsia (#E93C86) issu du logo, noir, blanc.
   Polices : Playfair Display (titres/serif), Playball (accent cursive), Poppins (texte).
   ========================================================================== */

  :root{
    --rose:#E93C86;
    --rose-hover:#C71662;
    --rose-fonce:#A21250;
    --rose-clair:#F9D6E5;
    --rose-pale:#FCE9F0;
    --noir:#1A1414;
    --blanc:#FFFFFF;
    --gris:#7A7A7A;
    --gris-clair:#EDEDED;
    --gris-fond:#FAFAFA;
    --line:#F1E4EB;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{font-family:'Poppins', sans-serif; color:var(--noir); background:var(--blanc); font-size:15px;}
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  h1,h2,h3{font-family:'Playfair Display', serif; font-weight:600; line-height:1.15;}
  .cursive{font-family:'Playball', cursive; font-weight:400; color:var(--rose); font-size:1.6em; line-height:1.3; display:block;}
  .wrap{max-width:1280px; margin:0 auto; padding:0 32px;}
  @media (max-width:600px){ .wrap{padding:0 20px;} }
  .eyebrow{font-size:12px; letter-spacing:.22em; text-transform:uppercase; font-weight:600; color:var(--rose);}

  .btn{display:inline-flex; align-items:center; gap:8px; padding:15px 30px; font-size:12.5px; letter-spacing:.09em; text-transform:uppercase; font-weight:600; border-radius:10px; cursor:pointer; transition:all .3s cubic-bezier(.4,0,.2,1); border:1.5px solid transparent;}
  .btn-plein{background:var(--rose); color:var(--blanc); box-shadow:0 8px 20px -6px rgba(233,60,134,.5);}
  .btn-plein:hover{background:var(--rose-hover); transform:translateY(-2px); box-shadow:0 12px 26px -6px rgba(233,60,134,.6);}
  .btn-contour{background:transparent; border-color:var(--noir); color:var(--noir);}
  .btn-contour:hover{background:var(--noir); color:var(--blanc); transform:translateY(-2px);}
  .btn-contour-blanc{background:transparent; border-color:rgba(255,255,255,.7); color:#fff;}
  .btn-contour-blanc:hover{background:#fff; color:var(--rose); transform:translateY(-2px);}
  .btn-mini{font-size:11px; padding:9px 18px; letter-spacing:.08em; border-radius:8px;}

  /* Top bar */
  .topbar{background:var(--rose-fonce); color:#fff; font-size:12.5px;}
  .topbar .wrap{display:flex; align-items:center; justify-content:space-between; padding:9px 32px;}
  .topbar-left{display:flex; align-items:center; gap:8px;}
  .topbar-center{display:flex; align-items:center; gap:8px;}
  .topbar-right{display:flex; gap:12px;}
  .topbar-right a{width:24px; height:24px; border:1px solid rgba(255,255,255,.5); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px;}
  @media (max-width:800px){ .topbar-center{display:none;} }

  /* Header */
  header{position:sticky; top:0; z-index:200; background:#fff; border-bottom:1px solid var(--line);}
  .nav-row{display:flex; align-items:center; gap:34px; padding:4px 32px 18px; max-width:1280px; margin:0 auto;}
  .logo-badge{width:56px; height:56px; border-radius:50%; overflow:hidden; flex-shrink:0; border:2px solid var(--rose-pale);}
  .logo-badge img{width:100%; height:100%; object-fit:cover;}
  nav{flex:1;}
  nav ul{display:flex; gap:26px; flex-wrap:wrap;}
  nav a{font-size:12.5px; letter-spacing:.04em; text-transform:uppercase; font-weight:600; color:var(--noir); display:flex; align-items:center; gap:4px;}
  nav a:hover{color:var(--rose);}
  nav .caret{font-size:9px; opacity:.6;}
  .nav-icons{display:flex; align-items:center; gap:20px;}
  .nav-icons svg{width:19px; height:19px; stroke:var(--noir);}
  .cart-badge{position:relative;}
  .cart-count{position:absolute; top:-8px; right:-8px; background:var(--rose); color:#fff; font-size:9px; width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700;}
  .menu-toggle-input{display:none;}
  .menu-toggle-label{display:none; width:22px; height:16px; flex-direction:column; justify-content:space-between; cursor:pointer;}
  .menu-toggle-label span{display:block; height:2px; width:100%; background:var(--noir); border-radius:2px; transition:all .3s ease;}
  @media (max-width:1250px){
    .nav-row{flex-wrap:wrap; gap:16px; padding:12px 20px;}
    .logo-badge{width:44px; height:44px; order:0;}
    .nav-icons{order:1; gap:14px; margin-left:auto;}
    .nav-icons svg{width:17px; height:17px;}
    .menu-toggle-label{display:flex; order:2;}
    nav{order:10; flex-basis:100%; max-height:0; overflow:hidden; transition:max-height .35s ease;}
    nav ul{flex-direction:column; gap:0; padding:6px 0 4px;}
    nav ul li{border-top:1px solid var(--line);}
    nav a{padding:10px 4px; width:100%;}
    .menu-toggle-input:checked ~ nav{max-height:calc(100vh - 100px); overflow-y:auto; -webkit-overflow-scrolling:touch;}
  }

  /* HERO */
  .hero{position:relative; height:440px; background:linear-gradient(115deg, #ffffff 0%, #ffffff 30%, var(--rose-pale) 100%); overflow:hidden;}
  .hero-inner{display:grid; grid-template-columns:1fr 1.15fr; align-items:stretch; height:100%; max-width:1280px; margin:0 auto;}
  .hero-texte{position:relative; display:flex; flex-direction:column; justify-content:center; padding:0 48px 0 32px; overflow:hidden;}
  .hero-texte > *:not(.hero-watermark){position:relative; z-index:1;}
  .hero-texte h1{font-size:38px; margin:10px 0 4px; letter-spacing:-.01em;}
  .hero-texte p{font-size:14px; color:#555; line-height:1.6; max-width:420px; margin:12px 0 24px;}
  .hero-cta{display:flex; gap:14px; flex-wrap:wrap;}
  .hero-img-wrap{position:relative; overflow:hidden;}
  .hero-img-wrap img{width:100%; height:100%; object-fit:cover; object-position:center 15%; display:block;}
  .hero-img-wrap::before{
    content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(90deg, #ffffff 0%, rgba(255,255,255,.55) 12%, rgba(255,255,255,0) 30%);
  }
  .hero-watermark{
    position:absolute; left:-10px; bottom:-18px; z-index:0; font-family:'Playball', cursive;
    font-size:150px; color:var(--rose-clair); opacity:.6; line-height:1; pointer-events:none; user-select:none;
  }
  .badge-confiance{
    position:absolute; bottom:32px; right:32px; width:100px; height:100px; border-radius:50%;
    background:rgba(255,255,255,.95); display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; box-shadow:0 10px 30px rgba(0,0,0,.15); border:1.5px dashed var(--rose); z-index:2;
  }
  .badge-avis{
    position:absolute; bottom:148px; right:32px; background:rgba(255,255,255,.97); border-radius:14px; padding:12px 18px;
    display:flex; align-items:center; gap:8px; box-shadow:0 10px 30px rgba(0,0,0,.15); z-index:2; max-width:190px;
  }
  .badge-avis .etoiles{color:var(--rose); font-size:13px; letter-spacing:1px; line-height:1;}
  .badge-avis .avis-texte{font-size:11px; color:var(--noir); font-weight:600; line-height:1.3;}
  .badge-avis .avis-texte small{display:block; font-weight:400; color:var(--gris); font-size:10px; text-transform:none; letter-spacing:0;}
  .badge-confiance .pct{font-family:'Playfair Display'; font-size:20px; font-weight:700; color:var(--rose);}
  .badge-confiance span{font-size:7.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--noir); font-weight:600;}
  @media (max-width:860px){
    .badge-confiance{width:76px; height:76px; bottom:16px; right:16px; box-shadow:0 6px 18px rgba(0,0,0,.2);}
    .badge-confiance .pct{font-size:15px;}
    .badge-avis{display:none;}
    .badge-confiance span{font-size:6px;}
  }
  @media (max-width:520px){
    .badge-confiance{display:none;}
  }
  .hero-dots{position:absolute; bottom:22px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:2;}
  .hero-dots i{width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.6);}
  .hero-dots i:first-child{background:var(--rose);}
  @media (max-width:1150px) and (min-width:901px){
    .hero{height:360px;}
    .hero-texte h1{font-size:32px;}
  }
  @media (max-width:900px){
    .hero-inner{grid-template-columns:1fr;}
    .hero{height:auto;}
    .hero-texte{max-width:100%; padding:40px 24px;}
    .hero-texte h1{font-size:30px;}
    .hero-img-wrap{height:260px;}
    .badge-confiance{width:80px; height:80px; top:20px; right:20px;}
    .hero-watermark{font-size:80px; left:-6px; bottom:-10px;}
  }

  /* Catégories 4 tuiles */
  .categories{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; padding:0 32px; max-width:1280px; margin:56px auto 0;}
  .cat-tuile{position:relative; min-height:300px; border-radius:16px; display:flex; flex-direction:column; justify-content:flex-end; padding:24px; overflow:hidden; box-shadow:0 16px 34px -18px rgba(233,60,134,.35); transition:transform .35s ease, box-shadow .35s ease;}
  .cat-tuile:hover{transform:translateY(-4px); box-shadow:0 22px 40px -16px rgba(233,60,134,.45);}
  .cat-tuile img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
  .cat-tuile::after{content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.15) 55%, rgba(0,0,0,0) 75%);}
  .cat-tuile > *:not(img){position:relative; z-index:2;}
  .cat-tuile:hover img{transform:scale(1.07);}
  .cat-icone{position:relative; z-index:2; width:44px; height:44px; border-radius:50%; background:var(--rose); display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
  .cat-icone svg{width:20px; height:20px; stroke:#fff; fill:none;}
  .cat-tuile h3{position:relative; z-index:2; color:#fff; font-size:19px; margin-bottom:12px;}
  .cat-tuile .btn{position:relative; z-index:2; background:#fff; color:var(--noir); border:none;}
  @media (max-width:900px){.categories{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:600px){.cat-tuile{min-height:210px; padding:18px;}}

  /* Bande confiance */
  .confiance{padding:36px 0; border-bottom:1px solid var(--line);}
  .confiance .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  .confiance-item{display:flex; align-items:center; gap:14px;}
  .confiance-item svg{width:30px; height:30px; stroke:var(--rose); fill:none; flex-shrink:0;}
  .confiance-item h4{font-size:13px; text-transform:uppercase; letter-spacing:.03em; margin-bottom:3px;}
  .confiance-item p{font-size:12px; color:var(--gris);}
  @media (max-width:1050px){.confiance .wrap{grid-template-columns:repeat(3,1fr);}}
  @media (max-width:640px){.confiance .wrap{grid-template-columns:repeat(2,1fr);}}

  /* Section produits */
  .section{padding:100px 0;}
  @media (max-width:700px){
    .section{padding:56px 0;}
    .titre-section h2{font-size:24px;}
    .categories{margin-top:36px;}
  }
  .titre-section{display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:36px; flex-wrap:wrap; gap:12px;}
  .titre-section h2{font-size:32px; position:relative; padding-bottom:14px;}
  .titre-section h2::after{content:''; position:absolute; left:0; bottom:0; width:54px; height:3px; background:var(--rose); border-radius:2px;}
  .voir-tout{font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; display:flex; align-items:center; gap:6px; color:var(--rose);}

  .grille-produits{display:flex; gap:20px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; padding-bottom:14px; scrollbar-width:thin;}
  .grille-produits > *{flex:0 0 auto; width:260px; scroll-snap-align:start;}
  .grille-produits::-webkit-scrollbar{height:6px;}
  .grille-produits::-webkit-scrollbar-thumb{background:var(--rose-clair); border-radius:10px;}
  @media (max-width:640px){.grille-produits{gap:14px;} .grille-produits > *{width:200px;}}
  @media (max-width:380px){
    .carte-corps .nom{font-size:12.5px;}
    .taille{padding:2px 6px; font-size:9px;}
  }

  .carte{position:relative; transition:transform .3s ease;}
  .carte:hover{transform:translateY(-5px);}
  .carte-img{display:block; position:relative; height:0; padding-top:133.33%; overflow:hidden; background:var(--rose-clair); border-radius:14px; box-shadow:0 14px 30px -18px rgba(20,20,20,.25); transition:box-shadow .3s ease;}
  .carte:hover .carte-img{box-shadow:0 20px 36px -14px rgba(233,60,134,.35);}
  .carte-img img{position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
  .carte:hover .carte-img img{transform:scale(1.05);}
  .tag{position:absolute; top:12px; left:12px; z-index:2; font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; font-weight:700; padding:5px 11px; border-radius:20px;}
  .tag-best{background:var(--rose); color:#fff;}
  .tag-nouveau{background:var(--noir); color:#fff;}
  .coeur{position:absolute; top:12px; right:12px; z-index:2; width:30px; height:30px; background:rgba(255,255,255,.92); border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 10px rgba(0,0,0,.1); transition:all .25s ease;}
  .coeur:hover{background:var(--rose);}
  .coeur:hover svg{stroke:#fff;}
  .coeur svg{width:14px; height:14px; stroke:var(--noir); fill:none; transition:stroke .25s ease;}
  .panier-rapide{position:absolute; left:12px; right:12px; bottom:12px; z-index:2; background:rgba(255,255,255,.95); border-radius:8px; padding:10px; text-align:center; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; font-weight:700; color:var(--noir); opacity:0; transform:translateY(8px); transition:all .3s ease; display:flex; align-items:center; justify-content:center; gap:6px;}
  .carte:hover .panier-rapide{opacity:1; transform:translateY(0);}
  .panier-rapide svg{width:13px; height:13px; stroke:var(--rose); fill:none;}
  .carte-corps{padding-top:14px;}
  .carte-corps .nom{font-size:13.5px; font-weight:600;}
  .carte-corps .sub{font-size:11.5px; color:var(--gris); margin-bottom:4px;}
  .carte-corps .prix-ligne{display:flex; align-items:center; gap:8px; margin:5px 0 7px;}
  .carte-corps .prix{font-size:14px; font-weight:700; color:var(--rose);}
  .carte-corps .prix-barre{font-size:12px; color:var(--gris); text-decoration:line-through;}
  .etoiles{font-size:10.5px; color:var(--rose); display:flex; align-items:center; gap:5px; margin-bottom:8px;}
  .etoiles .avis{color:var(--gris); font-weight:400;}
  .swatches{display:flex; gap:5px; margin-bottom:8px;}
  .swatch{width:13px; height:13px; border-radius:50%; border:1px solid rgba(0,0,0,.15);}
  .tailles{display:flex; gap:5px; flex-wrap:wrap;}
  .taille{font-size:9.5px; border:1px solid var(--gris-clair); padding:2px 7px; border-radius:20px; color:var(--gris);}

  /* Bandeau double : avant/apres + collection */
  .duo-large{display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:0 32px 90px; max-width:1280px; margin:0 auto;}
  @media (max-width:900px){.duo-large{grid-template-columns:1fr;}}
  @media (max-width:600px){.duo-large{padding:0 20px 56px; gap:14px;}}
  .bloc-avant-apres{background:var(--rose-clair); border-radius:18px; padding:34px; display:flex; flex-direction:column; gap:16px;}
  .aa-images{position:relative; display:grid; grid-template-columns:1fr 1fr; border-radius:12px; overflow:hidden;}
  .aa-images img{height:230px; object-fit:cover; width:100%;}
  @media (max-width:600px){ .aa-images img{height:170px;} .bloc-avant-apres{padding:22px;} }
  .aa-label{position:absolute; top:12px; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; background:rgba(255,255,255,.85); padding:4px 10px; border-radius:2px;}
  .aa-label.avant{left:12px;}
  .aa-label.apres{right:12px;}
  .aa-toggle{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:36px; height:36px; background:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; box-shadow:0 4px 12px rgba(0,0,0,.2);}
  .bloc-avant-apres h4{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--gris);}
  .bloc-avant-apres p{font-size:13.5px; color:#555;}

  .bloc-collection{position:relative; border-radius:18px; overflow:hidden; min-height:340px; display:flex; align-items:flex-end;}
  .bloc-collection img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .bloc-collection::after{content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.55), rgba(0,0,0,0) 60%);}
  .bloc-collection-texte{position:relative; z-index:2; padding:30px; color:#fff;}
  .bloc-collection-texte .eyebrow{color:var(--rose-pale);}
  .bloc-collection-texte h3{font-size:30px; color:#fff; margin:6px 0 4px;}

  /* Trouvez la gaine */
  .section-gaine-guide{background:var(--rose-clair); padding:70px 0;}
  .section-gaine-guide h2{text-align:center; font-size:24px; letter-spacing:.02em; text-transform:uppercase; margin-bottom:14px;}
  .section-gaine-guide .accent-centre{width:54px; height:3px; background:var(--rose); border-radius:2px; margin:0 auto 34px;}
  .guide-grille{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  @media (max-width:800px){.guide-grille{grid-template-columns:1fr;}}
  .guide-item{background:#fff; border-radius:16px; box-shadow:0 10px 26px -18px rgba(20,20,20,.25); padding:26px; display:flex; align-items:center; gap:18px;}
  .guide-icone{width:52px; height:52px; border-radius:50%; background:var(--rose-clair); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .guide-icone svg{width:24px; height:24px; stroke:var(--rose); fill:none;}
  .guide-item h4{font-size:14.5px; margin-bottom:3px;}
  .guide-item p{font-size:12px; color:var(--gris);}
  .guide-item .fleche{margin-left:auto; width:32px; height:32px; border-radius:50%; background:var(--rose); color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0;}

  /* Avis + instagram */
  .section-avis-insta{padding:80px 0; display:grid; grid-template-columns:1.3fr 1fr; gap:50px;}
  @media (max-width:950px){.section-avis-insta{grid-template-columns:1fr;}}
  .section-avis-insta h2{font-size:22px; letter-spacing:.02em; text-transform:uppercase; margin-bottom:26px;}
  .avis-grille{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
  @media (max-width:500px){.avis-grille{grid-template-columns:1fr;}}
  .avis-carte{background:var(--rose-clair); border-radius:14px; padding:22px; transition:transform .3s ease, box-shadow .3s ease;}
  .avis-carte:hover{transform:translateY(-4px); box-shadow:0 16px 30px -18px rgba(233,60,134,.4);}
  .avis-carte .etoiles{color:var(--rose); margin-bottom:10px;}
  .avis-carte p{font-size:13px; color:#444; line-height:1.6; margin-bottom:14px;}
  .avis-auteur{display:flex; align-items:center; gap:10px;}
  .avis-avatar{width:32px; height:32px; border-radius:50%; background:var(--rose); color:#fff; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; flex-shrink:0;}
  .avis-carte .auteur{font-size:12px; font-weight:600; color:var(--gris);}

  .insta-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:20px;}
  .insta-head .handle{font-size:12.5px; font-weight:600; color:var(--rose); letter-spacing:.04em;}
  .insta-grille{display:grid; grid-template-columns:repeat(6,1fr); gap:8px;}
  @media (max-width:950px){.insta-grille{grid-template-columns:repeat(4,1fr);}}
  @media (max-width:600px){.insta-grille{grid-template-columns:repeat(3,1fr);}}
  @media (max-width:400px){.insta-grille{grid-template-columns:repeat(2,1fr);}}
  .insta-grille img{aspect-ratio:1/1; object-fit:cover; border-radius:8px; transition:transform .35s ease; cursor:pointer;}
  .insta-grille img:hover{transform:scale(1.05);}
  .insta-suivre{margin-top:18px; text-align:center;}

  /* Newsletter */
  .newsletter{background:var(--rose-clair); padding:0;}
  .newsletter .wrap{display:flex; align-items:center; justify-content:space-between; gap:30px; padding:36px 32px; flex-wrap:wrap;}
  .newsletter-gauche{display:flex; align-items:center; gap:18px;}
  .newsletter-icone{width:54px; height:54px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .newsletter-icone svg{width:24px; height:24px; stroke:var(--rose); fill:none;}
  .newsletter h3{font-size:18px;}
  .newsletter p{font-size:12.5px; color:var(--rose); font-weight:600;}
  .newsletter-form{display:flex; gap:10px; flex-wrap:wrap; width:100%; max-width:620px;}
  .newsletter-form input[type="text"]{flex:1 1 130px;}
  .newsletter-form input{padding:15px 20px; border:1px solid var(--line); border-radius:10px; flex:1 1 200px; min-width:0; font-family:'Poppins'; font-size:13px;}
  @media (max-width:600px){
    .newsletter .wrap{flex-direction:column; align-items:flex-start;}
    .newsletter-form{max-width:100%;}
  }

  /* Footer */
  footer{background:linear-gradient(135deg, var(--rose) 0%, var(--rose-fonce) 100%); color:rgba(255,255,255,.85); padding:64px 0 0;}
  .footer-grille{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1fr; gap:34px; padding-bottom:40px;}
  @media (max-width:900px){.footer-grille{grid-template-columns:1fr 1fr;}}
  @media (max-width:520px){.footer-grille{grid-template-columns:1fr;}}
  .footer-logo{display:flex; align-items:center; gap:12px; margin-bottom:14px;}
  .footer-logo .logo-badge{width:46px; height:46px; border-color:rgba(255,255,255,.4);}
  .footer-grille p{font-size:12.5px; line-height:1.7; color:rgba(255,255,255,.75); max-width:250px;}
  .footer-social{display:flex; gap:10px; margin-top:16px;}
  .footer-social a{width:32px; height:32px; border:1px solid rgba(255,255,255,.4); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px;}
  .footer-grille h5{color:#fff; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:16px;}
  .footer-grille li{margin-bottom:9px; font-size:12.5px;}
  .footer-grille li a:hover{color:#fff;}
  .paiement{display:flex; gap:8px; flex-wrap:wrap; margin-top:6px;}
  .paiement-badge{display:block; width:44px; height:28px; border-radius:4px; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.25);}
  .paiement-badge svg{display:block; width:100%; height:100%;}
  .footer-bas{display:flex; justify-content:space-between; align-items:center; padding:22px 0; border-top:1px solid rgba(255,255,255,.18); font-size:11.5px; flex-wrap:wrap; gap:8px;}

  /* WhatsApp flottant */
  .whatsapp-flottant{
    position:fixed; bottom:26px; right:26px; z-index:300; width:58px; height:58px; border-radius:50%;
    background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px rgba(37,211,102,.5);
    transition:transform .25s ease;
  }
  .whatsapp-flottant:hover{transform:scale(1.08);}
  .whatsapp-flottant svg{width:28px; height:28px; fill:#fff;}
  @media (max-width:600px){
    .whatsapp-flottant{width:48px; height:48px; bottom:16px; right:16px;}
    .whatsapp-flottant svg{width:22px; height:22px;}
  }

  /* ===== PAGE PRODUIT ===== */
  .fil-ariane{padding:16px 0; font-size:12.5px; color:var(--gris);}
  .fil-ariane a{color:var(--gris);}
  .fil-ariane a:hover{color:var(--rose);}
  .fil-ariane span{margin:0 6px;}
  .fil-ariane .actif{color:var(--noir); font-weight:600;}

  .produit-section{padding:10px 0 70px;}
  .produit-grille{display:grid; grid-template-columns:90px 1fr 1fr 300px; grid-template-areas:"vign img info side"; gap:24px; align-items:start;}
  @media (max-width:1100px){.produit-grille{grid-template-columns:80px 1fr 1fr; grid-template-areas:"vign img img" "vign img img" "info info info" "side side side";}}
  @media (max-width:700px){.produit-grille{grid-template-columns:1fr; grid-template-areas:"img" "vign" "info" "side"; gap:16px;}}

  .vignettes{display:flex; flex-direction:column; gap:10px; grid-area:vign; align-self:stretch; overflow-y:auto; scrollbar-width:thin;}
  .vignette{border-radius:8px; overflow:hidden; border:2px solid transparent; cursor:pointer; position:relative; aspect-ratio:1/1;}
  .vignette.active{border-color:var(--rose);}
  .vignette img{width:100%; height:100%; object-fit:cover;}
  .vignette .play{position:absolute; inset:0; background:rgba(0,0,0,.35); display:flex; align-items:center; justify-content:center;}
  .vignette .play svg{width:16px; height:16px; fill:#fff;}
  @media (max-width:700px){.vignettes{flex-direction:row; overflow-x:auto;} .vignette{width:64px; flex-shrink:0;}}

  .image-principale{grid-area:img; position:relative; border-radius:14px; overflow:hidden; background:var(--rose-clair); aspect-ratio:4/5;}
  .image-principale img{width:100%; height:100%; object-fit:cover;}
  .image-principale .tag{position:absolute; top:16px; left:16px; z-index:2;}
  .im-fleche{position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; border-radius:50%; background:#fff; box-shadow:0 6px 16px rgba(0,0,0,.15); display:flex; align-items:center; justify-content:center; cursor:pointer;}
  .im-fleche.gauche{left:14px;} .im-fleche.droite{right:14px;}
  .im-zoom{position:absolute; bottom:14px; right:14px; width:38px; height:38px; border-radius:50%; background:#fff; box-shadow:0 6px 16px rgba(0,0,0,.15); display:flex; align-items:center; justify-content:center;}
  .im-fleche svg, .im-zoom svg{width:16px; height:16px; stroke:var(--noir); fill:none;}

  .produit-info{grid-area:info;}
  .produit-info h1{font-size:28px; margin:12px 0 8px;}
  .produit-etoiles{display:flex; align-items:center; gap:8px; font-size:13px; color:var(--rose); margin-bottom:16px;}
  .produit-etoiles .avis-lien{color:var(--gris); font-weight:600;}
  .produit-prix{display:flex; align-items:center; gap:12px; margin-bottom:6px;}
  .produit-prix .prix{font-size:26px; font-weight:700; color:var(--rose);}
  .produit-klarna{font-size:12.5px; color:var(--gris); margin-bottom:22px; display:flex; align-items:center; gap:6px;}
  .produit-klarna b{background:#ffb3c7; color:#5c0025; padding:2px 8px; border-radius:4px; font-size:11px; font-weight:800;}
  .produit-bloc{margin-bottom:22px;}
  .produit-bloc-label{font-size:13px; font-weight:600; margin-bottom:10px; display:flex; justify-content:space-between;}
  .produit-bloc-label a{font-size:12px; color:var(--rose); text-decoration:underline;}
  .couleurs{display:flex; gap:10px;}
  .couleur{width:30px; height:30px; border-radius:50%; border:2px solid #fff; box-shadow:0 0 0 1.5px var(--gris-clair); cursor:pointer;}
  .couleur.active{box-shadow:0 0 0 2px var(--rose);}
  .tailles-grille{display:flex; gap:8px; flex-wrap:wrap;}
  .taille-btn{width:44px; height:40px; border:1.5px solid var(--gris-clair); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:600; cursor:pointer; background:#fff;}
  .taille-btn.active{border-color:var(--rose); background:var(--rose); color:#fff;}
  .conseil{font-size:12.5px; color:var(--rose); display:flex; align-items:center; gap:6px; margin-top:10px; font-weight:600;}
  .quantite-ligne{display:flex; align-items:center; gap:16px; margin-bottom:20px;}
  .quantite-stepper{display:flex; align-items:center; border:1.5px solid var(--gris-clair); border-radius:8px;}
  .quantite-stepper button{width:36px; height:38px; background:none; border:none; font-size:16px; cursor:pointer;}
  .quantite-stepper span{width:32px; text-align:center; font-weight:600;}
  .produit-actions{display:flex; flex-direction:column; gap:10px; margin-bottom:16px;}
  .btn-panier{background:var(--rose); color:#fff; border:none; padding:16px; border-radius:10px; font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; display:flex; align-items:center; justify-content:center; gap:10px; cursor:pointer; box-shadow:0 10px 24px -8px rgba(233,60,134,.55);}
  .btn-favoris{background:#fff; color:var(--noir); border:1.5px solid var(--gris-clair); padding:15px; border-radius:10px; font-size:13px; font-weight:600; display:flex; align-items:center; justify-content:center; gap:8px; cursor:pointer;}
  .stock{font-size:13px; color:var(--gris); display:flex; align-items:center; gap:8px;}
  .stock i{width:8px; height:8px; border-radius:50%; background:#2ecc71; display:inline-block;}

  .produit-side{grid-area:side; display:flex; flex-direction:column; gap:16px;}
  .side-box{background:var(--rose-clair); border-radius:14px; padding:22px; display:flex; flex-direction:column; gap:18px;}
  .side-item{display:flex; gap:12px; align-items:flex-start;}
  .side-item svg{width:22px; height:22px; stroke:var(--rose); fill:none; flex-shrink:0; margin-top:2px;}
  .side-item h4{font-size:13px; margin-bottom:2px;}
  .side-item p{font-size:11.5px; color:var(--gris);}
  .side-list{display:flex; flex-direction:column; gap:16px;}
  .side-list .side-item svg{stroke:var(--noir);}

  .onglets{border-bottom:1px solid var(--line); display:flex; gap:32px; margin:56px 0 30px; overflow-x:auto;}
  .onglet{padding:14px 2px; font-size:13px; font-weight:600; color:var(--gris); white-space:nowrap; position:relative; cursor:pointer;}
  .onglet.actif{color:var(--noir);}
  .onglet.actif::after{content:''; position:absolute; left:0; bottom:-1px; width:100%; height:2px; background:var(--rose);}

  .onglet-contenu{display:grid; grid-template-columns:1.2fr 1fr; gap:50px;}
  @media (max-width:900px){.onglet-contenu{grid-template-columns:1fr;}}
  .onglet-contenu p{font-size:14px; color:#444; line-height:1.75; margin-bottom:16px;}
  .checklist{display:flex; flex-direction:column; gap:10px;}
  .checklist li{display:flex; gap:10px; font-size:13.5px; color:#333; align-items:flex-start;}
  .checklist svg{width:16px; height:16px; stroke:var(--rose); fill:none; flex-shrink:0; margin-top:2px;}

  .rail-tete{display:flex; align-items:center; justify-content:space-between; margin:70px 0 26px;}
  .rail-tete h2{font-size:24px;}
  .rail-wrap{position:relative;}
  .rail-fleche{position:absolute; top:38%; width:36px; height:36px; border-radius:50%; background:#fff; box-shadow:0 6px 16px rgba(0,0,0,.15); display:flex; align-items:center; justify-content:center; z-index:3; cursor:pointer;}
  .rail-fleche.gauche{left:-14px;} .rail-fleche.droite{right:-14px;}
  .rail-fleche svg{width:14px; height:14px; stroke:var(--noir); fill:none;}

  /* ===== PAGE CATEGORIE ===== */
  .cat-hero{background:var(--rose-clair); border-radius:16px; overflow:hidden; display:grid; grid-template-columns:1fr 1fr; align-items:center; margin:6px 0 0;}
  .cat-hero-texte{padding:44px 48px;}
  .cat-hero-texte h1{font-size:36px; margin-bottom:12px;}
  .cat-hero-texte .trait{width:54px; height:3px; background:var(--rose); border-radius:2px; margin-bottom:18px;}
  .cat-hero-texte p{font-size:14px; color:#555; line-height:1.7; max-width:380px;}
  .cat-hero-img{height:100%; min-height:280px; max-height:440px;}
  .cat-hero-img img{width:100%; height:100%; object-fit:cover; object-position:center 18%; display:block;}
  @media (max-width:800px){.cat-hero{grid-template-columns:1fr;} .cat-hero-img{min-height:220px;}}

  .cat-features{display:grid; grid-template-columns:repeat(4,1fr); background:var(--rose-pale); border-radius:0 0 16px 16px; margin-top:-2px;}
  .cat-features .confiance-item{padding:20px 24px; justify-content:flex-start;}
  @media (max-width:800px){.cat-features{grid-template-columns:repeat(2,1fr);}}

  .listing-layout{display:grid; grid-template-columns:250px 1fr; gap:36px; margin-top:44px;}
  @media (max-width:900px){.listing-layout{grid-template-columns:1fr;}}

  .filtres{display:flex; flex-direction:column; gap:20px;}
  .filtres-tete{display:flex; justify-content:space-between; align-items:center;}
  .filtres-tete h3{font-size:13px; letter-spacing:.06em; text-transform:uppercase;}
  .filtres-tete a{font-size:12px; color:var(--rose); font-weight:600;}
  .filtre-groupe{border-bottom:1px solid var(--line); padding-bottom:18px;}
  .filtre-groupe h4{font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:12px; color:var(--gris);}
  .filtre-cat{display:flex; flex-direction:column; gap:9px;}
  .filtre-cat a{font-size:13.5px; color:#333;}
  .filtre-cat a.actif{color:var(--rose); font-weight:700;}
  .filtre-check{display:flex; align-items:center; gap:8px; font-size:13px; color:#333;}
  .filtre-check input{accent-color:var(--rose); width:15px; height:15px;}
  .voir-plus{font-size:12px; color:var(--rose); font-weight:600; margin-top:2px;}
  .filtre-couleurs{display:flex; gap:8px;}
  .filtre-couleurs span{width:22px; height:22px; border-radius:50%; border:2px solid #fff; box-shadow:0 0 0 1.5px var(--gris-clair); cursor:pointer;}
  .filtre-prix input[type=range]{width:100%; accent-color:var(--rose);}
  .filtre-prix-vals{display:flex; justify-content:space-between; font-size:12.5px; color:var(--gris);}
  .filtre-promo{background:var(--rose-clair); border-radius:12px; padding:16px; display:flex; gap:12px; align-items:center;}
  .filtre-promo svg{width:26px; height:26px; stroke:var(--rose); fill:none; flex-shrink:0;}
  .filtre-promo h5{font-size:12.5px;} .filtre-promo p{font-size:11px; color:var(--gris);}

  .listing-tete{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:8px; flex-wrap:wrap; gap:10px;}
  .listing-tete h2{font-size:22px; letter-spacing:.03em; text-transform:uppercase;}
  .listing-count{font-size:12.5px; color:var(--gris); margin-top:4px;}
  .tri-select{font-size:12.5px; border:1px solid var(--gris-clair); border-radius:8px; padding:9px 14px; background:#fff; display:flex; align-items:center; gap:8px;}

  .grille-listing{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:24px; align-items:start;}
  @media (max-width:1000px){.grille-listing{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:520px){.grille-listing{grid-template-columns:1fr 1fr; gap:12px;}}

  .pagination{display:flex; justify-content:center; align-items:center; gap:10px; margin:44px 0 10px;}
  .page-num{width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:600; color:#333; cursor:pointer;}
  .page-num.actif{background:var(--rose); color:#fff;}
  .page-arrow{width:34px; height:34px; border-radius:50%; background:#fff; box-shadow:0 4px 12px rgba(0,0,0,.1); display:flex; align-items:center; justify-content:center;}
  .page-arrow svg{width:14px; height:14px; stroke:var(--noir); fill:none;}

  /* ===== PAGE ESPACE PRO ===== */
  .pro-hero{display:grid; grid-template-columns:1fr 1.1fr; align-items:center; gap:40px; background:var(--rose-clair); border-radius:16px; overflow:hidden; margin-top:6px;}
  .pro-hero-texte{padding:50px 20px 50px 48px;}
  .pro-hero-texte h1{font-size:38px; margin:14px 0 2px;}
  .pro-hero-texte .cursive{font-size:1.1em; margin-bottom:14px;}
  .pro-hero-texte p{font-size:14.5px; color:#555; line-height:1.7; max-width:400px; margin-bottom:26px;}
  .pro-hero-img{height:100%; min-height:300px; max-height:460px; position:relative;}
  .pro-hero-img img{width:100%; height:100%; object-fit:cover; display:block;}
  @media (max-width:850px){.pro-hero{grid-template-columns:1fr;} .pro-hero-texte{padding:40px 24px;} .pro-hero-img{min-height:220px;}}

  .pro-section{margin:70px 0;}
  .pro-section-tete{text-align:center; margin-bottom:36px;}
  .pro-section-tete h2{font-size:22px; letter-spacing:.03em; text-transform:uppercase;}
  .pro-section-tete .trait{width:54px; height:3px; background:var(--rose); border-radius:2px; margin:12px auto 0;}

  .avantages-grille{display:grid; grid-template-columns:repeat(5,1fr); gap:0;}
  .avantage-item{text-align:center; padding:0 20px; position:relative;}
  .avantage-item:not(:last-child)::after{content:''; position:absolute; right:0; top:10%; height:80%; width:1px; background:var(--line);}
  .avantage-item svg{width:34px; height:34px; stroke:var(--rose); fill:none; margin-bottom:14px;}
  .avantage-item h4{font-size:13.5px; margin-bottom:6px;}
  .avantage-item p{font-size:12px; color:var(--gris); line-height:1.5;}
  @media (max-width:900px){.avantages-grille{grid-template-columns:repeat(2,1fr); row-gap:30px;} .avantage-item:not(:last-child)::after{display:none;}}

  .etapes-grille{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; position:relative;}
  @media (max-width:900px){.etapes-grille{grid-template-columns:1fr 1fr;}}
  .etape{background:var(--rose-pale); border-radius:12px; padding:34px 22px 24px; text-align:center; position:relative;}
  .etape-num{position:absolute; top:-16px; left:50%; transform:translateX(-50%); width:32px; height:32px; border-radius:50%; background:var(--rose); color:#fff; font-weight:700; font-size:13px; display:flex; align-items:center; justify-content:center;}
  .etape h4{font-size:13.5px; margin:10px 0 8px;}
  .etape p{font-size:12px; color:var(--gris); line-height:1.5;}
  .etape-fleche{position:absolute; top:50%; right:-14px; transform:translateY(-50%); width:26px; height:26px; border-radius:50%; background:var(--rose); color:#fff; font-size:13px; display:flex; align-items:center; justify-content:center; z-index:2;}
  @media (max-width:900px){.etape-fleche{display:none;}}

  .pro-bas{display:grid; grid-template-columns:1.2fr 1fr; gap:24px; align-items:stretch;}
  @media (max-width:900px){.pro-bas{grid-template-columns:1fr;}}
  .pro-form{background:#fff; border:1px solid var(--line); border-radius:16px; padding:36px;}
  .pro-form h3{font-size:16px; letter-spacing:.03em; text-transform:uppercase; margin-bottom:26px;}
  .champs-ligne{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
  @media (max-width:520px){.champs-ligne{grid-template-columns:1fr;}}
  .champ label{display:block; font-size:12.5px; font-weight:600; margin-bottom:7px;}
  .champ input, .champ select, .champ textarea{width:100%; border:1px solid var(--gris-clair); border-radius:9px; padding:12px 14px; font-family:'Poppins'; font-size:13px; color:var(--noir);}
  .champ textarea{resize:vertical; min-height:90px;}
  .champ-checkbox{display:flex; align-items:flex-start; gap:9px; font-size:12px; color:var(--gris); margin:18px 0 22px;}
  .champ-checkbox input{margin-top:2px; accent-color:var(--rose);}
  .champ-checkbox a{color:var(--rose); font-weight:600;}
  .btn-envoyer{width:100%; justify-content:center;}

  .pro-promo{background:var(--rose-pale); border-radius:16px; padding:40px 34px; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden;}
  .pro-promo .cursive{font-size:2em; margin-bottom:6px;}
  .pro-promo h3{font-size:19px; margin-bottom:16px; max-width:280px;}
  .pro-promo .trait{width:44px; height:3px; background:var(--rose); border-radius:2px; margin-bottom:16px;}
  .pro-promo p{font-size:13px; color:#555; line-height:1.7; margin-bottom:20px; max-width:300px;}
  .pro-promo-liste{display:flex; flex-direction:column; gap:10px; margin-bottom:24px;}
  .pro-promo-liste div{display:flex; align-items:center; gap:9px; font-size:13px; font-weight:600;}
  .pro-promo-liste svg{width:16px; height:16px; stroke:var(--rose); fill:none;}
  .pro-promo-img{position:absolute; right:-10px; bottom:-10px; width:150px; opacity:.95;}

/* ==========================================================================
   INTÉGRATION WORDPRESS / WOOCOMMERCE
   Habille les balises générées nativement par WP et WooCommerce pour
   qu'elles suivent le design system sans surcharger tous les templates.
   ========================================================================== */

/* Accessibilité */
.skip-link{position:absolute; left:-9999px; top:0; background:var(--noir); color:#fff; padding:12px 20px; z-index:9999;}
.skip-link:focus{left:16px; top:16px;}
.screen-reader-text{position:absolute !important; clip:rect(1px,1px,1px,1px); overflow:hidden; height:1px; width:1px;}

/* Admin bar */
body.admin-bar header{top:32px;}
@media (max-width:782px){body.admin-bar header{top:46px;}}

/* Sous-menus déroulants (nav principale) */
nav ul li{position:relative;}
nav ul ul{
  display:none; position:absolute; top:100%; left:0; background:#fff;
  box-shadow:0 16px 34px -14px rgba(20,20,20,.2); border-radius:10px; padding:10px 0;
  min-width:210px; z-index:50; flex-direction:column; gap:0;
}
nav ul li:hover > ul, nav ul li:focus-within > ul{display:flex;}
nav ul ul li a{padding:10px 18px; display:block; width:100%;}
@media (max-width:1250px){
  nav ul ul{position:static; box-shadow:none; padding:0 0 0 14px; display:none;}
  nav ul li.menu-item-has-children.mobile-open > ul{display:flex;}
}

/* Compte / recherche déroulants */
.account-dropdown, .search-dropdown{
  display:none; position:absolute; top:calc(100% + 14px); right:0; background:#fff;
  box-shadow:0 16px 34px -14px rgba(20,20,20,.25); border-radius:12px; padding:16px; min-width:220px; z-index:60;
}
.account-dropdown.ouvert, .search-dropdown.ouvert{display:block;}
.search-dropdown form{display:flex; gap:8px;}
.search-dropdown input{flex:1; border:1px solid var(--gris-clair); border-radius:8px; padding:10px 12px; font-family:'Poppins';}
.account-dropdown a{display:block; padding:8px 4px; font-size:13.5px;}
.account-dropdown a:hover{color:var(--rose);}

/* Notices WooCommerce / formulaires */
.woocommerce-message, .woocommerce-error, .woocommerce-info, .woocommerce-notice{
  list-style:none; background:var(--rose-clair); color:var(--noir); border-left:4px solid var(--rose);
  padding:14px 18px; border-radius:8px; font-size:13.5px; margin:0 0 20px;
}
.woocommerce-error{border-left-color:#c0392b;}
.woocommerce-message a.button, .woocommerce-error a.button{margin-left:12px;}

/* Fil d'Ariane WooCommerce natif */
.woocommerce-breadcrumb{max-width:1280px; margin:0 auto; padding:16px 32px; font-size:12.5px; color:var(--gris); display:flex; flex-wrap:wrap; align-items:center; gap:4px;}
.woocommerce-breadcrumb a{display:inline !important; flex:none !important;}
@media (max-width:600px){ .woocommerce-breadcrumb{padding:16px 20px;} }
.woocommerce-breadcrumb a{color:var(--gris);}
.woocommerce-breadcrumb a:hover{color:var(--rose);}

/* Étoiles WooCommerce (.star-rating) */
.star-rating{overflow:hidden; position:relative; height:1em; line-height:1em; width:5.4em; font-family:sans-serif; font-size:13px;}
.star-rating::before{content:"★★★★★"; color:var(--gris-clair); float:left; top:0; left:0; position:absolute;}
.star-rating span{overflow:hidden; float:left; top:0; left:0; position:absolute; padding-top:1.5em;}
.star-rating span::before{content:"★★★★★"; color:var(--rose); top:0; position:absolute; left:0;}

/* Prix WooCommerce */
.woocommerce-Price-amount{font-weight:700; color:var(--rose);}
del .woocommerce-Price-amount{color:var(--gris); font-weight:400;}
ins{text-decoration:none;}
span.onsale{
  position:absolute; top:12px; left:12px; z-index:2; background:var(--rose); color:#fff;
  font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; font-weight:700; padding:5px 11px; border-radius:20px;
}

/* Quantité (formulaire panier / fiche produit) */
.quantity{display:inline-flex;}
.quantity .qty{
  width:100%; border:1.5px solid var(--gris-clair); border-radius:8px; padding:9px 12px; font-family:'Poppins'; font-size:14px; text-align:center;
}

/* Bouton ajouter au panier générique (boucles produits) */
a.add_to_cart_button, a.ajax_add_to_cart, button.single_add_to_cart_button{
  background:var(--rose); color:#fff !important; border:none; padding:14px 20px; border-radius:10px;
  font-size:12.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; display:inline-block; text-align:center;
  transition:background .25s ease;
}
a.add_to_cart_button:hover, button.single_add_to_cart_button:hover{background:var(--rose-hover); color:#fff;}
button.single_add_to_cart_button:disabled{opacity:.6; cursor:not-allowed;}

/* Onglets produit WooCommerce (wc-tabs) restylés en onglets maison */
.woocommerce-tabs ul.tabs{border-bottom:1px solid var(--line); display:flex; gap:32px; margin:56px 0 30px; list-style:none; overflow-x:auto;}
.woocommerce-tabs ul.tabs li{padding:14px 2px; font-size:13px; font-weight:600; color:var(--gris); white-space:nowrap; position:relative; cursor:pointer;}
.woocommerce-tabs ul.tabs li.active{color:var(--noir);}
.woocommerce-tabs ul.tabs li.active::after{content:''; position:absolute; left:0; bottom:-1px; width:100%; height:2px; background:var(--rose);}
.woocommerce-tabs .panel{font-size:14px; color:#444; line-height:1.75;}
.woocommerce-tabs table.shop_attributes{width:100%; border-collapse:collapse; font-size:13.5px;}
.woocommerce-tabs table.shop_attributes th{text-align:left; padding:10px 0; width:180px; color:var(--gris); font-weight:600;}
.woocommerce-tabs table.shop_attributes td{padding:10px 0; border-top:1px solid var(--line);}

/* Variations produit (couleur / taille en select natif si pas de swatch JS) */
.variations{width:100%; margin-bottom:18px;}
.variations td.label{font-size:13px; font-weight:600; padding-bottom:8px;}
.variations select{width:100%; border:1.5px solid var(--gris-clair); border-radius:9px; padding:11px 14px; font-family:'Poppins'; font-size:13.5px;}
.woocommerce-variation-price .price{font-size:22px;}
.reset_variations{font-size:12px; color:var(--rose); margin-left:10px;}

/* Pagination WooCommerce / WordPress générique */
.woocommerce-pagination ul, .pagination-liste{display:flex; justify-content:center; align-items:center; gap:10px; margin:44px 0 10px; list-style:none;}
.woocommerce-pagination li > .page-numbers, .pagination-liste a, .pagination-liste span{
  width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:600; color:#333;
}
.woocommerce-pagination .page-numbers.current, .pagination-liste .current{background:var(--rose); color:#fff;}

/* Correctif : la CSS native WooCommerce (plus spécifique) forçait un empilement vertical de la pagination */
.woocommerce nav.woocommerce-pagination ul.page-numbers{display:flex !important; flex-wrap:wrap; list-style:none; border:none; padding:0; margin:40px 0 10px; gap:8px; justify-content:center; white-space:normal; width:auto !important; height:auto !important; max-width:none !important;}
.woocommerce nav.woocommerce-pagination ul.page-numbers li{display:flex !important; margin:0; border:none;}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.page-numbers{
	display:flex; align-items:center; justify-content:center;
	width:36px; height:36px; border-radius:50%;
	background:#fff; border:1px solid var(--line); color:var(--noir);
	font-size:13px; font-weight:600; text-decoration:none; padding:0;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.page-numbers.current{background:var(--rose); color:#fff; border-color:var(--rose);}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover{border-color:var(--rose); color:var(--rose);}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.next,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.prev{width:auto; padding:0 14px; border-radius:18px;}


/* Sidebar filtres WooCommerce (widgets natifs réinjectés dans .filtres) */
.filtres .widget{border-bottom:1px solid var(--line); padding-bottom:18px; margin-bottom:20px;}
.filtres .widget-title{font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:12px; color:var(--gris);}
.filtres .widget ul{list-style:none; display:flex; flex-direction:column; gap:9px;}
.filtres .widget ul a{font-size:13.5px; color:#333;}
.filtres .widget ul a:hover{color:var(--rose);}
.price_slider_wrapper .ui-slider{background:var(--gris-clair); height:4px; border-radius:4px; position:relative; margin:20px 0 14px;}
.price_slider_wrapper .ui-slider .ui-slider-range{background:var(--rose); height:4px; border-radius:4px; position:absolute;}
.price_slider_wrapper .ui-slider-handle{width:16px; height:16px; background:#fff; border:2px solid var(--rose); border-radius:50%; position:absolute; top:-6px; cursor:pointer;}
.price_slider_amount{display:flex; justify-content:space-between; font-size:12.5px; color:var(--gris);}
.price_slider_amount button{background:var(--rose); color:#fff; border:none; border-radius:6px; padding:6px 12px; font-size:11px; text-transform:uppercase; font-weight:700;}

/* Formulaires généraux (compte, connexion, checkout) */
.woocommerce form .form-row label{font-size:12.5px; font-weight:600; margin-bottom:7px; display:block;}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row select, .woocommerce form textarea{
  width:100%; border:1px solid var(--gris-clair); border-radius:9px; padding:12px 14px; font-family:'Poppins'; font-size:13px;
}
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  background:var(--rose); color:#fff; border:none; padding:14px 26px; border-radius:10px; font-size:12.5px;
  font-weight:700; letter-spacing:.05em; text-transform:uppercase; cursor:pointer;
}
.woocommerce a.button:hover, .woocommerce button.button:hover{background:var(--rose-hover); color:#fff;}

/* Mini panier (dropdown déclenché en JS, alimenté par notre endpoint REST maison) */
.mini-panier{position:absolute; top:calc(100% + 14px); right:0; width:340px; background:#fff; border-radius:14px;
  box-shadow:0 20px 44px -16px rgba(20,20,20,.28); padding:20px; display:none; z-index:70;}
.mini-panier.ouvert{display:block;}
.mini-panier-item{display:flex; gap:12px; padding:10px 0; border-bottom:1px solid var(--line);}
.mini-panier-item img{width:56px; height:70px; object-fit:cover; border-radius:8px;}
.mini-panier-item .nom{font-size:13px; font-weight:600;}
.mini-panier-item .meta{font-size:11.5px; color:var(--gris);}
.mini-panier-total{display:flex; justify-content:space-between; font-weight:700; padding:14px 0; font-size:14px;}
.mini-panier-vide{font-size:13px; color:var(--gris); text-align:center; padding:20px 0;}

/* Filtres mobile (bouton + panneau coulissant) */
.btn-filtres-mobile{display:none;}
@media (max-width:900px){
  .btn-filtres-mobile{display:flex; align-items:center; gap:8px; border:1.5px solid var(--gris-clair); border-radius:10px; padding:11px 18px; font-size:12.5px; font-weight:600; margin-bottom:20px;}
  .filtres{display:none; position:fixed; inset:0; background:#fff; z-index:200; padding:24px; overflow-y:auto;}
  .filtres.ouvert{display:flex;}
  .filtres-fermer{align-self:flex-end; font-size:22px; background:none; border:none; cursor:pointer;}
}

/* Lazyload doux */
img[loading="lazy"]{background:var(--gris-fond);}

/* Zones widgets footer par défaut (si pas de menu assigné) */
.footer-grille .widget ul{list-style:none;}
.footer-grille .widget-title{color:#fff; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:16px;}



/* ===== CORRECTIF : sections manquantes (spotlight best-seller + FAQ) ===== */
.btn-or{background:transparent; border-color:#fff; color:#fff;}
.btn-or:hover{background:#fff; color:var(--noir);}

.spotlight{position:relative; min-height:480px; display:flex; align-items:center; background:var(--noir); color:#fff; overflow:hidden; margin-top:60px;}
.spotlight img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.45;}
.spotlight-contenu{position:relative; z-index:2; max-width:560px; padding:0 32px; margin:0 auto; text-align:center;}
.spotlight-contenu .eyebrow{color:var(--rose-pale);}
.spotlight-contenu h2{font-size:40px; margin:14px 0 18px; color:#fff;}
.spotlight-contenu p{font-size:15.5px; line-height:1.7; color:rgba(255,255,255,.85); margin-bottom:28px;}

.faq-section{padding:90px 0; background:var(--noir); color:#fff;}
.faq-head{max-width:560px; margin-bottom:44px;}
.faq-head h2{font-size:32px; color:#fff;}
.faq-head .eyebrow{color:var(--rose-pale);}
.faq-grille{display:grid; grid-template-columns:1fr 1fr; gap:16px 40px;}
@media (max-width:800px){.faq-grille{grid-template-columns:1fr;}}
.faq-section details{border-bottom:1px solid rgba(255,255,255,.15); padding:18px 0;}
.faq-section summary{cursor:pointer; list-style:none; font-family:'Playfair Display', serif; font-size:17px; display:flex; justify-content:space-between; align-items:center; color:#fff;}
.faq-section summary::-webkit-details-marker{display:none;}
.faq-section summary::marker{content:'';}
.faq-section summary::after{content:'+'; font-size:20px; color:var(--rose-pale); margin-left:14px; flex-shrink:0;}
.faq-section details[open] summary::after{content:'-';}.faq-section details p{margin-top:12px; font-size:14px; line-height:1.7; color:rgba(255,255,255,.7);}


/* ===== TEMOIGNAGES VIDEO + INSTAGRAM ===== */
.confiance-video{padding:80px 0; background:var(--rose-pale);}
.confiance-video-tete{text-align:center; max-width:640px; margin:0 auto 40px;}
.confiance-video-tete h2{font-size:30px; margin-top:10px;}
.temoignage-grille{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
@media (max-width:900px){.temoignage-grille{grid-template-columns:repeat(2,1fr);}}
.temoignage-carte{position:relative; border-radius:16px; overflow:hidden; aspect-ratio:9/16; background:var(--noir); box-shadow:0 10px 26px -12px rgba(20,20,20,.3);}
.temoignage-carte img{width:100%; height:100%; object-fit:cover; opacity:.85;}
.temoignage-play{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:56px; height:56px; border-radius:50%; background:rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(0,0,0,.25);}
.temoignage-play svg{width:20px; height:20px; fill:var(--rose); margin-left:3px;}
.temoignage-nom{position:absolute; left:14px; bottom:14px; color:#fff; font-size:13px; font-weight:600; text-shadow:0 2px 6px rgba(0,0,0,.5);}

.instagram-feed{padding:80px 0; text-align:center;}
.instagram-feed .eyebrow{color:var(--rose);}
.instagram-feed h2{font-size:30px; margin:10px 0 6px;}
.instagram-feed .handle{color:var(--gris); font-size:14px; margin-bottom:34px; display:block;}
.instagram-grille{display:grid; grid-template-columns:repeat(6,1fr); gap:12px; margin-bottom:30px;}
@media (max-width:900px){.instagram-grille{grid-template-columns:repeat(3,1fr);}}
.instagram-grille a{display:block; aspect-ratio:1/1; border-radius:10px; overflow:hidden; position:relative;}
.instagram-grille img{width:100%; height:100%; object-fit:cover; transition:transform .35s ease;}
.instagram-grille a:hover img{transform:scale(1.06);}


/* ===== HERO DIAPORAMA ===== */
.hero-slider{position:relative; width:100%; min-height:640px; overflow:hidden; display:flex; align-items:center;}
.hero-slider-track{position:absolute; inset:0; z-index:0;}
.hero-slide{position:absolute; inset:0; background-size:cover; background-position:center 20%; opacity:0; transition:opacity 1.6s ease-in-out;}
.hero-slide.active{opacity:1;}
.hero-voile{position:absolute; inset:0; z-index:1; background:linear-gradient(100deg, rgba(20,10,15,.55) 0%, rgba(233,60,134,.38) 45%, rgba(233,60,134,.18) 75%, rgba(233,60,134,.08) 100%);}
.hero-content-wrap{position:relative; z-index:2; width:100%; max-width:1280px; margin:0 auto; padding:90px 32px;}
.hero-slider .hero-texte{max-width:560px;}
.hero-slider .hero-texte .hero-watermark{color:rgba(255,255,255,.16);}
.hero-slider .eyebrow{color:#fff; opacity:.92;}
.hero-slider h1{color:#fff;}
.hero-slider .cursive{color:#FCE9F0;}
.hero-slider .hero-texte > p{color:rgba(255,255,255,.92);}
.hero-slider .btn-contour{border-color:#fff; color:#fff;}
.hero-slider .btn-contour:hover{background:#fff; color:var(--rose);}
.hero-slider .badge-confiance{background:rgba(255,255,255,.95);}
.hero-slider{align-items:stretch;}
.hero-slider .hero-content-wrap{display:flex; align-items:center;}
.hero-slider .badge-confiance{top:50%; transform:translateY(-50%);}
.hero-slider .hero-watermark{display:none;}
.hero-slider .hero-texte{max-width:520px; padding:28px 32px; background:rgba(0,0,0,.22); border-radius:18px; backdrop-filter:blur(2px);}
.hero-slider .hero-texte p{max-width:100%; color:rgba(255,255,255,.95);}
.hero-slider .badge-confiance{right:40px; box-shadow:0 10px 30px rgba(0,0,0,.35);}
@media (max-width:860px){
  .hero-slider .badge-confiance{width:76px; height:76px; top:16px; right:16px; transform:none;}
  .hero-slider .badge-confiance .pct{font-size:15px;}
  .hero-slider .badge-confiance span{font-size:6px;}
}
@media (max-width:560px){
  .hero-slider .badge-confiance{display:none;}
}


@media (max-width:900px){ .hero-slider{min-height:560px;} .hero-content-wrap{padding:60px 20px;} }


/* ===== SOUS-MENUS DEROULANTS ===== */
.menu-principal{display:flex; gap:28px; align-items:center;}
.menu-principal > li{position:relative;}
.menu-principal > li > a{font-size:13px; font-weight:600; letter-spacing:.02em; text-transform:uppercase; color:var(--noir); padding:8px 0; display:block;}
.menu-principal .sous-menu{position:absolute; top:100%; left:0; min-width:200px; background:#fff; box-shadow:0 14px 30px -10px rgba(20,20,20,.22); border-radius:10px; padding:10px 0; opacity:0; visibility:hidden; transform:translateY(6px); transition:all .2s ease; z-index:50;}
.menu-principal li.menu-item-has-children:hover > .sous-menu{opacity:1; visibility:visible; transform:translateY(0);}
.menu-principal .sous-menu li a{display:block; padding:9px 18px; font-size:13px; text-transform:none; font-weight:500; color:var(--noir); white-space:nowrap;}
.menu-principal .sous-menu li a:hover{background:var(--rose-pale); color:var(--rose);}


/* ===== ICONES HEADER (recherche, compte, panier) ===== */
.nav-icons{display:flex; align-items:center; gap:14px;}
.icon-btn{position:relative; display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; color:var(--noir); transition:background .2s ease;}
.icon-btn:hover{background:var(--rose-pale); color:var(--rose);}
.icon-cart .cart-count{position:absolute; top:-2px; right:-2px; background:var(--rose); color:#fff; font-size:10px; font-weight:700; min-width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center; padding:0 3px;}


/* ===== Produits similaires (fiche produit) : reprend la grille .carte ===== */
.related.products{margin-top:60px;}
.related.products > h2{font-family:'Playfair Display', serif; font-size:20px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; margin-bottom:24px;}
.related.products ul.products{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; list-style:none; padding:0; margin:0; align-items:start;}
.woocommerce ul.products::before, .woocommerce ul.products::after,
.related.products ul.products::before, .related.products ul.products::after{content:none !important; display:none !important;}

@media (max-width:1150px){.related.products ul.products{grid-template-columns:repeat(3,1fr);}}
@media (max-width:640px){.related.products ul.products{grid-template-columns:repeat(2,1fr); gap:14px;}}
.related.products ul.products > .carte{width:100%;}


/* ===== Klarna + Bandeau de confiance (fiche produit) ===== */
.produit-klarna{display:flex; align-items:center; gap:6px; font-size:12.5px; color:var(--gris); margin-top:8px;}
.klarna-tag{background:#ffb3c7; color:#17120f; font-weight:700; font-size:11px; padding:2px 8px; border-radius:6px;}

.trust-strip{display:grid; grid-template-columns:repeat(5,1fr); gap:18px; padding:28px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:40px 0 0;}
.trust-strip .trust-item{display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px;}
.trust-strip .trust-item svg{width:26px; height:26px; color:var(--rose); flex-shrink:0;}
.trust-strip .trust-item h4{font-size:12.5px; font-weight:700; margin:0;}
.trust-strip .trust-item p{font-size:11.5px; color:var(--gris); margin:2px 0 0;}
@media (max-width:900px){.trust-strip{grid-template-columns:repeat(3,1fr); row-gap:24px;}}
@media (max-width:560px){.trust-strip{grid-template-columns:repeat(2,1fr);}}


/* Bouton fermer les filtres : sans effet ici car le panneau de filtres reste toujours visible en ligne (jamais transforme en tiroir hors-ecran) ; le bouton flottait donc comme une barre vide inutile. */
.filtres-fermer{display:none !important;}


/* ==================== Barre de recherche (dropdown) ==================== */
.search-wrap{position:relative;}
.search-dropdown{position:absolute; top:calc(100% + 12px); right:0; width:340px; max-width:90vw; background:var(--blanc); border-radius:14px; box-shadow:0 20px 50px rgba(20,20,20,.18); padding:14px; display:none; z-index:200;}
.search-dropdown.ouvert{display:block;}
.search-dropdown-form{display:flex; align-items:center; gap:8px; border:1.5px solid var(--line); border-radius:30px; padding:6px 8px 6px 16px;}
.search-dropdown-form input{flex:1; border:none; outline:none; font-family:'Poppins',sans-serif; font-size:14px; background:transparent;}
.search-dropdown-form button{background:var(--rose); color:#fff; border:none; width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; cursor:pointer;}
.search-dropdown-resultats{margin-top:10px; max-height:360px; overflow-y:auto;}
.recherche-chargement, .recherche-vide{padding:16px 8px; font-size:13px; color:var(--gris); text-align:center;}
.recherche-resultat{display:flex; align-items:center; gap:12px; padding:8px; border-radius:10px; transition:background .15s ease;}
.recherche-resultat:hover{background:var(--rose-pale);}
.recherche-resultat img, .recherche-sans-image{width:48px; height:48px; border-radius:8px; object-fit:cover; background:var(--gris-clair); flex-shrink:0;}
.recherche-infos{display:flex; flex-direction:column; gap:2px; min-width:0;}
.recherche-titre{font-size:13.5px; font-weight:500; color:var(--noir); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.recherche-prix{font-size:13px; font-weight:600; color:var(--rose);}
@media (max-width:600px){ .search-dropdown{position:fixed; top:64px; left:12px; right:12px; width:auto;} }

/* ==================== Favoris ==================== */
.coeur.actif svg{fill:var(--rose); stroke:var(--rose);}


/* ==================== Mon compte (WooCommerce) ==================== */
.woocommerce-account .entry-content, .woocommerce-cart .entry-content{max-width:1140px; margin:0 auto; padding:40px 24px 80px;}
.woocommerce-account nav.woocommerce-MyAccount-navigation{margin-bottom:32px !important; float:none !important; width:100% !important; display:block !important; clear:both !important; overflow:visible !important;}
.woocommerce-account .woocommerce-MyAccount-content{float:none !important; width:100% !important; clear:both !important;}
.woocommerce-MyAccount-navigation ul{display:block !important; overflow:visible !important; border-bottom:1px solid var(--line); padding-bottom:0;}
.woocommerce-MyAccount-navigation-link{display:inline-block !important; margin:0 !important;}
.woocommerce-MyAccount-navigation-link{margin:0;}
.woocommerce-MyAccount-navigation-link a{display:inline-block; padding:12px 18px; font-size:14px; font-weight:500; color:var(--gris); border-bottom:2px solid transparent; transition:color .15s ease, border-color .15s ease;}
.woocommerce-MyAccount-navigation-link a:hover{color:var(--noir);}
.woocommerce-MyAccount-navigation-link.is-active a{color:var(--rose); border-bottom-color:var(--rose); font-weight:600;}
.woocommerce-MyAccount-content{max-width:720px;}
.woocommerce-MyAccount-content p{margin-bottom:14px; line-height:1.6; color:var(--noir);}
.woocommerce-MyAccount-content mark{background:none; color:var(--rose); font-weight:600;}
.woocommerce-account .addresses .title{display:flex; align-items:center; justify-content:space-between; margin-bottom:10px;}
.woocommerce-account .addresses .title h3{font-size:16px;}
.woocommerce-account .addresses .title .edit{color:var(--rose); font-size:13px; font-weight:600; border:1px solid var(--rose); padding:6px 14px; border-radius:20px;}
.woocommerce-account address{font-style:normal; line-height:1.7; padding:20px; background:var(--gris-fond); border-radius:12px; margin-bottom:20px;}
.woocommerce-MyAccount-orders{width:100%; border-collapse:collapse; margin-top:10px;}
.woocommerce-MyAccount-orders thead{background:var(--noir); color:#fff;}
.woocommerce-MyAccount-orders th, .woocommerce-MyAccount-orders td{padding:14px 12px; text-align:left; font-size:13.5px; border-bottom:1px solid var(--line);}
.woocommerce-MyAccount-orders .button{background:var(--rose); color:#fff; padding:8px 16px; border-radius:20px; font-size:12.5px; font-weight:600; display:inline-block;}
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-status mark{color:var(--noir); font-weight:600;}
.woocommerce-form-row label{display:block; font-size:13px; font-weight:600; margin-bottom:6px; color:var(--noir);}
.woocommerce-account form .form-row input.input-text, .woocommerce-account form select{width:100%; padding:12px 14px; border:1.5px solid var(--line); border-radius:8px; font-family:'Poppins',sans-serif; font-size:14px; margin-bottom:16px;}
.woocommerce-account form .button, .woocommerce-account button.button{background:var(--rose); color:#fff; border:none; padding:13px 28px; border-radius:30px; font-weight:600; font-size:14px; cursor:pointer; transition:background .15s ease;}
.woocommerce-account form .button:hover{background:var(--rose-hover);}
.woocommerce-account fieldset{border:1px solid var(--line); border-radius:12px; padding:20px; margin-top:20px;}
.woocommerce-account fieldset legend{font-weight:600; padding:0 10px;}
.woocommerce-MyAccount-content .woocommerce-error, .woocommerce-account .woocommerce-message{background:var(--rose-pale); color:var(--noir); padding:16px 20px; border-radius:10px; border:none; list-style:none; margin-bottom:20px;}
.woocommerce-account .woocommerce-message .button{margin-left:12px;}


/* ==================== Mes favoris ==================== */
.chalys-favoris-grille{display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:24px; margin-top:24px;}
.chalys-favoris-carte{position:relative; display:block; border-radius:14px; overflow:hidden; background:var(--gris-fond); transition:box-shadow .2s ease, transform .2s ease;}
.chalys-favoris-carte:hover{box-shadow:0 14px 30px -18px rgba(20,20,20,.4); transform:translateY(-3px);}
.chalys-favoris-carte img{width:100%; aspect-ratio:3/4; object-fit:cover;}
.chalys-favoris-titre{display:block; padding:12px 14px 2px; font-size:14px; font-weight:500; color:var(--noir);}
.chalys-favoris-prix{display:block; padding:0 14px 14px; font-size:14px; font-weight:700; color:var(--rose);}
.chalys-favoris-prix .amount{color:var(--rose);}
.chalys-favoris-rupture{position:absolute; top:10px; left:10px; background:var(--noir); color:#fff; font-size:11px; font-weight:600; padding:4px 10px; border-radius:20px;}
.chalys-favoris-vide{padding:40px 20px; text-align:center; color:var(--gris); background:var(--gris-fond); border-radius:12px; margin-top:24px;}


/* ==================== Page FAQ (en-tete) ==================== */
.page-id-952 h1{background:var(--rose-pale); padding:32px 24px; border-radius:14px; margin-bottom:24px !important;}


/* ==================== Fleches de defilement des carrousels ==================== */
.carrousel-enveloppe{position:relative;}
.carrousel-fleche{position:absolute; top:40%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; background:#fff; border:1px solid var(--line); box-shadow:0 8px 20px -8px rgba(20,20,20,.35); display:flex; align-items:center; justify-content:center; color:var(--noir); cursor:pointer; z-index:5; transition:opacity .2s ease, transform .2s ease, background .15s ease;}
.carrousel-fleche:hover{background:var(--rose); color:#fff; transform:translateY(-50%) scale(1.06);}
.carrousel-fleche--gauche{left:-6px;}
.carrousel-fleche--droite{right:-6px;}
.carrousel-fleche.est-masquee{opacity:0; pointer-events:none;}
@media (max-width:640px){ .carrousel-fleche{width:36px; height:36px;} .carrousel-fleche--gauche{left:2px;} .carrousel-fleche--droite{right:2px;} }


/* ==================== Produits similaires : une seule ligne defilante ==================== */
.related.products ul.products, .upsells.products ul.products{display:flex !important; flex-wrap:nowrap !important; overflow-x:auto !important; gap:20px; scroll-snap-type:x proximity; padding-bottom:6px;}
.related.products ul.products li.product, .upsells.products ul.products li.product{flex:0 0 260px !important; width:260px !important; scroll-snap-align:start;}
@media (max-width:600px){ .related.products ul.products li.product, .upsells.products ul.products li.product{flex-basis:200px !important; width:200px !important;} }


/* ==================== Modale Guide des tailles (technique :target, sans JS) ==================== */
.modale-guide-tailles{display:none; position:fixed; inset:0; z-index:1000; align-items:center; justify-content:center; padding:20px;}
.modale-guide-tailles:target{display:flex;}
.modale-guide-tailles-fond{position:absolute; inset:0; background:rgba(20,20,20,.55);}
.modale-guide-tailles-contenu{position:relative; background:#fff; border-radius:16px; padding:36px; max-width:600px; width:100%; max-height:85vh; overflow-y:auto; z-index:1;}
.modale-guide-tailles-contenu h3{font-size:22px; margin-bottom:16px;}
.modale-guide-tailles-fermer{position:absolute; top:16px; right:20px; font-size:26px; line-height:1; color:var(--gris); text-decoration:none;}
.modale-guide-tailles-fermer:hover{color:var(--noir);}
.modale-guide-tailles-intro{font-size:13.5px; color:var(--gris); line-height:1.6; margin-bottom:20px;}
.modale-guide-tailles-tableau{width:100%; border-collapse:collapse; margin-bottom:20px;}
.modale-guide-tailles-tableau th, .modale-guide-tailles-tableau td{padding:10px 8px; text-align:center; font-size:13px; border-bottom:1px solid var(--line);}
.modale-guide-tailles-tableau th{background:var(--gris-fond); font-weight:600;}
.modale-guide-tailles-tableau td:first-child{font-weight:700; color:var(--rose);}
.modale-guide-tailles-astuce{font-size:13px; color:var(--noir); background:var(--rose-pale); padding:14px 16px; border-radius:10px; line-height:1.6;}
@media (max-width:600px){ .modale-guide-tailles-contenu{padding:24px 20px;} .modale-guide-tailles-tableau th, .modale-guide-tailles-tableau td{font-size:11.5px; padding:8px 4px;} }


/* ==================== Tri des produits (select natif WooCommerce) ==================== */
.orderby{appearance:none; -webkit-appearance:none; background:#fff url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23555%22 stroke-width=%222%22><polyline points=%226,9 12,15 18,9%22/></svg>') no-repeat right 14px center; background-size:14px; border:1.5px solid var(--line); border-radius:30px; padding:10px 40px 10px 18px; font-family:'Poppins', sans-serif; font-size:13.5px; color:var(--noir); cursor:pointer;}
.orderby:focus{outline:none; border-color:var(--rose);}


/* ==================== Bordure des messages WooCommerce (etait bleue par defaut, jamais habillee) ==================== */
.woocommerce-info{border-top-color:var(--rose) !important; padding-top:1.5em !important;}
.woocommerce-message{border-top-color:#7ad03a !important; padding-top:1.5em !important;}
.woocommerce-error{border-top-color:#e2401c !important; padding-top:1.5em !important;}
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notices-wrapper{outline:none !important;}
.woocommerce-message:focus, .woocommerce-info:focus, .woocommerce-error:focus, .woocommerce-notices-wrapper:focus{outline:2px solid var(--rose) !important; outline-offset:2px;}


/* ==================== Correctif artefact visuel sur les notices WooCommerce ==================== */
.woocommerce-info, .woocommerce-message, .woocommerce-error{caret-color:transparent; -webkit-user-modify:read-only;}
.woocommerce-info::before, .woocommerce-info::after{content:none !important;}


/* ==================== Bandeau RGPD maison ==================== */
#chalys-bandeau-rgpd{position:fixed; left:0; right:0; bottom:0; z-index:9999; background:#fff; box-shadow:0 -4px 24px rgba(0,0,0,.15); padding:20px 24px; font-family:'Poppins', sans-serif;}
.chalys-bandeau-rgpd-contenu{display:flex; align-items:center; gap:24px; flex-wrap:wrap; max-width:1200px; margin:0 auto;}
.chalys-bandeau-rgpd-contenu p{flex:1 1 320px; font-size:13.5px; color:var(--noir); line-height:1.6; margin:0;}
.chalys-bandeau-rgpd-contenu a{color:var(--rose); text-decoration:underline;}
.chalys-bandeau-rgpd-boutons{display:flex; gap:10px; flex-wrap:wrap;}
.chalys-rgpd-btn{border-radius:30px; padding:10px 20px; font-size:13px; font-weight:600; cursor:pointer; border:1.5px solid var(--line); background:#fff; white-space:nowrap;}
.chalys-rgpd-accepter{background:var(--rose); color:#fff; border-color:var(--rose);}
.chalys-bandeau-rgpd-details{max-width:1200px; margin:16px auto 0; padding-top:16px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; align-items:center; gap:20px;}
.chalys-bandeau-rgpd-details[hidden]{display:none;}
.chalys-bandeau-rgpd-details label{display:flex; align-items:center; gap:8px; font-size:13px; color:var(--noir);}
@media (max-width:700px){ .chalys-bandeau-rgpd-contenu{flex-direction:column; align-items:stretch;} .chalys-bandeau-rgpd-contenu p{flex-basis:auto;} .chalys-bandeau-rgpd-boutons{justify-content:stretch;} .chalys-rgpd-btn{flex:1;} }


/* ==================== Formulaire de contact maison ==================== */
.chalys-contact-formulaire{max-width:720px; margin:0 auto 60px; padding:0 20px;}
.chalys-contact-form{display:flex; flex-direction:column; gap:18px;}
.chalys-contact-ligne{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.chalys-contact-champ{display:flex; flex-direction:column; gap:6px;}
.chalys-contact-champ label{font-size:13px; font-weight:600; color:var(--noir);}
.chalys-contact-champ .requis{color:var(--rose);}
.chalys-contact-champ input, .chalys-contact-champ select, .chalys-contact-champ textarea{border:1.5px solid var(--line); border-radius:10px; padding:12px 14px; font-family:'Poppins', sans-serif; font-size:14px; color:var(--noir);}
.chalys-contact-champ input:focus, .chalys-contact-champ select:focus, .chalys-contact-champ textarea:focus{outline:none; border-color:var(--rose);}
.chalys-contact-champ textarea{resize:vertical;}
.chalys-contact-notice{border-radius:10px; padding:16px 20px; margin-bottom:24px; font-size:14px; line-height:1.6;}
.chalys-contact-notice-succes{background:#e6f6ec; color:#1e7a43; border:1px solid #b8e6c9;}
.chalys-contact-notice-erreur{background:#fdecec; color:#c0392b; border:1px solid #f5c6c6;}
.chalys-contact-notice ul{margin:8px 0 0; padding-left:20px;}
.chalys-contact-form button[type=submit]{align-self:flex-start; border:none; cursor:pointer;}
@media (max-width:600px){ .chalys-contact-ligne{grid-template-columns:1fr;} }


/* ==================== Section boutique / carte (Espace pro) ==================== */
.pro-boutique{max-width:1100px; margin:60px auto; padding:0 20px;}
.pro-boutique h3{font-size:22px; margin-bottom:10px;}
.pro-boutique p{font-size:14px; color:var(--gris); line-height:1.7; margin-bottom:20px; max-width:640px;}
.pro-boutique-carte{border-radius:16px; overflow:hidden; box-shadow:0 4px 20px rgba(0,0,0,.08);}
.pro-boutique-carte iframe{display:block;}


/* ==================== Liseret decoratif sous le header ==================== */
header{position:relative;}
header::after{content:''; display:block; position:absolute; left:0; right:0; bottom:-4px; height:4px; background:linear-gradient(90deg, var(--rose-fonce), var(--rose), var(--rose-clair)); z-index:1;}


/* ==================== Entree orchestree du hero (moment unique) ==================== */
@keyframes chalysHeroEntree{ from{opacity:0; transform:translateY(22px);} to{opacity:1; transform:translateY(0);} }
.hero-texte .eyebrow, .hero-texte h1, .hero-texte .cursive, .hero-texte p, .hero-cta{
	opacity:0; animation:chalysHeroEntree .85s cubic-bezier(.22,1,.36,1) forwards;
}
.hero-texte .eyebrow{animation-delay:.05s;}
.hero-texte h1{animation-delay:.18s;}
.hero-texte .cursive{animation-delay:.3s;}
.hero-texte p{animation-delay:.42s;}
.hero-cta{animation-delay:.56s;}

/* Soulignement anime sur les liens du menu principal */
.menu-principal > li > a{position:relative;}
.menu-principal > li > a::after{content:''; position:absolute; left:0; right:100%; bottom:-4px; height:2px; background:var(--rose); transition:right .3s cubic-bezier(.22,1,.36,1);}
.menu-principal > li > a:hover::after{right:0;}

/* Respect de la reduction de mouvement (accessibilite) */
@media (prefers-reduced-motion:reduce){
	.hero-texte .eyebrow, .hero-texte h1, .hero-texte .cursive, .hero-texte p, .hero-cta{ animation:none; opacity:1; }
	*{ transition-duration:.01ms !important; animation-duration:.01ms !important; }
}


/* ==================== Vague de transition en bas du hero ==================== */
.hero-vague{position:absolute; left:0; right:0; bottom:0; z-index:2; line-height:0;}
.hero-vague svg{display:block; width:100%; height:64px;}
@media (max-width:850px){ .hero-vague svg{height:36px;} }


/* ==================== Animation panier (ajout produit) ==================== */
@keyframes cartCountPulse{ 0%{transform:scale(1);} 35%{transform:scale(1.55);} 60%{transform:scale(.9);} 100%{transform:scale(1);} }
.cart-count-pulse{animation:cartCountPulse .55s cubic-bezier(.34,1.56,.64,1);}
@keyframes iconCartPop{ 0%{transform:rotate(0);} 20%{transform:rotate(-12deg) scale(1.1);} 45%{transform:rotate(10deg) scale(1.1);} 70%{transform:rotate(-4deg) scale(1.03);} 100%{transform:rotate(0) scale(1);} }
.icon-cart-pop{animation:iconCartPop .5s ease;}

/* Ouverture du mini-panier : leger glissement + fondu */
@keyframes miniPanierEntree{ from{opacity:0; transform:translateY(-8px);} to{opacity:1; transform:translateY(0);} }
.mini-panier.ouvert{animation:miniPanierEntree .28s cubic-bezier(.22,1,.36,1);}

@media (prefers-reduced-motion:reduce){
	.cart-count-pulse, .icon-cart-pop, .mini-panier.ouvert{animation:none;}
}


/* ==================== Apparition douce au scroll ==================== */
.chalys-reveal{opacity:0; transform:translateY(28px); transition:opacity .6s cubic-bezier(.22,1,.36,1), transform .6s cubic-bezier(.22,1,.36,1);}
.chalys-reveal-visible{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion:reduce){
	.chalys-reveal{opacity:1; transform:none; transition:none;}
}


/* ==================== Page Panier (surcharge visuelle WooCommerce) ==================== */
body.woocommerce-cart .wrap{padding-top:8px; padding-bottom:60px;}
body.woocommerce-cart h1.entry-title, body.woocommerce-cart .page-title{font-size:28px; margin-bottom:24px;}

body.woocommerce-cart .woocommerce{display:flex; flex-wrap:wrap; gap:32px; align-items:flex-start;}
@media (max-width:900px){ body.woocommerce-cart .woocommerce{flex-direction:column;} }

body.woocommerce-cart .woocommerce-cart-form{background:#fff; border-radius:16px; box-shadow:0 4px 24px rgba(0,0,0,.06); padding:8px 24px; flex:1 1 560px;}
body.woocommerce-cart .page-contenu{max-width:1160px !important; width:100% !important;}
body.woocommerce-cart .cart-collaterals{display:contents;}
body.woocommerce-cart .woocommerce-cart-form{flex:1 1 480px;}
body.woocommerce-cart .woocommerce-cart-form{order:1;}
body.woocommerce-cart .cart_totals{order:2; flex:0 0 340px;}
body.woocommerce-cart .cross-sells{order:3; flex:1 1 100%; width:100%; margin-top:24px;}
body.woocommerce-cart .cross-sells h2{font-size:20px; margin-bottom:18px;}
body.woocommerce-cart .cross-sells ul.products{display:grid !important; grid-template-columns:repeat(4, 1fr); gap:20px;}
@media (max-width:900px){ body.woocommerce-cart .cross-sells ul.products{grid-template-columns:repeat(2, 1fr);} }
body.woocommerce-cart .cross-sells ul.products li{width:100% !important; margin:0 !important;}
body.woocommerce-cart table.shop_table{border:none; border-collapse:collapse; width:100%;}
body.woocommerce-cart table.shop_table thead th{border:none; border-bottom:1.5px solid var(--line); padding:16px 12px; font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--gris); font-weight:600; text-align:left;}
body.woocommerce-cart table.shop_table tbody td{border:none; border-bottom:1px solid var(--line); padding:18px 12px; vertical-align:middle;}
body.woocommerce-cart table.shop_table tr:last-child td{border-bottom:none;}
body.woocommerce-cart .product-thumbnail img{width:76px; height:76px; object-fit:cover; border-radius:12px;}
body.woocommerce-cart .product-name a{color:var(--noir); font-weight:600; font-size:14.5px;}
body.woocommerce-cart .product-name .variation{font-size:12px; color:var(--gris); margin-top:4px;}
body.woocommerce-cart .product-price, body.woocommerce-cart .product-subtotal{font-weight:700; color:var(--rose); font-size:14px;}
body.woocommerce-cart .quantity .qty{width:56px; padding:9px 8px; border:1.5px solid var(--line); border-radius:8px; text-align:center; font-family:'Poppins', sans-serif; font-size:14px;}
body.woocommerce-cart .quantity .qty:focus{outline:none; border-color:var(--rose);}
body.woocommerce-cart .product-remove a.remove{display:flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:var(--gris-fond); color:var(--gris) !important; font-size:16px; line-height:1; transition:background .2s, color .2s;}
body.woocommerce-cart .product-remove a.remove:hover{background:#fdecec; color:#c0392b !important;}

body.woocommerce-cart .coupon{display:flex; gap:10px; align-items:center; padding:18px 0;}
body.woocommerce-cart .coupon input#coupon_code{border:1.5px solid var(--line); border-radius:10px; padding:11px 14px; font-family:'Poppins', sans-serif; font-size:13.5px; flex:1; max-width:220px;}
body.woocommerce-cart .coupon input#coupon_code:focus{outline:none; border-color:var(--rose);}
body.woocommerce-cart .coupon button[name=apply_coupon]{background:var(--noir); color:#fff; border:none; border-radius:10px; padding:11px 20px; font-size:12.5px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; cursor:pointer; transition:opacity .2s;}
body.woocommerce-cart .coupon button[name=apply_coupon]:hover{opacity:.85;}
body.woocommerce-cart button[name=update_cart]{background:transparent; border:1.5px solid var(--line); color:var(--gris); border-radius:10px; padding:11px 18px; font-size:12.5px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; cursor:pointer;}
body.woocommerce-cart button[name=update_cart]:disabled{opacity:.4; cursor:default;}

body.woocommerce-cart .cart_totals{background:#fff; border-radius:16px; box-shadow:0 4px 24px rgba(0,0,0,.06); padding:24px; width:100% !important; box-sizing:border-box !important; float:none !important;}
body.woocommerce-cart .cart_totals h2{font-size:19px; margin-bottom:16px;}
body.woocommerce-cart .cart_totals table{border:none; width:100%;}
body.woocommerce-cart .cart_totals table th, body.woocommerce-cart .cart_totals table td{border:none; border-bottom:1px solid var(--line); padding:12px 0; font-size:13.5px;}
body.woocommerce-cart .cart_totals table tr:last-child th, body.woocommerce-cart .cart_totals table tr:last-child td{border-bottom:none; font-size:16px; font-weight:700; color:var(--rose);}
body.woocommerce-cart .wc-proceed-to-checkout{margin-top:8px; display:block !important; width:100% !important; float:none !important;}
body.woocommerce-cart .checkout-button{display:block; box-sizing:border-box; width:100%; background:var(--rose) !important; color:#fff !important; border-radius:10px; padding:15px 8px; font-size:11.5px; font-weight:600; text-transform:uppercase; letter-spacing:.01em; box-shadow:0 8px 20px -6px rgba(233,60,134,.5); transition:background .2s, transform .2s; text-align:center; line-height:1.4; white-space:normal;}
body.woocommerce-cart .checkout-button:hover{background:var(--rose-hover) !important; transform:translateY(-2px); color:#fff !important;}

body.woocommerce-cart .cart-reassurance{display:flex; flex-direction:column; gap:12px; margin-top:16px;}
body.woocommerce-cart .cart-reassurance div{display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--gris);}
body.woocommerce-cart .cart-reassurance svg{flex-shrink:0; width:18px; height:18px; stroke:var(--rose);}




/* ==================== Zoom image produit (lightbox) ==================== */
.image-principale{position:relative;}
.image-principale .js-image-principale{cursor:zoom-in;}
.im-zoom{position:absolute; bottom:16px; right:16px; width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.92); border:none; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(0,0,0,.15); cursor:pointer; transition:transform .2s, background .2s; z-index:2;}
.im-zoom svg{width:19px; height:19px; stroke:var(--noir);}
.im-zoom:hover{background:#fff; transform:scale(1.08);}
@media (max-width:600px){ .im-zoom{width:38px; height:38px; bottom:10px; right:10px;} }

.chalys-lightbox{position:fixed; inset:0; background:rgba(20,20,20,.94); z-index:9999; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:opacity .25s ease;}
.chalys-lightbox.est-ouvert{opacity:1; visibility:visible;}
.chalys-lightbox .lightbox-img{max-width:90vw; max-height:88vh; object-fit:contain; border-radius:4px; box-shadow:0 20px 60px rgba(0,0,0,.5); user-select:none;}
.lightbox-fermer{position:absolute; top:20px; right:24px; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.12); border:none; color:#fff; font-size:28px; line-height:1; cursor:pointer; transition:background .2s;}
.lightbox-fermer:hover{background:rgba(255,255,255,.22);}
.lightbox-fleche{position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,.12); border:none; color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s;}
.lightbox-fleche svg{width:22px; height:22px; stroke:#fff;}
.lightbox-fleche:hover{background:rgba(255,255,255,.22);}
.lightbox-fleche-gauche{left:16px;}
.lightbox-fleche-droite{right:16px;}
@media (max-width:700px){ .lightbox-fleche{width:40px; height:40px;} .lightbox-fermer{top:12px; right:12px;} }
