/* keetsoon.dz : feuille commune, copie des jetons de keetsoon.com */
:root{
  --ks-bg:#F2E8D4; --ks-card:#FBF5EA; --ks-ink:#392A1D; --ks-accent:#79432A;
  --ks-muted:#E6E0D6; --ks-muted-ink:#725E4E; --ks-border:#D8CFC0; --ks-on-accent:#F2E8D4;
  --ks-font-h:"Poppins",ui-sans-serif,system-ui,sans-serif;
  --ks-font-b:"Inter",ui-sans-serif,system-ui,sans-serif;
  --ks-max:1280px; --ks-gutter:24px;
}
html[lang^="ar"]{ --ks-font-h:"Readex Pro",ui-sans-serif,system-ui,sans-serif; --ks-font-b:"IBM Plex Sans Arabic",ui-sans-serif,system-ui,sans-serif; }
@media (max-width:639px){ :root{ --ks-gutter:16px; } }

/* Base */
body.ks-site, body.ks-site #page, body.ks-site .site-content, body.ks-site .ast-container, body.ks-site #primary, body.ks-site .site-main{ background:var(--ks-bg); }
body.ks-site{ color:var(--ks-ink); font-family:var(--ks-font-b); font-size:16px; line-height:1.5; -webkit-font-smoothing:antialiased; }
body.ks-site h1,body.ks-site h2,body.ks-site h3,body.ks-site h4,body.ks-site h5,body.ks-site h6{ font-family:var(--ks-font-h); color:var(--ks-ink); letter-spacing:0; }
body.ks-site a{ color:inherit; }
body.ks-site .elementor-widget-heading .elementor-heading-title{ font-family:var(--ks-font-h); color:inherit; }
body.ks-site .elementor-widget-text-editor{ font-family:var(--ks-font-b); color:inherit; }
body.ks-site.ast-page-builder-template .site-content > .ast-container{ max-width:100%; padding:0; }
.ks-wrap{ width:100%; max-width:var(--ks-max); margin-inline:auto; padding-inline:var(--ks-gutter) !important; }
.ks-site .e-con.ks-reset, .ks-site .ks-reset{ --padding-top:0px; --padding-bottom:0px; --padding-left:0px; --padding-right:0px; --gap:0px; --row-gap:0px; --column-gap:0px; }
.ks-site .elementor-widget:not(:last-child){ margin-block-end:0; }
.ks-site .elementor-element{ --widgets-spacing:0px; --widgets-spacing-row:0px; --widgets-spacing-column:0px; }

/* Barre d annonce */
.ks-announce{ background:var(--ks-accent); color:var(--ks-on-accent); }
.ks-announce-txt{ width:100%; }
.ks-announce-txt .elementor-widget-container, .ks-announce p{ height:36px; display:flex; align-items:center; justify-content:center; font-family:var(--ks-font-b) !important; font-size:12px !important; line-height:16px !important; font-weight:500 !important; letter-spacing:.18em; text-transform:uppercase; color:var(--ks-on-accent) !important; margin:0; }
html[lang^="ar"] .ks-announce-txt .elementor-widget-container{ letter-spacing:0; font-size:13px !important; }

/* En-tete */
.ks-header{ position:sticky; top:0; z-index:40; background:rgba(242,232,212,.95); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.admin-bar .ks-header{ top:32px; }
.ks-header-row{ display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:space-between !important; gap:16px !important; padding-block:8px !important; flex-wrap:nowrap !important; }
.ks-logo{ flex-shrink:0; width:auto !important; }
.ks-logo-link{ display:inline-flex; align-items:center; gap:8px; text-decoration:none; transform:translateY(-2px); }
.ks-logo-img{ width:82px !important; height:82px !important; object-fit:contain; display:block; }
.ks-brand-txt{ font-family:"Poppins",ui-sans-serif,system-ui,sans-serif; font-weight:600; font-size:28px; line-height:1; letter-spacing:-.02em; color:var(--ks-accent); text-transform:lowercase; transform:translateY(3px); }
.ks-logo-link:not(:has(img)) .ks-brand-txt{ transform:none; padding-block:25px; }
.ks-nav{ flex:1 1 auto; display:flex; justify-content:center; }
.ks-nav ul{ display:flex; align-items:center; gap:32px; list-style:none; margin:0; padding:0; }
.ks-nav a{ font-family:var(--ks-font-b); font-size:14px; line-height:20px; font-weight:500; color:var(--ks-ink); text-decoration:none; transition:color .15s; }
.ks-nav a:hover, .ks-nav .current-menu-item > a{ color:var(--ks-accent); }
.ks-tools{ width:auto !important; flex-shrink:0; }
.ks-tools-in{ display:flex; align-items:center; gap:12px; }
.ks-iconbtn{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; padding:0; border:0; background:transparent; color:var(--ks-ink); cursor:pointer; border-radius:12px; transition:color .15s; text-decoration:none; position:relative; }
.ks-iconbtn:hover{ color:var(--ks-accent); background:transparent; }
.ks-iconbtn svg{ width:20px; height:20px; }
.ks-count{ position:absolute; top:2px; inset-inline-end:0; min-width:18px; height:18px; padding:0 5px; border-radius:9999px; background:var(--ks-accent); color:var(--ks-on-accent); font-size:10px; font-weight:600; line-height:18px; text-align:center; }
.ks-lang{ position:relative; }
.ks-lang > button{ display:flex; align-items:center; gap:6px; padding:6px 8px; border-radius:12px; border:0; background:transparent; color:var(--ks-ink); font-family:var(--ks-font-b); font-size:14px; line-height:20px; cursor:pointer; }
.ks-lang > button:hover{ background:var(--ks-muted); }
.ks-lang > button svg{ width:16px; height:16px; }
.ks-lang .ks-lang-code{ font-weight:500; text-transform:uppercase; }
.ks-lang .ks-lang-sep{ color:var(--ks-muted-ink); }
.ks-lang-menu{ position:absolute; top:calc(100% + 6px); inset-inline-end:0; min-width:160px; background:var(--ks-card); border:1px solid var(--ks-border); border-radius:16px; padding:6px; box-shadow:0 12px 32px rgba(57,42,29,.12); display:none; z-index:60; }
.ks-lang.is-open .ks-lang-menu{ display:block; }
.ks-lang-menu a{ display:flex; justify-content:space-between; gap:12px; padding:8px 12px; border-radius:10px; font-size:14px; text-decoration:none; color:var(--ks-ink); }
.ks-lang-menu a:hover, .ks-lang-menu a[aria-current]{ background:var(--ks-muted); }
.ks-burger{ display:none !important; }
@media (max-width:1023px){
  .ks-nav{ display:none !important; }
  .ks-burger{ display:inline-flex !important; }
}
@media (max-width:639px){
  .ks-header-row{ padding-block:6px !important; gap:8px !important; }
  .ks-logo-img{ width:56px !important; height:56px !important; }
  .ks-brand-txt{ font-size:20px; }
  .ks-logo-link:not(:has(img)) .ks-brand-txt{ padding-block:18px; }
  .ks-tools-in{ gap:0; }
  .ks-lang .ks-lang-code, .ks-lang .ks-lang-sep, .ks-lang .ks-lang-cur{ display:none; }
  .ks-iconbtn{ width:36px; height:36px; }
}

/* Tiroir mobile */
.ks-drawer{ position:fixed; inset:0; z-index:100; visibility:hidden; }
.ks-drawer.is-open{ visibility:visible; }
.ks-drawer-veil{ position:absolute; inset:0; background:rgba(57,42,29,.35); opacity:0; transition:opacity .25s; }
.ks-drawer.is-open .ks-drawer-veil{ opacity:1; }
.ks-drawer-panel{ position:absolute; top:0; bottom:0; inset-inline-end:0; width:min(86vw,360px); background:var(--ks-bg); padding:20px 24px; transform:translateX(100%); transition:transform .3s ease; display:flex; flex-direction:column; gap:8px; overflow-y:auto; }
html[dir="rtl"] .ks-drawer-panel{ transform:translateX(-100%); }
.ks-drawer.is-open .ks-drawer-panel{ transform:none; }
.ks-drawer-panel ul{ list-style:none; margin:24px 0 0; padding:0; }
.ks-drawer-panel li a{ display:block; padding:14px 0; border-bottom:1px solid var(--ks-border); font-family:var(--ks-font-h); font-size:18px; font-weight:500; text-decoration:none; color:var(--ks-ink); }
.ks-drawer-close{ align-self:flex-end; }
body.ks-lock{ overflow:hidden; }

/* Boutons */
.ks-btns{ display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; align-items:center !important; justify-content:center !important; gap:12px !important; }
.ks-btn .elementor-button{ text-transform:none !important; display:inline-flex; align-items:center; justify-content:center; border-radius:9999px !important; padding:12px 28px !important; font-family:var(--ks-font-b) !important; font-size:14px !important; line-height:20px !important; font-weight:500 !important; letter-spacing:0 !important; border:1px solid transparent !important; box-shadow:none !important; transition:opacity .15s, background-color .15s, transform .1s; }
.ks-btn .elementor-button:active{ transform:scale(.98); }
.ks-btn--primary .elementor-button{ background:var(--ks-accent) !important; color:var(--ks-on-accent) !important; }
.ks-btn--primary .elementor-button:hover{ opacity:.9; }
.ks-btn--ghost .elementor-button{ background:var(--ks-card) !important; color:var(--ks-ink) !important; border-color:var(--ks-border) !important; }
.ks-btn--ghost .elementor-button:hover{ background:var(--ks-muted) !important; }
@media (max-width:639px){ .ks-hero .ks-btns{ flex-direction:column !important; } }

/* Hero */
.ks-hero{ position:relative; overflow:hidden; isolation:isolate; }
.ks-hero-bg{ position:absolute !important; inset:0; z-index:-2; background-size:cover !important; background-position:center !important; background:linear-gradient(160deg,#EAD9BC 0%,#F2E8D4 45%,#E4CFAE 100%); background-size:cover; background-position:center; animation:ks-kenburns 24s ease-in-out infinite alternate; }
.ks-hero-bg picture, .ks-hero-bg img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ks-hero::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to bottom, rgba(242,232,212,.4), rgba(242,232,212,.2) 50%, rgba(242,232,212,.85)); }
@keyframes ks-kenburns{ from{ transform:scale(1); } to{ transform:scale(1.08); } }
@media (prefers-reduced-motion:reduce){ .ks-hero-bg{ animation:none; } }
.ks-hero-inner{ padding-block:160px !important; text-align:center; display:flex !important; flex-direction:column !important; align-items:center !important; }
@media (max-width:1023px){ .ks-hero-inner{ padding-block:128px !important; } }
@media (max-width:639px){ .ks-hero-inner{ padding-block:96px !important; } }
.ks-hero h1.elementor-heading-title{ font-size:60px !important; line-height:1.25 !important; font-weight:600 !important; max-width:768px; margin-inline:auto; }
@media (max-width:1023px){ .ks-hero h1.elementor-heading-title{ font-size:48px !important; } }
@media (max-width:639px){ .ks-hero h1.elementor-heading-title{ font-size:36px !important; } }
.ks-hero-sub{ margin-top:20px; max-width:576px; margin-inline:auto; }
.ks-hero-sub p, .ks-hero-sub{ font-size:18px; line-height:28px; color:var(--ks-muted-ink); margin-bottom:0; }
@media (max-width:639px){ .ks-hero-sub p, .ks-hero-sub{ font-size:16px; line-height:24px; } }
.ks-hero .ks-btns{ margin-top:32px; }
.ks-pills{ margin-top:40px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; }
.ks-pill{ display:inline-flex; align-items:center; gap:8px; border-radius:9999px; background:rgba(242,232,212,.7); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); border:1px solid var(--ks-border); padding:8px 16px; font-size:12px; line-height:16px; font-weight:500; color:var(--ks-ink); }
.ks-pill svg{ width:16px; height:16px; color:var(--ks-accent); flex-shrink:0; }
@media (max-width:639px){ .ks-pills{ flex-direction:column; } }

/* Placeholders visuels, style keetsoon */
.ks-ph{ position:relative; width:100%; background:rgba(230,224,214,.7); border:1px solid rgba(216,207,192,.6); border-radius:24px; display:flex; align-items:center; justify-content:center; overflow:hidden; aspect-ratio:1/1; }
.ks-ph span{ font-size:12px; line-height:1.4; letter-spacing:.18em; text-transform:uppercase; color:var(--ks-muted-ink); text-align:center; padding:0 16px; }
html[lang^="ar"] .ks-ph span{ letter-spacing:0; }
@media (max-width:639px){ .ks-ph span{ font-size:10px; } }

/* Tiroir : recherche et langues */
.ks-search{ display:flex; align-items:center; gap:8px; margin-top:8px; background:var(--ks-card); border:1px solid var(--ks-border); border-radius:9999px; padding:4px 16px; color:var(--ks-muted-ink); }
.ks-search svg{ width:18px; height:18px; flex-shrink:0; }
.ks-search input[type=search]{ flex:1; min-width:0; border:0 !important; background:transparent !important; box-shadow:none !important; padding:10px 0 !important; font-family:var(--ks-font-b); font-size:16px; color:var(--ks-ink); outline:none; }
.ks-drawer-langs{ margin-top:auto; padding-top:16px; }
.ks-drawer-langs .ks-lang-menu{ position:static; display:flex; gap:8px; background:transparent; border:0; box-shadow:none; padding:0; }
.ks-drawer-langs .ks-lang > button{ display:none; }
.ks-drawer-langs .ks-lang-menu a{ flex:1; justify-content:center; border:1px solid var(--ks-border); border-radius:9999px; }

