:root{--cap-color:#E8527A;--cap-dark:#C4355A;--cap-text:#171717;--cap-border:#FDE0EA;--cap-pale:#FFF5FB}

/* ═══ BARRE D'EN-TÊTE ═══════════════════════════════════════════════════
   Absente des maquettes : elles ne fournissaient que le panneau déroulant,
   accroché au menu Elementor. Reconstruite ici dans le même langage visuel. */
.cap-head{position:sticky;top:0;z-index:100000;background:#fff;border-bottom:3px solid var(--cap-color)}
.cap-head .ch-in{max-width:1240px;margin:0 auto;padding:0 24px;height:78px;display:flex;align-items:center;gap:24px}
.cap-head img{display:block}
.ch-logo img{height:54px;width:auto}
.ch-nav{display:flex;gap:24px;margin-right:auto}
.ch-link{font-family:"Red Hat Display",Arial,sans-serif;font-weight:700;font-size:1rem;color:#A1394F;
  text-decoration:none;background:none;border:0;cursor:pointer;padding:10px 0;display:inline-flex;align-items:center;gap:5px}
.ch-link:hover,.ch-link[aria-expanded="true"]{color:var(--cap-color)}
.ch-link i{font-style:normal;font-size:.75em;transition:transform .2s}
.ch-link[aria-expanded="true"] i{transform:rotate(180deg)}
.ch-act{display:flex;align-items:center;gap:14px}
.ch-search{display:flex;align-items:center;border:2px solid var(--cap-border);border-radius:999px;overflow:hidden;background:var(--cap-pale)}
.ch-search input{border:0;background:none;padding:9px 6px 9px 16px;font:inherit;font-size:.92rem;width:170px;outline:none}
.ch-search button{border:0;background:none;padding:0 12px 0 4px;cursor:pointer;color:var(--cap-dark);display:grid;place-items:center}
.ch-search svg{width:18px;height:18px}
.ch-search:focus-within{border-color:var(--cap-color)}
.ch-perso{background:var(--cap-color);color:#fff;font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;
  padding:12px 20px;border-radius:8px;text-decoration:none;white-space:nowrap}
.ch-perso:hover{background:var(--cap-dark)}
.ch-cart{position:relative;color:var(--cap-text);display:grid;place-items:center;width:42px;height:42px}
.ch-cart svg{width:24px;height:24px}
.cap-cart-n{position:absolute;top:2px;right:0;min-width:19px;height:19px;padding:0 5px;border-radius:999px;
  background:var(--cap-color);color:#fff;font-size:.72rem;font-weight:800;display:grid;place-items:center;line-height:1}
.cap-cart-n.vide{display:none}
.ch-burger{display:none;font-size:28px;background:none;border:0;cursor:pointer;color:var(--cap-text);padding:4px 6px}
@media (max-width:1024px){
  .cap-head .ch-in{height:64px;gap:12px;padding:0 16px}
  .ch-logo img{height:42px}
  .ch-nav,.ch-perso,.ch-search{display:none}
  .ch-act{margin-left:auto}
  .ch-burger{display:block}
}

/* ═══ MEGA MENU (maquette) ══════════════════════════════════════════════ */
#cap-bd{display:none;position:fixed;inset:0;z-index:99998;background:rgba(20,10,25,.25)}
#cap-bd.on{display:block}
#cap-panel{position:fixed;left:0;right:0;z-index:99999;background:#fff;box-shadow:0 18px 40px rgba(0,0,0,.14);border-top:3px solid var(--cap-color);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility 0s .18s;font-family:Roboto,Arial,sans-serif}
#cap-panel.on{opacity:1;visibility:visible;transform:none;transition:opacity .18s,transform .18s}
#cap-panel a{text-decoration:none;color:var(--cap-text)}
.mm-grid{max-width:1240px;margin:0 auto;padding:26px 24px 22px;display:grid;grid-template-columns:1.25fr .9fr 1fr 1.05fr;gap:0}
.mm-col{padding:0 26px;border-right:1px solid var(--cap-border);min-width:0}
.mm-col:first-child{padding-left:0}
.mm-col:last-child{border-right:0;padding-right:0}
.mm-h{margin:0 0 12px;font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cap-dark)}
.mm-h2{margin-top:18px}
.mm-sub{margin:0 0 6px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#aaa}
.mm-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mm-tile{position:relative;display:block;border-radius:14px;overflow:hidden;aspect-ratio:3/4;background:var(--cap-pale)}
.mm-tile img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.mm-tile:hover img{transform:scale(1.06)}
.mm-tile span{position:absolute;left:0;right:0;bottom:0;padding:26px 10px 10px;background:linear-gradient(transparent,rgba(0,0,0,.6));color:#fff}
.mm-tile b{display:block;font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;font-size:1.05rem}
.mm-tile small{font-size:.72rem;opacity:.9}
.mm-all{display:inline-block;margin-top:14px;font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;font-size:.9rem;color:var(--cap-color)!important}
.mm-all:hover{color:var(--cap-dark)!important}
.mm-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.mm-list a{display:flex;align-items:center;gap:10px;padding:5px 6px;border-radius:10px;font-size:.92rem}
.mm-list a:hover{background:var(--cap-pale);color:var(--cap-color)}
.mm-list img{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--cap-border)}
.mm-list span{flex:1}
.mm-list2{grid-template-columns:1fr 1fr;column-gap:6px}
.mm-list2 a{font-size:.86rem}
.mm-tag{font-style:normal;font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:var(--cap-color);color:#fff;border-radius:999px;padding:2px 7px;margin-left:6px;vertical-align:middle}
.mm-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mm-links{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:1px}
.mm-links a{display:block;padding:5px 0;font-size:.92rem}
.mm-links a:hover{color:var(--cap-color)}
.mm-perso{display:block;border-radius:16px;overflow:hidden;background:var(--cap-pale);border:1px solid var(--cap-border)}
.mm-perso-img{position:relative;height:150px;background:linear-gradient(160deg,#FFF5FB,#F4ECF0)}
.mm-perso-img img{width:100%;height:100%;object-fit:contain}
.mm-word{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-10deg);font-family:"CAP Franklin",Impact,sans-serif;color:#fff;font-size:1.3rem;letter-spacing:1px;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.2)}
.mm-perso-t{padding:12px 14px 14px}
.mm-perso-t .mm-tag{margin:0 0 6px;display:inline-block}
.mm-perso-t b{display:block;font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;font-size:1.05rem}
.mm-perso-t small{display:block;color:#666;font-size:.8rem;margin:2px 0 8px}
.mm-cta{font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;font-size:.88rem;color:var(--cap-color)}
.mm-perso:hover .mm-cta{color:var(--cap-dark)}
.mm-promo{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;border-radius:14px;background:linear-gradient(90deg,#E91E8C,#C8187A);color:#fff!important}
.mm-promo b{font-family:"Red Hat Display",Arial,sans-serif;font-weight:900;font-size:1.5rem;line-height:1}
.mm-promo span{flex:1;font-size:.85rem;line-height:1.3}
.mm-promo i{font-style:normal;font-weight:800}
.mm-promo.alt{background:#fff;color:var(--cap-text)!important;border:1px solid var(--cap-border)}
.mm-promo.alt:hover{border-color:var(--cap-color)}
.mm-promo.alt img{border-radius:8px;object-fit:cover}
.mm-foot{border-top:1px solid var(--cap-border);background:#FCFAFB;display:flex;justify-content:center;gap:36px;padding:10px 24px;font-size:.8rem;color:#666;flex-wrap:wrap}
#cap-panel a:focus-visible,#cap-mobile a:focus-visible,#cap-mobile summary:focus-visible,
.cap-head a:focus-visible,.cap-head button:focus-visible{outline:3px solid var(--cap-color);outline-offset:2px;border-radius:8px}
@media (max-width:1240px){.mm-grid{grid-template-columns:1.15fr .9fr 1fr 1fr}.mm-col{padding:0 18px}}
@media (max-width:1024px){#cap-panel,#cap-bd{display:none!important}}

/* ═══ MENU MOBILE ═══════════════════════════════════════════════════════ */
@media (min-width:1025px){#cap-mobile{display:none!important}}
#cap-mobile{position:fixed;inset:0;z-index:1000001;background:#fff;overflow-y:auto;transform:translateX(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);visibility:hidden;font-family:Roboto,Arial,sans-serif;-webkit-overflow-scrolling:touch}
#cap-mobile.on{transform:none;visibility:visible}
#cap-mobile a{text-decoration:none;color:var(--cap-text)}
.cap-mob-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 16px;background:#fff;border-bottom:3px solid var(--cap-color)}
.cap-mob-logo{height:42px;width:auto}
.cap-mob-close{width:38px;height:38px;border-radius:50%;border:0;background:var(--cap-color);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.mob-in{padding:14px 16px calc(28px + env(safe-area-inset-bottom,0px));display:grid;gap:14px}
.mob-search input{width:100%;box-sizing:border-box;border:2px solid var(--cap-border);border-radius:12px;padding:12px 14px;font:inherit;font-size:16px;background:var(--cap-pale)}
.mob-search input:focus{outline:none;border-color:var(--cap-color)}
#cap-mobile .mm-tile{aspect-ratio:1}
#cap-mobile .mm-tile span{padding:18px 8px 8px}
#cap-mobile .mm-perso{display:flex;align-items:stretch}
#cap-mobile .mm-perso-img{width:42%;height:auto;min-height:130px;flex-shrink:0}
#cap-mobile .mm-word{font-size:1rem}
.mob-acc{border:1px solid var(--cap-border);border-radius:14px;padding:0 14px}
.mob-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:14px 0;font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;font-size:1rem}
.mob-acc summary::-webkit-details-marker{display:none}
.mob-acc summary::after{content:"+";width:26px;height:26px;border-radius:50%;background:var(--cap-pale);color:var(--cap-color);display:grid;place-items:center;font-size:1.1rem;transition:transform .2s}
.mob-acc[open] summary::after{transform:rotate(45deg);background:var(--cap-color);color:#fff}
.mob-acc[open]{padding-bottom:12px}
.mob-acc .mm-list a{padding:9px 4px;font-size:.98rem}
.mob-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.mob-chips a{border:1px solid var(--cap-border);background:var(--cap-pale);border-radius:999px;padding:8px 14px;font-size:.9rem}
#cap-mobile .mm-promo{margin-top:0}
.mob-nav{display:grid;border-top:1px solid var(--cap-border)}
.mob-nav a{display:flex;justify-content:space-between;padding:14px 4px;border-bottom:1px solid var(--cap-border);font-weight:600}
.mob-nav a::after{content:"›";color:var(--cap-color);font-size:1.3rem;line-height:1}

/* ═══ PIED DE PAGE (maquette) ═══════════════════════════════════════════ */
.cap-foot{--c:var(--cap-color);--cd:var(--cap-dark);--ink:var(--cap-text);--line:var(--cap-border);--pale:var(--cap-pale);font-family:Roboto,Arial,sans-serif;color:var(--ink);background:#fff}
.cap-foot *{box-sizing:border-box}
.cap-foot a{color:inherit;text-decoration:none}
.cap-foot .cf-in{max-width:1240px;margin:0 auto;padding:0 24px}
.cap-foot .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cf-reas{background:var(--pale);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cf-reas .cf-in{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-top:22px;padding-bottom:22px}
.cf-reas>.cf-in>div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}
.cf-reas span{grid-row:span 2;font-size:1.6rem}
.cf-reas b{font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;font-size:.95rem}
.cf-reas small{color:#666;font-size:.82rem}
.cf-main{padding:44px 0 36px}
.cf-grid{display:grid;grid-template-columns:1.1fr 2.2fr 1.2fr;gap:40px}
.cf-brand img{width:96px;height:auto;display:block}
.cf-brand p{color:#555;font-size:.9rem;line-height:1.55;margin:14px 0}
.cf-mail{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem}
.cf-mail svg{width:18px;height:18px;color:var(--c)}
.cf-mail:hover{color:var(--c)}
.cf-soc{display:flex;gap:10px;margin-top:18px}
.cf-soc a{width:38px;height:38px;border-radius:50%;background:var(--pale);border:1px solid var(--line);display:grid;place-items:center;transition:background .15s}
.cf-soc svg{width:17px;height:17px;fill:var(--cd)}
.cf-soc a:hover{background:var(--c)}
.cf-soc a:hover svg{fill:#fff}
.cf-links{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cf-col summary{list-style:none;font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cd);margin-bottom:12px;cursor:default}
.cf-col summary::-webkit-details-marker{display:none}
.cf-col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.cf-col a{font-size:.92rem;color:#333}
.cf-col a:hover{color:var(--c)}
.cf-h{font-family:"Red Hat Display",Arial,sans-serif;font-weight:900;font-size:1.25rem;margin:0 0 6px}
.cf-t{color:#555;font-size:.88rem;margin:0 0 14px;line-height:1.5}
.cf-form{display:flex;border:2px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.cf-form:focus-within{border-color:var(--c)}
.cf-form input[type=email]{flex:1;min-width:0;border:0;padding:12px 14px;font:inherit;font-size:16px;outline:none}
.cf-form button{border:0;background:var(--c);color:#fff;font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;padding:0 16px;cursor:pointer}
.cf-form button:hover{background:var(--cd)}
.cf-ok{margin:0;padding:12px 14px;color:#11734A;font-weight:600;font-size:.9rem;background:#EAF6F0;border-radius:12px}
.cf-ko{margin:0 0 10px;padding:10px 14px;color:#A32020;font-weight:600;font-size:.88rem;background:#FDECEC;border-radius:10px}
.cf-perso{display:flex;justify-content:center;margin-top:14px;padding:12px;border-radius:12px;border:2px solid var(--c);color:var(--c)!important;font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;font-size:.92rem}
.cf-perso:hover{background:var(--c);color:#fff!important}
.cf-bot{border-top:1px solid var(--line);background:#FCFAFB}
.cf-bot .cf-in{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}
.cf-pay{display:flex;gap:6px;flex-wrap:wrap}
.cf-pay .pm{width:50px;height:32px;border:1px solid #E3E3E3;border-radius:6px;background:#fff;display:grid;place-items:center;overflow:hidden}
.cf-pay .pm svg{width:44px;height:28px}
.cf-legal{display:flex;gap:18px;flex-wrap:wrap;font-size:.82rem;color:#666}
.cf-legal a:hover{color:var(--c)}
.cf-copy{margin:0;font-size:.8rem;color:#999}
.cap-foot a:focus-visible,.cap-foot button:focus-visible,.cap-foot summary:focus-visible{outline:3px solid var(--c);outline-offset:2px;border-radius:6px}
@media (max-width:1024px){.cf-grid{grid-template-columns:1fr 1fr}.cf-links{grid-column:1/-1;order:3}.cf-reas .cf-in{grid-template-columns:1fr 1fr}}
@media (max-width:767px){
  .cf-reas .cf-in{gap:14px 10px;padding-top:18px;padding-bottom:18px}
  .cf-reas span{font-size:1.3rem}.cf-reas b{font-size:.85rem}.cf-reas small{font-size:.75rem}
  .cf-main{padding:30px 0 20px}
  .cf-grid{grid-template-columns:1fr;gap:26px}
  .cf-news{order:-1}
  .cf-links{display:block;border-top:1px solid var(--line)}
  .cf-col{border-bottom:1px solid var(--line)}
  .cf-col summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;margin:0;padding:15px 0;font-size:.85rem}
  .cf-col summary::after{content:"+";font-size:1.2rem;color:var(--c);transition:transform .2s}
  .cf-col[open] summary::after{transform:rotate(45deg)}
  .cf-col ul{padding-bottom:14px}
  .cf-col a{display:block;padding:4px 0;font-size:.95rem}
  .cf-bot .cf-in{flex-direction:column;align-items:flex-start}
}

/* ═══ TIROIR DE PANIER ═══════════════════════════════════════════════════
   Remplace le mini-panier Premium Addons, supprimé avec l'en-tête Elementor. */
#cap-cart-bd{position:fixed;inset:0;background:rgba(20,10,25,.45);z-index:1000002;
 opacity:0;pointer-events:none;transition:opacity .25s}
body.cap-cart-on #cap-cart-bd{opacity:1;pointer-events:auto}
.cap-cart{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;
 z-index:1000003;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);
 display:flex;flex-direction:column;font-family:Roboto,Arial,sans-serif;
 box-shadow:-6px 0 30px rgba(0,0,0,.18)}
body.cap-cart-on .cap-cart{transform:none}
.cap-cart a{text-decoration:none;color:inherit}
.cc-h{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;
 border-bottom:3px solid var(--cap-color)}
.cc-h b{font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;font-size:1.15rem}
.cc-h button{border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:#999}
.cc-h button:hover{color:var(--cap-color)}
.cc-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.cc-list{list-style:none;margin:0;padding:0 20px}
.cc-item{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--cap-border);position:relative}
.cc-img{width:62px;height:70px;border-radius:8px;overflow:hidden;background:var(--cap-pale);flex:0 0 auto}
.cc-img img{width:100%;height:100%;object-fit:cover;display:block}
.cc-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.cc-nom{font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;font-size:.9rem;line-height:1.25}
.cc-nom:hover{color:var(--cap-color)}
.cc-meta{font-size:.76rem;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-q{font-size:.84rem;color:var(--cap-dark);font-weight:700}
.cc-edit{font-size:.78rem;color:var(--cap-color);font-weight:700;margin-top:2px}
.cc-edit:hover{text-decoration:underline}
.cc-del{position:absolute;top:12px;right:0;width:24px;height:24px;border-radius:50%;
 display:grid;place-items:center;color:#bbb;font-size:18px;line-height:1}
.cc-del:hover{background:var(--cap-pale);color:var(--cap-color)}
.cc-foot{border-top:1px solid var(--cap-border);padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px));background:#FCFAFB}
.cc-tot{display:flex;justify-content:space-between;align-items:baseline;
 font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;font-size:1.05rem;margin-bottom:12px}
.cc-btn{display:block;text-align:center;background:var(--cap-color);color:#fff;
 font-family:"Red Hat Display",Arial,sans-serif;font-weight:800;padding:13px;border-radius:10px}
.cc-btn:hover{background:var(--cap-dark);color:#fff}
.cc-ghost{background:#fff;color:var(--cap-color);border:2px solid var(--cap-color);margin-bottom:8px}
.cc-ghost:hover{background:var(--cap-pale);color:var(--cap-dark)}
.cc-vide{padding:48px 24px;text-align:center;color:#777;display:grid;gap:18px}
