/* ==========================================================================
   KiddiCam — design system (handoff Claude Design, 13 templates)
   Tokens définitifs. Responsive sans media queries : clamp() + auto-fit/min().
   ========================================================================== */

/* ---- Polices auto-hébergées -------------------------------------------- */
@font-face{font-family:"Fredoka";src:url("../fonts/fredoka-400-700.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

/* ---- Tokens -------------------------------------------------------------- */
:root{
  --rose:#FF1E7E;--rose-h:#E01A6F;--rose-p:#C01560;--rose-bg:rgba(255,30,126,.1);--rose-bg6:rgba(255,30,126,.06);
  --violet:#7B2CBF;--violet-bg:rgba(123,44,191,.1);
  --turquoise:#00D9FF;--turquoise-t:#00A6C4;
  --jaune:#FFD60A;--orange:#FF9500;--etoile:#FFB800;--vert:#1E8E4E;
  --noir:#1A1A1A;--texte:#4A4A4A;--meta:#8A8A8A;--bordure:#E0E0E0;--fond2:#F8F9FA;
  --f-tit:"Fredoka",Arial,sans-serif;--f-txt:"Poppins",Arial,sans-serif;
  --r-btn:8px;--r-card:12px;--r-hero:16px;--r-pill:20px;
  --sh-1:0 2px 8px rgba(0,0,0,.08);--sh-2:0 4px 16px rgba(0,0,0,.12);--sh-3:0 8px 32px rgba(0,0,0,.16);
  --pad-sec:clamp(28px,4vw,48px);
}

/* ---- Base ---------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--texte);font:400 16px/1.6 var(--f-txt);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto}
a{color:var(--rose);transition:color .15s}
a:hover{color:var(--rose-h)}
:focus-visible{outline:2px solid var(--rose);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--f-tit);color:var(--noir);margin:0;text-wrap:pretty}
p{margin:0 0 16px}
.kc-skip{position:absolute;left:-9999px;top:0;background:var(--rose);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;z-index:200}
.kc-skip:focus{left:0;color:#fff}
.kc-wrap{max-width:1240px;margin:0 auto;padding-left:16px;padding-right:16px}
.kc-narrow{max-width:760px}
.kc-site{min-height:50vh}
.kc-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
img.emoji,img.wp-smiley{display:inline!important;width:1em!important;height:1em!important;margin:0 .07em!important;padding:0!important;vertical-align:-.1em!important;border:0!important;box-shadow:none!important;background:none!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

/* ---- Boutons ------------------------------------------------------------- */
.kc-btn,.button,button[type=submit],input[type=submit],.wc-block-components-button,
.woocommerce a.button,.woocommerce button.button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;
  background:var(--rose);color:#fff;border:0;border-radius:var(--r-btn);cursor:pointer;text-decoration:none;
  font:600 15px/1.1 var(--f-tit);transition:background .15s,box-shadow .2s ease-in-out,transform .1s;text-align:center
}
.kc-btn:hover,.button:hover,button[type=submit]:hover,input[type=submit]:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--rose-h);color:#fff}
.kc-btn:active,.button:active{background:var(--rose-p);transform:scale(.98)}
.kc-btn--big{min-height:52px;font-size:17px;padding:0 28px}
.kc-btn--outline,.kc-btn--wish{background:#fff;color:var(--rose);border:2px solid var(--rose)}
.kc-btn--outline:hover,.kc-btn--wish:hover{background:var(--rose-bg);color:var(--rose)}
.kc-btn--violet{background:#fff;color:var(--violet);border:2px solid var(--violet)}
.kc-btn--violet:hover{background:var(--violet-bg);color:var(--violet)}
.kc-btn[disabled],.button[disabled],button[disabled]{background:var(--bordure);color:var(--meta);cursor:not-allowed}

/* ---- Kickers, badges, pastilles ------------------------------------------ */
.kc-kicker{display:inline-block;font:500 11px/1 var(--f-txt);letter-spacing:.09em;text-transform:uppercase;color:var(--meta)}
.kc-kicker--violet{color:var(--violet)}
.kc-badge{display:inline-block;font:500 11px/1 var(--f-txt);letter-spacing:.1em;text-transform:uppercase;color:#fff;border-radius:var(--r-pill);padding:6px 10px}
.kc-flash{position:absolute;top:10px;right:10px;z-index:2;background:var(--jaune);color:var(--noir);font:600 12px/1 var(--f-tit);padding:7px 10px;border-radius:var(--r-pill)}
.kc-h2{font:600 clamp(26px,3.2vw,36px)/1.2 var(--f-tit);color:var(--noir);margin:0 0 6px}
.kc-sub{margin:0 0 22px;font:400 16px/1.6 var(--f-txt);color:var(--texte)}
.kc-band{background:var(--fond2);padding:var(--pad-sec) 0;margin-top:var(--pad-sec)}
.kc-grid{display:grid;gap:16px}
.kc-grid-200{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.kc-grid-240{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.kc-grid-260{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}

/* ---- Header -------------------------------------------------------------- */
.kc-header{background:#fff;border-bottom:1px solid var(--bordure);position:sticky;top:0;z-index:100}
.kc-header.is-stuck{box-shadow:var(--sh-1)}
.kc-promo{margin:0;background:var(--jaune);color:var(--noir);font:500 13px/1.4 var(--f-txt);text-align:center;padding:9px 16px}
.kc-header-bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;padding-top:14px;padding-bottom:14px}
.kc-logo{display:flex;align-items:center;flex:0 0 auto;text-decoration:none}
.kc-search{flex:1 1 240px;min-width:0;display:flex;align-items:center;gap:8px;border:2px solid var(--turquoise);border-radius:var(--r-btn);padding:8px 12px;background:#fff}
.kc-search svg{flex:0 0 auto}
.kc-search input{flex:1 1 auto;min-width:0;border:0;outline:none;font:400 14px/1.4 var(--f-txt);color:var(--noir);background:transparent}
.kc-header-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}
.kc-act{display:flex;align-items:center;justify-content:center;text-decoration:none;border-radius:var(--r-btn);transition:background .15s,color .15s}
.kc-act--account{width:auto;min-width:44px;height:44px;padding:0 10px;color:var(--texte);font:600 12px/1 var(--f-tit)}
.kc-act--account:hover{background:var(--fond2);color:var(--rose)}
.kc-act--wish{width:44px;height:44px;border:2px solid var(--rose);color:var(--rose);font-size:19px;line-height:1}
.kc-act--wish:hover{background:var(--rose-bg);color:var(--rose)}
.kc-act--cart{height:44px;padding:0 16px;background:var(--rose);color:#fff;font:600 14px/1 var(--f-tit);gap:8px}
.kc-act--cart:hover{background:var(--rose-h);color:#fff}
.kc-cart-count{background:#fff;color:var(--rose);min-width:20px;height:20px;border-radius:20px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;padding:0 5px}
.kc-nav-wrap{padding-bottom:4px}
.kc-nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.kc-nav::-webkit-scrollbar{display:none}
.kc-nav-link{flex:0 0 auto;padding:10px 14px;border-radius:var(--r-btn);text-decoration:none;font:600 15px/1.2 var(--f-tit);color:var(--noir);transition:background .15s,color .15s}
.kc-nav-link:hover{background:var(--fond2);color:var(--rose)}
.kc-nav-link.is-active{color:var(--rose);box-shadow:inset 0 -3px 0 var(--rose);border-radius:8px 8px 0 0}
.kc-header--light{position:static}
.kc-header-light-bar{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px}
.kc-header-light-note{font:400 13px/1.5 var(--f-txt);color:var(--texte)}
.kc-header-light-note a{text-decoration:none}

/* ---- Footer -------------------------------------------------------------- */
.kc-footer{background:var(--fond2);border-top:1px solid var(--bordure);margin-top:var(--pad-sec);font-family:var(--f-txt)}
.kc-footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(24px,3vw,40px);padding-top:clamp(28px,4vw,48px);padding-bottom:24px}
.kc-footer-col h3{font:600 16px/1.3 var(--f-tit);color:var(--noir);margin:0 0 14px}
.kc-footer-col>a{display:block;font:400 14px/1.4 var(--f-txt);color:var(--texte);text-decoration:none;margin-bottom:10px}
.kc-footer-col>a:hover{color:var(--rose)}
.kc-footer-col--brand p{margin:14px 0 16px;font:400 14px/1.6 var(--f-txt);color:var(--texte);max-width:30ch;text-wrap:pretty}
.kc-social{display:flex;gap:8px}
.kc-social a{width:36px;height:36px;border-radius:8px;color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;font:600 12px/1 var(--f-tit)}
.kc-social--in{background:var(--rose)}
.kc-social--fb{background:var(--violet)}
.kc-social--tk{background:var(--noir)}
.kc-nl{background:#fff;border:1px solid var(--bordure);border-radius:var(--r-card);padding:20px}
.kc-nl-sub{margin:0 0 14px;font:400 13px/1.5 var(--f-txt);color:var(--texte)}
.kc-nl input[type=email]{width:100%;border:2px solid var(--turquoise);border-radius:var(--r-btn);padding:11px 12px;font:400 14px/1.3 var(--f-txt);color:var(--noir);outline:none;margin-bottom:10px}
.kc-nl button{width:100%;height:44px}
.kc-nl-consent{display:flex;gap:8px;margin-top:12px;font:400 12px/1.5 var(--f-txt);color:var(--texte)}
.kc-nl-consent input{margin:2px 0 0;accent-color:var(--rose)}
.kc-nl-ok{font:500 14px/1.5 var(--f-txt);color:var(--vert)}
.kc-nl-err{font:500 12px/1.5 var(--f-txt);color:#E74C3C;margin:0 0 8px}
.kc-footer-legal{border-top:1px solid var(--bordure)}
.kc-footer-legalbar{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;align-items:center;padding-top:18px;padding-bottom:28px}
.kc-footer-legalbar p{margin:0;font:400 12px/1.6 var(--f-txt);color:var(--texte)}
.kc-footer-aff{color:var(--meta)!important;max-width:62ch;text-wrap:pretty}
.kc-footer-aff a{color:var(--meta)}
.kc-footer--light{margin-top:32px;background:#fff}
.kc-footer-light-links{display:flex;flex-wrap:wrap;gap:16px}
.kc-footer-light-links a{font:400 12px/1.6 var(--f-txt);color:var(--meta);text-decoration:none}

/* ---- Accueil ------------------------------------------------------------- */
.kc-hero{padding-top:clamp(16px,3vw,32px)}
.kc-hero img{width:100%;height:auto;display:block;border-radius:var(--r-hero)}
.kc-hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.kc-hero-ctas .kc-btn{flex:1 1 220px;min-height:50px;font-size:16px}
.kc-sec{padding-top:var(--pad-sec)}
.kc-sec-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;margin-bottom:22px}
.kc-sec-head .kc-h2{margin:0 0 6px}
.kc-sec-link{font:600 15px/1 var(--f-tit);color:var(--rose);text-decoration:none;white-space:nowrap}
.kc-ucard{display:block;position:relative;text-decoration:none;border:1px solid var(--bordure);border-radius:var(--r-card);overflow:hidden;background:#fff;box-shadow:var(--sh-1);transition:box-shadow .2s ease-in-out,transform .2s ease-in-out}
.kc-ucard:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}
.kc-ucard-media{aspect-ratio:4/3;background:var(--fond2);display:block}
.kc-ucard-media img{width:100%;height:100%;object-fit:cover;display:block}
.kc-ucard-body{padding:16px 16px 18px;display:block}
.kc-ucard-body .kc-badge{margin-bottom:10px}
.kc-ucard-body h3{font:600 20px/1.3 var(--f-tit);margin:0 0 6px}
.kc-ucard-body p{margin:0;font:400 14px/1.6 var(--f-txt);color:var(--texte)}
.kc-acard{display:flex;flex-direction:column;gap:10px;text-decoration:none;background:#fff;border:1px solid var(--bordure);border-radius:var(--r-card);padding:18px;box-shadow:var(--sh-1);transition:box-shadow .2s ease-in-out}
.kc-acard:hover{box-shadow:var(--sh-2)}
.kc-acard-n{width:44px;height:44px;border-radius:12px;color:#fff;display:flex;align-items:center;justify-content:center;font:600 15px/1 var(--f-tit)}
.kc-acard h3{font:600 18px/1.3 var(--f-tit)}
.kc-acard p{margin:0;font:400 13px/1.5 var(--f-txt);color:var(--texte)}
.kc-acard-go{font:600 13px/1 var(--f-tit);color:var(--rose)}
.kc-camblock{border:2px solid var(--turquoise);border-radius:var(--r-hero);padding:clamp(20px,3vw,36px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;align-items:center}
.kc-camblock .kc-badge{background:var(--jaune);color:var(--noir);margin-bottom:14px}
.kc-camblock h2{font:600 clamp(24px,3vw,32px)/1.25 var(--f-tit);margin:0 0 10px}
.kc-camblock p{margin:0 0 18px;font:400 16px/1.65 var(--f-txt);max-width:52ch}
.kc-camblock-media{aspect-ratio:4/3;border-radius:var(--r-card);overflow:hidden;background:var(--fond2)}
.kc-camblock-media img{width:100%;height:100%;object-fit:cover;display:block}
.kc-rcard{background:var(--fond2);border-radius:var(--r-card);padding:18px}
.kc-rcard-dot{display:block;width:12px;height:12px;border-radius:12px;margin-bottom:12px}
.kc-rcard h3{font:600 16px/1.3 var(--f-tit);margin:0 0 6px}
.kc-rcard p{margin:0;font:400 13px/1.55 var(--f-txt);color:var(--texte)}

/* ---- Cartes produit (boucles Woo) ---------------------------------------- */
ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:16px}
ul.products li.product{display:flex;flex-direction:column;background:#fff;border:1px solid var(--bordure);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh-1);transition:box-shadow .2s ease-in-out;position:relative;margin:0}
ul.products li.product:hover{box-shadow:var(--sh-2)}
.kc-card-media{display:block;position:relative;aspect-ratio:4/3;background:var(--fond2)}
.kc-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.tax-product_cat.term-livres .kc-card-media{aspect-ratio:3/4}
.kc-card-body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:8px;flex:1 1 auto}
.kc-card-cat{font:500 11px/1 var(--f-txt);letter-spacing:.09em;text-transform:uppercase;color:var(--meta)}
.kc-card-title{margin:0;font:600 16px/1.35 var(--f-tit)}
.kc-card-title a{color:var(--noir);text-decoration:none}
.kc-card-title a::after{content:"";position:absolute;inset:0}
.kc-card-age{font:500 12px/1 var(--f-txt);color:var(--vert)}
.kc-card-actions{display:flex;gap:8px;margin-top:4px;position:relative;z-index:2}
.kc-card-actions .button,.kc-card-actions a.add_to_cart_button{flex:1 1 auto;height:44px;min-height:44px;font-size:14px;padding:0 10px}
.kc-card-actions .added_to_cart{display:none}
.kc-wish-loop{flex:0 0 44px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:2px solid var(--rose);border-radius:var(--r-btn);background:#fff;color:var(--rose);font-size:18px;line-height:1;text-decoration:none}
.kc-wish-loop:hover{background:var(--rose-bg);color:var(--rose)}
.price{font:700 24px/1.1 var(--f-tit);color:var(--rose);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.price del{font:400 14px/1 var(--f-txt);color:var(--meta);text-decoration:line-through}
.price del .amount{font:inherit;color:inherit}
.price ins{text-decoration:none}
ul.products .price{margin-top:auto}
.star-rating{position:relative;display:inline-block;font-size:13px;line-height:1;letter-spacing:2px;color:var(--bordure);white-space:nowrap;height:1em;overflow:hidden;font-family:var(--f-txt)}
.star-rating::before{content:"★★★★★"}
.star-rating>span{position:absolute;top:0;left:0;height:1em;overflow:hidden;color:var(--etoile);white-space:nowrap}
.star-rating>span::before{content:"★★★★★"}
.kc-card-rating{display:flex;align-items:center;gap:6px;font:400 12px/1 var(--f-txt);color:var(--texte)}

/* ---- PLP (archives produit) ---------------------------------------------- */
.kc-plp-head{padding-top:clamp(16px,3vw,28px)}
.kc-plp-head h1{font:400 clamp(30px,4vw,48px)/1.2 var(--f-tit);margin:0 0 10px}
.kc-plp-intro{margin:0;font:400 16px/1.65 var(--f-txt);max-width:72ch}
.kc-crumb,.rank-math-breadcrumb{font:400 12px/1.5 var(--f-txt);color:var(--meta);margin-bottom:14px}
.kc-crumb a,.rank-math-breadcrumb a{color:var(--meta);text-decoration:none}
.kc-crumb a:hover,.rank-math-breadcrumb a:hover{color:var(--rose)}
.rank-math-breadcrumb .last{color:var(--noir)}
.kc-filters{border:1px solid var(--bordure);border-radius:var(--r-card);padding:16px;margin-top:clamp(20px,3vw,28px)}
.kc-filter-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-bottom:14px}
.kc-filter-row:last-child{margin-bottom:0}
.kc-filter-label{font:600 15px/1 var(--f-tit);color:var(--noir);flex:0 0 auto}
.kc-chip{flex:0 0 auto;display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:2px solid var(--bordure);border-radius:var(--r-pill);background:#fff;color:var(--noir);font:500 14px/1 var(--f-txt);cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s,background .15s}
.kc-chip:hover{border-color:var(--rose);color:var(--rose)}
.kc-chip.is-active{background:var(--rose-bg);border-color:var(--rose);color:var(--rose)}
.kc-chip--violet:hover{border-color:var(--violet);color:var(--violet)}
.kc-chip--violet.is-active{background:var(--violet-bg);border-color:var(--violet);color:var(--violet)}
.kc-filter-tools{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:flex-end}
.kc-filter-tools label{flex:1 1 200px;min-width:0;font:500 14px/1.4 var(--f-txt);color:var(--noir)}
.kc-filter-tools select{width:100%;margin-top:8px;min-height:44px;border:1px solid var(--bordure);border-radius:var(--r-btn);padding:0 12px;font:400 14px/1 var(--f-txt);color:var(--noir);background:#fff}
.kc-filter-reset{flex:0 0 auto;min-height:44px;padding:0 20px;border:2px solid var(--bordure);border-radius:var(--r-btn);background:#fff;color:var(--texte);font:500 14px/1 var(--f-txt);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.kc-filter-reset:hover{border-color:var(--meta);color:var(--texte)}
.kc-count{margin:14px 0 0;font:400 13px/1.5 var(--f-txt);color:var(--meta)}
.kc-products{padding-top:20px}
.woocommerce-pagination{padding:clamp(24px,3vw,36px) 0}
.woocommerce-pagination ul.page-numbers{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.woocommerce-pagination .page-numbers li{margin:0}
.woocommerce-pagination a.page-numbers,.woocommerce-pagination span.page-numbers{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid var(--bordure);border-radius:var(--r-btn);text-decoration:none;color:var(--texte);font:500 14px/1 var(--f-txt)}
.woocommerce-pagination span.page-numbers.current{background:var(--rose);border-color:var(--rose);color:#fff;font:600 15px/1 var(--f-tit)}
.kc-empty{border:1px dashed var(--bordure);border-radius:var(--r-card);padding:32px 24px;text-align:center;margin-top:20px}
.kc-empty h2{font:600 20px/1.3 var(--f-tit);margin:0 0 8px}
.kc-empty p{margin:0 0 16px;color:var(--texte)}

/* ---- PDP ------------------------------------------------------------------ */
.kc-pdp{padding-top:clamp(16px,3vw,28px)}
.kc-pdp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(20px,3vw,40px)}
.kc-pdp-gallery{position:relative}
.kc-pdp-gallery .kc-flash{top:14px;right:14px;font-size:13px;padding:8px 12px}
.woocommerce-product-gallery{position:relative}
.woocommerce-product-gallery__wrapper{margin:0}
.woocommerce-product-gallery__image{border:1px solid var(--bordure);border-radius:var(--r-card);overflow:hidden;background:#fff}
.woocommerce-product-gallery__image a{display:block}
.woocommerce-product-gallery__image img{width:100%;height:auto;display:block}
.woocommerce-product-gallery .flex-viewport{border:1px solid var(--bordure);border-radius:var(--r-card);overflow:hidden}
.woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image{border:0;border-radius:0}
.flex-control-thumbs{list-style:none;margin:12px 0 0;padding:0;display:flex;gap:10px;overflow-x:auto}
.flex-control-thumbs li{flex:0 0 auto;width:76px;margin:0}
.flex-control-thumbs img{width:76px;height:76px;object-fit:cover;border:1px solid var(--bordure);border-radius:8px;cursor:pointer;opacity:.85}
.flex-control-thumbs img:hover,.flex-control-thumbs img.flex-active{border-color:var(--rose);opacity:1}
.woocommerce-product-gallery__trigger{display:none}
.kc-pdp-info{display:flex;flex-direction:column;gap:14px}
.kc-pdp-info .kc-kicker a{color:var(--meta);text-decoration:none}
.kc-pdp-info h1{font:400 clamp(26px,3.4vw,36px)/1.2 var(--f-tit)}
.kc-pdp-rating{display:flex;align-items:center;gap:8px;font:400 14px/1 var(--f-txt);color:var(--texte)}
.kc-pdp-rating a{color:var(--rose);text-decoration:none}
.kc-pdp-info .price{font-size:clamp(30px,4vw,36px)}
.kc-pdp-info .price del{font-size:15px}
.kc-save{font:500 13px/1 var(--f-txt);color:var(--vert)}
.kc-trust{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-top:1px solid var(--bordure);border-bottom:1px solid var(--bordure)}
.kc-trust span{display:flex;align-items:center;gap:10px;font:500 14px/1.4 var(--f-txt);color:var(--noir)}
.kc-trust i{flex:0 0 auto;width:18px;height:18px;border-radius:18px;color:#fff;display:flex;align-items:center;justify-content:center;font:400 11px/1 var(--f-txt);font-style:normal}
.kc-trust .t1{background:var(--turquoise-t)}
.kc-trust .t2{background:var(--violet)}
.kc-trust .t3{background:var(--orange)}
.kc-pdp-info form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin:0}
.kc-pdp-info form.cart.variations_form{display:block}
.kc-pdp-info form.cart .quantity{display:flex;align-items:center;border:1px solid var(--bordure);border-radius:var(--r-btn);overflow:hidden;flex:0 0 auto}
.quantity input.qty{width:56px;height:48px;border:0;text-align:center;font:600 16px/1 var(--f-tit);color:var(--noir);outline:none;-moz-appearance:textfield;appearance:textfield}
.quantity input.qty::-webkit-outer-spin-button,.quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.kc-qty-btn{width:44px;height:48px;border:0;background:#fff;color:var(--noir);font:600 18px/1 var(--f-tit);cursor:pointer}
.kc-qty-btn:hover{background:var(--fond2)}
.kc-pdp-info form.cart .single_add_to_cart_button{flex:1 1 200px;min-height:50px;font-size:16px}
.kc-pdp-wish{margin-top:2px}
.kc-pdp-reassure{background:var(--fond2);border-radius:var(--r-card);padding:16px;display:flex;flex-direction:column;gap:10px}
.kc-pdp-reassure span{font:400 14px/1.5 var(--f-txt);color:var(--texte)}
.kc-pdp-reassure .kc-green{font-weight:500;color:var(--vert)}
table.variations{border-collapse:collapse;margin:0 0 12px;width:100%}
table.variations th,table.variations td{padding:6px 0;text-align:left;font:500 14px/1.4 var(--f-txt);color:var(--noir)}
table.variations select{min-height:44px;border:1px solid var(--bordure);border-radius:var(--r-btn);padding:0 12px;font:400 14px/1 var(--f-txt);background:#fff;max-width:100%}
.single_variation_wrap .woocommerce-variation-price{margin-bottom:12px}
.reset_variations{font:400 12px/1 var(--f-txt);color:var(--meta)}

/* Onglets */
.woocommerce-tabs{padding-top:clamp(28px,4vw,44px)}
.woocommerce-tabs ul.wc-tabs{list-style:none;margin:0 0 24px;padding:0;display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--bordure)}
.woocommerce-tabs ul.wc-tabs li{flex:0 0 auto;margin:0}
.woocommerce-tabs ul.wc-tabs li a{display:block;padding:12px 16px;text-decoration:none;color:var(--texte);font:600 16px/1.2 var(--f-tit);border-bottom:3px solid transparent;white-space:nowrap}
.woocommerce-tabs ul.wc-tabs li a:hover{color:var(--rose)}
.woocommerce-tabs ul.wc-tabs li.active a{color:var(--rose);border-bottom-color:var(--rose)}
.woocommerce-Tabs-panel{font:400 16px/1.7 var(--f-txt);color:var(--texte)}
.woocommerce-Tabs-panel>h2:first-child{display:none}
.woocommerce-Tabs-panel p{max-width:72ch}
table.woocommerce-product-attributes{border:1px solid var(--bordure);border-radius:var(--r-card);border-collapse:separate;border-spacing:0;overflow:hidden;width:100%;max-width:640px}
table.woocommerce-product-attributes th,table.woocommerce-product-attributes td{padding:12px 16px;border-bottom:1px solid var(--bordure);text-align:left;font:400 14px/1.5 var(--f-txt)}
table.woocommerce-product-attributes tr:last-child th,table.woocommerce-product-attributes tr:last-child td{border-bottom:0}
table.woocommerce-product-attributes th{font-weight:500;color:var(--noir);width:40%}
table.woocommerce-product-attributes td p{margin:0}

/* Avis */
#reviews .woocommerce-Reviews-title{font:600 clamp(24px,3vw,32px)/1.25 var(--f-tit);color:var(--noir);margin:0 0 18px}
#reviews .commentlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
#reviews .commentlist li{border:1px solid var(--bordure);border-radius:var(--r-card);padding:18px;margin:0}
#reviews .comment_container img.avatar{display:none}
#reviews .comment-text{margin:0}
#reviews .comment-text .meta{margin:0 0 8px;font:400 12px/1.4 var(--f-txt);color:var(--meta)}
#reviews .comment-text .meta strong{font:500 14px/1.4 var(--f-txt);color:var(--noir)}
#reviews .comment-text .description p{margin:0;font:400 14px/1.65 var(--f-txt);color:var(--texte)}
#reviews .comment-text .star-rating{float:none;margin-bottom:6px}
#review_form_wrapper{margin-top:24px;border:1px solid var(--bordure);border-radius:var(--r-card);padding:20px;background:var(--fond2)}
#review_form .comment-reply-title{font:600 18px/1.3 var(--f-tit);color:var(--noir);display:block;margin-bottom:12px}
#review_form p{margin:0 0 14px}
#review_form label{display:block;font:500 13px/1.4 var(--f-txt);color:var(--noir);margin-bottom:6px}
#review_form input[type=text],#review_form input[type=email],#review_form textarea{width:100%;border:1px solid var(--bordure);border-radius:var(--r-btn);padding:12px;font:400 15px/1.5 var(--f-txt);outline:none;background:#fff}
#review_form input:focus,#review_form textarea:focus{border-color:var(--turquoise)}
p.stars a{color:var(--etoile);text-decoration:none;font-size:18px}
#reviews .woocommerce-noreviews{border:1px dashed var(--bordure);border-radius:var(--r-card);padding:18px;color:var(--texte)}

/* Sections liées */
.related.products,.up-sells.products,.cross-sells{padding-top:clamp(28px,4vw,44px)}
.related.products>h2,.up-sells.products>h2,.cross-sells>h2{font:600 clamp(24px,3vw,32px)/1.25 var(--f-tit);color:var(--noir);margin:0 0 18px}

/* ---- Blog ----------------------------------------------------------------- */
.kc-blog-head{padding-top:clamp(16px,3vw,32px)}
.kc-blog-head h1{font:400 clamp(30px,4vw,48px)/1.2 var(--f-tit);margin:0 0 10px}
.kc-blog-intro{margin:0 0 20px;font:400 17px/1.65 var(--f-txt);max-width:60ch}
.kc-blog-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
.kc-blog-chips::-webkit-scrollbar{display:none}
.kc-feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(16px,2.5vw,28px);align-items:center;text-decoration:none;border:1px solid var(--bordure);border-radius:var(--r-hero);overflow:hidden;background:#fff;transition:box-shadow .2s ease-in-out;margin-top:clamp(20px,3vw,28px)}
.kc-feat:hover{box-shadow:var(--sh-2)}
.kc-feat-media{aspect-ratio:16/10;background:var(--fond2)}
.kc-feat-media img{width:100%;height:100%;object-fit:cover;display:block}
.kc-feat-body{padding:clamp(16px,2.5vw,28px)}
.kc-feat-body .kc-badge{background:var(--violet);margin-bottom:12px}
.kc-feat-body h2{font:600 clamp(22px,2.8vw,30px)/1.25 var(--f-tit);margin:0 0 12px}
.kc-feat-body p{margin:0 0 14px;font:400 16px/1.65 var(--f-txt);color:var(--texte);max-width:56ch}
.kc-feat-body span{font:400 13px/1 var(--f-txt);color:var(--meta)}
.kc-bgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:16px;padding-top:clamp(20px,3vw,28px)}
.kc-bcard{border:1px solid var(--bordure);border-radius:var(--r-card);overflow:hidden;background:#fff;transition:box-shadow .2s ease-in-out}
.kc-bcard:hover{box-shadow:var(--sh-2)}
.kc-bcard-link{display:block;text-decoration:none}
.kc-bcard-media{display:block;aspect-ratio:16/9;background:var(--fond2)}
.kc-bcard-media img{width:100%;height:100%;object-fit:cover;display:block}
.kc-bcard-body{display:block;padding:16px}
.kc-bcard-title{display:block;margin:8px 0;font:600 18px/1.35 var(--f-tit);color:var(--noir)}
h3.kc-bcard-title,h2.kc-bcard-title{margin:8px 0}
.kc-bcard-excerpt{display:block;margin:0 0 10px;font:400 14px/1.6 var(--f-txt);color:var(--texte)}
.kc-bcard-meta{display:block;font:400 12px/1 var(--f-txt);color:var(--meta)}
.kc-more{display:flex;justify-content:center;padding:clamp(24px,3vw,36px) 0}
.kc-pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:clamp(24px,3vw,36px) 0}
.kc-pagination .page-numbers{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid var(--bordure);border-radius:var(--r-btn);text-decoration:none;color:var(--texte);font:500 14px/1 var(--f-txt)}
.kc-pagination .page-numbers.current{background:var(--rose);border-color:var(--rose);color:#fff;font:600 15px/1 var(--f-tit)}

/* ---- Article --------------------------------------------------------------- */
.kc-article{max-width:760px;margin:0 auto;padding:clamp(16px,3vw,32px) 16px 0}
.kc-article .kc-badge{background:var(--violet);margin-bottom:14px}
.kc-article h1{font:400 clamp(28px,4vw,44px)/1.2 var(--f-tit);margin:0 0 14px}
.kc-article-chapo{margin:0 0 18px;font:500 18px/1.6 var(--f-txt);color:var(--texte)}
.kc-author{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding-bottom:20px;border-bottom:1px solid var(--bordure)}
.kc-author-avatar{width:40px;height:40px;border-radius:40px;background:var(--turquoise);color:var(--noir);display:flex;align-items:center;justify-content:center;font:600 14px/1 var(--f-tit)}
.kc-author-name{font:500 14px/1.4 var(--f-txt);color:var(--noir)}
.kc-author-meta{font:400 13px/1.4 var(--f-txt);color:var(--meta)}
.kc-article-hero{margin:24px 0}
.kc-article-hero img{width:100%;height:auto;border-radius:var(--r-card);display:block}
.kc-toc{background:var(--fond2);border-radius:var(--r-card);padding:20px;margin:0 0 28px}
.kc-toc-title{margin:0 0 12px;font:600 17px/1.3 var(--f-tit);color:var(--noir)}
.kc-toc-list{display:flex;flex-direction:column;gap:9px}
.kc-toc-list a{font:400 14px/1.5 var(--f-txt);color:var(--texte);text-decoration:none}
.kc-toc-list a:hover{color:var(--rose)}
.kc-prose{font:400 17px/1.75 var(--f-txt);color:var(--texte)}
.kc-prose p{margin:0 0 20px;text-wrap:pretty}
.kc-prose h2{font:600 clamp(24px,3vw,30px)/1.3 var(--f-tit);color:var(--noir);margin:32px 0 12px}
.kc-prose h3{font:600 20px/1.3 var(--f-tit);color:var(--noir);margin:26px 0 10px}
.kc-prose ul,.kc-prose ol{margin:0 0 20px;padding-left:22px}
.kc-prose li{margin-bottom:10px}
.kc-prose strong{color:var(--noir)}
.kc-prose img{border-radius:var(--r-card)}
.kc-prose blockquote{margin:0 0 24px;padding:20px 22px;border-left:4px solid var(--rose);background:var(--rose-bg6);border-radius:var(--r-btn)}
.kc-prose blockquote p{margin:0;font:500 18px/1.65 var(--f-txt);color:var(--noir)}
.kc-prose a{color:var(--rose)}
.kc-prose table{border-collapse:collapse;width:100%;margin:0 0 20px;font-size:14px}
.kc-prose table th,.kc-prose table td{border:1px solid var(--bordure);padding:10px 12px;text-align:left}
.kc-prose table th{background:var(--fond2);font-family:var(--f-tit);color:var(--noir)}
.kc-share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:22px 0;border-top:1px solid var(--bordure);border-bottom:1px solid var(--bordure);margin:28px 0}
.kc-share-label{font:600 14px/1 var(--f-tit);color:var(--noir);margin-right:6px}
.kc-share a,.kc-share button{min-height:40px;display:inline-flex;align-items:center;padding:0 14px;border:1px solid var(--bordure);border-radius:var(--r-pill);text-decoration:none;color:var(--texte);font:500 13px/1 var(--f-txt);background:#fff;cursor:pointer}
.kc-share a:hover,.kc-share button:hover{border-color:var(--rose);color:var(--rose)}
.kc-next{padding:0 0 var(--pad-sec)}
.kc-next h2{font:600 clamp(24px,3vw,32px)/1.25 var(--f-tit);margin:0 0 18px}

/* ---- Prose générique pages -------------------------------------------------- */
.kc-page{padding-top:clamp(16px,3vw,32px)}
.kc-page-head h1{font:400 clamp(28px,4vw,44px)/1.2 var(--f-tit);margin:0 0 14px}
.kc-page .kc-prose{font-size:16px}
.kc-faq-item{border:1px solid var(--bordure);border-radius:var(--r-card);padding:18px;margin-bottom:12px}
.kc-faq-item h3{font:600 16px/1.35 var(--f-tit);margin:0 0 8px}
.kc-faq-item p{margin:0;font:400 15px/1.7 var(--f-txt);color:var(--texte)}
.kc-stepcard{background:#fff;border:1px solid var(--bordure);border-radius:var(--r-card);padding:20px}
.kc-stepcard-n{display:flex;width:40px;height:40px;border-radius:40px;background:var(--violet);color:#fff;align-items:center;justify-content:center;font:600 17px/1 var(--f-tit);margin-bottom:12px}
.kc-stepcard h3{font:600 17px/1.3 var(--f-tit);margin:0 0 6px}
.kc-stepcard p{margin:0;font:400 14px/1.6 var(--f-txt);color:var(--texte)}
.kc-gift-faq{padding-top:var(--pad-sec)}

/* ---- Panier ----------------------------------------------------------------- */
.woocommerce-cart .kc-main>h1,.kc-page-title{font:400 clamp(28px,4vw,44px)/1.2 var(--f-tit);margin:0 0 6px;padding-top:clamp(16px,3vw,28px)}
.kc-cart-note{margin:0 0 22px;font:400 15px/1.6 var(--f-txt);color:var(--texte)}
.woocommerce-cart-form{margin:0}
.woocommerce-cart .kc-wc-content>.woocommerce{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(20px,3vw,32px);align-items:start}
.woocommerce-cart .kc-wc-content>.woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-cart .kc-wc-content>.woocommerce>.woocommerce-notices-wrapper:empty{display:none}
.cart-collaterals{display:flex;flex-direction:column;gap:14px;min-width:0}
.woocommerce-cart .cross-sells{grid-column:1/-1}
table.shop_table.cart{border-collapse:collapse;width:100%}
table.shop_table.cart thead{display:none}
table.shop_table.cart tbody{display:flex;flex-direction:column;gap:14px}
table.shop_table.cart tr.woocommerce-cart-form__cart-item{display:flex;flex-wrap:wrap;gap:14px;border:1px solid var(--bordure);border-radius:var(--r-card);padding:14px;align-items:center}
table.shop_table.cart td{border:0;padding:0;background:none}
table.shop_table.cart td.product-thumbnail{flex:0 0 auto;width:96px}
table.shop_table.cart td.product-thumbnail img{width:96px;height:96px;object-fit:cover;border-radius:8px;display:block}
table.shop_table.cart td.product-name{flex:1 1 180px;min-width:0;font:600 16px/1.35 var(--f-tit)}
table.shop_table.cart td.product-name a{color:var(--noir);text-decoration:none}
table.shop_table.cart td.product-name .variation{font:400 12px/1.5 var(--f-txt);color:var(--meta);margin:4px 0 0}
table.shop_table.cart td.product-price{display:none}
table.shop_table.cart td.product-quantity{flex:0 0 auto}
table.shop_table.cart td.product-quantity .quantity{display:flex;align-items:center;border:1px solid var(--bordure);border-radius:var(--r-btn);overflow:hidden}
table.shop_table.cart td.product-subtotal{flex:0 0 auto;margin-left:auto;font:700 20px/1.1 var(--f-tit);color:var(--rose)}
table.shop_table.cart td.product-remove{order:10;flex:0 0 auto}
table.shop_table.cart td.product-remove a.remove{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:36px;background:#fff;border:1px solid var(--bordure);color:var(--meta)!important;font-size:18px;line-height:1;text-decoration:none}
table.shop_table.cart td.product-remove a.remove:hover{color:var(--rose)!important;border-color:var(--rose)}
table.shop_table.cart tr:not(.woocommerce-cart-form__cart-item) td{display:block;padding:14px 0 0}
.kc-cart-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
td.actions .coupon{display:flex;flex-wrap:wrap;gap:8px;border:2px solid var(--turquoise);border-radius:var(--r-card);padding:16px;width:100%}
td.actions .coupon label{flex:1 1 100%;font:600 14px/1 var(--f-tit);color:var(--noir)}
td.actions .coupon input[type=text]{flex:1 1 140px;min-width:0;height:44px;border:1px solid var(--bordure);border-radius:var(--r-btn);padding:0 12px;font:400 14px/1 var(--f-txt);outline:none}
td.actions .coupon button{background:#fff;color:var(--violet);border:2px solid var(--violet)}
td.actions .coupon button:hover{background:var(--violet-bg);color:var(--violet)}
td.actions>.button{margin-top:12px;background:#fff;color:var(--texte);border:2px solid var(--bordure);font-family:var(--f-txt);font-weight:500}
td.actions>.button:hover{border-color:var(--meta);background:#fff;color:var(--noir)}
.cart_totals{border:1px solid var(--bordure);border-radius:var(--r-card);padding:20px}
.cart_totals>h2{font:600 18px/1.3 var(--f-tit);margin:0 0 16px}
.cart_totals table.shop_table{width:100%;border-collapse:collapse}
.cart_totals th,.cart_totals td{padding:8px 0;border:0;text-align:left;font:400 14px/1.6 var(--f-txt);color:var(--texte)}
.cart_totals td{text-align:right}
.cart_totals tr.order-total th{font:600 17px/1.2 var(--f-tit);color:var(--noir);padding-top:14px;border-top:1px solid var(--bordure)}
.cart_totals tr.order-total td{font:700 26px/1.1 var(--f-tit);color:var(--rose);padding-top:14px;border-top:1px solid var(--bordure)}
.cart_totals tr.order-total td small{font:400 11px/1 var(--f-txt);color:var(--meta)}
.wc-proceed-to-checkout{padding:18px 0 0;margin:0}
.wc-proceed-to-checkout a.checkout-button{width:100%;min-height:52px;font-size:17px}
.kc-cart-paynote{margin:14px 0 0;font:400 12px/1.6 var(--f-txt);color:var(--meta)}
.kc-cart-reassure{background:var(--fond2);border-radius:var(--r-card);padding:16px;display:flex;flex-direction:column;gap:10px}
.kc-cart-reassure span{font:400 13px/1.5 var(--f-txt);color:var(--texte)}
.kc-continue{align-self:flex-start;font:600 15px/1 var(--f-tit);color:var(--rose);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.cross-sells ul.products{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.cart-empty.woocommerce-info{border:1px dashed var(--bordure);background:#fff;border-radius:var(--r-card);padding:32px 24px;text-align:center;font:600 17px/1.3 var(--f-tit);color:var(--noir)}
.return-to-shop{text-align:center;padding:16px 0 40px}

/* ---- Checkout ----------------------------------------------------------------- */
.kc-steps{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;padding-top:clamp(16px,3vw,28px)}
.kc-step{display:flex;align-items:center;gap:8px;font:600 14px/1 var(--f-tit);color:var(--meta)}
.kc-step.is-active{color:var(--noir)}
.kc-step-n{width:26px;height:26px;border-radius:26px;background:var(--bordure);color:var(--texte);display:flex;align-items:center;justify-content:center;font-size:13px}
.kc-step.is-active .kc-step-n{background:var(--rose);color:#fff}
.kc-step-sep{align-self:center;color:var(--bordure)}
form.woocommerce-checkout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(20px,3vw,32px);align-items:start}
form.woocommerce-checkout #customer_details{display:flex;flex-direction:column;gap:20px}
form.woocommerce-checkout #customer_details .col-1,form.woocommerce-checkout #customer_details .col-2{border:1px solid var(--bordure);border-radius:var(--r-card);padding:20px}
form.woocommerce-checkout #customer_details .col-2:empty{display:none}
.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3,#order_review_heading{font:600 18px/1.3 var(--f-tit);color:var(--noir);margin:0 0 16px}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px}
p.form-row{margin:0;display:flex;flex-direction:column}
p.form-row.form-row-wide,p.form-row#billing_address_1_field,p.form-row#billing_email_field{grid-column:1/-1}
p.form-row label{font:500 13px/1.4 var(--f-txt);color:var(--noir);margin-bottom:6px}
p.form-row label .required{color:var(--rose);text-decoration:none}
.input-text,select,textarea{border:1px solid var(--bordure);border-radius:var(--r-btn);font:400 15px/1.4 var(--f-txt);color:var(--noir);background:#fff;outline:none}
p.form-row .input-text{height:48px;padding:0 12px;width:100%}
p.form-row textarea.input-text{height:auto;min-height:96px;padding:12px}
p.form-row select{height:48px;padding:0 12px;width:100%}
.input-text:focus,select:focus,textarea:focus{border-color:var(--turquoise)}
.woocommerce-invalid .input-text,.woocommerce-invalid select{border-color:#E74C3C}
.woocommerce-input-wrapper{width:100%}
.select2-container--default .select2-selection--single{height:48px;border:1px solid var(--bordure);border-radius:var(--r-btn)}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:48px;padding-left:12px;color:var(--noir);font:400 15px/48px var(--f-txt)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}
.select2-dropdown{border-color:var(--bordure)}
#order_review{border:1px solid var(--bordure);border-radius:var(--r-card);padding:20px}
#order_review table.shop_table{width:100%;border-collapse:collapse}
#order_review table.shop_table th,#order_review table.shop_table td{border:0;padding:8px 0;text-align:left;font:400 14px/1.6 var(--f-txt);color:var(--texte)}
#order_review table.shop_table td{text-align:right}
#order_review table.shop_table thead{display:none}
#order_review .cart_item td.product-name{text-align:left;font:500 14px/1.4 var(--f-txt);color:var(--noir)}
#order_review tr.cart-subtotal th,#order_review tr.woocommerce-shipping-totals th,#order_review tr.fee th,#order_review tr.tax-total th{font-weight:400}
#order_review tr.order-total th{font:600 17px/1.2 var(--f-tit);color:var(--noir);border-top:1px solid var(--bordure);padding-top:12px}
#order_review tr.order-total td{font:700 26px/1.1 var(--f-tit);color:var(--rose);border-top:1px solid var(--bordure);padding-top:12px}
#order_review tr.order-total td small{font:400 11px/1 var(--f-txt);color:var(--meta)}
#payment{background:none;margin-top:14px}
#payment ul.wc_payment_methods{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:10px}
#payment ul.wc_payment_methods li{border:1px solid var(--bordure);border-radius:var(--r-btn);padding:14px}
#payment ul.wc_payment_methods li label{font:600 15px/1.3 var(--f-tit);color:var(--noir);margin-left:6px;cursor:pointer}
#payment ul.wc_payment_methods li img{max-height:24px;vertical-align:middle;margin-left:8px}
#payment input[type=radio]{accent-color:var(--rose)}
#payment div.payment_box{margin-top:10px;font:400 13px/1.6 var(--f-txt);color:var(--texte);background:var(--fond2);border-radius:8px;padding:12px}
.woocommerce-terms-and-conditions-wrapper{margin:0 0 14px;font:400 13px/1.55 var(--f-txt);color:var(--texte)}
.woocommerce-terms-and-conditions-wrapper a{color:var(--rose)}
#place_order{width:100%;min-height:54px;font-size:17px}
.woocommerce-checkout-review-order .woocommerce-checkout-payment{margin-top:8px}
.woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-form-login-toggle .woocommerce-info{background:var(--fond2);border:1px solid var(--bordure);border-radius:var(--r-card);padding:12px 16px;font:400 14px/1.5 var(--f-txt);color:var(--texte)}
form.checkout_coupon,form.woocommerce-form-login{border:2px solid var(--turquoise);border-radius:var(--r-card);padding:16px;margin:12px 0}
#ship-to-different-address{font:600 15px/1.3 var(--f-tit);color:var(--noir)}
.woocommerce-checkout .blockUI.blockOverlay{border-radius:var(--r-card)}

/* Confirmation commande */
.woocommerce-order .woocommerce-thankyou-order-received{font:600 clamp(22px,3vw,30px)/1.3 var(--f-tit);color:var(--vert);margin:20px 0}
ul.woocommerce-thankyou-order-details{list-style:none;margin:0 0 24px;padding:16px;border:1px solid var(--bordure);border-radius:var(--r-card);display:flex;flex-wrap:wrap;gap:16px 32px}
ul.woocommerce-thankyou-order-details li{font:400 13px/1.5 var(--f-txt);color:var(--meta)}
ul.woocommerce-thankyou-order-details li strong{display:block;font:600 15px/1.4 var(--f-tit);color:var(--noir)}
.woocommerce-order-details,.woocommerce-customer-details{margin-top:24px}
.woocommerce-order-details h2,.woocommerce-customer-details h2{font-size:20px;margin-bottom:12px}
table.woocommerce-table--order-details{width:100%;border-collapse:collapse;border:1px solid var(--bordure);border-radius:var(--r-card)}
table.woocommerce-table--order-details th,table.woocommerce-table--order-details td{padding:10px 14px;border-bottom:1px solid var(--bordure);text-align:left;font:400 14px/1.5 var(--f-txt)}

/* ---- Mon compte ----------------------------------------------------------------- */
.woocommerce-account .kc-main{display:block}
.kc-account-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:clamp(20px,3vw,32px);align-items:start;padding-top:20px}
.woocommerce-MyAccount-navigation{border:1px solid var(--bordure);border-radius:var(--r-card);padding:10px}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-MyAccount-navigation li a{display:block;padding:11px 14px;border-radius:8px;text-decoration:none;font:500 14px/1.3 var(--f-txt);color:var(--texte)}
.woocommerce-MyAccount-navigation li a:hover{background:var(--fond2);color:var(--rose)}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--rose-bg);color:var(--rose);font-weight:600}
.woocommerce-MyAccount-content{min-width:0;grid-column:span 2}
.woocommerce-MyAccount-content>p{font:400 15px/1.7 var(--f-txt)}
.woocommerce-MyAccount-content .woocommerce-table--order-details td{text-align:left}
table.woocommerce-orders-table{width:100%;border-collapse:collapse;border:1px solid var(--bordure);border-radius:var(--r-card);overflow:hidden}
table.woocommerce-orders-table th,table.woocommerce-orders-table td{padding:12px 14px;border-bottom:1px solid var(--bordure);text-align:left;font:400 14px/1.5 var(--f-txt)}
table.woocommerce-orders-table th{background:var(--fond2);font:600 14px/1.3 var(--f-tit);color:var(--noir)}
.woocommerce-form-login,.woocommerce-form-register{max-width:460px;border:1px solid var(--bordure)!important;border-radius:var(--r-card);padding:24px!important;margin:20px 0}
.woocommerce-form-login h2,.woocommerce-form-register h2{font-size:20px;margin-bottom:14px}
.woocommerce-form-login .form-row,.woocommerce-form-register .form-row{margin-bottom:14px}
.woocommerce-LostPassword a{font-size:13px}
.kc-login-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px}
.woocommerce-EditAccountForm .form-row{margin-bottom:14px}
fieldset{border:1px solid var(--bordure);border-radius:var(--r-card);padding:16px;margin:0 0 16px}
legend{font:600 15px/1.3 var(--f-tit);color:var(--noir);padding:0 6px}

/* ---- Wishlist (YITH) -------------------------------------------------------------- */
.wishlist_table{width:100%;border-collapse:collapse}
.wishlist_table thead{display:none}
.wishlist_table tbody{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:16px}
.wishlist_table tr{display:flex;flex-direction:column;border:1px solid var(--bordure);border-radius:var(--r-card);overflow:hidden;background:#fff;box-shadow:var(--sh-1);position:relative}
.wishlist_table td{border:0;padding:0}
.wishlist_table td.product-thumbnail{order:1}
.wishlist_table td.product-thumbnail a{display:block;aspect-ratio:4/3;background:var(--fond2)}
.wishlist_table td.product-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}
.wishlist_table td.product-name{order:2;padding:14px 14px 4px;font:600 16px/1.35 var(--f-tit)}
.wishlist_table td.product-name a{color:var(--noir);text-decoration:none}
.wishlist_table td.product-price{order:3;padding:0 14px;font:700 20px/1.1 var(--f-tit);color:var(--rose)}
.wishlist_table td.product-stock-status{order:4;padding:6px 14px;font:500 12px/1 var(--f-txt);color:var(--vert)}
.wishlist_table td.product-add-to-cart{order:5;padding:10px 14px 14px}
.wishlist_table td.product-add-to-cart a{width:100%}
.wishlist_table td.product-remove{position:absolute;top:10px;right:10px;z-index:3}
.wishlist_table td.product-remove a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:36px;background:#fff;color:var(--meta)!important;box-shadow:var(--sh-1);text-decoration:none;font-size:15px}
.wishlist_table td.product-remove a:hover{color:var(--rose)!important}
.wishlist_table td.product-date{display:none}
.yith-wcwl-share,.wishlist-title-container{margin:12px 0}
.hidden-title-form{display:none}

/* ---- Notices & toast ---------------------------------------------------------------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{list-style:none;margin:16px 0;padding:14px 16px;border-radius:var(--r-card);font:500 14px/1.5 var(--f-txt)}
.woocommerce-message{background:rgba(30,142,78,.08);color:var(--vert);border:1px solid rgba(30,142,78,.35)}
.woocommerce-info{background:var(--fond2);color:var(--texte);border:1px solid var(--bordure)}
.woocommerce-error{background:rgba(231,76,60,.06);color:#C0392B;border:1px solid rgba(231,76,60,.4)}
ul.woocommerce-error li{margin:0 0 6px}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{float:right;min-height:36px;padding:0 14px;font-size:13px;margin-left:12px}
.kc-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(8px);background:var(--noir);color:#fff;font:500 14px/1.4 var(--f-txt);padding:12px 20px;border-radius:var(--r-pill);box-shadow:var(--sh-3);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:300;max-width:min(92vw,480px);text-align:center}
.kc-toast.is-on{opacity:1;transform:translateX(-50%) translateY(0)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.woocommerce-store-notice{background:var(--violet);color:#fff;padding:10px 16px;text-align:center;font:500 13px/1.5 var(--f-txt)}
.woocommerce-store-notice a{color:#fff}

/* ---- Recherche / archives génériques / 404 -------------------------------------------- */
.kc-simple-head{padding-top:clamp(16px,3vw,32px)}
.kc-simple-head h1{font:400 clamp(28px,4vw,44px)/1.2 var(--f-tit);margin:0 0 10px}
.kc-404{padding:var(--pad-sec) 16px;text-align:center}
.kc-404 h1{font:400 clamp(30px,5vw,54px)/1.2 var(--f-tit);margin:0 0 12px}
.kc-404 p{max-width:52ch;margin:0 auto 20px}

/* ---- Cadeaux par âge -------------------------------------------------------------------- */
.kc-ages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px}
.kc-age-sec{padding-top:var(--pad-sec)}
.kc-age-sec h2{font:600 clamp(22px,2.6vw,28px)/1.3 var(--f-tit);margin:0 0 10px}
.kc-age-sec p{max-width:72ch}

/* ---- Plan de site --------------------------------------------------------------------------- */
.kc-sitemap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(20px,3vw,32px);padding-top:20px}
.kc-sitemap h2{font:600 18px/1.3 var(--f-tit);margin:0 0 12px}
.kc-sitemap ul{list-style:none;margin:0;padding:0}
.kc-sitemap li{margin-bottom:8px}
.kc-sitemap a{font:400 14px/1.5 var(--f-txt);color:var(--texte);text-decoration:none}
.kc-sitemap a:hover{color:var(--rose)}

/* ---- CF7 ------------------------------------------------------------------------------------- */
.wpcf7 form{display:flex;flex-direction:column;gap:14px;max-width:560px}
.wpcf7 label{font:500 13px/1.4 var(--f-txt);color:var(--noir);display:block}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea{width:100%;margin-top:6px;border:1px solid var(--bordure);border-radius:var(--r-btn);padding:12px;font:400 15px/1.5 var(--f-txt);outline:none}
.wpcf7 input:focus,.wpcf7 textarea:focus{border-color:var(--turquoise)}
.wpcf7 input[type=submit]{align-self:flex-start;min-width:200px}
.wpcf7-response-output{border-radius:var(--r-card);padding:12px 16px;font:500 14px/1.5 var(--f-txt);margin:8px 0 0!important;border:1px solid var(--bordure)!important}
.wpcf7-not-valid-tip{color:#E74C3C;font-size:12px}

/* ---- Divers Woo ------------------------------------------------------------------------------- */
.woocommerce-breadcrumb{display:none}
.onsale{display:none}
ul.products li.product .kc-flash{top:10px;right:10px}
.kc-loop-badge{position:absolute;top:10px;left:10px;z-index:2;background:var(--violet);color:#fff;font:500 11px/1 var(--f-txt);padding:6px 9px;border-radius:var(--r-pill)}
.woocommerce-result-count,.woocommerce-ordering{display:none}
.price .woocommerce-price-suffix{font:400 12px/1 var(--f-txt);color:var(--meta)}
.stock.in-stock{color:var(--vert);font:500 14px/1.5 var(--f-txt)}
.stock.out-of-stock{color:#C0392B;font:500 14px/1.5 var(--f-txt)}
.kc-band .kc-h2{margin-bottom:18px}