/* Pieds et sections Elementor sans marge parasite */
.ks-site .elementor-location-header .elementor-widget-shortcode .elementor-shortcode{ line-height:normal; }
.ks-announce-txt p{ margin:0; }
/* ===== Sections ===== */
.ks-section{ padding-block:80px !important; }
.ks-section--sm{ padding-block:56px 80px !important; }
@media (max-width:639px){ .ks-section{ padding-block:64px !important; } .ks-section--sm{ padding-block:56px !important; } }
.ks-bg-card{ background:var(--ks-card) !important; }
.ks-bg-accent{ background:var(--ks-accent) !important; color:var(--ks-on-accent); }
.ks-bg-accent h2, .ks-bg-accent h3, .ks-bg-accent .elementor-heading-title{ color:var(--ks-on-accent) !important; }
.ks-h2, .ks-site .ks-h2 .elementor-heading-title{ font-family:var(--ks-font-h) !important; font-size:30px !important; line-height:36px !important; font-weight:600 !important; margin:0; }
@media (max-width:639px){ .ks-h2, .ks-site .ks-h2 .elementor-heading-title{ font-size:24px !important; line-height:32px !important; } }
.ks-center .elementor-heading-title, .ks-center{ text-align:center; }
.ks-head-row{ display:flex !important; flex-direction:row !important; align-items:flex-end !important; justify-content:space-between !important; gap:16px !important; margin-bottom:32px; }
.ks-link .elementor-widget-container a, .ks-link a{ font-size:14px; line-height:20px; color:var(--ks-accent); text-decoration:underline; text-underline-offset:4px; white-space:nowrap; }
.ks-bg-accent .ks-link a{ color:var(--ks-on-accent); opacity:.9; }

/* Carrousel produits */
.ks-products-head .ks-h2{ flex-shrink:0; }
.ks-products-head{ display:flex; flex-direction:row; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:32px; }
.ks-products-head.is-centered{ justify-content:center; text-align:center; }
@media (max-width:639px){ .ks-products-head{ flex-direction:column; align-items:stretch; } }
.ks-tabs{ display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; margin-inline:-4px; padding:0 4px 4px; }
.ks-tabs::-webkit-scrollbar{ display:none; }
.ks-tab{ text-transform:none !important; letter-spacing:0 !important; flex-shrink:0; border-radius:9999px !important; padding:8px 16px !important; font-family:var(--ks-font-b) !important; font-size:14px !important; line-height:20px !important; font-weight:400 !important; border:1px solid var(--ks-border) !important; background:var(--ks-card) !important; color:var(--ks-ink) !important; cursor:pointer; transition:background-color .15s; }
.ks-tab:hover{ background:var(--ks-muted) !important; }
.ks-tab.is-active{ background:var(--ks-accent) !important; border-color:var(--ks-accent) !important; color:var(--ks-on-accent) !important; }
.ks-carousel{ position:relative; }
.ks-track{ display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin-inline:-4px; padding:0 4px 8px; scroll-behavior:smooth; }
.ks-track::-webkit-scrollbar{ display:none; }
.ks-slide{ scroll-snap-align:start; flex-shrink:0; width:calc(25% - 15px); }
.ks-slide[hidden]{ display:none !important; }
@media (max-width:1023px){ .ks-slide{ width:calc(50% - 10px); } }
@media (max-width:639px){ .ks-track{ gap:16px; } .ks-slide{ width:78%; } }
.ks-arrow{ text-transform:none !important; position:absolute; top:40%; transform:translateY(-50%); z-index:10; width:40px; height:40px; border-radius:9999px !important; background:var(--ks-card) !important; border:1px solid var(--ks-border) !important; box-shadow:0 4px 6px -1px rgba(57,42,29,.1), 0 2px 4px -2px rgba(57,42,29,.1); display:flex; align-items:center; justify-content:center; color:var(--ks-ink) !important; padding:0 !important; cursor:pointer; transition:background-color .15s,color .15s; }
.ks-arrow svg{ width:20px; height:20px; }
.ks-arrow:hover{ background:var(--ks-accent) !important; color:var(--ks-on-accent) !important; }
.ks-arrow--prev{ inset-inline-start:-12px; }
.ks-arrow--next{ inset-inline-end:-12px; }
html[dir="rtl"] .ks-arrow svg{ transform:scaleX(-1); }
@media (max-width:639px){ .ks-arrow{ display:none; } }
.ks-card-media{ position:relative; }
.ks-card-media > a{ display:block; }
.ks-card-media .ks-ph, .ks-card-img{ aspect-ratio:1/1; width:100%; height:auto; border-radius:24px !important; object-fit:cover; transition:transform .5s; }
.ks-card-img{ display:block; }
.ks-card:hover .ks-card-media .ks-ph, .ks-card:hover .ks-card-img{ transform:scale(1.02); }
.ks-badges{ position:absolute; top:12px; inset-inline-start:12px; display:flex; flex-direction:column; gap:6px; }
.ks-badge{ background:var(--ks-ink); color:var(--ks-bg); font-size:10px; line-height:15px; text-transform:uppercase; letter-spacing:.05em; padding:4px 10px; border-radius:9999px; }
.ks-badge--accent{ background:var(--ks-accent); }
.ks-card-body{ margin-top:12px; padding-inline:4px; }
.ks-card-body > a{ text-decoration:none; }
.ks-card-title{ font-family:var(--ks-font-h) !important; font-weight:500 !important; font-size:16px !important; line-height:1.375 !important; margin:0 !important; color:var(--ks-ink); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; transition:color .15s; }
.ks-card-title:hover{ color:var(--ks-accent); }
@media (max-width:639px){ .ks-card-title{ font-size:14px !important; } }
.ks-card-price{ margin-top:6px; font-size:14px; line-height:20px; font-weight:600; color:var(--ks-ink); }
.ks-card-price del{ color:var(--ks-muted-ink); font-weight:400; margin-inline-end:6px; }
.ks-card-price ins{ text-decoration:none; }
.ks-card-btn{ margin-top:12px; display:flex; align-items:center; justify-content:center; gap:8px; width:100%; border-radius:9999px; font-size:14px; line-height:20px; font-weight:500; padding:10px 0; background:var(--ks-accent); color:var(--ks-on-accent) !important; text-decoration:none; transition:opacity .15s; }
.ks-card-btn:hover{ opacity:.9; }
.ks-card-btn svg{ width:16px; height:16px; }
.ks-card-btn.is-disabled{ background:var(--ks-muted); color:var(--ks-muted-ink) !important; cursor:default; }

/* Banniere photo */
.ks-banner{ position:relative; overflow:hidden; isolation:isolate; height:52vh !important; min-height:320px; display:flex !important; align-items:center !important; justify-content:center !important; text-align:center; padding-inline:16px !important; }
@media (max-width:639px){ .ks-banner{ height:42vh !important; } }
.ks-banner-bg{ position:absolute !important; inset:0; z-index:-2; background-color:#8E6B4E; background-image:linear-gradient(135deg,#A98563,#6E4B33); background-size:cover !important; background-position:center !important; }
.ks-banner::before{ content:""; position:absolute; inset:0; z-index:-1; background:rgba(57,42,29,.3); }
.ks-banner .elementor-heading-title{ color:#fff !important; font-size:36px !important; line-height:40px !important; font-weight:600 !important; max-width:672px; margin-inline:auto; }
@media (max-width:639px){ .ks-banner .elementor-heading-title{ font-size:24px !important; line-height:32px !important; } }
.ks-banner-sub .elementor-widget-container{ margin-top:12px; color:rgba(255,255,255,.9); max-width:576px; margin-inline:auto; }

/* Avis */
.ks-reviews-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
@media (max-width:1023px){ .ks-reviews-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:639px){ .ks-reviews-grid{ grid-template-columns:1fr; } }
.ks-review{ background:rgba(255,255,255,.1); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); border-radius:24px; padding:20px; min-height:148px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }
.ks-review span{ font-size:12px; letter-spacing:.18em; text-transform:uppercase; opacity:.75; }
html[lang^="ar"] .ks-review span{ letter-spacing:0; }

/* Grilles de vignettes */
.ks-tiles{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
@media (max-width:1023px){ .ks-tiles{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:639px){ .ks-tiles{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } }
.ks-tile{ position:relative; display:block; border-radius:24px; overflow:hidden; aspect-ratio:1/1; }
.ks-tile .ks-ph, .ks-tile img{ position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; transition:transform .5s; }
.ks-tile:hover .ks-ph, .ks-tile:hover img{ transform:scale(1.05); }
.ks-tile-cap{ position:absolute; inset-inline:0; bottom:0; height:50%; background:linear-gradient(to top, rgba(57,42,29,.55), transparent); display:flex; align-items:flex-end; padding:12px; color:#fff; font-family:var(--ks-font-h); font-size:12px; font-weight:500; }
.ks-tiles--community .ks-tile{ border-radius:16px; }
.ks-tiles--community .ks-ph{ border-radius:16px; }
.ks-ig{ position:absolute; top:8px; inset-inline-end:8px; width:28px; height:28px; border-radius:9999px; background:rgba(242,232,212,.8); display:flex; align-items:center; justify-content:center; color:var(--ks-ink); }
.ks-ig svg{ width:14px; height:14px; }

/* Blocs photo et texte */
.ks-site .e-con.ks-stack{ display:block !important; }
.ks-stack > * + *{ margin-top:64px !important; }
@media (max-width:639px){ .ks-stack > * + *{ margin-top:48px !important; } }
.ks-split{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px !important; align-items:center !important; }
.ks-split--rev > *:first-child{ order:2; }
@media (max-width:767px){ .ks-split{ grid-template-columns:1fr; gap:32px !important; } .ks-split--rev > *:first-child{ order:0; } }
.ks-split-media .ks-ph, .ks-split-media img{ aspect-ratio:4/3; border-radius:32px !important; width:100%; object-fit:cover; }
.ks-eyebrow .elementor-widget-container, .ks-eyebrow{ display:inline-block; font-size:12px; line-height:16px; text-transform:uppercase; letter-spacing:.2em; color:var(--ks-accent); font-weight:500; margin-bottom:12px; }
html[lang^="ar"] .ks-eyebrow .elementor-widget-container{ letter-spacing:0; font-size:13px; }
.ks-split .ks-h2{ margin-bottom:16px; }
.ks-prose .elementor-widget-container, .ks-prose{ color:var(--ks-muted-ink); line-height:1.625; }
.ks-prose p{ margin:0; }

/* FAQ */
.ks-narrow{ max-width:768px !important; }
.ks-faq{ border-top:0; }
.ks-faq details{ border-bottom:1px solid rgba(255,255,255,.15); }
.ks-faq details:last-child{ border-bottom:0; }
.ks-faq summary{ list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 0; cursor:pointer; font-family:var(--ks-font-h); font-weight:500; font-size:18px; line-height:28px; color:var(--ks-on-accent); }
.ks-faq summary::-webkit-details-marker{ display:none; }
.ks-faq summary::after{ content:""; width:20px; height:20px; flex-shrink:0; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat; transition:transform .3s; }
.ks-faq details[open] summary::after{ transform:rotate(180deg); }
.ks-faq details p{ margin:0; padding:0 32px 20px 0; font-size:16px; line-height:1.625; opacity:.85; color:var(--ks-on-accent); }
html[dir="rtl"] .ks-faq details p{ padding:0 0 20px 32px; }
@media (max-width:639px){ .ks-faq summary{ font-size:16px; line-height:24px; } .ks-faq details p{ font-size:14px; } }
.ks-faq-title{ margin-bottom:32px; }

/* Pied de page */
.ks-footer{ margin-top:64px; background:var(--ks-bg); color:var(--ks-ink); }
.ks-foot-trust{ border-block:1px solid var(--ks-border); background:var(--ks-card); }
.ks-foot-trust-in{ padding-block:24px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; text-align:center; }
@media (max-width:639px){ .ks-foot-trust-in{ grid-template-columns:1fr; } }
.ks-foot-trust-item{ display:flex; flex-direction:column; align-items:center; gap:8px; }
.ks-foot-trust-item svg{ width:24px; height:24px; color:var(--ks-accent); }
.ks-foot-trust-item p{ margin:0; font-size:14px; line-height:20px; font-weight:500; }
.ks-foot-grid{ padding-block:48px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:32px; }
.ks-foot-brand{ grid-column:span 2; }
@media (max-width:767px){ .ks-foot-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } .ks-foot-brand, .ks-foot-news{ grid-column:span 2; } }
.ks-foot-logo{ display:inline-flex; align-items:center; gap:8px; margin-bottom:16px; text-decoration:none; }
.ks-foot-logo-img{ width:136px !important; height:136px !important; object-fit:contain; }
.ks-foot-logo span{ font-family:"Poppins",sans-serif; font-weight:600; font-size:30px; line-height:1; letter-spacing:-.02em; color:var(--ks-accent); }
.ks-foot-brand p, .ks-foot-news p{ font-size:14px; line-height:20px; color:var(--ks-muted-ink); max-width:320px; margin:0; }
.ks-socials{ display:flex; gap:12px; margin-top:16px; }
.ks-socials a{ padding:8px; border-radius:9999px; background:var(--ks-muted); color:var(--ks-ink); display:inline-flex; transition:background-color .15s,color .15s; }
.ks-socials a:hover{ background:var(--ks-accent); color:var(--ks-on-accent); }
.ks-socials svg{ width:16px; height:16px; }
.ks-foot-col h4,.ks-foot-col h3{ font-family:var(--ks-font-h); font-weight:600; font-size:14px; line-height:20px; margin:0 0 12px; color:var(--ks-ink); }
.ks-foot-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.ks-foot-col a{ font-size:14px; line-height:20px; color:var(--ks-muted-ink); text-decoration:none; }
.ks-foot-col a:hover{ color:var(--ks-ink); }
.ks-foot-news p{ margin-bottom:12px; }
.ks-nl{ display:flex; align-items:center; gap:8px; }
.ks-nl input[type=email]{ flex:1; min-width:0; border-radius:9999px !important; background:var(--ks-muted) !important; border:1px solid var(--ks-border) !important; padding:8px 16px !important; font-size:14px !important; line-height:20px; color:var(--ks-ink) !important; outline:none; box-shadow:none !important; height:auto !important; }
.ks-nl input[type=email]:focus{ box-shadow:0 0 0 2px var(--ks-accent) !important; }
.ks-nl button{ flex-shrink:0; border-radius:9999px !important; background:var(--ks-accent) !important; color:var(--ks-on-accent) !important; padding:10px !important; border:0 !important; display:inline-flex; line-height:0; cursor:pointer; }
.ks-nl button svg{ width:16px; height:16px; }
html[dir="rtl"] .ks-nl button svg{ transform:scaleX(-1); }
.ks-nl-msg{ margin-top:8px !important; font-size:13px !important; color:var(--ks-accent) !important; }
.ks-nl-msg.is-err{ color:#9B2C1F !important; }
.ks-foot-bottom{ border-top:1px solid var(--ks-border); }
.ks-foot-bottom-in{ padding-block:20px; display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:16px; font-size:12px; line-height:16px; color:var(--ks-muted-ink); }
.ks-foot-bottom-in p{ margin:0; }
@media (max-width:639px){ .ks-foot-bottom-in{ flex-direction:column; } }
.ks-foot-legal{ display:flex; flex-wrap:wrap; justify-content:center; gap:4px 16px; }
.ks-foot-legal a{ color:var(--ks-muted-ink); text-decoration:none; }
.ks-foot-legal a:hover{ color:var(--ks-ink); }
.ks-site .elementor-location-footer{ background:var(--ks-bg); }
.ks-site .e-con > .elementor-widget.ks-tiles-w, .ks-site .e-con > .elementor-widget.ks-reviews-w, .ks-site .e-con > .elementor-widget.ks-split-media, .ks-site .e-con > .elementor-widget.ks-faq-w{ flex-shrink:0; }

/* Les conteneurs flex en colonne mesurent a zero les grilles carrees : empilement en bloc */
.ks-site .e-con.ks-wrap:not(.ks-header-row):not(.ks-hero-inner){ display:block !important; }

.ks-banner-bg{ background-color:#8E6B4E; }
.ks-hero-bg{ background-color:#EAD9BC; }

.ks-nav a{ white-space:nowrap; }
.ks-lang > button{ white-space:nowrap; }
@media (min-width:1024px) and (max-width:1199px){ .ks-nav ul{ gap:20px; } .ks-logo-img{ width:64px !important; height:64px !important; } .ks-brand-txt{ font-size:24px; } .ks-tools-in{ gap:4px; } }

/* ===== Fiche produit ===== */
.ks-product-page .site-content > .ast-container{ max-width:var(--ks-max) !important; padding-inline:var(--ks-gutter) !important; display:block; }
.ks-product-page #primary{ margin:0 !important; padding:0 !important; width:100% !important; }
.ks-product-page .ast-woocommerce-container{ padding:0 !important; background:transparent !important; }
.ks-product-page .woocommerce-breadcrumb, .ks-product-page .ast-breadcrumbs-wrapper{ display:none !important; }
.ks-crumbs{ display:flex; align-items:center; gap:6px; padding-top:20px; font-size:12px; line-height:16px; color:var(--ks-muted-ink); }
.ks-crumbs a{ color:var(--ks-muted-ink); text-decoration:none; }
.ks-crumbs a:hover{ color:var(--ks-ink); }
.ks-crumbs span{ color:var(--ks-ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ks-crumbs svg{ width:12px; height:12px; flex-shrink:0; }
html[dir="rtl"] .ks-crumbs svg{ transform:scaleX(-1); }
.ks-product-page div.product{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:48px; row-gap:0; padding-block:48px 0; margin:0 !important; }
@media (max-width:767px){ .ks-product-page div.product{ grid-template-columns:1fr; column-gap:0; row-gap:32px; padding-block:32px 0; } }
.ks-product-page div.product::before, .ks-product-page div.product::after{ display:none !important; }
.ks-product-page div.product > *{ float:none !important; width:auto !important; margin:0 !important; clear:none !important; }
.ks-product-page div.product > .ks-gallery{ grid-column:1; }
.ks-product-page div.product > .summary{ grid-column:2; }
.ks-product-page div.product > .ks-ptabs, .ks-product-page div.product > .ks-guide, .ks-product-page div.product > .ks-pvideo, .ks-product-page div.product > .ks-prelated{ grid-column:1 / -1; }
@media (max-width:767px){ .ks-product-page div.product > .ks-gallery, .ks-product-page div.product > .summary{ grid-column:1; } }
.ks-gallery{ align-self:start; }
@media (min-width:768px){ .ks-gallery{ position:sticky; top:112px; } }
.ks-gallery-main{ border-radius:24px; overflow:hidden; }
.ks-gallery-img{ display:none; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; border-radius:24px; }
.ks-gallery-img.is-active{ display:block; }
.ks-gallery-main .ks-ph{ aspect-ratio:1/1; }
.ks-thumbs{ margin-top:12px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
@media (max-width:639px){ .ks-thumbs{ gap:8px; } }
.ks-thumb{ padding:0 !important; border-radius:16px !important; overflow:hidden; border:2px solid transparent !important; background:transparent !important; cursor:pointer; line-height:0; }
.ks-thumb.is-active{ border-color:var(--ks-accent) !important; }
.ks-thumb img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:14px; }
.ks-p-title{ font-family:var(--ks-font-h) !important; font-size:30px !important; line-height:1.25 !important; font-weight:600 !important; margin:0 !important; color:var(--ks-ink); }
@media (max-width:639px){ .ks-p-title{ font-size:24px !important; } }
.ks-p-price{ margin-top:12px; display:flex; align-items:center; gap:12px; font-size:24px; line-height:32px; font-weight:600; color:var(--ks-ink) !important; }
.ks-p-price del{ font-size:18px; font-weight:400; color:var(--ks-muted-ink); opacity:1; }
.ks-p-price ins{ text-decoration:none; background:transparent; }
.ks-p-price .amount{ color:inherit; }
.ks-points{ list-style:none; margin:20px 0 0 !important; padding:0 !important; display:flex; flex-direction:column; gap:10px; }
.ks-points li{ display:flex; align-items:flex-start; gap:10px; font-size:14px; line-height:20px; color:rgba(57,42,29,.9); margin:0; }
.ks-check{ margin-top:2px; flex-shrink:0; width:20px; height:20px; border-radius:9999px; background:rgba(121,67,42,.1); color:var(--ks-accent); display:inline-flex; align-items:center; justify-content:center; }
.ks-check svg{ width:12px; height:12px; }
#ks-order{ scroll-margin-top:120px; height:0; }
.ks-product-page .summary .wooecom-form, .ks-product-page .summary form.cart{ margin-top:24px !important; }
.ks-guar{ margin-top:20px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ks-guar-item{ display:flex; align-items:center; gap:10px; border-radius:16px; background:var(--ks-card); padding:12px; }
.ks-guar-item svg{ width:20px; height:20px; color:var(--ks-accent); flex-shrink:0; }
.ks-guar-item span{ font-size:12px; line-height:1.25; color:var(--ks-muted-ink); }
.ks-ptabs{ margin-top:64px !important; }
.ks-ptabs-nav{ display:flex; gap:4px; overflow-x:auto; scrollbar-width:none; border-radius:9999px; background:var(--ks-muted); padding:6px; }
.ks-ptabs-nav::-webkit-scrollbar{ display:none; }
.ks-ptab{ flex-shrink:0; white-space:nowrap; border-radius:9999px !important; padding:8px 20px !important; font-family:var(--ks-font-b) !important; font-size:14px !important; line-height:20px !important; font-weight:500 !important; background:transparent !important; color:var(--ks-muted-ink) !important; border:0 !important; cursor:pointer; text-transform:none !important; letter-spacing:0 !important; }
.ks-ptab.is-active{ background:var(--ks-accent) !important; color:var(--ks-on-accent) !important; box-shadow:0 1px 3px rgba(57,42,29,.15); }
.ks-ppanel{ margin-top:20px; border-radius:24px; background:var(--ks-card); padding:24px; font-size:14px; line-height:1.625; color:var(--ks-muted-ink); }
.ks-ppanel p{ margin:8px 0; }
.ks-guide{ padding-block:80px 0; }
.ks-guide .ks-h2{ margin-bottom:40px !important; }
.ks-guide-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
@media (max-width:1023px){ .ks-guide-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:639px){ .ks-guide-grid{ grid-template-columns:1fr; gap:16px; } .ks-guide{ padding-block:64px 0; } }
.ks-guide-card{ border-radius:24px; background:var(--ks-card); border:1px solid rgba(216,207,192,.6); padding:24px; }
.ks-guide-ic{ width:48px; height:48px; border-radius:16px; background:rgba(121,67,42,.1); color:var(--ks-accent); display:inline-flex; align-items:center; justify-content:center; margin-bottom:16px; }
.ks-guide-ic svg{ width:24px; height:24px; }
.ks-guide-card h3{ font-family:var(--ks-font-h) !important; font-weight:600 !important; font-size:16px !important; line-height:24px !important; margin:0 0 12px !important; }
.ks-guide-card ul{ list-style:none; margin:0 !important; padding:0 !important; display:flex; flex-direction:column; gap:8px; }
.ks-guide-card li{ position:relative; padding-inline-start:14px; font-size:14px; line-height:1.375; color:var(--ks-muted-ink); margin:0; }
.ks-guide-card li::before{ content:""; position:absolute; inset-inline-start:0; top:7px; width:6px; height:6px; border-radius:9999px; background:var(--ks-accent); }
.ks-pvideo{ margin-top:80px !important; margin-inline:calc(50% - 50vw) !important; background:var(--ks-card); padding:80px var(--ks-gutter); }
.ks-pvideo-in{ max-width:var(--ks-max); margin-inline:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; align-items:center; }
@media (max-width:767px){ .ks-pvideo-in{ grid-template-columns:1fr; gap:32px; } }
.ks-pvideo-media{ border-radius:24px; overflow:hidden; background:var(--ks-bg); border:1px solid rgba(216,207,192,.6); }
.ks-pvideo-media video{ width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.ks-prelated{ padding-block:80px 0; }
.ks-sticky-buy{ display:none; }
@media (max-width:767px){
  .ks-product-page{ padding-bottom:88px; }
  .ks-sticky-buy{ position:fixed; inset-inline:0; bottom:0; z-index:50; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:rgba(242,232,212,.95); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-top:1px solid var(--ks-border); }
  .ks-sticky-price{ font-size:16px; font-weight:600; color:var(--ks-ink); }
  .ks-sticky-price del{ font-size:13px; font-weight:400; color:var(--ks-muted-ink); }
  .ks-sticky-price ins{ text-decoration:none; }
  .ks-sticky-btn{ flex:1; max-width:220px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:9999px; background:var(--ks-accent); color:var(--ks-on-accent) !important; padding:12px 20px; font-size:14px; font-weight:500; text-decoration:none; }
  .ks-sticky-btn svg{ width:16px; height:16px; }
}
/* ===== Boutique ===== */
.ks-shop-head-in{ padding-block:64px !important; max-width:768px; text-align:center; }
@media (max-width:639px){ .ks-shop-head-in{ padding-block:48px !important; } }
.ks-shop-title{ font-family:var(--ks-font-h) !important; font-size:36px !important; line-height:40px !important; font-weight:600 !important; margin:0 !important; }
@media (max-width:639px){ .ks-shop-title{ font-size:30px !important; line-height:36px !important; } }
.ks-shop-head-in p{ margin:12px 0 0; color:var(--ks-muted-ink); }
.ks-band{ background:var(--ks-accent); color:var(--ks-on-accent); }
.ks-band-in{ padding-block:20px !important; display:flex !important; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px 32px; font-size:14px; line-height:20px; }
.ks-band-item{ display:inline-flex; align-items:center; gap:8px; }
.ks-band-item svg{ width:16px; height:16px; }
.ks-band-sep{ width:1px; height:20px; background:rgba(255,255,255,.25); }
@media (max-width:639px){ .ks-band-sep{ display:none; } }
.ks-shop{ padding-block:40px 0; }
.ks-shop-tabs{ padding-bottom:12px; margin-bottom:16px; }
.ks-shop-bar{ display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:12px; margin-bottom:24px; }
@media (max-width:639px){ .ks-shop-bar{ flex-direction:column; align-items:flex-start; } }
.ks-shop-count{ margin:0; font-size:14px; color:var(--ks-muted-ink); }
.ks-shop-filters{ display:flex; align-items:center; gap:12px; }
.ks-shop-max, .ks-shop-sort{ border-radius:9999px !important; background:var(--ks-card) !important; border:1px solid var(--ks-border) !important; padding:8px 16px !important; font-size:14px !important; line-height:20px !important; color:var(--ks-ink) !important; height:auto !important; box-shadow:none !important; outline:none; font-family:var(--ks-font-b); }
.ks-shop-max{ width:128px; padding-inline:12px !important; }
.ks-shop-sort{ padding-inline-end:36px !important; }
.ks-shop-max:focus, .ks-shop-sort:focus{ box-shadow:0 0 0 2px var(--ks-accent) !important; }
.ks-shop-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
@media (max-width:1023px){ .ks-shop-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } }
.ks-shop-grid .ks-slide{ width:auto; }
.ks-shop-empty{ padding:48px 0; text-align:center; color:var(--ks-muted-ink); }

/* WooEcom : retouches */
.wooecom_instant_order button, .wooecom_instant_order input[type=submit], .wooecom_instant_order .button{ text-transform:none !important; letter-spacing:0 !important; font-family:var(--ks-font-b) !important; border-radius:9999px !important; }
.ks-sticky-price del, .ks-sticky-price .screen-reader-text{ display:none; }
/* ===== Pages de contenu ===== */
.ks-site .e-con.ks-narrow-3{ max-width:768px !important; }
.ks-site .e-con.ks-narrow-5{ max-width:1024px !important; }
.ks-page-pad{ padding-block:48px 64px !important; }
@media (max-width:639px){ .ks-page-pad{ padding-block:48px !important; } }
.ks-page-head{ text-align:center; padding-block:56px 0 !important; }
.ks-page-pad .ks-page-head{ padding-block:0 !important; margin-bottom:40px; }
.ks-narrow-3 > .ks-page-head{ padding-block:80px 64px !important; }
@media (max-width:639px){ .ks-narrow-3 > .ks-page-head{ padding-block:56px 40px !important; } }
.ks-site .ks-page-title .elementor-heading-title, .ks-site h1.ks-page-title{ font-size:48px !important; line-height:1.1 !important; font-weight:600 !important; margin:0; }
.ks-page-pad .ks-page-title .elementor-heading-title{ font-size:36px !important; line-height:40px !important; }
@media (max-width:639px){ .ks-site .ks-page-title .elementor-heading-title, .ks-page-pad .ks-page-title .elementor-heading-title{ font-size:30px !important; line-height:36px !important; } }
.ks-center-w{ text-align:center; margin-bottom:12px; }
.ks-center-w .elementor-widget-container{ margin-bottom:0; }
.ks-page-sub .elementor-widget-container{ margin-top:12px; color:var(--ks-muted-ink); }
.ks-page-sub p{ margin:0; }
.ks-about-media{ padding-bottom:64px !important; }
.ks-about-media img{ width:100%; height:auto; border-radius:24px; object-fit:cover; display:block; }
.ks-img-desktop img{ aspect-ratio:16/7; }
.ks-img-mobile{ display:none; }
@media (max-width:639px){ .ks-img-desktop{ display:none; } .ks-img-mobile{ display:block; } .ks-img-mobile img{ aspect-ratio:3/4; } }
.ks-about-body{ padding-bottom:64px !important; }
.ks-about-block + .ks-about-block{ margin-top:64px !important; }
@media (max-width:639px){ .ks-about-block + .ks-about-block{ margin-top:48px !important; } }
.ks-about-h .elementor-heading-title{ font-size:24px !important; line-height:32px !important; font-weight:600 !important; color:var(--ks-accent) !important; margin-bottom:16px !important; }
@media (max-width:639px){ .ks-about-h .elementor-heading-title{ font-size:20px !important; line-height:28px !important; } }
.ks-about-p p{ margin:0 0 16px; font-size:18px; line-height:1.625; color:var(--ks-muted-ink); }
.ks-about-p p:last-child{ margin-bottom:0; }
@media (max-width:639px){ .ks-about-p p{ font-size:16px; } }
.ks-about-cta{ padding-block:40px !important; }
.ks-about-cta .ks-btn .elementor-button{ padding:14px 32px !important; }
.ks-contact-grid{ display:grid !important; grid-template-columns:1fr 2fr; gap:32px !important; align-items:start; }
@media (max-width:767px){ .ks-contact-grid{ grid-template-columns:1fr; } }
.ks-contact-cards{ display:flex; flex-direction:column; gap:16px; }
.ks-contact-card{ display:flex; align-items:flex-start; gap:12px; border-radius:24px; background:var(--ks-card); padding:20px; text-decoration:none; color:var(--ks-ink); transition:background-color .15s; }
.ks-contact-card:hover{ background:var(--ks-muted); }
.ks-contact-card svg{ width:20px; height:20px; color:var(--ks-accent); flex-shrink:0; margin-top:2px; }
.ks-contact-card p{ margin:0; }
.ks-contact-t{ font-size:14px; font-weight:500; }
.ks-contact-v{ font-size:14px; color:var(--ks-muted-ink); text-align:start; }
.ks-form{ border-radius:24px; background:var(--ks-card); padding:32px; display:flex; flex-direction:column; gap:16px; }
@media (max-width:639px){ .ks-form{ padding:24px; } }
.ks-field label{ display:block; font-size:14px; font-weight:500; margin-bottom:6px; color:var(--ks-ink); }
.ks-field input, .ks-field textarea{ width:100%; border-radius:16px !important; background:var(--ks-bg) !important; border:1px solid var(--ks-border) !important; padding:10px 16px !important; font-family:var(--ks-font-b); font-size:14px !important; color:var(--ks-ink) !important; box-shadow:none !important; outline:none; resize:none; }
.ks-field input:focus, .ks-field textarea:focus{ box-shadow:0 0 0 2px var(--ks-accent) !important; }
.ks-form-btn{ width:100%; border-radius:9999px !important; background:var(--ks-accent) !important; color:var(--ks-on-accent) !important; padding:12px !important; font-family:var(--ks-font-b) !important; font-size:14px !important; font-weight:500 !important; border:0 !important; cursor:pointer; text-transform:none !important; letter-spacing:0 !important; transition:opacity .15s, transform .1s; }
.ks-form-btn:hover{ opacity:.9; }
.ks-form-btn:active{ transform:scale(.98); }
.ks-form-msg{ margin:0; padding:12px 16px; border-radius:16px; background:rgba(121,67,42,.1); color:var(--ks-accent); font-size:14px; }
.ks-form-msg.is-err{ background:rgba(155,44,31,.1); color:#9B2C1F; }
.ks-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; }
.ks-info-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
@media (max-width:767px){ .ks-info-grid{ grid-template-columns:1fr; } }
.ks-info-card{ padding:32px; height:100%; }
@media (max-width:639px){ .ks-info-card{ padding:24px; } }
.ks-info-card h2{ font-family:var(--ks-font-h) !important; font-size:20px !important; line-height:28px !important; font-weight:600 !important; margin:0 0 12px !important; }
.ks-info-card li{ line-height:1.625; }
.ks-legal-title .elementor-heading-title{ text-align:start; }
.ks-legal-h .elementor-heading-title{ font-size:20px !important; line-height:28px !important; font-weight:600 !important; margin:32px 0 8px !important; }
.ks-legal-p p{ margin:0 0 12px; font-size:15px; line-height:1.7; color:var(--ks-muted-ink); }
.ks-legal-title + .ks-legal-p{ margin-top:32px; }
/* Barre d annonce : 36px comme keetsoon (Elementor force height:100% sur le widget) */
.ks-site .e-con.ks-announce{ height:36px !important; min-height:36px; display:flex !important; align-items:center !important; justify-content:center !important; }
.ks-site .ks-announce > .elementor-widget > .elementor-widget-container{ height:36px !important; }
/* En-tete : pas de ligne fantome autour du logo */
.ks-site .ks-logo > .elementor-widget-container, .ks-site .ks-tools > .elementor-widget-container, .ks-site .ks-nav > .elementor-widget-container{ display:flex; align-items:center; line-height:0; }
.ks-site .ks-nav > .elementor-widget-container{ line-height:normal; justify-content:center; }
.ks-site .ks-tools-in{ line-height:normal; }

.ks-site .ks-logo .elementor-shortcode{ display:flex; align-items:center; line-height:0; }
.ks-site .ks-tools .elementor-shortcode, .ks-site .ks-nav .elementor-shortcode{ display:flex; align-items:center; }

/* ===== Menu du compte ===== */
.ks-acc{ position:relative; }
.ks-acc-menu{ position:absolute; top:calc(100% + 8px); inset-inline-end:0; z-index:60; width:208px; border-radius:16px; background:var(--ks-card); border:1px solid var(--ks-border); box-shadow:0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1); padding:8px; display:none; }
.ks-acc.is-open .ks-acc-menu{ display:block; }
.ks-acc-menu a{ display:block; padding:8px 12px; border-radius:12px; font-family:var(--ks-font-b); font-size:14px; line-height:20px; color:var(--ks-ink); text-decoration:none; transition:background-color .15s; }
.ks-acc-menu a:hover{ background:var(--ks-muted); }

/* ===== Connexion / inscription ===== */
body.elementor-template-canvas.ks-site{ background:var(--ks-bg); }
.ks-auth{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:48px 16px; background:var(--ks-bg); }
.ks-auth-box{ width:100%; max-width:448px; }
.ks-auth-head{ text-align:center; margin-bottom:40px; }
.ks-auth-icon{ display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:16px; background:var(--ks-accent); color:var(--ks-on-accent); margin-bottom:16px; }
.ks-auth-icon svg{ width:24px; height:24px; }
.ks-auth-head h1{ font-family:var(--ks-font-h) !important; font-size:30px !important; line-height:36px !important; font-weight:700 !important; letter-spacing:-.025em; color:var(--ks-ink); margin:0 !important; }
html[lang^="ar"] .ks-auth-head h1{ letter-spacing:0; }
.ks-auth-head p{ margin:8px 0 0; font-size:16px; color:var(--ks-muted-ink); }
.ks-auth-card{ background:var(--ks-card); border:1px solid var(--ks-border); border-radius:16px; box-shadow:0 1px 2px rgba(0,0,0,.05); padding:32px; }
@media (max-width:639px){ .ks-auth-card{ padding:24px; } }
.ks-auth-form{ display:flex; flex-direction:column; gap:16px; }
.ks-auth-field{ display:flex; flex-direction:column; gap:8px; }
.ks-auth-field label{ font-family:var(--ks-font-b); font-size:14px; line-height:1; font-weight:500; color:var(--ks-ink); }
.ks-auth-row{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.ks-auth-row a{ font-size:12px; color:var(--ks-accent); text-decoration:none; }
.ks-auth-row a:hover{ text-decoration:underline; }
.ks-auth-input{ position:relative; }
.ks-auth-input svg{ position:absolute; top:50%; inset-inline-start:12px; transform:translateY(-50%); width:16px; height:16px; color:var(--ks-muted-ink); pointer-events:none; }
.ks-auth-input input{ width:100%; height:48px !important; border-radius:18px !important; border:1px solid var(--ks-border) !important; background:transparent !important; box-shadow:0 1px 2px rgba(0,0,0,.05) !important; padding:4px 12px !important; padding-inline-start:40px !important; font-family:var(--ks-font-b) !important; font-size:14px !important; color:var(--ks-ink) !important; outline:none; }
.ks-auth-input input::placeholder{ color:var(--ks-muted-ink); }
.ks-auth-input input:focus{ box-shadow:0 0 0 1px var(--ks-accent) !important; }
.ks-auth-btn{ width:100%; height:48px; border-radius:18px !important; background:var(--ks-accent) !important; color:var(--ks-on-accent) !important; border:0 !important; box-shadow:0 1px 3px rgba(0,0,0,.1), 0 1px 2px -1px rgba(0,0,0,.1); font-family:var(--ks-font-b) !important; font-size:14px !important; font-weight:500 !important; text-transform:none !important; letter-spacing:0 !important; cursor:pointer; transition:background-color .15s; padding:0 16px !important; }
.ks-auth-btn:hover{ background:rgba(121,67,42,.9) !important; }
.ks-auth-foot{ text-align:center; font-size:14px; color:var(--ks-muted-ink); margin:24px 0 0; }
.ks-auth-foot a{ color:var(--ks-accent); font-weight:500; text-decoration:none; }
.ks-auth-foot a:hover{ text-decoration:underline; }
.ks-auth-msg{ margin:0 0 16px; padding:12px 16px; border-radius:12px; font-size:14px; line-height:1.5; background:rgba(121,67,42,.1); color:var(--ks-accent); }
.ks-auth-msg.is-err{ background:rgba(155,44,31,.08); color:#9B2C1F; }
/* keetsoon : recherche et compte en 36px, panier en 40px */
@media (min-width:640px){ .ks-tools-in > .ks-open-drawer:not(.ks-burger), .ks-acc > .ks-iconbtn{ width:36px; height:36px; } }

/* ===== Panier lateral ===== */
.ks-cart{ position:fixed; inset:0; z-index:110; background:rgba(0,0,0,.4); display:flex; justify-content:flex-end; }
.ks-cart[hidden]{ display:none !important; }
.ks-cart-panel{ width:min(440px,100%); height:100%; display:flex; flex-direction:column; background:var(--ks-bg); color:var(--ks-ink); border-inline-start:1px solid var(--ks-border); font-family:var(--ks-font-b); }
.ks-cart-head{ display:flex; align-items:center; justify-content:space-between; padding:20px; border-bottom:1px solid var(--ks-border); }
.ks-cart-head strong{ font-family:var(--ks-font-h); font-size:18px; line-height:28px; font-weight:700; }
.ks-cart-x{ width:36px !important; height:36px !important; padding:0 !important; display:inline-flex; align-items:center; justify-content:center; border-radius:9999px !important; border:0 !important; background:var(--ks-muted) !important; color:var(--ks-muted-ink) !important; font-size:20px !important; line-height:1 !important; cursor:pointer; transition:background-color .15s,color .15s; }
.ks-cart-x:hover{ background:var(--ks-accent) !important; color:var(--ks-on-accent) !important; }
.ks-cart-body{ flex:1; overflow-y:auto; padding:16px; }
.ks-cart-empty{ height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:12px; padding-block:40px; }
.ks-cart-empty svg{ width:40px; height:40px; color:rgba(126,105,88,.4); }
.ks-cart-empty p{ margin:0; font-size:16px; color:var(--ks-muted-ink); }
.ks-cart-continue{ border-radius:9999px !important; border:1px solid var(--ks-border) !important; background:var(--ks-card) !important; color:var(--ks-ink) !important; padding:10px 20px !important; font-family:var(--ks-font-b) !important; font-size:14px !important; font-weight:400 !important; line-height:20px !important; text-transform:none !important; letter-spacing:0 !important; cursor:pointer; transition:background-color .15s; }
.ks-cart-continue:hover{ background:var(--ks-muted) !important; }
.ks-cart-loading{ height:100%; min-height:200px; display:flex; align-items:center; justify-content:center; }
.ks-cart-loading::after{ content:""; width:24px; height:24px; border-radius:9999px; border:2px solid var(--ks-border); border-top-color:var(--ks-accent); animation:ks-spin .8s linear infinite; }
@keyframes ks-spin{ to{ transform:rotate(360deg); } }
.ks-cart-items{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.ks-cart-item{ display:flex; gap:12px; padding-bottom:16px; border-bottom:1px solid var(--ks-border); }
.ks-cart-item:last-child{ border-bottom:0; }
.ks-cart-img{ width:80px !important; height:80px !important; object-fit:cover; border-radius:16px; flex-shrink:0; display:block; background:var(--ks-muted); }
.ks-cart-info{ flex:1; min-width:0; display:flex; flex-direction:column; justify-content:space-between; gap:8px; }
.ks-cart-row{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
.ks-cart-name{ margin:0; font-family:var(--ks-font-h); font-size:14px; line-height:20px; font-weight:500; }
.ks-cart-info dl.variation{ margin:0; font-size:12px; color:var(--ks-muted-ink); }
.ks-cart-remove{ width:28px !important; height:28px !important; padding:0 !important; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; border:0 !important; border-radius:9999px !important; background:transparent !important; color:var(--ks-muted-ink) !important; cursor:pointer; }
.ks-cart-remove:hover{ background:var(--ks-muted) !important; color:var(--ks-ink) !important; }
.ks-cart-remove svg{ width:16px; height:16px; }
.ks-qty{ display:inline-flex; align-items:center; border:1px solid var(--ks-border); border-radius:9999px; }
.ks-qty button{ width:32px !important; height:32px !important; padding:0 !important; border:0 !important; background:transparent !important; color:var(--ks-ink) !important; font-size:16px !important; line-height:1 !important; cursor:pointer; border-radius:9999px !important; }
.ks-qty button:hover{ background:var(--ks-muted) !important; }
.ks-qty span{ min-width:24px; text-align:center; font-size:14px; font-weight:500; }
.ks-cart-price{ font-size:14px; font-weight:600; }
.ks-cart-foot:empty{ display:none; }
.ks-cart-foot{ padding:16px 20px calc(16px + env(safe-area-inset-bottom)); border-top:1px solid var(--ks-border); display:flex; flex-direction:column; gap:8px; }
.ks-cart-sub{ display:flex; justify-content:space-between; align-items:center; font-size:16px; }
.ks-cart-sub strong{ font-weight:600; }
.ks-cart-note{ margin:0 0 8px; font-size:12px; color:var(--ks-muted-ink); }
.ks-cart-checkout{ display:flex; align-items:center; justify-content:center; height:48px; border-radius:9999px; background:var(--ks-accent); color:var(--ks-on-accent) !important; font-size:14px; font-weight:500; text-decoration:none; transition:opacity .15s; }
.ks-cart-checkout:hover{ opacity:.9; }
.ks-cart-continue--link{ border:0 !important; background:transparent !important; color:var(--ks-muted-ink) !important; text-decoration:underline; text-underline-offset:4px; }
.ks-cart-continue--link:hover{ background:transparent !important; color:var(--ks-ink) !important; }
.is-busy .ks-cart-body{ opacity:.5; pointer-events:none; }
/* ===== Menu compte connecte ===== */
.ks-acc-email{ margin:0; padding:8px 12px 4px; font-size:12px; line-height:16px; color:var(--ks-muted-ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ===== Verification par code ===== */
.ks-otp-form{ display:flex; flex-direction:column; align-items:stretch; gap:28px; }
.ks-otp{ display:flex; justify-content:center; }
.ks-otp-d{ width:45px !important; height:46px !important; padding:0 !important; margin:0 !important; text-align:center; font-family:var(--ks-font-b) !important; font-size:18px !important; font-weight:500; color:var(--ks-ink) !important; background:transparent !important; border:1px solid var(--ks-border) !important; border-inline-start-width:0 !important; border-radius:0 !important; box-shadow:0 1px 2px rgba(0,0,0,.05) !important; outline:none; }
.ks-otp-d:first-child{ border-inline-start-width:1px !important; border-start-start-radius:9999px !important; border-end-start-radius:9999px !important; }
.ks-otp-d:last-child{ border-start-end-radius:9999px !important; border-end-end-radius:9999px !important; }
.ks-otp-d:focus{ position:relative; z-index:1; box-shadow:0 0 0 1px var(--ks-accent) !important; border-color:var(--ks-accent) !important; }
.ks-otp .ks-otp-d:first-child:focus{ border-inline-start-width:1px !important; }
@media (max-width:380px){ .ks-otp-d{ width:40px !important; } }
.ks-auth-btn:disabled{ opacity:.5; cursor:not-allowed; }
.ks-otp-resend p{ margin:16px 0 0; text-align:center; font-size:14px; color:var(--ks-muted-ink); }
.ks-otp-resend button{ border:0 !important; background:transparent !important; padding:0 !important; color:var(--ks-accent) !important; font-family:var(--ks-font-b) !important; font-size:14px !important; font-weight:500 !important; text-transform:none !important; letter-spacing:0 !important; cursor:pointer; }
.ks-otp-resend button:hover{ text-decoration:underline; }

/* ===== Page Mon compte ===== */
.ks-account{ max-width:1060px; margin-inline:auto; padding:48px var(--ks-gutter) 80px; }
.ks-account-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:40px; }
.ks-account-head h1{ font-family:var(--ks-font-h) !important; font-size:36px !important; line-height:48px !important; font-weight:600 !important; margin:0 !important; color:var(--ks-ink); }
@media (max-width:639px){ .ks-account-head{ flex-direction:column; } .ks-account-head h1{ font-size:30px !important; line-height:40px !important; } }
.ks-account-head p{ margin:4px 0 0; font-size:16px; color:var(--ks-muted-ink); }
.ks-account-logout{ display:inline-flex; align-items:center; gap:12px; margin-top:12px; padding:10px 20px; border-radius:9999px; border:1px solid var(--ks-border); background:transparent; color:var(--ks-ink) !important; font-size:16px; line-height:24px; text-decoration:none; white-space:nowrap; transition:background-color .15s; }
.ks-account-logout:hover{ background:var(--ks-muted); }
.ks-account-logout svg{ width:20px; height:20px; }
html[dir="rtl"] .ks-account-logout svg{ transform:scaleX(-1); }
.ks-account > .ks-form-msg{ margin-bottom:24px; }
.ks-account-card{ background:var(--ks-card); border-radius:24px; padding:40px; margin-bottom:24px; }
@media (max-width:639px){ .ks-account-card{ padding:24px; } }
.ks-account-card h2{ display:flex; align-items:center; gap:12px; font-family:var(--ks-font-h) !important; font-size:24px !important; line-height:32px !important; font-weight:600 !important; margin:0 0 24px !important; color:var(--ks-ink); }
.ks-account-card h2 svg{ width:24px; height:24px; color:var(--ks-accent); }
.ks-account-form{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
@media (max-width:639px){ .ks-account-form{ grid-template-columns:1fr; } }
.ks-account-form .ks-field.is-full{ grid-column:1 / -1; }
.ks-account-form .ks-field label{ font-size:16px; margin-bottom:10px; }
.ks-account-form .ks-field input, .ks-account-form .ks-field select{ width:100%; height:44px !important; border-radius:9999px !important; background:transparent !important; border:1px solid var(--ks-border) !important; padding:0 16px !important; font-family:var(--ks-font-b) !important; font-size:16px !important; color:var(--ks-ink) !important; box-shadow:none !important; outline:none; }
.ks-account-form .ks-field input::placeholder{ color:var(--ks-muted-ink); }
.ks-account-form .ks-field input:focus, .ks-account-form .ks-field select:focus{ box-shadow:0 0 0 2px var(--ks-accent) !important; }
.ks-account-save{ display:inline-flex; align-items:center; justify-content:center; height:44px; padding:0 20px !important; border-radius:9999px !important; background:var(--ks-accent) !important; color:var(--ks-on-accent) !important; border:0 !important; font-family:var(--ks-font-b) !important; font-size:16px !important; font-weight:500 !important; text-transform:none !important; letter-spacing:0 !important; text-decoration:none; cursor:pointer; transition:opacity .15s; }
.ks-account-save:hover{ opacity:.9; }
.ks-account-empty{ display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
.ks-account-empty p{ margin:0; color:var(--ks-muted-ink); }
.ks-orders{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.ks-order{ border:1px solid var(--ks-border); border-radius:16px; padding:16px 20px; background:var(--ks-bg); }
.ks-order-top, .ks-order-bottom{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ks-order-top strong{ font-family:var(--ks-font-h); font-weight:600; }
.ks-order-status{ font-size:12px; line-height:16px; padding:4px 10px; border-radius:9999px; background:var(--ks-muted); color:var(--ks-ink); }
.ks-order-status.is-completed{ background:var(--ks-accent); color:var(--ks-on-accent); }
.ks-order-items{ margin:8px 0; font-size:14px; color:var(--ks-muted-ink); }
.ks-order-bottom{ font-size:14px; color:var(--ks-muted-ink); }
.ks-order-bottom strong{ color:var(--ks-ink); }
/* Bouton Google, comme keetsoon.com */
.ks-auth-google{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; height:48px; border-radius:18px; border:1px solid var(--ks-border); background:transparent; box-shadow:0 1px 2px rgba(0,0,0,.05); color:var(--ks-ink) !important; font-family:var(--ks-font-b); font-size:14px; font-weight:500; text-decoration:none; margin-bottom:24px; transition:background-color .15s; }
.ks-auth-google:hover{ background:var(--ks-muted); }
.ks-auth-google svg{ width:16px; height:16px; flex-shrink:0; }
.ks-auth-or{ position:relative; margin-bottom:24px; text-align:center; }
.ks-auth-or::before{ content:""; position:absolute; inset-inline:0; top:50%; border-top:1px solid var(--ks-border); }
.ks-auth-or span{ position:relative; background:var(--ks-card); padding:0 12px; font-size:12px; line-height:16px; text-transform:uppercase; color:var(--ks-muted-ink); }
/* ===== Bulle de discussion ===== */
.ks-chat{ position:fixed; z-index:90; inset-inline-end:24px; bottom:24px; display:flex; flex-direction:column; align-items:flex-end; gap:12px; }
@media (max-width:639px){ .ks-chat{ inset-inline-end:16px; bottom:16px; } .ks-product-page .ks-chat{ bottom:96px; } }
.ks-chat-fab{ order:2; width:56px !important; height:56px !important; padding:0 !important; border:0 !important; border-radius:9999px !important; background:var(--ks-accent) !important; color:var(--ks-on-accent) !important; box-shadow:0 8px 20px rgba(57,42,29,.25); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:transform .15s; }
.ks-chat-fab:hover{ transform:scale(1.05); }
.ks-chat-fab svg{ width:24px; height:24px; }
.ks-chat-fab-close{ display:none; }
.ks-chat.is-open .ks-chat-fab-open{ display:none; }
.ks-chat.is-open .ks-chat-fab-close{ display:inline-flex; }
.ks-chat-panel{ order:1; width:min(380px,calc(100vw - 32px)); height:min(520px,calc(100vh - 140px)); display:flex; flex-direction:column; overflow:hidden; background:var(--ks-card); border:1px solid var(--ks-border); border-radius:24px; box-shadow:0 20px 40px rgba(57,42,29,.18); }
.ks-chat-panel[hidden]{ display:none !important; }
.ks-chat-head{ background:var(--ks-accent); color:var(--ks-on-accent); padding:16px 20px; }
.ks-chat-head strong{ display:block; font-family:var(--ks-font-h); font-size:18px; line-height:26px; font-weight:600; }
.ks-chat-head span{ display:block; font-size:13px; line-height:18px; opacity:.85; }
.ks-chat-body{ flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:10px; }
.ks-chat-loading{ margin:auto; width:24px; height:24px; border-radius:9999px; border:2px solid var(--ks-border); border-top-color:var(--ks-accent); animation:ks-spin .8s linear infinite; }
.ks-chat-empty{ margin:auto; text-align:center; color:var(--ks-muted-ink); display:flex; flex-direction:column; align-items:center; gap:12px; padding:24px 8px; }
.ks-chat-empty svg{ width:40px; height:40px; color:rgba(126,105,88,.4); }
.ks-chat-empty p{ margin:0; font-size:14px; line-height:1.5; }.ks-chat-msg{ max-width:80%; padding:10px 14px; border-radius:18px; font-size:14px; line-height:1.45; white-space:pre-wrap; word-wrap:break-word; }
.ks-chat-msg.is-me{ align-self:flex-end; background:var(--ks-accent); color:var(--ks-on-accent); border-end-end-radius:6px; }
.ks-chat-msg.is-admin{ align-self:flex-start; background:var(--ks-muted); color:var(--ks-ink); border-end-start-radius:6px; }
.ks-chat-msg time{ display:block; margin-top:4px; font-size:11px; opacity:.7; }
.ks-chat-form{ display:flex; flex-wrap:wrap; gap:8px; padding:12px; border-top:1px solid var(--ks-border); background:var(--ks-bg); }
.ks-chat-guest-row{ display:flex; gap:8px; width:100%; }
.ks-chat-form input{ flex:1; min-width:0; height:40px !important; border-radius:9999px !important; border:1px solid var(--ks-border) !important; background:var(--ks-card) !important; padding:0 16px !important; font-family:var(--ks-font-b) !important; font-size:14px !important; color:var(--ks-ink) !important; box-shadow:none !important; outline:none; }
.ks-chat-form input:focus{ box-shadow:0 0 0 2px var(--ks-accent) !important; }
.ks-chat-form button{ flex-shrink:0; width:40px !important; height:40px !important; padding:0 !important; border:0 !important; border-radius:9999px !important; background:var(--ks-accent) !important; color:var(--ks-on-accent) !important; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
.ks-chat-form button svg{ width:16px; height:16px; }
html[dir="rtl"] .ks-chat-form button svg{ transform:scaleX(-1); }
.ks-chat-loginmsg{ margin:auto; text-align:center; font-size:14px; color:var(--ks-muted-ink); padding:24px 16px; }
.ks-chat-loginmsg a{ color:var(--ks-accent); font-weight:500; }
.ks-chat-sent{ margin:auto; text-align:center; font-size:14px; color:var(--ks-accent); padding:24px 16px; }

/* Page Messagerie */
.ks-msgpage{ max-width:768px; margin-inline:auto; padding:48px var(--ks-gutter) 80px; }
.ks-msgpage h1{ font-family:var(--ks-font-h) !important; font-size:36px !important; line-height:48px !important; font-weight:600 !important; margin:0 0 24px !important; }
@media (max-width:639px){ .ks-msgpage h1{ font-size:30px !important; line-height:40px !important; } }
.ks-msgpage-box{ display:flex; flex-direction:column; height:min(600px,70vh); overflow:hidden; background:var(--ks-card); border:1px solid var(--ks-border); border-radius:24px; }
.ks-msgpage-box .ks-chat-head{ border-radius:0; }
/* Messages WooCommerce aux couleurs keetsoon */
.ks-site .woocommerce-message, .ks-site .woocommerce-info, .ks-site .woocommerce-error{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; border:1px solid var(--ks-border) !important; border-radius:24px !important; background:var(--ks-card) !important; color:var(--ks-ink) !important; padding:16px 20px !important; margin:0 0 24px !important; font-family:var(--ks-font-b); font-size:14px; line-height:1.5; list-style:none; }
.ks-site .woocommerce-message::before, .ks-site .woocommerce-info::before, .ks-site .woocommerce-error::before{ position:static !important; color:var(--ks-accent) !important; font-size:16px !important; margin:0 !important; }
.ks-site .woocommerce-error{ border-color:rgba(155,44,31,.3) !important; }
.ks-site .woocommerce-error::before{ color:#9B2C1F !important; }
.ks-site .woocommerce-message .button, .ks-site .woocommerce-info .button{ order:3; margin-inline-start:auto; border-radius:9999px !important; background:var(--ks-accent) !important; color:var(--ks-on-accent) !important; padding:8px 20px !important; font-family:var(--ks-font-b) !important; font-size:13px !important; font-weight:500 !important; text-transform:none !important; letter-spacing:0 !important; }
.ks-site .woocommerce-message .button:hover, .ks-site .woocommerce-info .button:hover{ background:#5E3420 !important; }
@media (max-width:639px){ .ks-site .woocommerce-message .button{ margin-inline-start:0; width:100%; text-align:center; } }
/* Logo Shopimy */
.ks-logo-link{ transform:none; }
.ks-logo-svg{ display:block; height:48px; width:auto; }
@media (min-width:1024px) and (max-width:1199px){ .ks-logo-svg{ height:42px; } }
@media (max-width:639px){ .ks-logo-svg{ height:36px; } }
.ks-foot-logo-svg{ display:block; width:190px; height:auto; }
.ks-site .ks-logo{ flex-shrink:0; min-width:max-content; }
.ks-site img.ks-logo-svg{ max-width:none; width:auto; aspect-ratio:269/60; }
.ks-site img.ks-foot-logo-svg{ max-width:100%; aspect-ratio:329/283; }

.ks-site .elementor img.ks-logo-svg, .ks-site img.ks-logo-svg{ height:48px; width:auto; max-width:none; }
@media (min-width:1024px) and (max-width:1199px){ .ks-site .elementor img.ks-logo-svg, .ks-site img.ks-logo-svg{ height:42px; } }
@media (max-width:639px){ .ks-site .elementor img.ks-logo-svg, .ks-site img.ks-logo-svg{ height:36px; } }
.ks-site .elementor img.ks-foot-logo-svg, .ks-site img.ks-foot-logo-svg{ width:190px; height:auto; }

/* ===== Pages categorie et marque (snippet 42) ===== */
.ks-tax .ks-wrap{ max-width:var(--ks-max); margin-inline:auto; padding-inline:var(--ks-gutter); }
.ks-tax .ks-shop{ padding-bottom:80px; }
.ks-tax-more{ text-align:center; margin:48px 0 0; }
.ks-tax-more a, .ks-brand-cta{ display:inline-flex; align-items:center; justify-content:center; height:48px; padding:0 28px; border-radius:999px; background:var(--ks-accent); color:var(--ks-on-accent) !important; font-weight:500; font-size:15px; text-decoration:none; transition:filter .2s; }
.ks-tax-more a:hover, .ks-brand-cta:hover{ filter:brightness(1.1); }
.ks-cat-page .ks-shop-head-in p{ max-width:640px; margin-inline:auto; }
.ks-brand-hero{ padding:32px 0 64px; }
.ks-brand-hero-in{ display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:center; }
.ks-brand-id{ display:flex; flex-direction:column; align-items:flex-start; }
.ks-brand-logo{ width:88px; height:88px !important; object-fit:contain; border-radius:50%; background:var(--ks-card); border:1px solid var(--ks-border); padding:10px; margin-bottom:24px; }
.ks-brand-name{ font-family:var(--ks-font-h) !important; font-size:48px !important; line-height:1.1 !important; font-weight:600 !important; margin:0 !important; color:var(--ks-accent) !important; }
.ks-brand-tagline{ font-family:var(--ks-font-h); font-size:22px; line-height:30px; font-weight:500; margin:14px 0 0; color:var(--ks-ink); }
.ks-brand-desc{ margin:14px 0 0; color:var(--ks-muted-ink); max-width:520px; }
.ks-brand-cta{ margin-top:28px; }
.ks-brand-media img{ width:100%; height:auto !important; border-radius:32px; display:block; aspect-ratio:4/3; object-fit:cover; }
.ks-brand-media .ks-img-mobile-only{ display:none; }
.ks-brand-h2{ margin-bottom:24px !important; }
.ks-brand-story{ background:transparent; padding:24px 0 96px; border-top:0; }
.ks-brand-story-in{ max-width:820px !important; }
.ks-brand-story .ks-about-block + .ks-about-block{ margin-top:48px !important; }
.ks-brand-story-h{ font-size:24px !important; line-height:32px !important; font-weight:600 !important; color:var(--ks-accent) !important; margin:0 0 16px !important; }
.ks-brand-story p{ margin:0 0 14px; color:var(--ks-ink); line-height:1.7; }
@media (max-width:1023px){ .ks-brand-hero-in{ grid-template-columns:1fr; gap:32px; } .ks-brand-media{ order:-1; } }
@media (max-width:639px){
  .ks-brand-hero{ padding:20px 0 48px; }
  .ks-brand-name{ font-size:36px !important; }
  .ks-brand-tagline{ font-size:18px; line-height:26px; }
  .ks-brand-logo{ width:72px; height:72px !important; margin-bottom:16px; }
  .ks-brand-media .ks-img-desktop-only{ display:none; }
  .ks-brand-media .ks-img-mobile-only{ display:block; aspect-ratio:1/1; }
  .ks-brand-story{ padding:8px 0 64px; }
}
/* ===== Accueil Shopimy : univers, garanties, marques ===== */
.ks-mc-head{ text-align:center; margin-bottom:32px; }
.ks-mc-head p{ margin:8px 0 0; color:var(--ks-muted-ink); }
.ks-cats{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.ks-cats li{ margin:0; }
.ks-cat{ display:flex; flex-direction:column; align-items:center; gap:14px; padding:28px 12px 24px; border-radius:24px; background:var(--ks-card); border:1px solid var(--ks-border); text-decoration:none !important; color:var(--ks-ink) !important; transition:transform .25s, border-color .25s, box-shadow .25s; height:100%; }
.ks-cat:hover{ transform:translateY(-3px); border-color:var(--ks-accent); box-shadow:0 10px 24px -14px rgba(57,42,29,.35); }
.ks-cat-ic{ width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--ks-bg); color:var(--ks-accent); transition:background .25s, color .25s; }
.ks-cat:hover .ks-cat-ic{ background:var(--ks-accent); color:var(--ks-on-accent); }
.ks-cat-name{ font-family:var(--ks-font-h); font-weight:500; font-size:15px; line-height:20px; text-align:center; }
@media (max-width:1023px){ .ks-cats{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:639px){
  .ks-cats{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; margin-inline:calc(var(--ks-gutter) * -1); padding:2px var(--ks-gutter) 8px; scrollbar-width:none; }
  .ks-cats::-webkit-scrollbar{ display:none; }
  .ks-cats li{ flex:0 0 132px; scroll-snap-align:start; }
  .ks-cat{ padding:20px 10px 18px; gap:10px; border-radius:20px; }
  .ks-cat-ic{ width:54px; height:54px; }
  .ks-cat-name{ font-size:14px; }
}
.ks-trust{ direction:ltr; overflow:hidden; background:var(--ks-ink); color:var(--ks-bg); padding:14px 0; }
.ks-trust-track{ display:flex; width:max-content; direction:ltr; animation:ks-marquee 32s linear infinite; }
.ks-trust:hover .ks-trust-track{ animation-play-state:paused; }
.ks-trust-set{ display:flex; align-items:center; flex-shrink:0; }
.ks-trust-item{ unicode-bidi:plaintext; white-space:nowrap; font-size:14px; line-height:20px; font-weight:500; letter-spacing:.04em; padding:0 28px; }
.ks-trust-dot{ width:6px; height:6px; border-radius:50%; background:#C99A6B; flex-shrink:0; }
@keyframes ks-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .ks-trust-track{ animation:none; } }
.ks-brands{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:20px; }
.ks-brand-card{ position:relative; display:block; min-height:340px; border-radius:32px; overflow:hidden; background:var(--ks-accent); color:#fff !important; text-decoration:none !important; isolation:isolate; }
.ks-brand-card .ks-brand-card-img{ position:absolute; inset:0; width:100%; height:100% !important; object-fit:cover; z-index:-2; transition:transform .6s; }
.ks-brand-card:hover .ks-brand-card-img{ transform:scale(1.04); }
.ks-brand-card::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, color-mix(in srgb, var(--ks-accent) 92%, #000) 0%, color-mix(in srgb, var(--ks-accent) 70%, transparent) 45%, transparent 75%); }
html[dir="rtl"] .ks-brand-card::before{ background:linear-gradient(270deg, color-mix(in srgb, var(--ks-accent) 92%, #000) 0%, color-mix(in srgb, var(--ks-accent) 70%, transparent) 45%, transparent 75%); }
.ks-brand-card-body{ position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:10px; min-height:340px; padding:40px; max-width:460px; }
.ks-brand-card-logo{ width:64px; height:64px !important; border-radius:50%; background:#FBF5EA; padding:8px; object-fit:contain; margin-bottom:6px; }
.ks-brand-card-name{ font-family:var(--ks-font-h); font-size:40px; line-height:1.1; font-weight:600; }
.ks-brand-card-tag{ font-size:17px; line-height:25px; opacity:.92; }
.ks-brand-card-go{ display:inline-flex; align-items:center; gap:8px; margin-top:14px; height:44px; padding:0 22px; border-radius:999px; background:#FBF5EA; color:var(--ks-accent); font-weight:500; font-size:15px; }
.ks-brand-card-go svg{ width:16px; height:16px; }
html[dir="rtl"] .ks-brand-card-go svg{ transform:scaleX(-1); }
@media (max-width:639px){
  .ks-brands{ grid-template-columns:1fr; }
  .ks-brand-card, .ks-brand-card-body{ min-height:420px; }
  .ks-brand-card-body{ justify-content:flex-end; padding:28px 24px; }
  .ks-brand-card::before, html[dir="rtl"] .ks-brand-card::before{ background:linear-gradient(0deg, color-mix(in srgb, var(--ks-accent) 94%, #000) 0%, color-mix(in srgb, var(--ks-accent) 65%, transparent) 50%, transparent 80%); }
  .ks-brand-card-name{ font-size:32px; }
}
.ks-site .elementor img.ks-brand-card-logo, .ks-site img.ks-brand-card-logo{ width:64px; height:64px; border-radius:50%; }
.ks-cats-sec{ padding-bottom:8px !important; }
@media (max-width:639px){ .ks-cats-sec{ padding-bottom:0 !important; } }
.ks-trust-sec{ padding:0 !important; }

html[lang^="ar"] .ks-trust-item{ letter-spacing:0; font-size:15px; }

/* ===== Fiche produit v2 (nouvelle fiche keetsoon.com, 16/09) ===== */
@media (min-width:768px){ .ks-product-page div.product{ grid-template-columns:minmax(0,2fr) minmax(0,3fr); column-gap:32px; } }
@media (min-width:1024px){ .ks-product-page div.product{ column-gap:48px; } }
.ks-gallery-main{ position:relative; }
.ks-gallery-img, .ks-gallery-main .ks-ph{ aspect-ratio:4/5; }
.ks-gal-badge{ position:absolute; top:12px; inset-inline-start:12px; z-index:2; background:var(--ks-ink); color:var(--ks-bg); font-size:10px; line-height:15px; text-transform:uppercase; letter-spacing:.05em; padding:4px 10px; border-radius:999px; font-weight:500; }
.ks-gal-badge--accent{ background:var(--ks-accent); color:var(--ks-on-accent); }
.ks-opts{ margin-top:24px; display:flex; flex-direction:column; gap:24px; }
.ks-opt-label{ font-size:14px; line-height:20px; font-weight:500; margin:0 0 10px !important; color:var(--ks-ink); }
.ks-opt-values{ display:flex; flex-wrap:wrap; gap:10px; }
.ks-product-page .ks-swatch{ width:36px; height:36px; min-height:0; border-radius:50% !important; border:2px solid transparent !important; padding:0 !important; box-shadow:inset 0 0 0 2px var(--ks-bg); cursor:pointer; transition:border-color .2s, opacity .2s; }
.ks-product-page .ks-swatch.is-active{ border-color:var(--ks-ink) !important; }
.ks-product-page .ks-swatch:disabled, .ks-product-page .ks-chip:disabled{ opacity:.4; cursor:not-allowed; }
.ks-product-page .ks-chip{ height:40px; padding:0 16px !important; border-radius:999px !important; border:1px solid var(--ks-border) !important; background:transparent !important; color:var(--ks-ink) !important; font-size:14px; line-height:1; }
.ks-product-page .ks-chip.is-active{ background:var(--ks-accent) !important; border-color:var(--ks-accent) !important; color:var(--ks-on-accent) !important; }
.ks-opt-toggle{ border-radius:16px; background:var(--ks-card); border:1px solid var(--ks-border); padding:16px; }
.ks-product-page .ks-toggle{ display:flex !important; align-items:center; justify-content:space-between; width:100%; gap:16px; background:transparent !important; border:0 !important; padding:0 !important; text-align:start; color:var(--ks-ink) !important; cursor:pointer; line-height:1.4; }
.ks-product-page .ks-toggle:disabled{ cursor:not-allowed; }
.ks-toggle-txt{ display:flex; flex-direction:column; }
.ks-toggle-t{ font-size:14px; line-height:20px; font-weight:500; }
.ks-toggle-s{ font-size:12px; line-height:16px; color:var(--ks-muted-ink); margin-top:2px; }
.ks-switch{ position:relative; width:44px; height:24px; border-radius:999px; background:var(--ks-border); flex-shrink:0; transition:background .2s; }
.ks-switch span{ position:absolute; top:2px; inset-inline-start:2px; width:20px; height:20px; border-radius:50%; background:#fff; transition:transform .2s; }
.ks-toggle[aria-checked="true"] .ks-switch{ background:var(--ks-accent); }
.ks-toggle[aria-checked="true"] .ks-switch span{ transform:translateX(20px); }
html[dir="rtl"] .ks-toggle[aria-checked="true"] .ks-switch span{ transform:translateX(-20px); }
.ks-product-page .ks-soon-btn{ margin-top:20px; width:100%; height:56px; display:inline-flex !important; align-items:center; justify-content:center; gap:8px; border-radius:999px !important; background:var(--ks-muted) !important; color:var(--ks-muted-ink) !important; border:0 !important; font-size:16px; font-weight:500; cursor:not-allowed; padding:0 20px !important; }
.ks-soon-btn svg{ width:20px; height:20px; }
.ks-soon .summary form.wooecom_instant_order, .ks-soon .wooecom_sticky_footer{ display:none !important; }
.ks-product-page .wooecom_variations{ display:none !important; }
.ks-product-page div.product > .ks-pbanner, .ks-product-page div.product > .ks-pfaq{ grid-column:1 / -1; }
.ks-pbanner{ margin-top:48px !important; border-radius:24px; overflow:hidden; }
.ks-pbanner img{ width:100%; height:auto !important; display:block; }
.ks-product-page div.product > .ks-pvideo{ margin-top:16px !important; }
.ks-pvideo-media.is-img img{ width:100%; aspect-ratio:16/9; object-fit:cover; display:block; height:auto !important; }
.ks-pvideo .ks-h2{ margin-bottom:16px !important; }
.ks-pvideo .ks-prose p{ margin:0 0 12px; color:var(--ks-muted-ink); line-height:1.625; }
.ks-pvideo .ks-prose p:last-child{ margin-bottom:0; }
.ks-pfaq{ margin-top:80px !important; background:var(--ks-accent); color:var(--ks-on-accent); padding:80px 0; box-shadow:0 0 0 100vmax var(--ks-accent); clip-path:inset(0 -100vmax); }
.ks-pfaq-in{ max-width:720px; margin-inline:auto; }
.ks-pfaq .ks-h2{ color:var(--ks-on-accent) !important; margin-bottom:32px !important; text-align:center; }
@media (max-width:639px){ .ks-pbanner{ margin-top:32px !important; border-radius:20px; } .ks-pfaq{ padding:64px 0; margin-top:64px !important; } }
.ks-card-btn.is-disabled{ pointer-events:auto; }
.ks-product-page .ks-opts button, .ks-product-page .ks-soon-btn{ text-transform:none !important; letter-spacing:0 !important; font-family:var(--ks-font-b) !important; box-shadow:none; }
.ks-product-page .ks-swatch{ box-shadow:inset 0 0 0 2px var(--ks-bg) !important; }
.ks-product-page .ks-toggle:hover, .ks-product-page .ks-toggle:focus{ background:transparent !important; color:var(--ks-ink) !important; }

.ks-product-page div.product > .ks-pvideo{ box-shadow:0 0 0 100vmax var(--ks-card); clip-path:inset(0 -100vmax); padding-inline:0 !important; }

.ks-sticky-btn.is-disabled{ background:var(--ks-muted) !important; color:var(--ks-muted-ink) !important; cursor:not-allowed; }

/* ===== Commande (snippet 43) ===== */
.ks-checkout-page .site-content > .ast-container{ max-width:none !important; padding:0 !important; display:block; }
.ks-co{ padding:40px var(--ks-gutter) 96px; }
.ks-co-in{ max-width:1120px; margin:0 auto; }
.ks-co-head{ text-align:center; margin-bottom:32px; }
.ks-co-head h1{ font-family:var(--ks-font-h) !important; font-size:36px !important; line-height:44px !important; font-weight:600 !important; margin:0 !important; color:var(--ks-ink) !important; }
.ks-co-head p{ margin:8px 0 0; color:var(--ks-muted-ink); }
@media (max-width:639px){ .ks-co{ padding:24px 16px 64px; } .ks-co-head{ margin-bottom:24px; } .ks-co-head h1{ font-size:28px !important; line-height:36px !important; } }
.ks-co .woocommerce-form-coupon-toggle{ margin-bottom:16px; }
.ks-co .woocommerce-message .wc-forward{ display:none !important; }
.ks-co form.checkout_coupon{ gap:8px; align-items:flex-end; padding:16px !important; border:1px dashed var(--ks-border) !important; border-radius:16px !important; margin:0 0 24px !important; background:transparent; }
.ks-co form.checkout_coupon[style*="block"]{ display:flex !important; }
.ks-co form.checkout_coupon > p:first-child, .ks-co form.checkout_coupon .clear{ display:none; }
.ks-co form.checkout_coupon .form-row-first{ flex:1; }
.ks-co form.checkout_coupon .button{ height:52px; border-radius:999px !important; background:var(--ks-ink) !important; color:var(--ks-bg) !important; padding:0 22px !important; border:0 !important; text-transform:none !important; letter-spacing:0 !important; }
.ks-co form.checkout{ display:grid !important; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:0 32px; align-items:start; }
.ks-co form.checkout::before, .ks-co form.checkout::after{ display:none !important; }
.ks-co form.checkout > *{ grid-column:1; }
.ks-co form.checkout > .woocommerce-NoticeGroup{ grid-column:1 / -1; margin-bottom:16px; }
.ks-co form.checkout > #order_review_heading{ display:none !important; }
.ks-co form.checkout > #order_review{ grid-column:2; grid-row:1 / span 6; position:sticky; top:112px; }
.ks-co #customer_details, .ks-co #order_review{ width:auto !important; float:none !important; margin:0 !important; }
.ks-co #customer_details .col-1, .ks-co #customer_details .col-2{ float:none !important; width:100% !important; max-width:none !important; padding:0 !important; margin:0 !important; }
.ks-co #customer_details, .ks-co #order_review{ background:var(--ks-card) !important; border:1px solid var(--ks-border) !important; border-radius:24px !important; padding:28px !important; }
.ks-co .woocommerce-billing-fields > h3, .ks-co .woocommerce-additional-fields > h3, .ks-co #ship-to-different-address, .ks-co .ks-co-hidden{ display:none !important; }
.ks-co-h{ font-family:var(--ks-font-h) !important; font-size:20px !important; line-height:28px !important; font-weight:600 !important; margin:0 0 20px !important; color:var(--ks-ink) !important; }
.ks-co .woocommerce-billing-fields__field-wrapper{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ks-co .woocommerce-billing-fields__field-wrapper::before, .ks-co .woocommerce-billing-fields__field-wrapper::after{ display:none !important; }
.ks-co .form-row{ float:none !important; width:auto !important; margin:0 !important; padding:0 !important; }
.ks-co .woocommerce-billing-fields__field-wrapper .form-row-wide{ grid-column:1 / -1; }
.ks-co .woocommerce-additional-fields{ margin-top:16px; }
.ks-co .form-row label{ display:block !important; font-size:13px !important; line-height:18px !important; font-weight:500 !important; color:var(--ks-ink) !important; margin:0 0 6px !important; }
.ks-co .form-row .required{ color:var(--ks-accent) !important; text-decoration:none; border:0; }
.ks-co .form-row .optional{ display:none; }
.ks-co .form-row input.input-text, .ks-co .form-row textarea, .ks-co .select2-container .select2-selection--single, .ks-co form.checkout_coupon input.input-text{ width:100% !important; height:52px !important; border-radius:14px !important; border:1px solid var(--ks-border) !important; background:#fff !important; padding:0 16px !important; font-size:15px !important; color:var(--ks-ink) !important; box-shadow:none !important; }
.ks-co .form-row textarea{ height:96px !important; padding:14px 16px !important; resize:vertical; }
.ks-co .form-row input.input-text:focus, .ks-co .form-row textarea:focus, .ks-co .select2-container--open .select2-selection--single, .ks-co .select2-container--focus .select2-selection--single{ border-color:var(--ks-accent) !important; outline:none !important; }
.ks-co .select2-container{ width:100% !important; }
.ks-co .select2-selection--single .select2-selection__rendered{ line-height:50px !important; padding:0 !important; color:var(--ks-ink) !important; }
.ks-co .select2-selection--single .select2-selection__arrow{ height:50px !important; }
.select2-container--open .select2-dropdown{ border-color:var(--ks-border) !important; border-radius:14px !important; overflow:hidden; }
.select2-results__option--highlighted[aria-selected], .select2-results__option--highlighted[data-selected]{ background:var(--ks-accent) !important; color:var(--ks-on-accent) !important; }
.ks-co .woocommerce-invalid input.input-text, .ks-co .woocommerce-invalid .select2-selection{ border-color:#B42318 !important; }
.ks-co table.woocommerce-checkout-review-order-table{ display:block; width:100%; border:0 !important; margin:0 0 16px !important; background:transparent !important; }
.ks-co .woocommerce-checkout-review-order-table thead{ display:none; }
.ks-co .woocommerce-checkout-review-order-table tbody, .ks-co .woocommerce-checkout-review-order-table tfoot{ display:block; }
.ks-co .woocommerce-checkout-review-order-table tr{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.ks-co .woocommerce-checkout-review-order-table th, .ks-co .woocommerce-checkout-review-order-table td{ display:block; border:0 !important; padding:10px 0 !important; background:transparent !important; font-size:14px !important; line-height:20px; color:var(--ks-ink); text-align:start; }
.ks-co .woocommerce-checkout-review-order-table td.product-total, .ks-co .woocommerce-checkout-review-order-table tfoot td{ text-align:end !important; white-space:nowrap; }
.ks-co .woocommerce-checkout-review-order-table tr.cart_item{ border-bottom:1px solid var(--ks-border); }
.ks-co .woocommerce-checkout-review-order-table td.product-name{ flex:1; position:relative; min-height:80px; padding:12px 0 12px 72px !important; font-weight:500; }
html[dir="rtl"] .ks-co .woocommerce-checkout-review-order-table td.product-name{ padding:12px 72px 12px 0 !important; }
.ks-co .woocommerce-checkout-review-order-table td.product-total{ padding-top:12px !important; font-weight:500; }
.ks-co-thumb{ position:absolute; inset-inline-start:0; top:12px; width:56px; height:56px; border-radius:12px; overflow:hidden; background:var(--ks-bg); }
.ks-co-thumb img{ width:56px !important; height:56px !important; object-fit:cover; display:block; border-radius:0 !important; }
.ks-co td.product-name .product-quantity{ font-weight:400; color:var(--ks-muted-ink); }
.ks-co td.product-name dl.variation{ margin:4px 0 0 !important; font-size:12px; line-height:16px; color:var(--ks-muted-ink); font-weight:400; display:grid; grid-template-columns:auto 1fr; gap:2px 6px; }
.ks-co td.product-name dl.variation dt, .ks-co td.product-name dl.variation dd{ margin:0 !important; padding:0 !important; float:none !important; font-weight:400 !important; }
.ks-co td.product-name dl.variation dd p{ margin:0 !important; }
.ks-co .woocommerce-checkout-review-order-table tfoot th{ font-weight:400 !important; color:var(--ks-muted-ink) !important; }
.ks-co .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals{ flex-direction:column; gap:0; }
.ks-co tr.woocommerce-shipping-totals th{ padding-bottom:6px !important; }
.ks-co tr.woocommerce-shipping-totals td{ width:100%; text-align:start !important; white-space:normal !important; padding-top:0 !important; }
.ks-co ul#shipping_method{ list-style:none; margin:0 !important; padding:0 !important; display:flex; flex-direction:column; gap:8px; }
.ks-co ul#shipping_method li{ position:relative; margin:0 !important; padding:0 !important; text-indent:0 !important; }
.ks-co ul#shipping_method li input{ position:absolute; opacity:0; pointer-events:none; }
.ks-co ul#shipping_method li label{ display:flex !important; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px 14px 46px !important; border:1px solid var(--ks-border); border-radius:14px; background:#fff; cursor:pointer; font-size:14px; line-height:20px; margin:0 !important; font-weight:400; }
html[dir="rtl"] .ks-co ul#shipping_method li label{ padding:14px 46px 14px 16px !important; }
.ks-co ul#shipping_method li label::before{ content:""; position:absolute; inset-inline-start:16px; top:50%; width:18px; height:18px; margin-top:-9px; border-radius:50%; border:2px solid var(--ks-border); background:#fff; box-sizing:border-box; }
.ks-co ul#shipping_method li input:checked + label{ border-color:var(--ks-accent); box-shadow:0 0 0 1px var(--ks-accent); }
.ks-co ul#shipping_method li input:checked + label::before{ border-color:var(--ks-accent); background:var(--ks-accent); box-shadow:inset 0 0 0 3px #fff; }
.ks-co ul#shipping_method li input[type="hidden"] + label{ padding-inline-start:16px !important; }
.ks-co ul#shipping_method li input[type="hidden"] + label::before{ display:none; }
.ks-co .ks-co-rate{ font-weight:600; white-space:nowrap; }
.ks-co .woocommerce-checkout-review-order-table tr.order-total{ border-top:1px solid var(--ks-border); margin-top:6px; }
.ks-co .woocommerce-checkout-review-order-table tr.order-total th, .ks-co .woocommerce-checkout-review-order-table tr.order-total td{ font-size:18px !important; font-weight:600 !important; color:var(--ks-ink) !important; padding-top:14px !important; }
.ks-co #payment{ background:transparent !important; border-radius:0 !important; margin:0 !important; }
.ks-co #payment ul.payment_methods{ padding:0 !important; margin:0 0 16px !important; border:0 !important; list-style:none; }
.ks-co #payment ul.payment_methods li{ padding:14px 16px !important; border:1px solid var(--ks-border); border-radius:14px; background:#fff; margin:0 !important; line-height:20px; }
.ks-co #payment ul.payment_methods li input{ display:none !important; }
.ks-co #payment ul.payment_methods li label{ font-weight:600; font-size:14px; margin:0 !important; display:inline; color:var(--ks-ink); }
.ks-co #payment div.payment_box{ background:transparent !important; padding:4px 0 0 !important; margin:0 !important; font-size:13px !important; color:var(--ks-muted-ink) !important; }
.ks-co #payment div.payment_box::before{ display:none !important; }
.ks-co #payment div.payment_box p{ margin:0 !important; }
.ks-co #payment .place-order{ padding:0 !important; margin:0 !important; }
.ks-co #place_order{ width:100% !important; height:56px; border-radius:999px !important; background:var(--ks-accent) !important; color:var(--ks-on-accent) !important; border:0 !important; font-size:16px !important; font-weight:500 !important; text-transform:none !important; letter-spacing:0 !important; float:none !important; padding:0 24px !important; margin:0 !important; font-family:var(--ks-font-b) !important; }
.ks-co #place_order:hover{ filter:brightness(1.1); }
.ks-co-reassure{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px 16px; margin-top:14px; font-size:12px; line-height:16px; color:var(--ks-muted-ink); }
.ks-co-reassure span{ display:inline-flex; align-items:center; gap:6px; }
.ks-co-reassure svg{ width:14px; height:14px; color:var(--ks-accent); }
@media (max-width:899px){
  .ks-co form.checkout{ grid-template-columns:1fr; gap:20px; }
  .ks-co form.checkout > #order_review{ grid-column:1; grid-row:auto; position:static; }
}
@media (max-width:639px){
  .ks-co #customer_details, .ks-co #order_review{ padding:20px !important; border-radius:20px !important; }
  .ks-co .woocommerce-billing-fields__field-wrapper{ grid-template-columns:1fr; gap:14px; }
}
.ks-co--thanks .woocommerce-order{ max-width:760px; margin:0 auto; }
.ks-co .woocommerce-thankyou-order-received{ text-align:center; font-size:16px; line-height:24px; color:var(--ks-muted-ink); margin:0 0 24px !important; }
.ks-co ul.woocommerce-order-overview{ list-style:none; margin:0 0 24px !important; padding:0 !important; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; }
.ks-co ul.woocommerce-order-overview::before, .ks-co ul.woocommerce-order-overview::after{ display:none !important; }
.ks-co ul.woocommerce-order-overview li{ margin:0 !important; padding:14px 16px !important; border:0 !important; border-radius:16px; background:var(--ks-card); font-size:12px !important; line-height:16px; text-transform:none !important; color:var(--ks-muted-ink); float:none !important; }
.ks-co ul.woocommerce-order-overview li strong{ display:block; margin-top:4px; font-size:15px !important; line-height:20px; color:var(--ks-ink); font-weight:600; }
.ks-co--thanks .woocommerce-order > p:not(.woocommerce-thankyou-order-received):not(.ks-co-back){ text-align:center; color:var(--ks-muted-ink); }
.ks-co .woocommerce-order-details, .ks-co .woocommerce-customer-details{ background:var(--ks-card); border:1px solid var(--ks-border); border-radius:24px; padding:24px; margin:0 0 16px !important; }
.ks-co .woocommerce-order-details__title, .ks-co .woocommerce-column__title{ font-family:var(--ks-font-h) !important; font-size:20px !important; font-weight:600 !important; margin:0 0 12px !important; }
.ks-co table.order_details{ width:100%; border:0 !important; border-collapse:collapse; margin:0 !important; background:transparent !important; }
.ks-co table.order_details th, .ks-co table.order_details td{ border:0 !important; border-bottom:1px solid var(--ks-border) !important; padding:10px 0 !important; background:transparent !important; text-align:start; font-size:14px; }
.ks-co table.order_details tfoot tr:last-child th, .ks-co table.order_details tfoot tr:last-child td{ border-bottom:0 !important; font-size:16px; font-weight:600; }
.ks-co table.order_details td:last-child, .ks-co table.order_details th:last-child{ text-align:end; }
.ks-co table.order_details .wc-item-meta{ list-style:none; margin:4px 0 0 !important; padding:0 !important; font-size:12px; color:var(--ks-muted-ink); }
.ks-co table.order_details .wc-item-meta li, .ks-co table.order_details .wc-item-meta p{ margin:0 !important; display:inline; }
.ks-co .woocommerce-customer-details address{ border:0 !important; padding:0 !important; font-style:normal; line-height:1.6; }
.ks-co .woocommerce-customer-details .woocommerce-column{ width:100% !important; float:none !important; }
.ks-co-back{ text-align:center; margin:28px 0 0 !important; }
.ks-co-back a{ display:inline-flex; align-items:center; height:48px; padding:0 28px; border-radius:999px; background:var(--ks-accent); color:var(--ks-on-accent) !important; text-decoration:none !important; font-weight:500; }
.ks-co #billing_first_name_field{ order:1; } .ks-co #billing_phone_field{ order:2; } .ks-co #billing_state_field{ order:3; } .ks-co #billing_city_field{ order:4; } .ks-co #billing_address_1_field{ order:5; } .ks-co #billing_email_field{ order:6; } .ks-co #billing_country_field{ order:7; }
.ks-co .woocommerce-billing-fields__field-wrapper #billing_first_name_field, .ks-co .woocommerce-billing-fields__field-wrapper #billing_phone_field, .ks-co .woocommerce-billing-fields__field-wrapper #billing_state_field, .ks-co .woocommerce-billing-fields__field-wrapper #billing_city_field{ grid-column:auto !important; }

.ks-product-page .wooecom_add_to_cart_btn{ height:52px; margin-top:10px !important; padding:0 20px !important; border-radius:999px !important; background:transparent !important; color:var(--ks-accent) !important; border:1.5px solid var(--ks-accent) !important; font-size:16px !important; font-weight:500 !important; font-family:var(--ks-font-b) !important; text-transform:none !important; letter-spacing:0 !important; }
.ks-product-page .wooecom_add_to_cart_btn:hover{ background:var(--ks-accent) !important; color:var(--ks-on-accent) !important; border-color:var(--ks-accent) !important; }

.ks-cart dl.variation{ display:grid !important; grid-template-columns:auto 1fr; gap:0 6px; margin:4px 0 0 !important; font-size:12px; line-height:16px; color:var(--ks-muted-ink); }
.ks-cart dl.variation dt, .ks-cart dl.variation dd{ margin:0 !important; padding:0 !important; float:none !important; font-weight:400 !important; }
.ks-cart dl.variation dd p{ margin:0 !important; }

/* ===== Ajout rapide au panier (snippet 44) ===== */
button.ks-card-btn{ border:0 !important; cursor:pointer; font-family:var(--ks-font-b) !important; text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; }
button.ks-card-btn:hover, button.ks-card-btn:focus{ background:var(--ks-accent) !important; color:var(--ks-on-accent) !important; }
.ks-card-btn.is-busy, .ks-quick-go.is-busy{ opacity:.6 !important; pointer-events:none; }
.ks-quick{ position:fixed; inset:0; z-index:99999; background:rgba(0,0,0,.4); display:flex; align-items:center; justify-content:center; padding:16px; }
.ks-quick[hidden]{ display:none !important; }
.ks-quick-panel{ position:relative; width:100%; max-width:420px; max-height:calc(100vh - 32px); overflow:auto; background:var(--ks-bg); color:var(--ks-ink); border-radius:24px; padding:24px; box-shadow:0 24px 60px -20px rgba(0,0,0,.35); }
.ks-quick-x{ position:absolute; top:12px; inset-inline-end:12px; width:36px; height:36px; border-radius:50% !important; border:0 !important; background:var(--ks-card) !important; color:var(--ks-ink) !important; font-size:22px; line-height:1; cursor:pointer; padding:0 !important; display:flex; align-items:center; justify-content:center; }
.ks-quick-head{ display:flex; gap:14px; align-items:center; padding-inline-end:40px; }
.ks-quick-img{ width:84px; height:84px; flex-shrink:0; border-radius:16px; overflow:hidden; background:var(--ks-card); }
.ks-quick-img img{ width:100% !important; height:100% !important; object-fit:cover; display:block; }
.ks-quick-name{ margin:0 !important; font-family:var(--ks-font-h); font-weight:600; font-size:17px; line-height:24px; color:var(--ks-ink); }
.ks-quick-price{ margin:2px 0 0 !important; font-weight:600; font-size:16px; line-height:24px; color:var(--ks-ink); }
.ks-quick-price del{ font-weight:400; color:var(--ks-muted-ink); font-size:13px; }
.ks-quick-price ins{ text-decoration:none; background:transparent; }
.ks-quick-price .screen-reader-text{ display:none; }
.ks-quick-link{ display:inline-block; margin-top:2px; font-size:13px; color:var(--ks-accent) !important; text-decoration:underline !important; }
.ks-quick .ks-opts{ margin-top:20px; gap:18px; }
.ks-quick .ks-opts button{ text-transform:none !important; letter-spacing:0 !important; font-family:var(--ks-font-b) !important; }
.ks-quick .ks-swatch{ width:36px; height:36px; min-height:0; border-radius:50% !important; border:2px solid transparent !important; padding:0 !important; box-shadow:inset 0 0 0 2px var(--ks-bg) !important; cursor:pointer; }
.ks-quick .ks-swatch.is-active{ border-color:var(--ks-ink) !important; }
.ks-quick .ks-chip{ height:40px; padding:0 16px !important; border-radius:999px !important; border:1px solid var(--ks-border) !important; background:transparent !important; color:var(--ks-ink) !important; font-size:14px; line-height:1; }
.ks-quick .ks-chip.is-active{ background:var(--ks-accent) !important; border-color:var(--ks-accent) !important; color:var(--ks-on-accent) !important; }
.ks-quick .ks-toggle, .ks-quick .ks-toggle:hover, .ks-quick .ks-toggle:focus{ display:flex !important; align-items:center; justify-content:space-between; width:100%; gap:16px; background:transparent !important; border:0 !important; padding:0 !important; text-align:start; color:var(--ks-ink) !important; cursor:pointer; line-height:1.4; box-shadow:none !important; }
.ks-quick-go{ margin-top:20px; width:100%; height:52px; display:flex !important; align-items:center; justify-content:center; gap:8px; border:0 !important; border-radius:999px !important; background:var(--ks-accent) !important; color:var(--ks-on-accent) !important; font-size:16px !important; font-weight:500 !important; cursor:pointer; font-family:var(--ks-font-b) !important; text-transform:none !important; letter-spacing:0 !important; padding:0 20px !important; }
.ks-quick-go svg{ width:20px; height:20px; }
.ks-quick-err{ margin:10px 0 0 !important; font-size:13px; color:#B42318; text-align:center; }
@media (max-width:639px){
  .ks-quick{ align-items:flex-end; padding:0; }
  .ks-quick-panel{ max-width:none; border-radius:24px 24px 0 0; padding:20px 16px calc(20px + env(safe-area-inset-bottom)); }
}
.ks-toast{ position:fixed; left:50%; bottom:24px; z-index:100000; transform:translate(-50%,16px); opacity:0; pointer-events:none; display:flex; align-items:center; gap:14px; background:var(--ks-ink); color:var(--ks-bg); border-radius:999px; padding-block:10px; padding-inline:20px 10px; font-size:14px; line-height:20px; box-shadow:0 12px 30px -12px rgba(0,0,0,.45); transition:opacity .25s, transform .25s; white-space:nowrap; }
.ks-toast.is-on{ opacity:1; transform:translate(-50%,0); pointer-events:auto; }
.ks-toast-ok{ display:inline-flex; width:20px; height:20px; border-radius:50%; background:#6FA86B; align-items:center; justify-content:center; flex-shrink:0; }
.ks-toast-ok svg{ width:12px; height:12px; color:#fff; }
.ks-toast .ks-toast-link{ border:0 !important; border-radius:999px !important; background:var(--ks-bg) !important; color:var(--ks-ink) !important; padding:8px 14px !important; font-size:13px !important; font-weight:500; cursor:pointer; text-transform:none !important; letter-spacing:0 !important; font-family:var(--ks-font-b) !important; line-height:1 !important; }
@media (max-width:639px){ .ks-toast{ bottom:calc(16px + env(safe-area-inset-bottom)); } .ks-product-page .ks-toast{ bottom:calc(96px + env(safe-area-inset-bottom)); } }
.ks-card-btns{ margin-top:12px; display:flex; flex-direction:column; gap:8px; }
.ks-card-btns .ks-card-btn{ margin-top:0 !important; }
button.ks-card-btn.ks-card-btn--ghost{ background:transparent !important; color:var(--ks-accent) !important; box-shadow:inset 0 0 0 1.5px var(--ks-accent) !important; }
button.ks-card-btn.ks-card-btn--ghost:hover, button.ks-card-btn.ks-card-btn--ghost:focus-visible{ background:var(--ks-accent) !important; color:var(--ks-on-accent) !important; }

/* ===== Avis clients en carrousel ([ks_reviews], cache tant que ks_reviews.show est faux) ===== */
.ks-reviews-wrap{ padding:0 !important; gap:0 !important; min-height:0 !important; }
.ks-reviews-wrap .elementor-widget, .ks-reviews-wrap .elementor-widget-container{ margin:0 !important; }
.ks-reviews-wrap:not(:has(.ks-rv)){ display:none !important; }
.ks-rv{ background:var(--ks-accent); color:var(--ks-on-accent); padding:80px 0; }
.ks-rv .ks-rv-title{ color:var(--ks-on-accent) !important; margin:0 0 32px !important; }
.ks-carousel--reviews .ks-slide{ width:calc(33.333% - 14px); }
@media (max-width:1023px){ .ks-carousel--reviews .ks-slide{ width:calc(50% - 10px); } }
@media (max-width:639px){ .ks-rv{ padding:64px 0; } .ks-carousel--reviews .ks-slide{ width:86%; } }
.ks-rv-card{ display:flex; flex-direction:column; gap:14px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:24px; padding:24px; min-height:220px; }
.ks-rv-stars{ display:flex; gap:3px; }
.ks-rv-stars span{ width:18px; height:18px; color:rgba(255,255,255,.28); }
.ks-rv-stars span.is-on{ color:#F2C46D; }
.ks-rv-stars svg{ width:18px; height:18px; fill:currentColor; display:block; }
.ks-rv-text{ margin:0 !important; font-size:15px; line-height:1.6; color:var(--ks-on-accent); flex:1; }
.ks-rv-meta{ margin:0 !important; display:flex; flex-direction:column; gap:2px; font-size:13px; line-height:18px; }
.ks-rv-meta strong{ font-weight:600; color:var(--ks-on-accent); }
.ks-rv-meta a{ color:var(--ks-on-accent) !important; opacity:.75; text-decoration:underline !important; }
.ks-rv .ks-arrow{ top:50%; }
.ks-pvideo .ks-prose h3{ font-family:var(--ks-font-h) !important; font-size:18px !important; line-height:26px !important; font-weight:600 !important; color:var(--ks-ink) !important; margin:22px 0 8px !important; }
.ks-pvideo .ks-prose ol, .ks-pvideo .ks-prose ul{ margin:0 0 12px !important; padding-inline-start:20px !important; color:var(--ks-muted-ink); line-height:1.6; }
.ks-pvideo .ks-prose li{ margin:0 0 6px !important; }
.ks-pvideo .ks-prose ul li::marker, .ks-pvideo .ks-prose ol li::marker{ color:var(--ks-accent); }

/* Articles Conseils */
.single-post .site-content, .blog .site-content, .archive.category .site-content{ background:var(--ks-bg); }
.single-post .ast-container, .blog .ast-container, .archive.category .ast-container{ max-width:820px; }
.single-post .entry-title, .page-title{ font-family:var(--ks-font-h); color:var(--ks-ink); font-weight:700; line-height:1.15; }
.single-post .entry-content{ font-family:var(--ks-font-b); color:var(--ks-ink); font-size:17px; line-height:1.75; }
.single-post .entry-content h2{ font-family:var(--ks-font-h); font-weight:600; font-size:24px; line-height:1.3; margin:34px 0 12px; color:var(--ks-ink); }
.single-post .entry-content p{ margin:0 0 16px; }
.single-post .entry-content ul{ margin:0 0 18px; padding-inline-start:20px; }
.single-post .entry-content li{ margin:0 0 8px; }
.single-post .entry-content a{ color:var(--ks-accent); text-underline-offset:3px; }
.single-post .entry-content .ks-art-lead{ font-size:19px; color:var(--ks-muted-ink); border-inline-start:3px solid var(--ks-accent); padding-inline-start:16px; }
.single-post .post-thumb img, .single-post .entry-content img{ border-radius:18px; }

/* Articles : meta masquee */
.single-post .entry-meta, .single-post .ast-single-post-order .entry-meta, .single-post .post-navigation, .blog .entry-meta{ display:none !important; }
.single-post .entry-header{ margin-bottom:18px; }
