/* =========================================================
   Wekty – style.css 
   ========================================================= */

/* =====================
   1) Variables & Thème
   ===================== */
:root{
  /* Couleurs de base */
  --wk-bg:#ffffff; --wk-alt:#f5f9ff; --wk-card:#ffffff; --wk-text:#213547; --wk-muted:#5f6b7a; --wk-border:#e6e9ef;
  --wk-primary:#1178A8; --wk-primary-600:#0d5f89; 
  --wk-cta:color-mix(in srgb, var(--wk-primary) 86%, #000 14%); 
  --wk-cta-600:color-mix(in srgb, var(--wk-primary) 70%, #000 30%);
  --wk-violet:#2563eb; --wk-amber:#f59e0b;
  --wk-shadow:0 10px 25px rgba(10,37,64,.08); --wk-shadow-sm:0 6px 18px rgba(15,23,42,.06); --wk-shadow-hover:0 12px 28px rgba(10,37,64,.12);
  /* Rythmes */
  --wk-radius-lg:20px; --wk-radius-md:14px; --wk-radius:16px; --wk-line:1.55; --wk-maxw:1100px; --wk-gap:18px; --wk-gap-lg:26px; --wk-pad:16px; --wk-pad-lg:22px; --wk-sticky-offset:84px;
  /* Réseaux */
  --fb:#1877F2; --ig:#E4405F; --tt:#000000; --li:#0A66C2; --yt:#FF0000; --x:#111111; --wa:#25D366;
  color-scheme: light dark; 
  .wk-cover--placeholder{background:#f2f2f2;aspect-ratio:1/1;border-radius:12px;}

  --wk-soft: color-mix(in srgb, var(--wk-text) 4%, transparent);
  --wk-elev: color-mix(in srgb, var(--wk-card) 92%, var(--wk-text) 8%);

  --wk-input-h: 48px;
}

/* =====================
   2) Reset utiles
   ===================== */
*{box-sizing:border-box}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
}
html,body{margin:0;padding:0}
body{
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--wk-bg);
  color:var(--wk-text);
  line-height:var(--wk-line);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  padding-bottom:env(safe-area-inset-bottom);
  /* Empêcher le scroll horizontal */
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.link{color:var(--wk-primary)}
a.btn,a.wk-btn,a.wk-primary-btn,.top-link{text-decoration:none}
.small{font-size:.9rem;margin:0}
.muted{color:var(--wk-muted)}

/* Focus visible unifié */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,.wk-title-link:focus-visible,.wk-address-link:focus-visible,.wk-primary-btn:focus-visible,.wk-title-icon:focus-visible,.wk-address-link .wk-link-icon:focus-visible,.wk-btn:focus-visible,.wk-tag:focus-visible,.wk-ctaBar a:focus-visible,.btn:focus-visible,.quick-nav a:focus-visible,.fold-summary:focus-visible,.qa summary:focus-visible{outline:2px solid var(--wk-primary-600);outline-offset:2px;border-radius:8px}

/* Accessibilité */
.visually-hidden,.sr-only,.wk-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* =====================
   3) Layout globaux
   ===================== */
.container{width:100%;max-width:var(--wk-maxw);margin:0 auto;padding:0 20px}
@media(max-width:768px){.container{padding:0 24px}}
@media(max-width:380px){.container{padding:0 20px}}
.site-header .container{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
@media(max-width:768px){.site-header .container{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}}
@media(max-width:380px){.site-header .container{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}}
.site-footer .container{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
@media(max-width:768px){.site-footer .container{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}}
@media(max-width:380px){.site-footer .container{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}}
.section{padding:40px 0;overflow-x:visible}
.section.alt,.section.highlight{background:var(--wk-alt)}
.section-title{font-size:clamp(1.25rem,1rem + 1.2vw,1.6rem);font-weight:600;margin:0 0 16px;text-wrap:balance}
section[id]{scroll-margin-top:var(--wk-sticky-offset)}

/* =====================
   4) Header
   ===================== */
.skip-link{position:absolute;top:-100px;left:0;z-index:100;padding:12px 20px;background:var(--wk-primary);color:#fff;text-decoration:none;font-weight:700;border-radius:0 0 8px 0;transition:top .2s}
.skip-link:focus{top:0}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb, var(--wk-card) 85%, transparent);border-bottom:none}
@supports(backdrop-filter:blur(6px)){.site-header{backdrop-filter:blur(6px)}}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--wk-gap);padding:12px 0}
.header-inner .brand{display:flex;align-items:center;min-height:52px}
.header-inner .brand img,.brand-logo{max-height:52px;height:auto;width:auto;object-fit:contain}
@media(max-width:768px){.header-inner{padding:12px 0;gap:16px}.header-inner .brand img,.brand-logo{max-height:48px}}
@media(max-width:380px){.header-inner{padding:10px 0;gap:14px}.header-inner .brand img,.brand-logo{max-height:44px}}

.header-search-row{
  border-top:1px solid var(--wk-border);
  background:transparent;
  padding:10px 0 12px;
}
.header-search-row-inner{
  display:flex;
  justify-content:center;
  align-items:center;
}

.header-search{
  position:relative;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 14px 10px 18px;
  border-radius:14px;
  background:transparent;
  border:none;
  box-shadow:none;
  max-width:600px;
  width:100%;
  transition:all .2s cubic-bezier(0.4, 0, 0.2, 1);
}
.header-search:focus-within{
  box-shadow:none;
}
.header-search-input{
  border:none;
  background:transparent;
  outline:none;
  font-size:.9rem;
  min-width:0;
  flex:1;
  color:var(--wk-text);
  padding:2px 0;
  font-family:inherit;
  line-height:1.5;
}
.header-search-input::placeholder{
  color:var(--wk-muted);
  opacity:.65;
}
.header-search-submit{
  border:none;
  background:transparent;
  cursor:pointer;
  font-size:1.05rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:8px;
  color:var(--wk-muted);
  transition:all .2s ease;
  flex-shrink:0;
  padding:0;
}
.header-search-submit:hover{
  background:color-mix(in srgb,var(--wk-primary) 10%,transparent);
  color:var(--wk-primary);
}
.header-search-submit:active{
  transform:scale(.95);
  background:color-mix(in srgb,var(--wk-primary) 15%,transparent);
}
.header-search-submit:focus-visible{
  outline:2px solid var(--wk-primary-600);
  outline-offset:2px;
}

.header-search-results{
  position:absolute;
  top:calc(100% + 8px);
  left:50%;
  transform:translateX(-50%);
  z-index:60;
  background:var(--wk-card);
  border-radius:14px;
  box-shadow:0 10px 25px rgba(10,37,64,.12), 0 4px 10px rgba(15,23,42,.08);
  border:1px solid var(--wk-border);
  padding:12px;
  max-height:500px;
  overflow-y:auto;
  overflow-x:hidden;
  min-width:100%;
  max-width:600px;
  display:none;
  animation:fadeInDown .2s cubic-bezier(0.4, 0, 0.2, 1);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--wk-primary) 30%,transparent) transparent;
}
.header-search-results::-webkit-scrollbar{
  width:6px;
}
.header-search-results::-webkit-scrollbar-track{
  background:transparent;
  border-radius:3px;
}
.header-search-results::-webkit-scrollbar-thumb{
  background:color-mix(in srgb,var(--wk-primary) 25%,transparent);
  border-radius:3px;
  transition:background .2s ease;
}
.header-search-results::-webkit-scrollbar-thumb:hover{
  background:color-mix(in srgb,var(--wk-primary) 40%,transparent);
}
@keyframes fadeInDown{
  from{
    opacity:0;
    transform:translateX(-50%) translateY(-6px);
  }
  to{
    opacity:1;
    transform:translateX(-50%) translateY(0);
  }
}
.header-search-results.is-visible{display:block}
.header-search-result-item{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:14px 16px;
  text-decoration:none;
  color:var(--wk-text);
  font-size:.9rem;
  cursor:pointer;
  transition:all .2s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius:12px;
  position:relative;
  border:1px solid var(--wk-border);
  margin:0 0 8px 0;
  background:var(--wk-card);
  box-shadow:var(--wk-shadow-sm);
}
.header-search-result-item:last-child{
  margin-bottom:0;
}
.header-search-result-item:hover{
  border-color:color-mix(in srgb,var(--wk-primary) 30%,var(--wk-border) 70%);
  box-shadow:var(--wk-shadow-hover);
  transform:translateY(-2px);
}
.header-search-result-item:active,
.header-search-result-item.is-touching{
  transform:translateY(0);
  box-shadow:var(--wk-shadow-sm);
}
.header-search-result-item.is-highlighted{
  border-color:color-mix(in srgb,var(--wk-primary) 40%,var(--wk-border) 60%);
  box-shadow:var(--wk-shadow-hover);
  background:color-mix(in srgb,var(--wk-primary) 2%,var(--wk-card) 98%);
}
.header-search-result-item.is-highlighted:hover{
  border-color:color-mix(in srgb,var(--wk-primary) 50%,var(--wk-border) 50%);
  box-shadow:var(--wk-shadow-hover);
}
.header-search-result-title{
  font-weight:600;
  line-height:1.4;
  color:var(--wk-text);
  font-size:1rem;
  letter-spacing:-.01em;
  margin:0 0 4px;
}
.header-search-result-meta{
  font-size:.85rem;
  color:var(--wk-muted);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  line-height:1.5;
  margin:0;
}
.header-search-result-meta span{
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.header-search-result-tags{
  font-size:.8rem;
  color:var(--wk-muted);
  opacity:.85;
  font-style:italic;
  margin-top:4px;
  display:flex;
  align-items:center;
  gap:4px;
  flex-wrap:wrap;
}

.header-search-view-all{
  display:block;
  padding:12px 16px;
  margin-top:8px;
  text-align:center;
  text-decoration:none;
  color:var(--wk-primary);
  font-size:.9rem;
  font-weight:500;
  border-top:1px solid var(--wk-border);
  border-radius:0 0 12px 12px;
  background:color-mix(in srgb,var(--wk-primary) 2%,var(--wk-card) 98%);
  transition:all .2s cubic-bezier(0.4, 0, 0.2, 1);
  cursor:pointer;
}
.header-search-view-all:hover{
  background:color-mix(in srgb,var(--wk-primary) 5%,var(--wk-card) 95%);
  color:var(--wk-primary-600);
}
.header-search-view-all:active{
  background:color-mix(in srgb,var(--wk-primary) 8%,var(--wk-card) 92%);
  transform:scale(.98);
}

@media(max-width:768px){
  .header-search-row{
    padding:6px 0 10px;
  }
  .header-search{
    max-width:none;
    width:100%;
    padding:10px 14px 10px 16px;
  }
  .header-search-results{
    left:0;
    right:0;
    transform:none;
    min-width:auto;
    max-width:none;
    border-radius:14px;
    margin:0 4px;
    max-height:min(60vh, 500px);
  }
  @keyframes fadeInDown{
    from{
      opacity:0;
      transform:translateY(-6px);
    }
    to{
      opacity:1;
      transform:translateY(0);
    }
  }
  .header-search-result-item{
    padding:12px 14px;
    gap:6px;
  }
  .header-search-result-title{
    font-size:.95rem;
  }
  .header-search-result-meta{
    font-size:.83rem;
  }
}
@media(max-width:480px){
  .header-search-row{
    padding:4px 0 8px;
  }
  .header-search{
    padding:12px 16px 12px 18px;
  }
  .header-search-input{
    font-size:16px;
  }
  .header-search-submit{
    width:36px;
    height:36px;
  }
  .header-search-results{
    margin:0 2px;
    max-height:min(65vh, 480px);
  }
}
@media(min-width:769px) and (max-width:1024px){
  .header-search{
    max-width:500px;
  }
  .header-search-results{
    max-width:500px;
    max-height:450px;
  }
}
@media(min-width:1025px) and (max-width:1280px){
  .header-search{
    max-width:550px;
  }
  .header-search-results{
    max-width:550px;
  }
}
@media(min-width:1281px){
  .header-search{
    max-width:600px;
  }
  .header-search-results{
    max-width:600px;
  }
}
@media(pointer:coarse){
  .header-search-submit{
    min-width:40px;
    min-height:40px;
  }
  .header-search-result-item{
    min-height:56px;
    padding:14px 16px;
  }
}

/* Explorer - Grid responsive pour mobile/tablette */
.explorer-categories-grid,.explorer-themes-grid,.explorer-home-grid{display:grid!important;gap:16px!important}
@media(max-width:768px){
  .explorer-categories-grid,.explorer-themes-grid,.explorer-home-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}
  .explorer-categories-grid article,.explorer-themes-grid article,.explorer-home-grid article{border-radius:14px!important}
  .explorer-categories-grid article > a > div,.explorer-categories-grid article > div > div,.explorer-themes-grid article > a > div,.explorer-themes-grid article > div > div,.explorer-home-grid article > div > div{aspect-ratio:1!important;border-radius:14px!important}
}
@media(min-width:769px) and (max-width:1024px){
  .explorer-categories-grid,.explorer-themes-grid,.explorer-home-grid{grid-template-columns:repeat(3,1fr)!important;gap:16px!important}
}
@media(min-width:1025px){
  .explorer-categories-grid,.explorer-themes-grid,.explorer-home-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}
}

/* Menu toggle (hamburger) - Mobile */
.menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;background:transparent;border:none;border-radius:10px;cursor:pointer;transition:background .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.menu-toggle:hover{background:color-mix(in srgb, var(--wk-text) 6%, transparent)}
.menu-toggle:active{background:color-mix(in srgb, var(--wk-text) 10%, transparent);transform:scale(.95)}
.menu-toggle-icon{display:flex;flex-direction:column;justify-content:space-between;width:20px;height:14px;position:relative}
.menu-toggle-icon span{display:block;width:100%;height:2px;background:var(--wk-text);border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* Top links (pills) */
.top-links{display:flex;align-items:center;gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:6px 0 8px;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%)}
.top-links::-webkit-scrollbar{display:none}
/* Desktop: Afficher les liens normalement */
@media(min-width:769px){
  .mobile-menu-header,.mobile-menu-footer{display:none!important}
  .mobile-menu-links{display:flex!important;align-items:center!important;gap:12px!important;flex-direction:row!important;flex:0 0 auto!important;padding:0!important;overflow:visible!important}
  .mobile-menu-links .top-link{scroll-snap-align:start!important;padding:10px 16px!important;border-radius:12px!important;white-space:nowrap!important;color:var(--wk-muted)!important;transition:transform .06s ease,background .15s ease!important;font-weight:500!important;min-height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;width:auto!important;border-bottom:none!important;font-size:inherit!important;letter-spacing:normal!important;margin:0!important;position:relative!important;z-index:auto!important}
  .mobile-menu-links .top-link .menu-link-icon{display:none!important}
  .mobile-menu-links .top-link:hover,.mobile-menu-links .top-link.active{background:color-mix(in srgb, var(--wk-text) 6%, transparent)!important;color:var(--wk-text)!important;padding-left:16px!important}
  .mobile-menu-links .top-link:active{transform:scale(.96)!important}
}
.top-link{scroll-snap-align:start;padding:10px 16px;border-radius:12px;white-space:nowrap;color:var(--wk-muted);transition:transform .06s ease,background .15s ease;font-weight:500;min-height:44px;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.top-link .menu-link-icon{display:none}
.top-link-text-short{display:none}
@media(max-width:768px){
  .top-link-text{display:none}
  .top-link-text-short{display:inline}
}
@media(max-width:480px){
  .top-link{padding:12px 14px;font-size:.9rem}
}
.top-link:hover,.top-link.active{background:color-mix(in srgb, var(--wk-text) 6%, transparent);color:var(--wk-text)}
.top-link:active{transform:scale(.96)}
@media(max-width:768px){.top-link{padding:12px 16px;font-size:.95rem}}

/* Desktop: Menu toujours visible */
@media(min-width:769px){
  .top-links[aria-hidden="false"],.top-links[aria-hidden="true"]{display:flex!important;transform:none!important;position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;background:transparent!important;overflow:visible!important}
}

/* Mobile menu - Hamburger */
@media(max-width:768px){
  .menu-toggle{display:flex;z-index:100002;position:relative}
  .menu-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:rgba(0,0,0,.6)!important;z-index:100000!important;opacity:0;visibility:hidden;transition:opacity .3s cubic-bezier(.4,0,.2,1),visibility .3s!important;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important;pointer-events:none}
  .menu-overlay.active{opacity:1!important;visibility:visible!important;pointer-events:auto}
  .top-links{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:0!important;background:linear-gradient(180deg,var(--wk-card) 0%,var(--wk-alt) 100%)!important;border:none!important;box-shadow:none!important;overflow-y:auto!important;overflow-x:hidden!important;transform:translateX(100%)!important;transition:transform .35s cubic-bezier(.4,0,.2,1)!important;z-index:100001!important;max-width:100vw!important;overscroll-behavior:contain!important;-webkit-mask-image:none!important;mask-image:none!important;scroll-snap-type:none!important;margin:0!important}
  .top-links[aria-hidden="false"]{transform:translateX(0)!important}
  .top-links > .top-link{display:none!important}
  .mobile-menu-header{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:18px 24px!important;background:var(--wk-card)!important;border-bottom:1px solid var(--wk-border)!important;flex-shrink:0!important;position:sticky!important;top:0!important;z-index:10!important;box-shadow:0 2px 8px rgba(0,0,0,.04)!important}
  .mobile-menu-logo{display:flex!important;align-items:center!important;text-decoration:none!important;padding:0!important;margin:0!important}
  .mobile-menu-logo img{max-height:40px!important;width:auto!important;height:auto!important;object-fit:contain!important}
  .menu-close{display:flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;background:transparent!important;border:none!important;border-radius:10px!important;cursor:pointer!important;font-size:1.5rem!important;color:var(--wk-text)!important;transition:all .15s ease!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;font-family:inherit!important;line-height:1!important}
  .menu-close:hover{background:color-mix(in srgb, var(--wk-text) 6%, transparent)!important;transform:scale(1.1)!important}
  .menu-close:active{transform:scale(.95)!important;background:color-mix(in srgb, var(--wk-text) 10%, transparent)!important}
  .mobile-menu-links{display:flex!important;flex-direction:column!important;flex:1!important;padding:8px 0!important;overflow-y:auto!important}
  .mobile-menu-links .top-link{width:100%!important;justify-content:flex-start!important;padding:18px 24px!important;border-radius:0!important;margin:0!important;font-size:1.1rem!important;font-weight:600!important;min-height:60px!important;position:relative!important;z-index:100002!important;color:var(--wk-text)!important;border-bottom:1px solid var(--wk-border)!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important;display:flex!important;align-items:center!important;gap:14px!important;font-family:inherit!important;line-height:1.5!important;letter-spacing:-.01em!important}
  .mobile-menu-links .top-link .menu-link-icon{display:inline-block!important;font-size:1.4rem!important;line-height:1!important;flex-shrink:0!important;width:28px!important;text-align:center!important;transition:transform .2s cubic-bezier(.4,0,.2,1)!important}
  .mobile-menu-links .top-link::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--wk-primary) 0%,var(--wk-primary-600) 100%);transform:scaleY(0);transition:transform .25s cubic-bezier(.4,0,.2,1);border-radius:0 4px 4px 0;box-shadow:0 0 8px rgba(17,120,168,.3)}
  .mobile-menu-links .top-link:hover{background:color-mix(in srgb, var(--wk-primary) 8%, transparent)!important;color:var(--wk-primary)!important;padding-left:28px!important}
  .mobile-menu-links .top-link:hover .menu-link-icon{transform:scale(1.1)}
  .mobile-menu-links .top-link:hover::before{transform:scaleY(1)}
  .mobile-menu-links .top-link.active{background:color-mix(in srgb, var(--wk-primary) 12%, transparent)!important;color:var(--wk-primary)!important;font-weight:700!important;padding-left:28px!important}
  .mobile-menu-links .top-link.active .menu-link-icon{transform:scale(1.15)}
  .mobile-menu-links .top-link.active::before{transform:scaleY(1)}
  .mobile-menu-links .top-link:active{transform:scale(.98)!important;background:color-mix(in srgb, var(--wk-primary) 15%, transparent)!important}
  .mobile-menu-links .top-link:active .menu-link-icon{transform:scale(1.05)}
  .mobile-menu-footer{display:flex!important;flex-shrink:0!important;padding:24px 20px!important;background:var(--wk-card)!important;border-top:1px solid var(--wk-border)!important;flex-direction:column!important;gap:12px!important;position:sticky!important;bottom:0!important;box-shadow:0 -2px 8px rgba(0,0,0,.04)!important}
  .mobile-menu-cta{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;padding:16px 24px!important;background:var(--wk-primary)!important;color:#fff!important;border-radius:14px!important;font-weight:700!important;font-size:1.05rem!important;text-decoration:none!important;box-shadow:0 4px 12px rgba(17,120,168,.25)!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important;min-height:52px!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;font-family:inherit!important;line-height:1.5!important;letter-spacing:-.01em!important}
  .mobile-menu-cta:hover{background:var(--wk-primary-600)!important;box-shadow:0 6px 16px rgba(17,120,168,.35)!important;transform:translateY(-1px)!important}
  .mobile-menu-cta:active{transform:translateY(0)!important;box-shadow:0 2px 8px rgba(17,120,168,.25)!important}
  .mobile-menu-cta-icon{font-size:1.3rem!important;line-height:1!important}
  .mobile-menu-footer-text{text-align:center!important;font-size:.9rem!important;color:var(--wk-muted)!important;margin:0!important;line-height:1.5!important;font-family:inherit!important}
  .site-header{--header-height:60px;z-index:99999}
}
@media(max-width:380px){.top-link{padding:14px 18px;font-size:.95rem}}

/* =====================
   5) Boutons
   ===================== */
.btn:not(.social),.wk-btn,.wk-primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;min-height:44px;min-width:44px;background:var(--wk-primary);color:#fff;border:1px solid transparent;border-radius:14px;box-shadow:var(--wk-shadow);font-weight:700;cursor:pointer;text-decoration:none;transition:transform .06s ease,background .15s ease,box-shadow .15s ease}
.btn:not(.social):hover,.wk-btn:hover,.wk-primary-btn:hover{background:var(--wk-primary-600);box-shadow:var(--wk-shadow-hover)}
.btn:not(.social):active,.wk-btn:active,.wk-primary-btn:active{transform:translateY(1px)}
.btn--cta,.wk-ctaBtn{background:var(--wk-cta);color:#fff}
.btn--cta:hover,.wk-ctaBtn:hover{background:var(--wk-cta-600)}
.btn--light{background:var(--wk-card);color:var(--wk-primary);border:1px solid var(--wk-border)}
.btn--light:hover{background:color-mix(in srgb, var(--wk-card) 90%, var(--wk-text) 10%)}

/* Boutons sociaux */
.btn.social{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:var(--wk-card);color:var(--wk-text);border:1px solid var(--wk-border);font-size:.82rem;font-weight:500;text-decoration:none!important;box-shadow:0 2px 6px rgba(0,0,0,.06);transition:transform .12s ease,box-shadow .2s ease}
.btn.social:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.08)}
.btn.social:active{transform:none;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.btn.social .icon,.btn.social .icon *{width:14px;height:14px;fill:currentColor;stroke:currentColor}
.footer-social .btn.social[href*="instagram"],.footer-social .btn.social[href*="facebook"],.footer-social .btn.social[href*="tiktok"],.footer-social .btn.social[href*="linkedin"],.footer-social .btn.social[href*="youtube"],.footer-social .btn.social[href*="x"],.footer-social .btn.social[href*="whatsapp"]{background:var(--wk-card)!important;color:var(--wk-text)!important;border-color:var(--wk-border)!important}

/* =====================
   6) Cartes & communs
   ===================== */
.card{background:var(--wk-card);border:1px solid var(--wk-border);border-radius:var(--wk-radius-lg);box-shadow:var(--wk-shadow);padding:var(--wk-pad-lg)}
.card-title{margin:0 0 10px;font-weight:600;font-size:1.15rem}

/* =====================
   7) Hero
   ===================== */
.hero{padding:16px 0 36px}
.hero-grid{display:grid;grid-template-columns:1fr;gap:var(--wk-gap-lg);align-items:center}
@media(min-width:961px){.hero-grid{grid-template-columns:1.05fr .95fr}}
.hero-copy h1{font-size:clamp(1.6rem,1.1rem + 3vw,2.6rem);line-height:1.22;margin:0 0 10px;text-wrap:balance}
.lead{color:var(--wk-muted);margin:0 0 18px}
.store-buttons{display:grid;gap:10px;align-items:start}
.store{font-size:1.02rem}
.store-alt{display:flex;align-items:center;gap:8px;color:var(--wk-muted)}
.store-link{opacity:.9;text-decoration:none}
.store-link:hover{text-decoration:underline}
.store-note{font-size:.92rem}
.hero-visuals{display:flex;gap:16px;justify-content:center;align-items:flex-end;flex-wrap:wrap}
.hero-visuals img,.phone-mockup.flat img{width:clamp(160px,40vw,230px);height:auto;border-radius:18px;filter:drop-shadow(0 12px 24px rgba(10,37,64,.18));object-fit:contain}
/* =====================
   8) Presse (base existante conservée)
   ===================== */
.press-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.press-link{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;padding:12px;background:var(--wk-card);border:1px solid var(--wk-border);border-radius:var(--wk-radius-md);box-shadow:var(--wk-shadow);text-decoration:none}
@media(min-width:600px){.press-link{grid-template-columns:64px 1fr;gap:14px}}
.press-link:hover{border-color:color-mix(in srgb, var(--wk-border) 70%, var(--wk-primary) 30%)}
.press-logo{width:56px;height:56px;object-fit:cover;border-radius:12px;border:1px solid var(--wk-border)}
@media(min-width:600px){.press-logo{width:64px;height:64px}}
.press-source{font-size:.95rem;color:var(--wk-muted)}
.press-headline{font-weight:600;margin:4px 0}
.press-meta{color:var(--wk-muted);font-size:.92rem}

/* =====================
   Vidéo intégrée dans la carte
   ===================== */
/* Variante carte qui contient une vidéo/thumbnail */
.press-link--video .press-content{display:grid;gap:6px}

/* Conteneur vidéo : centré, largeur max ~560px, responsive */
.press-link--video .press-video{
  position:relative;
  width:100%;
  max-width:560px;     /* ≈ 560px sur desktop */
  margin:8px auto;     /* centré dans la carte */
  aspect-ratio:16/9;
  border-radius:12px;
  overflow:hidden;
}

/* Image de la miniature (ou iframe si tu remplaces dynamiquement) */
.press-link--video .press-video img,
.press-link--video .press-video iframe{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border:0;
}

/* Icône play au centre (si tu gardes une image cliquable) */
.press-link--video .press-video .yt-play{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font-size:2.4rem;
  color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.6);
  pointer-events:none;
}

/* Carte vidéo : la vidéo s'affiche au-dessus et span toute la largeur */
.press-link--video .press-video{
  grid-column: 1 / -1;       
  width: 100%;
  max-width: 560px;         
  margin: 6px auto 10px;     
  aspect-ratio: 16/9;
  border-radius: 12px;
  overflow: hidden;
}
.press-link--video .press-video img,
.press-link--video .press-video iframe{
  width: 100%; height: 100%; display: block; object-fit: cover; border: 0;
}
.press-link--video .press-video .yt-play{
  position: absolute; inset: 0; display: grid; place-items: center;
  font-size: 2.4rem; color: #fff; text-shadow: 0 2px 8px rgba(0,0,0,.6); pointer-events: none;
}

/* Vidéo au-dessus : un poil moins d'espace dessous */
.press-link--video .press-video{
  margin: 6px auto 6px;   /* avant: 6px auto 10px */
}

/* Contenu texte : gap plus serré (comme Sudpresse) */
.press-link--video .press-content{ 
  display: grid;
  gap: 4px;               /* avant: 6px */
}

/* Titre : marge verticale réduite */
.press-link--video .press-headline{
  margin: 2px 0;          /* avant: 4px 0 via règle globale */
}

/* Option: harmonise la ligne "source" si besoin */
.press-link--video .press-source{
  font-size: .95rem;
  color: var(--wk-muted);
  margin: 0;
}

/* =====================
   9) Offres / packs
   ===================== */
.card.proposer,.card.proposer .card{padding:18px 20px;border-radius:var(--wk-radius);box-shadow:var(--wk-shadow)}
.steps-list{margin:10px 0 0;padding-left:18px;line-height:1.5}
.steps-list li+li{margin-top:4px}

.quick-nav{display:flex;gap:10px 12px;flex-wrap:nowrap;margin:14px 0 8px;padding:10px 0;border-block:1px solid rgba(2,6,23,.07);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity}
.quick-nav::-webkit-scrollbar{display:none}
.quick-nav a{display:inline-flex;align-items:center;gap:.4rem;padding:8px 12px;border-radius:999px;font-size:.94rem;line-height:1.2;text-decoration:none;color:var(--wk-text);background:color-mix(in srgb, var(--wk-text) 4%, transparent);transition:background .2s ease,transform .06s ease;white-space:nowrap;scroll-snap-align:start}
.quick-nav a:hover{background:color-mix(in srgb, var(--wk-text) 8%, transparent)}
.quick-nav a:active{transform:scale(.98)}
.quick-nav a.primary{background:#0b3a86;color:#fff;font-weight:700}
.quick-nav a.primary:hover{background:#072a62}

/* Fold/FAQ */
details>summary{list-style:none;-webkit-tap-highlight-color:transparent}
details>summary::-webkit-details-marker,details>summary::marker{display:none}
.fold{border-top:1px solid var(--wk-border)}
.fold+.fold{border-top:none}
.fold-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:8px 0;cursor:pointer}
.fold-summary h2{margin:0;display:inline-flex;align-items:center;gap:.5rem;font-size:clamp(1.05rem,.95rem + 1vw,1.25rem)}
.chevron{font-size:.95em;line-height:1;transition:.25s transform ease}
.fold[open] .chevron{transform:rotate(90deg)}
.fold-content{overflow:hidden;max-height:0;transition:max-height .4s ease,padding .2s ease;padding:0}
.fold[open] .fold-content{max-height:3000px;padding:8px 0 0}

.hint-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:4px 10px;min-height:28px;font-size:clamp(.72rem,.68rem + .4vw,.85rem);font-weight:700;letter-spacing:.02em;line-height:1;color:#7a2e00;background:var(--wk-card);border:1px solid #ffe3ba;border-radius:999px;box-shadow:var(--wk-shadow-sm);flex-shrink:0}

/* Tableau comparatif (packs) */
.offer-table{width:100%;border-collapse:separate;border-spacing:0 6px;font-size:.98rem;table-layout:auto}
.offer-table td{padding:6px 10px;vertical-align:top;border-radius:10px;background:transparent;line-height:1.35}
.compare-grid-table{display:grid;gap:16px;margin-top:12px}
.compare-header,.pack-row{display:grid;gap:16px;grid-template-columns:minmax(160px,220px) 1fr 1fr;align-items:start}
.compare-header{padding:10px 12px;background:color-mix(in srgb, var(--wk-text) 6%, transparent);border-radius:12px}
.colhead{font-weight:600;color:var(--wk-text)}
.pack-row{padding:14px;background:var(--wk-card);border-radius:16px;box-shadow:var(--wk-shadow);border:1px solid var(--wk-border)}
.pack-title{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.pack-sub{font-weight:600;font-size:.86rem;color:var(--wk-muted)}
.pack-cell{padding:8px 10px;border-left:1px dashed color-mix(in srgb, var(--wk-text) 10%, transparent)}
.pack-row .pack-cell:first-of-type{border-left:none}
.bullets{margin:0;padding-left:18px;display:grid;gap:6px}
.bullets li{line-height:1.45}
.bullets.selling{margin-top:6px}
.bullets.selling li em{font-style:normal;font-weight:600}
.bullets.selling.center{display:inline-block;text-align:left}
.pill{display:flex;align-items:center;justify-content:center;border-radius:14px;font-weight:700;padding:10px;border:1px solid transparent}
.pill--essentiel{background:#eaf2ff;border-color:#dbe9ff;color:#0b3a86}
.pill--partenaire{background:#efe7fb;border-color:#e2d7f7;color:#4b2c78}
.pill--boost{background:#fff2df;border-color:#ffe3ba;color:#7a4a00}
.pack-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:4px 0 8px;min-height:40px}
.pack-head.justify-center{justify-content:center}
.price-block{display:flex;flex-direction:column;gap:8px}
.price-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;background:#0b3a86;color:#fff;font-weight:800;line-height:1}
.price-note{font-size:.9rem;color:var(--wk-muted)}
.price-annual{font-size:.76rem;color:var(--wk-muted);margin-bottom:6px}
.price-orig,.old-price{text-decoration:line-through;opacity:.65;font-weight:600}
.new-price{font-size:1.05em}
.discount-badge{background:#ff7b00;color:#fff;padding:2px 6px;border-radius:8px;font-size:.8em;font-weight:600}
.badge-reco{display:inline-block;padding:2px 8px;border-radius:999px;font-weight:800;font-size:.72rem;background:#fff2df;border:1px solid #ffe3ba;color:#7a4a00;align-self:flex-start}
.promo-active .price-chip{filter:saturate(1.1)}
.price-chip.promo{background:#1f2937}
.price-pill{display:inline-flex;align-items:center;gap:6px}
.price-pill__old{display:inline-flex;align-items:center;padding:3px 5px;border-radius:999px;background:color-mix(in srgb, var(--wk-text) 8%, transparent);font-weight:700;text-decoration:line-through;opacity:.9}
.price-pill__arrow{opacity:.5;font-weight:700}
.price-pill__new{display:inline-flex;align-items:center;padding:3px 5px;border-radius:999px;background:#0b3a86;color:#fff;font-weight:800;box-shadow:var(--wk-shadow)}
.price-pill__tag{display:inline-flex;align-items:center;padding:2px 5px;border-radius:999px;background:#ff6b00;color:#fff;font-weight:800;font-size:.78rem;margin-left:6px}
.promo-banner{margin:8px 0 0;padding:8px 12px;border-radius:10px;background:#eaf2ff;border:1px solid #dbe9ff;color:#0b3a86;font-weight:700}
.price-footnote{margin-top:12px;font-size:.9rem;color:var(--wk-muted)}
.pack-priority.centered{max-width:880px;margin:18px auto 0;text-align:center;padding:var(--wk-pad);border-radius:var(--wk-radius)}
.pack-priority__head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin-bottom:6px}
.pack-priority .compat{font-size:.85rem;font-weight:700;color:#0b3a86;background:#eaf2ff;border:1px solid #dbe9ff;padding:2px 8px;border-radius:999px}
.rarity-note{margin-top:10px;font-size:.9rem;color:#7a2e00;background:#fff2df;border:1px solid #ffe3ba;padding:6px 10px;border-radius:8px;font-weight:600}

/* =====================
   10) Formulaires
   ===================== */

.form-actions {
  display: flex;
  gap: .75rem;
  justify-content: flex-end; /* desktop : alignés à droite */
}

@media (max-width: 600px) {
  .form-actions {
    flex-direction: column-reverse; /* ordre inversé en mobile */
    align-items: stretch;           /* boutons prennent toute la largeur */
  }
  .form-actions .btn {
    width: 100%;                    /* largeur max sur mobile */
  }
}

/* ===== Formulaires (Wekty) — version optimisée ===== */
.form{
  display:grid;
  gap:10px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: visible;
  overflow-y: visible;
  padding: 0 4px;
}
.hp-field{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}
.form-row{display:grid;gap:8px;grid-template-columns:1fr;padding:0 4px}
@media(min-width:801px){.form-row{grid-template-columns:1fr 1fr}}

.form-field{margin:16px 0;position:relative;overflow:visible;padding:0 4px}
.form-field label{display:block;font-weight:700;color:var(--wk-text);margin-bottom:.4rem;font-size:.9rem}
.form-field .muted{color:var(--wk-muted);font-size:.9rem}
.form-field .field-error{display:none;margin-top:.4rem;font-size:.85rem;color:#ef4444;font-weight:600}
.form-field.field-invalid .field-error{display:block}
.word-counter{display:block;margin-top:.4rem;font-size:.85rem;font-weight:600;transition:color .2s}
.word-counter-success{color:#10b981}
.word-counter-warning{color:#f59e0b}

/* Inputs (fallback inclus) — taille conservée */
.form-field input[type="text"], .form-field input[type="number"], .form-field input:not([type]){display:block;width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--wk-border,#e5e7eb);background:var(--wk-card,#fff);font-size:16px;line-height:1.3;box-sizing:border-box}
input[type="text"],input[type="number"],input[type="email"],input[type="url"],input[type="date"],input[autocomplete],select,textarea{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;border:1px solid var(--wk-border);border-radius:var(--wk-radius);
  height:var(--wk-input-h);background:var(--wk-card,#fff);color:var(--wk-text);
  padding:0 14px;transition:border-color .15s,box-shadow .15s,background .15s;font:inherit;font-size:.95rem
}
textarea{height:auto;min-height:140px;padding:10px 14px;resize:vertical}
#remarque{min-height:60px!important;max-height:80px!important}
input:focus,textarea:focus,select:focus{border-color:var(--wk-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--wk-primary) 22%,transparent);outline:none;position:relative;z-index:1}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--wk-primary-600);outline-offset:2px;border-radius:12px;position:relative;z-index:1}
input::placeholder,textarea::placeholder{color:var(--wk-muted)}
input.is-invalid,select.is-invalid,textarea.is-invalid{border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.12)}

select{
  appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;
  padding-right:2.2rem;
  background:
    var(--wk-card,#fff)
    url("data:image/svg+xml;utf8,<svg fill='%2394a3b8' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 10l5 5 5-5z'/></svg>")
    no-repeat right .7rem center/16px;
  cursor:pointer;box-shadow:var(--wk-shadow);border-color:var(--wk-border)
}
select::-ms-expand{display:none!important}
select::-webkit-select-arrow{display:none!important}
select:hover{border-color:color-mix(in srgb, var(--wk-border) 80%, var(--wk-text) 20%)}
select:focus-visible{outline:0;border-color:color-mix(in srgb,var(--wk-primary) 55%, var(--wk-card));box-shadow:0 0 0 3px color-mix(in srgb,var(--wk-primary) 18%, transparent),var(--wk-shadow)}
option{padding:.5rem .75rem;background:var(--wk-card);color:var(--wk-text)}
.wk-select{font-variant-emoji:emoji}

.wk-select-wrap{position:relative}
.wk-select-wrap select{position:absolute!important;inset:0!important;opacity:0!important;pointer-events:none!important;appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background-image:none!important;background:none!important;background-color:transparent!important;z-index:-1!important}
.wk-select-btn{width:100%;padding:0 14px;height:var(--wk-input-h);border:1px solid var(--wk-border);border-radius:var(--wk-radius);background:var(--wk-card);color:var(--wk-text);display:flex;align-items:center;justify-content:space-between;cursor:pointer;font:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}
.wk-select-btn:hover{border-color:color-mix(in srgb, var(--wk-border) 80%, var(--wk-text) 20%)}
.wk-select-btn:focus-visible{outline:0;border-color:var(--wk-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--wk-primary) 18%, transparent),var(--wk-shadow)}
.wk-select-label{flex:1;text-align:left}
.wk-select-caret{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--wk-muted);margin-left:8px;transition:transform .15s}
.wk-select-wrap[aria-expanded="true"] .wk-select-caret{transform:rotate(180deg)}
.wk-select-menu{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--wk-card);border:1px solid var(--wk-border);border-radius:var(--wk-radius);box-shadow:var(--wk-shadow);max-height:300px;overflow-y:auto;z-index:1000;display:none}
.wk-select-wrap[aria-expanded="true"] .wk-select-menu{display:block}
.wk-option{padding:10px 14px;cursor:pointer;color:var(--wk-text);transition:background .12s}
.wk-option:hover{background:var(--wk-alt)}
.wk-option[aria-selected="true"]{background:color-mix(in srgb, var(--wk-primary) 12%, transparent);color:var(--wk-primary);font-weight:600}

.wk-intro-message{margin:1em 0;padding:1em;border-radius:8px;background:var(--wk-alt);color:var(--wk-text);border:1px solid var(--wk-border)}

.free-activity-block{margin-top:1rem;padding:14px 16px;background:var(--wk-alt);border:1px solid var(--wk-border);border-radius:10px}
.free-activity-block label{display:flex;align-items:flex-start;gap:10px;font-weight:700;color:var(--wk-text);cursor:pointer}
.free-activity-block .muted{display:block;font-weight:400;font-size:0.85rem;color:var(--wk-muted);line-height:1.4}

#titleHint{display:block;max-width:100%;color:var(--wk-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.checkbox{display:flex;gap:10px;align-items:flex-start}
.checkbox input{margin-top:3px}

.form-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.form-status{color:var(--wk-muted);font-size:.85rem;padding:.5rem .75rem;border-radius:8px;background:var(--wk-alt);border:1px solid var(--wk-border);transition:opacity .3s,transform .3s;display:none}
.form-status:not(:empty){display:block;min-height:1.2em}
.form-status.status-success{color:#10b981;background:color-mix(in srgb, #10b981 10%, transparent);border-color:#10b981}
.form-status.status-error{color:#ef4444;background:color-mix(in srgb, #ef4444 10%, transparent);border-color:#ef4444}
.form-status.status-warning{color:#f59e0b;background:color-mix(in srgb, #f59e0b 10%, transparent);border-color:#f59e0b}
.contact-direct-email{margin-top:12px;padding:10px 12px;background:color-mix(in srgb,var(--wk-text) 4%, transparent);border-radius:10px}
.contact-direct-email .link,.contact-direct-email a{color:var(--wk-primary);font-weight:600}
.contact-direct-email a:hover{text-decoration:underline}

.is-hidden{display:none!important}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.form-footnote{margin-top:.5rem;font-size:.85rem;color:var(--wk-muted)}
.form-footnote .required-star{color:#e11d48;font-weight:700;margin-right:2px}

/* Stepper */
.stepper{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;position:static;padding:4px 0}
.stepper .chip{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:999px;border:1px solid var(--wk-border);background:var(--wk-card);color:var(--wk-text);font-weight:600;font-size:.95rem;transition:transform .15s,background .15s,border-color .15s}
.stepper .chip:hover{transform:translateY(-1px)}
.stepper .chip.current{background:var(--wk-primary);color:#fff;border-color:var(--wk-primary)}
.stepper .chip.done{background:var(--wk-alt);color:var(--wk-text);border-color:var(--wk-border)}

/* Grilles */
.form-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr;overflow:visible;padding:0 4px}
@media(max-width:760px){.form-grid{grid-template-columns:1fr}}
.form-grid.grid-2{grid-template-columns:1fr 1fr}
@media(max-width:760px){.form-grid.grid-2{grid-template-columns:1fr}}
label.inline{display:flex;align-items:center;gap:.55rem;font-weight:600;color:var(--wk-text)}

fieldset.form-field{border:0;padding:0;margin:12px 0}
fieldset.form-field>legend{display:block;margin:0 0 .4rem;font-weight:700;font-size:.9rem;color:var(--wk-text)}

#dupWarn.alert{margin-top:1rem;padding:12px 16px;border-radius:var(--wk-radius);border:1px solid #f87171;background:#fef2f2;color:#991b1b;font-weight:600;font-size:.95rem;line-height:1.4;box-shadow:0 1px 2px rgba(0,0,0,.04)}
#dupWarn.alert::before{content:"⚠️ ";margin-right:4px}

/* Chips */
.chips{display:flex;flex-wrap:wrap;gap:.65rem}
.chip{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--wk-border);background:var(--wk-card);color:var(--wk-text);border-radius:999px;padding:.45rem 1rem;font-weight:700;font-size:.9rem;cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .06s;user-select:none;position:relative}
.chip:hover{border-color:var(--wk-primary);transform:translateY(-1px)}
.chip:has(input[type="checkbox"]:checked){background:var(--wk-primary);border-color:var(--wk-primary);color:#fff}
.chip:has(input:focus-visible){outline:2px solid var(--wk-primary-600);outline-offset:2px;border-radius:999px}
.chips .chip input{position:absolute;inset:0;margin:0;opacity:0;width:100%;height:100%;appearance:none;pointer-events:auto;cursor:pointer}

/* Rôles */
.role-fieldset{border:0;padding:0;margin:0 0 .75rem}
.role-cards{display:grid;gap:.75rem;grid-template-columns:1fr;list-style:none;margin:0;padding:0}
@media(min-width:720px){.role-cards{grid-template-columns:1fr 1fr 1fr}}
.role-card{display:flex;gap:.75rem;align-items:flex-start;padding:2rem;border-radius:14px;border:1px solid var(--wk-border);background:#fff;cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .06s;box-shadow:var(--wk-shadow);position:relative;min-height:14rem}
.role-card:hover{border-color:#cbd5e1;transform:translateY(-1px)}
.role-card:focus-within{outline:2px solid color-mix(in srgb,var(--wk-primary) 45%, transparent);outline-offset:2px;border-radius:14px}
.role-card input[type="radio"]{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.role-card__body{display:flex;flex-direction:column;gap:.15rem}
.role-card__title{font-weight:800;color:var(--wk-text)}
.role-card__sub{color:var(--wk-muted);font-size:.95rem;line-height:1.35}
.role-card__check{position:absolute;left:12px;top:12px;width:14px;height:14px;border-radius:50%;border:2px solid #cbd5e1;background:#fff}
.role-card:has(input[type="radio"]:checked) .role-card__check{border-color:var(--wk-primary);background:var(--wk-primary)}

/* Boutons */
#wizardActions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:1rem;padding:1rem 0}
#wizardActions .btn{min-width:8.25rem;min-height:44px;font-size:1rem;white-space:nowrap}
@media (max-width:768px){
  #wizardActions{
    position:sticky;
    bottom:0;
    background:var(--wk-card);
    border-top:1px solid var(--wk-border);
    padding:14px 16px;
    margin:0 -16px -16px;
    z-index:10;
    box-shadow:0 -4px 12px rgba(0,0,0,.08);
    gap:10px;
  }
  #wizardActions .btn{
    flex:1 1 auto;
    min-width:0;
    min-height:48px;
    font-size:1rem;
    font-weight:700;
    padding:14px 20px;
  }
  #wizardActions .btn.is-hidden{
    display:none;
  }
  #wizardActions .form-status{
    order:-1;
    width:100%;
    text-align:center;
    margin-bottom:8px;
    font-size:.9rem;
  }
}
@media (max-width:480px){
  #wizardActions{
    padding:12px 14px;
    gap:8px;
  }
  #wizardActions .btn{
    width:100%;
    min-width:100%;
  }
}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;border-radius:10px;border:1px solid #d6dbe5;background:#fff;color:#0b1b33;font-weight:700;transition:transform .06s,background .15s,border-color .15s;white-space:nowrap;line-height:1.2}
.btn:hover{background:#f7f9fd;border-color:#c9d1df}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--wk-primary);border-color:var(--wk-primary);color:#fff}
.btn.primary:hover{background:var(--wk-primary-600);border-color:var(--wk-primary-600)}
@media (max-width:640px){
  .btn{
    width:100%;
    min-height:48px;
    padding:14px 20px;
    font-size:1rem;
  }
}

/* Similarités */
#similarBox{border:1px solid var(--wk-border);background:var(--wk-soft);border-radius:var(--wk-radius);padding:1rem;box-shadow:var(--wk-shadow)}
#similarBox .similar-head{margin-bottom:8px}
#similarBox .similar-list{list-style:none;padding:0;margin:4px 0 10px}
#similarBox .similar-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px dashed #eef2f7;flex-wrap:wrap}
#similarBox .similar-item:last-child{border-bottom:0}
#similarBox .similar-title{font-weight:700;margin-right:2px}
#similarBox .similar-score{display:none}
#similarBox .similar-actions{margin-left:6px}
.similar-actions .btn-ghost{display:inline-block;font-size:.85rem;padding:4px 10px;line-height:1.2;border-radius:6px;border:1px solid var(--wk-primary);background:transparent;color:var(--wk-primary);font-weight:600;text-decoration:none;transition:all .15s}
.similar-actions .btn-ghost:hover{background:var(--wk-primary);color:#fff}
#similarBox .dup-ack{margin-top:12px;padding:14px 16px;border:1px solid #f3e8a3;background:#fff8d6;border-radius:12px}
#similarBox .dup-ack__label{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;cursor:pointer}
#similarBox .dup-ack__label input[type="checkbox"]{transform:scale(1.35);margin-top:2px;accent-color:var(--wk-primary)}
#similarBox .dup-ack__title{font-weight:800;font-size:1rem;line-height:1.2}
#similarBox .dup-ack__hint{display:block;font-size:.9rem;color:#555}

/* Kind switch */
.kind-switch{border:0;padding:0;margin:0 0 1rem;display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.kind-switch .seg{position:relative;display:inline-flex;align-items:center;border:1px solid var(--wk-border);background:#fff;color:var(--wk-text);border-radius:999px;padding:.5rem 1rem;font-weight:700;font-size:.95rem;cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .06s}
.kind-switch .seg:hover{transform:translateY(-1px);border-color:#cbd5e1}
.kind-switch .seg input{position:absolute;opacity:0;pointer-events:none}
.kind-switch .seg:has(input:checked){background:var(--wk-primary);border-color:var(--wk-primary);color:#fff}
.kind-switch .seg:focus-within{outline:2px solid color-mix(in srgb,var(--wk-primary) 45%, transparent);outline-offset:2px;border-radius:999px}

/* Cartes Options (packs) */
.option-cards{display:grid;gap:.75rem;grid-template-columns:1fr}
@media(min-width:720px){.option-cards{grid-template-columns:1fr 1fr}}
.option-card{display:flex;flex-direction:column;gap:.65rem;padding:1.25rem 1.4rem;border-radius:14px;border:1px solid var(--wk-border);background:#fff;cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .06s;box-shadow:var(--wk-shadow);position:relative}
.option-card:hover{border-color:#cbd5e1;transform:translateY(-1px)}
.option-card:focus-within{outline:2px solid color-mix(in srgb,var(--wk-primary) 35%, transparent);outline-offset:2px}
.option-card[hidden]{display:none!important}
.option-card input[type="radio"]{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.option-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}
.option-card__title{font-weight:800;color:var(--wk-text);line-height:1.2;margin:0;font-size:1.05rem}
.option-card__badge{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .5rem;border-radius:999px;background:var(--wk-alt);color:var(--wk-text);font-size:.8rem;font-weight:700;border:1px solid var(--wk-border);white-space:nowrap}
.option-card__sub{color:var(--wk-muted);font-size:.95rem;margin:0;line-height:1.45}
.option-card__points{margin:.45rem 0 0;padding-left:1.15rem;color:var(--wk-text);font-size:.92rem;display:grid;gap:.35rem}
.option-card__points li{list-style:disc;margin:.1rem 0;line-height:1.45}
.option-card.is-selected{border-color:var(--wk-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--wk-primary) 22%, transparent),var(--wk-shadow)}

/* --- Fix mobile overflow des cartes d’options --- */

/* 1) Grille fluide qui ne dépasse jamais */
.option-cards{
  grid-template-columns: minmax(0, 1fr); /* au lieu de 1fr */
}
@media (min-width: 720px){
  .option-cards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 2) Les cartes ne “poussent” jamais la colonne */
.option-card{
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;                 /* important si contenu long */
  overflow: hidden;             /* empêche les débordements visuels */
}

/* 3) Le contenu peut se casser proprement */
.option-card__title,
.option-card__sub,
.option-card__points,
.option-card__badge{
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* 4) Badge : autoriser le retour à la ligne sur petits écrans */
@media (max-width: 480px){
  .option-card__badge{
    white-space: normal;        /* remplace le nowrap */
  }
}

/* 5) Images/icônes éventuelles dans la carte */
.option-card img,
.option-card svg{
  max-width: 100%;
  height: auto;
  display: block;
}

/* 6) Petits paddings sur mobile pour gagner de la place */
@media (max-width: 480px){
  .option-card{
    padding: 1rem 1rem;
    gap: .55rem;
  }
  .option-card__title{ font-size: 1rem; }
  .option-card__sub{ font-size: .9rem; }
}

/* --- En-tête des cartes option : titre + prix --- */
.option-card__head{
  display:grid;
  grid-template-columns: 1fr auto;   /* titre à gauche, prix à droite */
  align-items:flex-start;
  gap:.75rem;
  min-width:0;                        /* évite les débordements */
}

/* Wrap du prix (pastille + suffixe “/mois”) */
.option-card__head .price-wrap{
  display:flex;
  align-items:center;
  gap:.5rem;
  min-width:0;
  max-width:100%;
}

/* Pastille prix (celle en bleu sur ta capture) */
.option-card__head .price-pill{
  display:flex;
  align-items:center;
  gap:.35rem;
  padding:.35rem .6rem;
  border-radius:12px;
  background:#0F2B6E;
  color:#fff;
  max-width:100%;
  flex-wrap:wrap;                     /* autorise le retour à la ligne */
  box-sizing:border-box;
}

.option-card__head .price-pill .price-num{      /* prix actuel */
  font-weight:800;
  font-size:1.05rem;
  line-height:1.1;
}

.option-card__head .price-pill .price-old{      /* ancien prix barré */
  opacity:.85;
  text-decoration:line-through;
  font-size:.85rem;
  white-space:nowrap;
}

.option-card__head .price-pill .price-discount{ /* badge -35% orange */
  background:#ff7a00;
  color:#fff;
  border-radius:8px;
  padding:.15rem .35rem;
  font-weight:800;
  line-height:1;
  font-size: .75rem;
  writing-mode: initial;
}

.option-card__head .price-suffix{               /* “/mois” */
  font-weight:800;
  color:#0f172a;
  white-space:nowrap;
}

/* Ruban “Recommandé” en haut à gauche */
.option-card .option-card__ribbon{
  position:absolute; top:.5rem; left:.5rem;
  max-width:calc(100% - 1rem);
  white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis;
}

/* --- Ajustements mobile --- */
@media (max-width: 480px){
  .option-card__head{
    grid-template-columns: 1fr;       /* le prix passe sous le titre */
  }
  .option-card__head .price-wrap{
    justify-self:start;               /* aligne à gauche */
  }
  .option-card__head .price-pill{
    padding:.3rem .5rem;
    font-size:.95rem;                 /* réduit légèrement le contenu */
  }
  .option-card__head .price-suffix{
    font-size:.85rem;
  }
  .option-card .option-card__ribbon{
    font-size:.75rem; padding:.15rem .5rem;
  }
}
/* ===========================
   Options / Packs (scopé)
   =========================== */

/* Grille responsive qui ne déborde jamais */
#optionCards{
  display:grid;
  gap:.75rem;
  grid-template-columns:minmax(0,1fr);
}
@media (min-width:720px){
  #optionCards{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Carte */
#optionCards .option-card{
  position:relative;
  display:flex; flex-direction:column; gap:.65rem;
  padding:1.25rem 1.4rem;
  border-radius:14px; background:#fff;
  border:1px solid var(--wk-border);
  box-shadow:var(--wk-shadow);
  box-sizing:border-box; max-width:100%; min-width:0;
  cursor:pointer;
  transition:box-shadow .15s,border-color .15s,transform .06s;

  /* pour le ruban */
  overflow:visible;
  padding-top:1.5rem;
}
#optionCards .option-card:hover{ border-color:#cbd5e1; transform:translateY(-1px); }
#optionCards .option-card.is-selected{
  border-color:var(--wk-primary);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--wk-primary) 22%, transparent),var(--wk-shadow);
}

/* Ruban “Recommandé” (non coupé) */
#optionCards .wk-ribbon{
  position:absolute; top:.25rem; left:16px; z-index:2;
  background:#f59e0b; color:#111827; font-weight:700; font-size:.72rem;
  padding:.28rem .5rem; border-radius:999px;
  box-shadow:0 6px 12px rgba(245,158,11,.35);
  max-width:calc(100% - 32px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* Header : Titre | Prix (prix reste sur une ligne, le titre ne se “compresse” pas) */
#optionCards .option-card__head{
  display:grid;
  grid-template-columns:minmax(12rem,1fr) auto;  /* protège la largeur du titre */
  align-items:center;
  gap:.75rem;
  min-width:0;
}
#optionCards .option-card__title{
  margin:0; font-weight:800; color:var(--wk-text);
  line-height:1.2; font-size:1.05rem;
  white-space:normal;             /* redevient normal */
  word-break:break-word;          /* seulement si très long */
}

/* Badge / prix (inclut le suffixe) */
#optionCards .option-card__badge{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.35rem .65rem; border-radius:999px;
  background:var(--wk-alt); color:var(--wk-text); font-size:.85rem; font-weight:700;
  border:1px solid var(--wk-border); white-space:nowrap; flex:0 0 auto;
}

/* Capsule prix interne remplie par JS (.price-chip) */
#optionCards .price-wrap{
  display:flex; align-items:center; gap:.5rem;
  flex:0 0 auto;
}
#optionCards .price-chip{
  display:inline-flex; align-items:center; gap:.45rem;
  padding:.35rem .6rem; border-radius:12px;
  background:#0F2B6E; color:#fff; white-space:nowrap;
}
#optionCards .price-chip .old{ opacity:.85; text-decoration:line-through; }
#optionCards .price-chip .now{ font-weight:800; }
#optionCards .price-suffix{ white-space:nowrap; font-weight:800; color:#0f172a; }

/* Texte / puces */
#optionCards .option-card__sub{ color:var(--wk-muted); font-size:.95rem; margin:0; line-height:1.45; }
#optionCards .wk-points{ list-style:none; padding:0; margin:.25rem 0 0; line-height:1.6; }
#optionCards .wk-points li{ margin:.35rem 0; }
#optionCards .wk-foot{ font-size:.8rem; opacity:.7; text-align:right; margin-top:.5rem; }

/* État désactivé */
#optionCards.is-disabled{ pointer-events:none; opacity:.6; }
#optionCards.is-disabled .option-card{ cursor:not-allowed; }

/* Mobile : plus compact ; si trop étroit, le prix passe sous le titre sans casser la capsule */
@media (max-width:480px){
  #optionCards .option-card{ padding:1rem; gap:.55rem; }
  #optionCards .option-card__title{ font-size:1rem; }
  #optionCards .option-card__sub{ font-size:.9rem; }
  #optionCards .option-card__head{ grid-template-columns:1fr; row-gap:.5rem; }
  #optionCards .price-chip{ font-size:.95rem; padding:.3rem .5rem; }
}


/* Grilles utilitaires compl. */
:root{ --wk-input-h: 48px; } /* (déjà présent chez toi — conservé) */
.form-grid.grid-2-1-1{grid-template-columns:2fr 1fr 1fr}
.form-grid.grid-3-1{grid-template-columns:3fr 1fr}
.form-grid.grid-1-2{grid-template-columns:1fr 2fr}
@media (max-width:760px){.form-grid.grid-2-1-1,.form-grid.grid-3-1,.form-grid.grid-1-2{grid-template-columns:1fr}}
.form-field [name="street_number"]{max-width:none!important}

/* Spécifique (séparateurs + hints) */
.kind-switch+fieldset.form-field{margin-top:16px}
fieldset.form-field>legend{margin-bottom:.5rem}
#specPermanent .form-field:first-child{padding-top:12px;border-top:1px dashed color-mix(in srgb,var(--wk-text) 12%, transparent)}
#specPermanent .form-field>label{margin-bottom:.55rem}
#specPermanent .form-field .muted{display:block;margin-top:.45rem}
.options-divider{height:1px;margin:18px 0;background:linear-gradient(90deg,transparent,var(--wk-border),transparent)}
.media-section{margin-top:10px;padding-top:14px;border-top:1px solid var(--wk-border)}
.media-section .form-field>label{font-weight:700}
.input-hint{display:block;margin-top:.25rem;font-size:.85rem;color:#64748b}

/* Uploads */
#mediaBlock .preview,#mediaBlock video{max-width:280px;max-height:180px;width:auto;height:auto;object-fit:cover;border-radius:10px;display:block;margin-top:6px}
#mediaBlockFree .preview,#mediaBlockFree img.preview{max-width:180px;max-height:180px;width:auto;height:auto;object-fit:contain;border-radius:8px;display:block;margin-top:8px;border:1px solid #e2e8f0;background:#f8fafc;opacity:0.85}
#mediaBlockFree .preview-wrapper{display:inline-flex;align-items:flex-start;gap:8px;margin-top:8px}
#mediaBlockFree .preview-wrapper[hidden]{display:none !important}
#mediaBlockFree .preview-wrapper .preview{max-width:180px;max-height:180px;margin-top:0}
#mediaBlockFree .btn-delete-media{flex-shrink:0;padding:4px 8px;font-size:0.75rem;background:#ef4444;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background 0.2s;line-height:1.2}
#mediaBlockFree .btn-delete-media:hover{background:#dc2626}
#mediaBlock .preview-wrapper{display:inline-flex;align-items:flex-start;gap:8px;margin-top:6px}
#mediaBlock .preview-wrapper[hidden]{display:none !important}
#mediaBlock .preview-wrapper .preview{max-width:240px;max-height:160px;margin-top:0;opacity:0.85}
#mediaBlock .btn-delete-media{flex-shrink:0;padding:4px 8px;font-size:0.75rem;background:#ef4444;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background 0.2s;line-height:1.2}
#mediaBlock .btn-delete-media:hover{background:#dc2626}
.upload-status{display:flex;align-items:flex-start;gap:8px;margin-top:8px;font-size:13px;color:#444;line-height:1.5}
.upload-status .txt{flex:1;min-width:0;word-wrap:break-word;white-space:pre-wrap}
.upload-status .ok{color:#157347;font-weight:500}
.upload-status .warn{color:#b45f06;font-weight:500}
.upload-status .err{color:#b02a37;font-weight:600;background:#fff5f5;padding:8px 12px;border-radius:6px;border-left:3px solid #b02a37;display:block;width:100%}
.upload-status progress{width:160px;height:8px;flex-shrink:0;margin-top:2px}

/* Preview carte app */
/* Carte */
.wk-card.wk-card--preview-app{
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  overflow:hidden;
  max-width:760px;
  margin:0 auto;
}

/* Media */
.wk-media{
  position:relative;
  background:#f6f7f8;      /* fond si aucun média */
  border-radius:12px;
  overflow:hidden;
}

/* Viewport : carré */
.wk-media__viewport{
  position:relative;
  width:100%;
  aspect-ratio: 1 / 1;     /* ⬅️ carré, plus 16:9 */
}

/* Slide empilé */
.wk-slide{
  position:absolute;
  inset:0;
  display:none;
}
.wk-slide.is-active{ display:block; }

/* Le média DOIT remplir le viewport */
.wk-card--preview-app .wk-slide img {
  position:absolute;
  inset:0;
  width:100% !important;   /* ⬅️ force contre vieux styles */
  height:100% !important;  /* ⬅️ idem */
  object-fit:contain;
  object-position:center;
  display:block;
}

.wk-card--preview-app .wk-slide video{
  position:absolute;
  inset:0;
  width:100% !important;   /* ⬅️ force contre vieux styles */
  height:100% !important;  /* ⬅️ idem */
  object-fit: cover;       /* remplit, recadre si besoin */
  object-position:center;
  display:block;
}

/* le reste de tes styles inchangés */
.wk-body{padding:14px 16px 18px}
.wk-headline{margin:2px 0 8px}
.wk-title{font-size:1.25rem;margin:0;display:inline-flex;gap:6px;align-items:center}
.wk-title-link{text-decoration:none}
.wk-meta-line{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}
.wk-chip{display:inline-block;padding:.25rem .5rem;border-radius:999px;background:#eef1f5;font-size:.85rem}
.wk-address{margin:.4rem 0 0}
.wk-address-link{text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.wk-address-link span[aria-hidden="true"]{margin:0}

/* Viewport carré */
.wk-card--preview-app .wk-media__viewport{
  width:100%;
  aspect-ratio: 1 / 1 !important; 
  position: relative;
}

/* Slides full-bleed */
.wk-card--preview-app .wk-slide{ position:absolute; inset:0; display:none; }
.wk-card--preview-app .wk-slide.is-active{ display:block; }

/* FORCE le remplissage complet du viewport */
.wk-card--preview-app .wk-slide img
{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
}
.wk-card--preview-app .wk-slide video{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-position:center !important;
  display:block !important;
}


/* === Étape 7 — Toujours en colonne (image au-dessus) === */
/* Conteneur de l'étape 7 - sécurisation */
.step[data-step="7"] {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  /* Empêcher tout débordement horizontal */
  overflow-x: hidden;
  position: relative;
}

/* Sécurisation générale de toutes les sections step */
section.step,
.step {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0 4px;
  overflow-x: visible;
}

.step[data-step="7"] #reviewPreview {
  display: block;
  max-width: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  box-sizing: border-box;
  position: relative;
}

.step[data-step="7"] .wk-card.wk-card--preview-app {
  display: block !important;              /* pas de grille/flex côte à côte */
  max-width: 520px;
  width: 100%;
  margin: 0 auto 14px;
  border-radius: 12px;
  overflow: hidden;                       /* Empêcher tout débordement */
  box-sizing: border-box;
  position: relative;
}

/* Empilement vertical (média au-dessus du body) */
.step[data-step="7"] .wk-card.wk-card--preview-app .wk-media,
.step[data-step="7"] .wk-card.wk-card--preview-app .wk-body {
  display: block;
  width: 100%;
  max-width: 100%;
  grid-column: auto !important;
  box-sizing: border-box;
  overflow: hidden;
}

/* === MEDIA: viewport carré + remplissage === */
.step[data-step="7"] .wk-media {
  position: relative;
  background: #f6f7f8;
  border-radius: 12px;
  overflow: hidden;                        /* masque le recadrage du cover */
}

/* Carré : ajuste ici si tu veux un autre ratio (ex: 4/3 ou 16/9) */
.step[data-step="7"] .wk-media__viewport {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;                     /* carré */
  /* Plus AUCUNE hauteur figée */
}

/* Chaque slide occupe tout le viewport */
.step[data-step="7"] .wk-slide {
  position: absolute;
  inset: 0;
  display: none;
}
.step[data-step="7"] .wk-slide.is-active {
  display: block;
}

/* Remplissage du cadre par l'image/la vidéo */
.step[data-step="7"] .wk-slide img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;                      /* montre l'image entière sans recadrage */
  object-position: center;
  display: block;
  background: #f6f7f8;
}
.step[data-step="7"] .wk-slide video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;                      
  object-position: center;
  display: block;
  background: #f6f7f8;
}

/* la grille des infos/consents reste en 1 colonne, même > 860px */
.step[data-step="7"] .wk-review-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr !important;
}

/* petits ajustements de lisibilité */
.step[data-step="7"] .wk-body {
  padding: 12px 14px 16px;
  line-height: 2;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.step[data-step="7"] .wk-card.wk-card--preview-app::after {
  content: "";
  display: block;
  clear: both;
}

/* Uniformiser la taille des textes dans la preview */
.step[data-step="7"] .wk-body,
.step[data-step="7"] .wk-meta-line,
.step[data-step="7"] .wk-chip,
.step[data-step="7"] .wk-when,
.step[data-step="7"] .wk-address,
.step[data-step="7"] .wk-address-link,
.step[data-step="7"] .wk-desc {
  font-size: 0.95rem;   /* taille uniforme */
  line-height: 1.5;     /* confort de lecture */
  font-weight: 400;     /* normaliser poids */
}

.step[data-step="7"] .wk-when span:first-of-type {
  font-weight: 600;     /* garde uniquement l’icône/date en gras */
}

/* === Fin étape 7 === */
.wk-review-ux{max-width:760px;margin:8px auto 16px}
.wk-review-grid{display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:860px){.wk-review-grid{grid-template-columns:1.1fr .9fr}}
.wk-review-title{margin:.25rem 0 .5rem;font-size:1.05rem;font-weight:700}
.wk-review-kv{list-style:none;padding:0;margin:0 0 .75rem}
.wk-review-kv li{display:flex;justify-content:space-between;gap:12px;padding:.45rem .6rem;background:#f8fafc;border-radius:8px;font-size:.95rem}
.wk-review-kv li b{color:#334155}
.wk-review-list{list-style:none;padding:0;margin:0}
.wk-review-list li{padding:.45rem .6rem;border-radius:8px;background:#fef3c7;color:#7c2d12;margin-bottom:6px;font-size:.95rem}
.wk-review-list li.is-ok{background:#ecfdf5;color:#065f46}
.wk-consents{background:#f8fafc;border-radius:10px;padding:.6rem .75rem}
.wk-consent{display:flex;gap:.5rem;align-items:flex-start;margin:.35rem 0}
.wk-consents-hint{margin:.4rem 0 0;font-size:.9rem;color:#475569}
.wk-intro-message{background:var(--wk-alt);border-left:4px solid var(--wekty-blue,#3b82f6);padding:1em;border-radius:8px;font-size:.95rem;line-height:1.4;color:var(--wk-text);border:1px solid var(--wk-border)}


/* === Carousel skin for form preview (mirrors share page) === */
.wk-card--preview-app .wk-media__overlay,
.step[data-step="7"] .wk-media__overlay{
  position:absolute; 
  left:0; 
  right:0; 
  top:0;
  padding:.5rem 0 0; 
  display:flex; 
  justify-content:center;
  pointer-events:none; 
  z-index:5;
  /* S'assurer que l'overlay ne sort pas */
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
.wk-card--preview-app .wk-dots,
.step[data-step="7"] .wk-dots{ display:flex; gap:.4rem; pointer-events:auto; }
.wk-card--preview-app .wk-dot,
.step[data-step="7"] .wk-dot{
  width:.5rem; height:.5rem; border-radius:50%;
  background:rgba(255,255,255,.6); border:0; padding:0; cursor:pointer; opacity:.9;
  transition:transform .12s, background .12s, opacity .12s;
}
.wk-card--preview-app .wk-dot.is-on,
.step[data-step="7"] .wk-dot.is-on{ background:#fff; transform:scale(1.1); }

/* vidéo = pastille “play” */
.wk-card--preview-app .wk-dot--video,
.step[data-step="7"] .wk-dot--video{ width:.7rem; border-radius:.2rem; background:transparent; position:relative; }
.wk-card--preview-app .wk-dot--video::before,
.step[data-step="7"] .wk-dot--video::before{
  content:""; display:block; width:0; height:0;
  border-left:.55rem solid rgba(255,255,255,.7);
  border-top:.35rem solid transparent; border-bottom:.35rem solid transparent; margin-left:.1rem;
}
.wk-card--preview-app .wk-dot--video.is-on::before,
.step[data-step="7"] .wk-dot--video.is-on::before{ border-left-color:#fff; }

.wk-card--preview-app .wk-ig-arrows,
.step[data-step="7"] .wk-ig-arrows{ 
  position:absolute; 
  inset:0; 
  pointer-events:none; 
  z-index:3;
  /* S'assurer que les flèches ne sortent pas */
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.wk-card--preview-app .wk-ig-arrow,
.step[data-step="7"] .wk-ig-arrow{
  pointer-events:auto; 
  position:absolute; 
  top:50%; 
  transform:translateY(-50%);
  width:34px; 
  height:52px; 
  border-radius:8px; 
  display:flex; 
  align-items:center; 
  justify-content:center;
  border:0; 
  cursor:pointer; 
  background:rgba(0,0,0,.35); 
  color:#fff; 
  font-size:22px; 
  line-height:1;
  transition:opacity .12s, background .12s, transform .12s; 
  backdrop-filter:blur(2px);
  /* S'assurer que les flèches restent dans le conteneur */
  max-width: 34px;
  max-height: 52px;
  box-sizing: border-box;
}
.wk-card--preview-app .wk-ig-arrow:hover,
.step[data-step="7"] .wk-ig-arrow:hover{ background:rgba(0,0,0,.55); transform:translateY(-50%) scale(1.05); }
.wk-card--preview-app .wk-ig-prev, .step[data-step="7"] .wk-ig-prev{ left:6px; }
.wk-card--preview-app .wk-ig-next, .step[data-step="7"] .wk-ig-next{ right:6px; }
.wk-card--preview-app .wk-ig-arrow.is-hidden,
.step[data-step="7"] .wk-ig-arrow.is-hidden{ opacity:0; pointer-events:none; }

/* remonter les dots si une vidéo est visible (évite la barre des contrôles) */
.wk-card--preview-app .wk-media__viewport:has(video) .wk-media__overlay,
.step[data-step="7"] .wk-media__viewport:has(video) .wk-media__overlay{
  bottom:56px;
}
@media (max-width:480px){
  .wk-card--preview-app .wk-media__viewport:has(video) .wk-media__overlay,
  .step[data-step="7"] .wk-media__viewport:has(video) .wk-media__overlay{ bottom:52px; }
}

/* === STYLES POUR APERÇU FIDÈLE À L'APP === */
/* Hero section avec média - dans le conteneur wk-card */
.step[data-step="7"] .wk-card.wk-card--preview-app .wekty-detail-media.wk-detail-hero {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border-radius: 0;
  box-sizing: border-box;
  /* Empêcher tout débordement */
  contain: layout style;
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wekty-detail-media .wk-media__viewport {
  background: #000 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wekty-detail-media .wk-media {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
}

/* Sécurisation des slides */
.step[data-step="7"] .wk-card.wk-card--preview-app .wekty-detail-media .wk-slide {
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wekty-detail-media .wk-slide img,
.step[data-step="7"] .wk-card.wk-card--preview-app .wekty-detail-media .wk-slide video {
  max-width: 100%;
  max-height: 100%;
  box-sizing: border-box;
}

/* Contenu principal - style moderne */
.step[data-step="7"] .wk-card.wk-card--preview-app .wekty-detail-inner.wk-detail-content-modern {
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 6%);
  padding: 0.75rem 1rem 0.5rem 1rem;
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  /* Empêcher tout débordement */
  contain: layout style;
}

/* Header - style carte moderne */
.step[data-step="7"] .wk-card.wk-card--preview-app .wk-detail-header {
  margin: 0 0 0.75rem 0;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 18px;
  padding: 1rem;
  position: relative;
  z-index: 3;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06), 0 2px 8px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.06);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  /* Empêcher tout débordement */
  contain: layout style;
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wk-detail-title-modern {
  font-size: 1.625rem;
  font-weight: 800;
  line-height: 1.25;
  color: #1e293b;
  margin: 0 0 0.75rem 0;
  letter-spacing: -0.02em;
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  word-wrap: break-word;
  overflow-wrap: break-word;
  max-width: 100%;
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wk-detail-title-link {
  color: inherit;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wk-detail-title-link:hover {
  color: #3b82f6;
  transform: translateY(-1px);
}

/* Métadonnées modernes */
.step[data-step="7"] .wk-card.wk-card--preview-app .wk-detail-meta-modern {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-bottom: 0.75rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wk-meta-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.75rem;
  border-radius: 999px;
  border: none;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  font-size: 0.875rem;
  font-weight: 600;
  color: white;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  letter-spacing: -0.01em;
  filter: contrast(1.1) brightness(1.05);
  min-height: 32px;
  touch-action: manipulation;
  flex-shrink: 0;
  box-sizing: border-box;
  max-width: 100%;
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wk-meta-item:nth-child(1) {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wk-meta-item:nth-child(2) {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wk-meta-item:nth-child(3) {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wk-meta-item:nth-child(4) {
  background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wk-event-date-meta {
  background: linear-gradient(135deg, #ec4899 0%, #db2777 100%) !important;
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wk-meta-icon {
  font-size: 0.875rem;
  filter: brightness(1.1);
  margin-right: 0.125rem;
  min-width: 14px;
  text-align: center;
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wk-meta-text {
  font-size: 0.875rem;
  font-weight: 600;
  color: white;
  white-space: nowrap;
}

/* Adresse - style badge */
.step[data-step="7"] .wk-card.wk-card--preview-app .wk-detail-address {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);
  padding: 0.75rem 1rem;
  border-radius: 20px;
  border: none;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  margin-top: 0.5rem;
  box-shadow: 0 2px 8px rgba(6, 182, 212, 0.2);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  /* Empêcher tout débordement */
  min-width: 0;
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wk-address-icon {
  font-size: 0.875rem;
  color: white;
  filter: brightness(1.2);
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
  flex-shrink: 0;
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wk-address-link {
  color: white;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 600;
  transition: all 0.3s ease;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
  word-wrap: break-word;
  overflow-wrap: break-word;
  max-width: 100%;
  flex: 1;
  min-width: 0;
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wk-address-link:hover {
  color: white;
  transform: translateX(1px);
}

/* Description - style moderne */
.step[data-step="7"] .wk-card.wk-card--preview-app .wk-detail-description-modern {
  margin: 0 0 0.75rem 0;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 18px;
  padding: 1rem;
  position: relative;
  z-index: 2;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06), 0 2px 8px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.06);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  /* Empêcher tout débordement */
  contain: layout style;
}

.step[data-step="7"] .wk-card.wk-card--preview-app .wk-description-content {
  font-size: 1rem;
  line-height: 1.6;
  color: #111827;
  text-align: left;
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  word-wrap: break-word;
  overflow-wrap: break-word;
  max-width: 100%;
}


/* ===== Packs ===== */
#packs .promo-banner{margin:0 0 .75rem 0;font-weight:600}

/* Grille & en-têtes */
#packs .pack-ux .wk-grid{display:grid;grid-template-columns:260px 1fr 1fr;grid-auto-rows:auto;column-gap:24px;row-gap:12px;align-items:start}
#packs .pack-ux .compare-header{display:grid;grid-template-columns:260px 1fr 1fr;margin-bottom:.75rem}
#packs .pack-ux .compare-header .colhead{text-align:center;font-weight:600;padding:.5rem 0}
#packs .pack-ux .pack-title{grid-column:1;grid-row:1/3;align-self:center;margin:0;padding:.75rem}
#packs .pack-ux .price-left{grid-column:2;text-align:center}
#packs .pack-ux .price-right{grid-column:3;text-align:center;border-left:1px solid #eef2f7}
#packs .pack-ux .wk-desc{grid-column:2/4;border-top:1px solid #f1f5f9;padding-top:.75rem}
#packs .wk-desc .wk-cols{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 2rem}
#packs .wk-desc ul{list-style:none;padding:0;margin:0}
#packs .wk-desc li{margin:.35rem 0}
#packs .wk-desc li::before{content:"✔";margin-right:.5rem;font-weight:700}
.price-footnote{text-align:center;margin-top:1rem;font-size:.85rem;opacity:.7}
@media(max-width:720px){
  #packs .pack-ux .compare-header{grid-template-columns:1fr 1fr;text-align:center}
  #packs .pack-ux .wk-grid{grid-template-columns:1fr}
  #packs .pack-ux .pack-title{grid-row:auto;grid-column:1;text-align:center}
  #packs .wk-desc .wk-cols{grid-template-columns:1fr}
}

/* Bandeau prix compact & harmonisé */
#packs .pack-ux .pack-head{
  display:inline-flex;align-items:center;gap:8px;
  padding:4px 10px;border-radius:999px;background:#f1f5f9;;color:#0f172a;
  font-size:.95rem;line-height:1.2;box-shadow:var(--wk-shadow);width:max-content
}
#packs .pack-ux .price-orig{font-size:.85rem;opacity:.6;white-space:nowrap;text-decoration:line-through;margin-right:.35rem}
#packs .pack-ux .price-orig:not([hidden])::after{content:"→";margin:0 6px;opacity:.6}
#packs .pack-ux .price-chip{display:inline-block;padding:2px 8px;border-radius:999px;font-weight:800;background:#3b82f6;color:#fff;font-size:.95rem}
#packs .pack-ux .price-badge{display:inline-block;padding:2px 6px;border-radius:999px;font-weight:700;font-size:.7rem;line-height:1.1;background:#daaf70;color:#fff;margin-left:.35rem;white-space:nowrap;opacity:.95}
#packs .pack-ux .price-note{margin-left:2px;opacity:.85;font-size:.9rem;white-space:nowrap}
#packs .pack-ux .promo-active .price-chip{font-weight:800}

/* Prix barré (form & wrapper) — unique */
.form .price-orig, #proposer-form-wrapper .price-orig{
  text-decoration:line-through;opacity:.6;margin-right:.35rem;white-space:nowrap
}

/* === Proposer — Packs Partenaire : fix mobile strict === */
@media (max-width:720px){

  /* 2 colonnes pour la ligne de contenu (titre violet + 2 prix + desc) */
  #packs .pack-ux .pack-row.wk-grid{
    display:grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    column-gap:10px; row-gap:10px;
    align-items:start;
  }

  /* Bloc violet au-dessus, pleine largeur */
  #packs .pack-ux .pack-row .pack-title{
    grid-column:1 / -1 !important;
    text-align:center;
    margin-bottom:.25rem;
  }

  /* Les deux bandeaux prix côte à côte */
  #packs .pack-ux .pack-row .pack-head{
    max-width:100%;
    width:100%;
    justify-content:center;
    flex-wrap:wrap;                /* évite que ça déborde */
    box-sizing:border-box;
  }
  #packs .pack-ux .pack-row .pack-head[data-price="partenaire_temporaire"]{ grid-column:1 !important; }
  #packs .pack-ux .pack-row .pack-head[data-price="partenaire_permanent"]{  grid-column:2 !important; }

  /* Description en dessous, pleine largeur (écrase le style inline grid-column:2/4) */
  #packs .pack-ux .pack-row .wk-desc{
    grid-column:1 / -1 !important;
    border-top:1px solid #f1f5f9;
    padding-top:.75rem;
    text-align:left;
  }

  /* Nettoyage : pas de séparateur vertical sur mobile */
  #packs .pack-ux .price-right{ border-left:0 !important; }

  /* Option : cacher l'en-tête de comparaison pour gagner de la place */
  #packs .pack-ux .compare-header{ display:none !important; }
}

/* Bloc neutre */
#ideaKindWrap{
  padding: 12px 14px;
  border: 1px solid var(--wk-border);
  border-radius: 12px;
  background: var(--wk-alt);
}

/* Titre */
#ideaKindWrap > label[for="idea_kind_switch"]{
  display:flex; align-items:center; gap:.5rem;
  font-weight:700; color:var(--wk-text); margin-bottom:8px;
}
#ideaKindWrap > label[for="idea_kind_switch"]::before{ content:"⚠️"; }

/* — Radio cards — */
#ideaKindWrap .kind-switch{
  display:grid; grid-template-columns:1fr 1fr; gap:10px;
}
#ideaKindWrap .seg{
  position:relative; display:block; cursor:pointer; user-select:none;
}

/* Visuel de la carte (texte dans le <span>) */
#ideaKindWrap .seg input + span{
  display:flex; align-items:center; gap:10px;
  padding:12px 14px;
  border:1px solid var(--wk-border);
  border-radius:10px;
  background:var(--wk-card);
  font-weight:700; color:var(--wk-text);
  transition: background .12s, border-color .12s, box-shadow .12s;
}

/* Petit marqueur à gauche, discret */
#ideaKindWrap .seg input + span::before{
  content:"";
  width:12px; height:12px; border-radius:999px;
  border:2px solid var(--wk-border); background:var(--wk-card);
  box-sizing:border-box;
}

/* État sélectionné : juste un liseré et le point rempli */
#ideaKindWrap .seg input:checked + span{
  border-color:#2563eb;
  background:var(--wk-card);
  box-shadow:0 1px 0 rgba(37,99,235,.05);
}
#ideaKindWrap .seg input:checked + span::before{
  border-color:#2563eb; background:#2563eb;
}

/* Hover/focus doux */
#ideaKindWrap .seg:hover input + span{ background:var(--wk-alt); }
#ideaKindWrap .seg:has(input:focus-visible) input + span{
  outline:2px solid #2563eb33; outline-offset:2px; border-radius:999px;
}

/* Mobile : une carte par ligne */
@media (max-width: 520px){
  #ideaKindWrap .kind-switch{ grid-template-columns:1fr; }
}


/* =====================
   11) Popup
   ===================== */
.popup-overlay[hidden]{display:none!important}
.popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}
.popup-content{max-width:460px;width:100%;position:relative}
.popup-close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:1.5rem;cursor:pointer;line-height:1;color:var(--wk-muted)}
.popup-close:hover{color:var(--wk-text)}

/* =====================
   12) Footer
   ===================== */
.site-footer{
  background:linear-gradient(180deg,var(--wk-alt) 0%,var(--wk-card) 100%);
  border-top:1px solid var(--wk-border);
  margin-top:4rem;
  position:relative
}
.site-footer::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg,transparent 0%,var(--wk-border) 20%,var(--wk-border) 80%,transparent 100%)
}
.footer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
  align-items:start;
  padding:48px 0 32px
}
@media(min-width:769px){
  .footer-grid{
    grid-template-columns:1.4fr 1fr 1fr;
    gap:48px;
    padding:56px 0 40px
  }
}
.footer-col{
  display:flex;
  flex-direction:column;
  gap:16px
}
.footer-col-brand{
  gap:20px
}
.footer-brand{
  display:flex;
  flex-direction:column;
  gap:16px;
  align-items:center;
  text-align:center;
  transition:opacity .2s ease
}
.footer-brand:hover{
  opacity:.85
}
@media(min-width:769px){
  .footer-brand{
    align-items:flex-start;
    text-align:left
  }
}
.footer-brand img{
  height:46px;
  width:auto;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.05))
}
.footer-tagline{
  font-size:.9rem;
  color:var(--wk-muted);
  line-height:1.6;
  margin:0;
  max-width:280px
}
@media(min-width:769px){
  .footer-tagline{
    font-size:.95rem
  }
}
.footer-title{
  font-size:.95rem;
  font-weight:600;
  color:var(--wk-text);
  margin:0 0 12px 0;
  letter-spacing:-.01em
}
@media(min-width:769px){
  .footer-title{
    font-size:1rem;
    margin-bottom:16px
  }
}
.footer-social{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:center
}
@media(min-width:769px){
  .footer-social{
    justify-content:flex-start
  }
}
.footer-social .btn.social{
  width:44px;
  height:44px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:var(--wk-card);
  border:1.5px solid var(--wk-border);
  color:var(--wk-text);
  transition:all .25s cubic-bezier(.4,0,.2,1);
  position:relative;
  overflow:hidden
}
.footer-social .btn.social::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--wk-primary);
  opacity:0;
  transition:opacity .25s ease
}
.footer-social .btn.social .icon{
  width:20px;
  height:20px;
  position:relative;
  z-index:1;
  fill:currentColor;
  transition:transform .25s cubic-bezier(.4,0,.2,1)
}
.footer-social .btn.social svg{
  display:block;
  width:20px;
  height:20px;
}
.footer-social .btn.social svg path{
  fill:currentColor;
  stroke:currentColor;
}
.footer-social .btn.social span{
  display:none;
}
.footer-social .btn.social svg{
  display:block;
  width:20px;
  height:20px;
}
.footer-social .btn.social svg path{
  fill:currentColor;
  stroke:currentColor;
}
.footer-social .btn.social:hover{
  border-color:var(--wk-primary);
  transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(17,120,168,.15)
}
.footer-social .btn.social:hover::before{
  opacity:.1
}
.footer-social .btn.social:hover .icon{
  transform:scale(1.1);
  color:var(--wk-primary)
}
.footer-social .btn.social:active{
  transform:translateY(0);
  box-shadow:0 2px 6px rgba(17,120,168,.1)
}
.footer-links ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:2px
}
.footer-links a{
  color:var(--wk-muted);
  padding:10px 12px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  transition:all .2s cubic-bezier(.4,0,.2,1);
  border-radius:8px;
  min-height:44px;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  font-size:.95rem;
  position:relative
}
.footer-links a::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%) scaleX(0);
  width:3px;
  height:20px;
  background:var(--wk-primary);
  border-radius:0 2px 2px 0;
  transition:transform .2s cubic-bezier(.4,0,.2,1)
}
.footer-links a:hover{
  color:var(--wk-primary);
  text-decoration:none;
  background:color-mix(in srgb, var(--wk-primary) 8%, transparent);
  padding-left:16px;
  transform:translateX(2px)
}
.footer-links a:hover::before{
  transform:translateY(-50%) scaleX(1)
}
.footer-links a:active{
  transform:translateX(0) scale(.98)
}
.footer-publisher{
  font-size:.9rem;
  color:var(--wk-muted);
  line-height:1.6;
  text-align:center;
  padding-bottom:env(safe-area-inset-bottom)
}
@media(min-width:769px){
  .footer-publisher{
    text-align:left
  }
}
.footer-copyright{
  font-size:.9rem;
  color:var(--wk-muted);
  line-height:1.6;
  margin:0 0 12px 0
}
.footer-contact{
  margin:0 0 20px 0
}
.footer-email{
  color:var(--wk-primary);
  text-decoration:none;
  font-weight:500;
  transition:all .2s ease;
  display:inline-flex;
  align-items:center;
  gap:6px
}
.footer-email::after{
  content:"→";
  opacity:0;
  transform:translateX(-4px);
  transition:all .2s ease
}
.footer-email:hover{
  color:var(--wk-primary-600);
  text-decoration:none
}
.footer-email:hover::after{
  opacity:1;
  transform:translateX(0)
}
.footer-legal{
  margin-top:0
}
.footer-legal-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
  flex-wrap:wrap
}
@media(min-width:480px){
  .footer-legal-list{
    flex-direction:row;
    gap:12px
  }
}
.footer-legal-list li{
  position:relative
}
.footer-legal-list li:not(:last-child)::after{
  content:"·";
  position:absolute;
  right:-8px;
  color:var(--wk-border);
  font-weight:300
}
@media(min-width:480px){
  .footer-legal-list li:not(:last-child)::after{
    display:none
  }
}
.footer-legal-list a{
  color:var(--wk-muted);
  text-decoration:none;
  font-size:.85rem;
  padding:6px 0;
  display:inline-block;
  transition:all .2s ease;
  border-bottom:1px solid transparent
}
.footer-legal-list a:hover{
  color:var(--wk-primary);
  border-bottom-color:var(--wk-primary)
}
.footer-legal-list a:active{
  transform:scale(.98)
}

/* =====================
   Page Share 
   ===================== */

/* Layout & carte */
#share-activity .wk-share-wrap{max-width:1100px;margin:0 auto;padding-inline:14px}
#share-activity .wk-card.wk-card--share{
  width:100%;margin-inline:auto;background:var(--wk-card);
  border-radius:18px;box-shadow:var(--wk-shadow-sm,0 6px 18px rgba(10,37,64,.08));
  overflow:hidden;display:grid;grid-template-columns:1fr
}
#share-activity .wk-desc {margin: 0.1rem 0;}
#share-activity .wk-card--share .wk-cover{margin:0;width:100%}
#share-activity .wk-card--share .wk-cover img{display:block;width:100%;height:auto;border-radius:18px 18px 0 0}
#share-activity .wk-card--share .wk-body{padding:12px 16px 16px;display:flex;flex-direction:column;gap:8px}

/* Titre & méta */
#share-activity .wk-headline{margin:0}
#share-activity .wk-title{margin:14px 0 8px;line-height:1.2;font-size:1.6rem;font-weight:700;display:inline-flex;align-items:center;gap:8px}
#share-activity .wk-title-link{color:inherit;text-decoration:none}
#share-activity .wk-title-link:hover{text-decoration:underline}
#share-activity .wk-meta-line{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 2px}
#share-activity .wk-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:var(--wk-alt);border:1px solid var(--wk-border);font-size:.9rem;white-space:nowrap}

/* Adresse */
#share-activity .wk-address{margin:8px 0 0}
#share-activity .wk-address-link{display:inline;text-decoration:none;white-space:normal;color:inherit}
#share-activity .wk-address-link .wk-address-text{ text-decoration:underline;text-underline-offset:2px }
#share-activity .wk-address-link .wk-link-icon{display:inline-flex;margin-left:6px;vertical-align:middle}

/* Share inline (copier/lien) */
#share-activity .wk-share-inline{margin-top:12px;padding-top:8px;border-top:1px solid var(--wk-border)}
#share-activity .wk-share-inline>summary{
  list-style:none;cursor:pointer;margin:0;padding:0;display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--wk-muted)
}
#share-activity .wk-share-inline>summary::-webkit-details-marker{display:none}
#share-activity .wk-share-inline>summary::marker{content:""}
#share-activity .wk-share-inline>summary::before{content:"🔗";font-size:.95rem}
#share-activity .wk-sharebar{display:none;margin-top:8px;row-gap:6px;column-gap:8px;flex-wrap:wrap}
#share-activity .wk-share-inline[open] .wk-sharebar{display:flex}
#share-activity .wk-btn.wk-btn--chip{padding:4px 9px;font-size:.82rem;line-height:1;border-radius:999px;background:transparent;border:1px solid var(--wk-border);color:inherit;box-shadow:none}
#share-activity .wk-btn.wk-btn--chip:hover{background:var(--wk-alt)}
#share-activity .wk-btn.wk-btn--chip:active{transform:translateY(.5px)}

/* Carousel */
#share-activity .wk-media__viewport{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:#000}
#share-activity .wk-slide{
  position:absolute; inset:0;
  display:none;                 
  z-index:0;
  background:#000;          
}
#share-activity .wk-slide.is-active{
  display:block;                
  z-index:1;
}

/* Médias dans la slide */
#share-activity .wk-slide img,
#share-activity .wk-slide video{
  width:100%; height:100%;
  display:block;
  object-fit:contain;
  background:#000;
}

#share-activity .wk-media__viewport[data-has-zoom="true"] .wk-zoom-hint{
  position:absolute;
  right:12px;
  bottom:12px;
  padding:8px 10px;
  border-radius:12px;
  background:color-mix(in srgb, var(--wk-card) 75%, rgba(0,0,0,0.6));
  color:var(--wk-text, #0f172a);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:-.01em;
  box-shadow:0 10px 24px rgba(0,0,0,0.16), 0 2px 6px rgba(0,0,0,0.12);
  backdrop-filter:blur(10px);
  opacity:.95;
  transition:transform .25s ease, opacity .25s ease;
  pointer-events:none;
  z-index:6;
  border:1px solid color-mix(in srgb, var(--wk-border) 60%, transparent);
  display:inline-flex;
  align-items:center;
  gap:6px;
  animation:wkZoomHintPulse 2.6s ease-in-out infinite;
}
#share-activity .wk-media__viewport[data-has-zoom="true"]:hover .wk-zoom-hint{
  opacity:1;
  transform:translateY(-2px);
  animation-play-state:paused;
}
#share-activity .wk-media__viewport[data-has-zoom="true"]:focus-within .wk-zoom-hint{
  opacity:1;
  transform:translateY(-2px);
  animation-play-state:paused;
}

@keyframes wkZoomHintPulse{
  0%{transform:translateY(0) scale(0.98); opacity:.88;}
  50%{transform:translateY(-1px) scale(1.02); opacity:1;}
  100%{transform:translateY(0) scale(0.98); opacity:.88;}
}

.wk-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
}
.wk-lightbox__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.65);
  backdrop-filter:blur(4px);
}
.wk-lightbox__content{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  max-width:90vw;
  max-height:90vh;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.wk-lightbox__content img{
  max-width:100%;
  max-height:90vh;
  border-radius:12px;
  box-shadow:0 20px 50px rgba(0,0,0,0.35);
  background:#000;
}
.wk-lightbox__close{
  position:absolute;
  top:-12px;
  right:-12px;
  width:32px;
  height:32px;
  border:none;
  border-radius:50%;
  background:rgba(0,0,0,0.7);
  color:#fff;
  font-size:1rem;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,0.3);
}
.wk-lightbox__close:hover{
  background:rgba(0,0,0,0.85);
}

/* Dots overlay façon IG (remonté si vidéo) */
#share-activity .wk-media__overlay{
  position:absolute; left:0; right:0; top:0;
  padding:.5rem 0rem 0rem;
  display:flex; justify-content:center; pointer-events:none;
  background:none;
  z-index:5;
}

/* Remonte automatiquement si un <video> est présent dans le viewport */
#share-activity .wk-media__viewport:has(video) .wk-media__overlay{
  bottom:56px;  /* passe au-dessus de la barre des contrôles */
}

@media (max-width:480px){
  #share-activity .wk-media__viewport:has(video) .wk-media__overlay{ bottom:52px; }
}

#share-activity .wk-dots{display:flex;gap:.4rem;pointer-events:auto}
#share-activity .wk-dot{
  width:.5rem;height:.5rem;border-radius:50%;background:rgba(255,255,255,.6);
  border:0;padding:0;cursor:pointer;opacity:.9;
  transition:transform .12s ease,background .12s ease,opacity .12s ease
}
#share-activity .wk-dot.is-on{background:#fff;transform:scale(1.1)}
#share-activity .wk-dot--video{width:.7rem;border-radius:.2rem;background:transparent;position:relative}
#share-activity .wk-dot--video::before{
  content:"";display:block;width:0;height:0;
  border-left:.55rem solid rgba(255,255,255,.7);
  border-top:.35rem solid transparent;border-bottom:.35rem solid transparent;
  margin-left:.1rem
}
#share-activity .wk-dot--video.is-on::before{border-left-color:#fff}

/* Arrows type IG (une seule définition) */
#share-activity .wk-ig-arrows{position:absolute;inset:0;pointer-events:none;z-index:3}
#share-activity .wk-ig-arrow{
  pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);
  width:34px;height:52px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  border:0;cursor:pointer;background:rgba(0,0,0,.35);color:#fff;font-size:22px;line-height:1;
  transition:opacity .12s ease,background .12s ease,transform .12s ease;backdrop-filter:blur(2px)
}
#share-activity .wk-ig-arrow:hover{background:rgba(0,0,0,.55);transform:translateY(-50%) scale(1.05)}
#share-activity .wk-ig-prev{left:6px}
#share-activity .wk-ig-next{right:6px}
#share-activity .wk-ig-arrow.is-hidden{opacity:0;pointer-events:none}
@media(hover:none){#share-activity .wk-ig-arrow:hover{transform:translateY(-50%)}}

/* Desktop 2 colonnes */
@media(min-width:900px){
  #share-activity .wk-card.wk-card--share{grid-template-columns:50% 50%;align-items:start}
  #share-activity .wk-card--share .wk-cover img{border-radius:18px 0 0 0}
  #share-activity .wk-card--share .wk-body{padding:0px 18px 18px}
}

/* Petits écrans */
@media(max-width:480px){
  #share-activity .wk-title{font-size:1.3rem;gap:6px}
  #share-activity .wk-chip{font-size:.8rem;padding:4px 8px}
  #share-activity .wk-btn.wk-btn--primary{width:100%}
}

.wk-disclaimer{
  margin: 10px 0 0;
  font-size: .82rem;
  line-height: 1.35;
  opacity: .75;
}
.wk-disclaimer a { text-decoration: underline; }

/* Disclaimer centré sur local-city */
#local-city .wk-disclaimer {
  text-align: center;
  max-width: 600px;
  margin: 10px auto 0;
}

/* === Share page: action bar (alignée sur l'app) === */
#share-activity .wekty-actions-bar{
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px;
  margin:.8rem auto 1rem; padding:0; width:100%; max-width:340px;
}
@media (min-width:560px){
  #share-activity .wekty-actions-bar{ max-width:420px; }
}

#share-activity .wk-action{
  appearance:none; display:inline-flex; align-items:center; justify-content:center; gap:.45rem;
  padding:.54rem .7rem; border-radius: 999px; border:1px solid var(--wk-border);
  background: var(--wk-card); color: var(--wk-text); font-weight:600; font-size:.9rem; line-height:1;
  box-shadow: 0 2px 10px rgba(15,23,42,.06); cursor:pointer; text-decoration:none;
  transition: transform .12s, box-shadow .12s, filter .12s;
}
#share-activity .wk-action:hover{
  filter:saturate(1.03); transform:translateY(-1px);
  box-shadow: 0 6px 16px rgba(15,23,42,.10);
}
#share-activity .wk-action:active{ transform:translateY(0); }
#share-activity .wk-action:focus-visible{ outline:2px solid var(--wk-primary-600); outline-offset:2px; }

#share-activity .wk-action--icon{
  width:44px; height:44px; padding:0; border-radius:999px;
}
#share-activity .wk-action--icon svg{ width:20px; height:20px; display:block; }

#share-activity .wk-action--danger { color: #ef4444; }
#share-activity .wk-action--danger:hover { color: #dc2626; }

/* === Local city page: action bar (même style que share-activity) === */
#local-city .wekty-actions-bar{
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px;
  margin:.8rem auto 1rem; padding:0; width:100%; max-width:340px;
}
@media (min-width:560px){
  #local-city .wekty-actions-bar{ max-width:420px; }
}

#local-city .wk-action{
  appearance:none; display:inline-flex; align-items:center; justify-content:center; gap:.45rem;
  padding:.54rem .7rem; border-radius: 999px; border:1px solid var(--wk-border);
  background: var(--wk-card); color: var(--wk-text); font-weight:600; font-size:.9rem; line-height:1;
  box-shadow: 0 2px 10px rgba(15,23,42,.06); cursor:pointer; text-decoration:none;
  transition: transform .12s, box-shadow .12s, filter .12s;
}
#local-city .wk-action:hover{
  filter:saturate(1.03); transform:translateY(-1px);
  box-shadow: 0 6px 16px rgba(15,23,42,.10);
}
#local-city .wk-action:active{ transform:translateY(0); }
#local-city .wk-action:focus-visible{ outline:2px solid var(--wk-primary-600); outline-offset:2px; }

#local-city .wk-action--icon{
  width:44px; height:44px; padding:0; border-radius:999px;
}
#local-city .wk-action--icon svg{ width:20px; height:20px; display:block; }

#local-city .wk-action--danger { color: #ef4444; }
#local-city .wk-action--danger:hover { color: #dc2626; }

/* =====================
   Blog (index + article)
   ===================== */
.wk-container{max-width:var(--wk-maxw);margin-inline:auto;padding-inline:clamp(14px,4vw,24px);padding-block:28px}

/* Titres / intro */
.wk-hero{margin:8px 0 18px;font-size:clamp(30px,3.6vw,40px);line-height:1.25;color:var(--wk-text);font-weight:700;letter-spacing:-.2px}
.wk-intro{color:var(--wk-text);font-size:1.05rem;line-height:1.7;margin:.2em 0 1.1em}

/* Grille liste d’articles */
.wk-postlist,.wk-list{list-style:none;margin:var(--wk-gap) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(12px,2.5vw,18px)}
.wk-list .wk-card{grid-template-columns:280px 1fr;gap:20px;align-items:start;border-color:transparent;box-shadow:0 8px 22px rgba(10,37,64,.10)}
@media (max-width:780px){.wk-list .wk-card{grid-template-columns:1fr}}
.wk-list .wk-list-thumb{display:block;overflow:hidden;border-radius:16px;background:transparent}
.wk-list .wk-list-thumb img{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:cover}
.wk-list .wk-list-content{display:grid;gap:8px;grid-template-rows:auto auto 1fr auto}
.wk-list .wk-list-content h2{margin:0 0 6px;line-height:1.25;font-weight:700;font-size:clamp(18px,2.1vw,22px)}
.wk-list .wk-excerpt{color:#334155;margin:0;font-size:.98rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Carte générique */
.wk-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;background:var(--wk-card);border:1px solid var(--wk-border);border-radius:var(--wk-radius-lg);padding:12px;box-shadow:var(--wk-shadow);transition:box-shadow .2s ease,transform .06s ease}
.wk-card:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(10,37,64,.12)}
.wk-card:active{transform:translateY(1px)}
.wk-list-item{background:transparent;border:0;box-shadow:none;padding:0}
.wk-card a,.wk-list-content h2 a{color:var(--wk-text);text-decoration:none}
.wk-list-content h2 a:hover{color:var(--wk-primary);text-decoration:underline;text-underline-offset:3px}
.wk-meta{color:var(--wk-muted);font-size:14px;margin:0 0 8px}

/* Responsive carte compacte */
@media(max-width:600px){
  .wk-card,.wk-list-item{grid-template-columns:1fr}
  .wk-list-thumb{width:100%}
  .wk-list-thumb img{aspect-ratio:21/9}
}

/* Pilule catégorie */
.wk-pill{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.2px;padding:.28em .6em;border-radius:999px;background:color-mix(in srgb,var(--wk-primary) 14%,transparent);color:var(--wk-primary-700,var(--wk-primary));border:1px solid color-mix(in srgb,var(--wk-primary) 24%,transparent)}

/* ===== Une (featured) ===== */
.wk-featured{
  display:grid;grid-template-columns:360px 1fr;gap:16px;
  align-items:start;margin:18px 0 26px;padding:14px;
  background:var(--wk-card);border:1px solid var(--wk-border);
  border-radius:20px;box-shadow:0 12px 28px rgba(10,37,64,.10);max-width:1100px;margin-inline:auto
}
.wk-featured-media{display:block;border-radius:16px;overflow:hidden;align-self:start}
.wk-featured-wrap{margin:0}
.wk-featured-wrap img,.wk-featured img.wk-media{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center top}
.wk-featured-body{align-self:start;display:grid;gap:8px;padding:0}
.wk-featured-body>*{margin:0}
.wk-featured-title{margin:0}
.wk-featured-title a{font-size:clamp(20px,2.2vw,28px);line-height:1.25;color:var(--wk-text);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wk-featured-title a:hover{color:var(--wk-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.4px}
.wk-featured-excerpt{color:#334155;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:60ch}
@media (max-width:980px){.wk-featured{grid-template-columns:1fr}.wk-featured-wrap img{aspect-ratio:16/9}}

/* Fil d’Ariane */
.wk-breadcrumb{font-size:14px;margin:0 0 1.5em;color:#6b7280}
.wk-breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.5em;padding:0;margin:0}
.wk-breadcrumb li::after{content:"›";margin-left:.5em;color:#9ca3af}
.wk-breadcrumb li:last-child::after{content:""}
.wk-breadcrumb a{color:var(--wk-primary);text-decoration:none}
.wk-breadcrumb a:hover{text-decoration:underline}

/* Article (page) */
.wk-article{max-width:1100px;margin:0 auto;color:var(--wk-text);font-size:clamp(1rem,.98rem + .2vw,1.06rem);line-height:1.75}
.wk-article h1{font-size:clamp(26px,3vw,34px);margin:0 0 16px;line-height:1.25;font-weight:700}
.wk-article h2{font-size:clamp(20px,2.4vw,26px);margin:2.2em 0 .8em;line-height:1.3;font-weight:700;letter-spacing:.1px}
.wk-article h3{font-size:clamp(18px,2vw,22px);margin:1.8em 0 .6em;line-height:1.3;font-weight:600;letter-spacing:.1px}
.wk-article p{color:#334155}
.wk-article a{color:var(--wk-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.4px}
.wk-article a:hover{color:var(--wk-primary-600)}
.wk-article img {
  display:block;
  max-width:100%;
  height:auto;
  border-radius:16px;
  margin:1.2em 0;
}
.wk-article figure{margin:1.2em 0}
.wk-article figcaption{text-align:center;font-size:.9rem;color:var(--wk-muted);margin-top:.4em}
.wk-article blockquote{margin:1.2em 0;padding:.9em 1em;border-left:4px solid var(--wk-primary);background:color-mix(in srgb,var(--wk-text) 6%,transparent);border-radius:10px;color:var(--wk-text)}
.wk-article code{background:#f1f5f9;padding:.1em .35em;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.wk-article pre{overflow:auto;background:#0b1220;color:#e5e7eb;padding:12px 14px;border-radius:12px;font-size:.95rem}
.wk-article li+li{margin-top:.35em}
.wk-article hr{border:0;height:1px;background:linear-gradient(90deg,transparent,var(--wk-border),transparent);margin:1.4em 0}
.wk-article .wk-btn,.wk-article .btn,.wk-article .wk-primary-btn{background:var(--wk-primary);color:#fff!important;margin:10px 0 4px;font-weight:700;text-decoration:none!important;min-height:44px;padding:12px 18px}
.wk-article .wk-btn:hover{background:var(--wk-primary-600);box-shadow:var(--wk-shadow-hover)}
@media(max-width:640px){
  .wk-article .wk-btn,.wk-article .btn,.wk-article .wk-primary-btn{
    width:100%;
    min-height:48px;
    padding:14px 20px;
    font-size:1rem;
  }
}

/* Réseaux */
.wk-social-row{display:flex;flex-wrap:wrap;gap:8px 10px;margin:.6em 0 1.2em}
.wk-social-row .btn.social{padding:8px 12px;font-size:.92rem;text-decoration:none!important}

/* Pagination (alignée sur local-city / search) */
.wk-pagination{
  margin:2rem 0;
  padding:1.5rem;
  background:var(--wk-card,#ffffff);
  border:1px solid var(--wk-border,#e6e9ef);
  border-radius:16px;
  display:flex;
  flex-direction:column;
  gap:1rem;
  align-items:center;
}
.wk-pagination__info{
  font-size:.9rem;
  color:var(--wk-text,#0f172a);
  opacity:.8;
  text-align:center;
}
.wk-pagination__links{
  display:flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:wrap;
  justify-content:center;
}
.wk-pagination__link{
  display:inline-flex;
  align-items:center;
  padding:.5rem 1rem;
  border-radius:8px;
  background:var(--wk-primary,#3b82f6);
  color:#fff;
  text-decoration:none;
  font-weight:600;
  font-size:.9rem;
  transition:all .2s ease;
  min-height:44px;
  min-width:44px;
  justify-content:center;
}
.wk-pagination__link:hover{
  background:var(--wk-primary-600,#2563eb);
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(59,130,246,.3);
}
.wk-pagination__link:active{transform:translateY(0);}
.wk-pagination__link--disabled{
  background:var(--wk-alt,#f6f7f9);
  color:var(--wk-muted,#64748b);
  cursor:not-allowed;
  opacity:.5;
}
.wk-pagination__link--disabled:hover{
  transform:none;
  box-shadow:none;
}
.wk-pagination__pages{
  display:flex;
  align-items:center;
  gap:.25rem;
  flex-wrap:wrap;
  justify-content:center;
}
.wk-pagination__page{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
  padding:.5rem .75rem;
  border-radius:8px;
  background:var(--wk-alt,#f6f7f9);
  color:var(--wk-text,#0f172a);
  text-decoration:none;
  font-weight:600;
  font-size:.9rem;
  transition:all .2s ease;
}
.wk-pagination__page:hover{
  background:var(--wk-primary,#3b82f6);
  color:#fff;
  transform:translateY(-1px);
}
.wk-pagination__page--current{
  background:var(--wk-primary,#3b82f6);
  color:#fff;
  cursor:default;
}
.wk-pagination__page--current:hover{transform:none;}
.wk-pagination__ellipsis{
  padding:.5rem;
  color:var(--wk-muted,#64748b);
  font-weight:600;
}
@media(max-width:767px){
  .wk-pagination{
    padding:1rem;
    margin:1rem 0;
    gap:.75rem;
  }
  .wk-pagination--top{margin-bottom:1rem;}
  .wk-pagination__info{
    font-size:.85rem;
    line-height:1.4;
  }
  .wk-pagination__links{
    gap:.375rem;
    width:100%;
  }
  .wk-pagination__link{
    font-size:.85rem;
    padding:.5rem .75rem;
    min-width:44px;
    min-height:44px;
    flex:1;
    max-width:calc(50% - .1875rem);
    justify-content:center;
  }
  .wk-pagination__pages{
    gap:.25rem;
    width:100%;
    justify-content:center;
    order:-1;
    margin-bottom:.5rem;
  }
  .wk-pagination__page{
    min-width:44px;
    min-height:44px;
    padding:.5rem;
    font-size:.85rem;
  }
}

.wk-featured{
  grid-template-columns: 460px 1fr;   
  align-items: start;
  padding: 12px;
}
.wk-featured-media{align-self:start;border-radius:16px;overflow:hidden}
.wk-featured-wrap{margin:0}
.wk-featured-wrap img,
.wk-featured img.wk-media{
  display:block;width:100%;height:auto;
  aspect-ratio:16/9;object-fit:cover;object-position:center top;
}

.wk-featured-body{
  align-self:center;
  padding:0 !important;
  display:grid;
  row-gap:6px;             
}
.wk-featured-body>*{margin:0 !important}
.wk-featured-title{margin:0 !important}
.wk-featured-title a{
  font-size:clamp(20px,2.1vw,26px);
  line-height:1.22;
  color:var(--wk-text);
  text-decoration:none;     
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.wk-featured-title a:hover{
  color:var(--wk-primary);
  text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1.4px;
}

.wk-featured .wk-meta{margin:0 !important;line-height:1.2;color:var(--wk-muted)}
.wk-featured-excerpt{
  margin:0 !important; color:#334155; line-height:1.5;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  max-width:60ch;
}

.wk-featured-cta,
.wk-featured .wk-btn{margin-top:6px}
@media (max-width:980px){
  .wk-featured{grid-template-columns:1fr}
}
.wk-featured{border-radius:16px; box-shadow:0 8px 22px rgba(10,37,64,.10)}

.wk-cover img{
  width: 100%;
  height: auto;      
  object-fit: contain;  
  aspect-ratio: auto;   
}

/* =====================
   15) Contact
   ===================== */
#contact.section{padding:28px 0}
#contact .section-title{margin-bottom:12px}
.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--wk-gap-lg)}
.contact-card{display:grid;gap:8px;padding:14px var(--wk-pad)}

/* =====================
   16) Media queries utilitaires
   ===================== */
@media(max-width:920px){.compare-header,.pack-row{grid-template-columns:1fr}.pack-cell{border-left:none;border-top:1px dashed color-mix(in srgb, var(--wk-text) 10%, transparent);padding-top:12px}.colhead{display:none}}
@media(max-width:768px){
  .section{padding:34px 0}
  .card{
    padding:16px 18px;
    border-radius:14px;
  }
  .quick-nav{
    gap:8px;
    margin:16px 0 12px;
    padding:12px 0;
  }
  .quick-nav a{
    font-size:.92rem;
    padding:10px 14px;
    min-height:44px;
  }
  .quick-nav a.primary{
    font-size:1rem;
    padding:12px 18px;
    min-height:48px;
  }
  .form-field{
    margin:14px 0;
    padding:0 2px;
  }
  .form-field input[type="text"],
  .form-field input:not([type]),
  .form-field textarea,
  .form-field select{
    padding:14px 16px;
    font-size:16px;
    border-radius:12px;
  }
  .form-grid{
    gap:10px;
  }
  #proposer-form-wrapper.card{
    padding:18px 16px;
  }
}
@media(max-width:640px){
  .btn,.wk-btn,.wk-primary-btn,.wk-ctaBtn{
    width:100%;
    min-height:48px;
    padding:14px 20px;
    font-size:1rem;
    white-space:normal;
    word-wrap:break-word;
    text-align:center;
  }
  .btn-wrapper,.wk-cta-center{
    width:100%;
  }
  .btn-wrapper .btn,.wk-cta-center .btn{
    width:100%;
  }
  .quick-nav{
    flex-wrap:wrap;
    overflow-x:visible;
    gap:8px;
  }
  .quick-nav a{
    flex:1 1 auto;
    min-width:calc(50% - 4px);
    justify-content:center;
    text-align:center;
  }
  .quick-nav a.primary{
    flex:1 1 100%;
    min-width:100%;
  }
}
@media(max-width:420px){.btn,.wk-btn,.wk-primary-btn,.wk-ctaBtn{width:100%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.fold-content{transition:none!important;max-height:none!important;padding:8px 0 0!important}}

/* === Patch 2 — Dark-safe overrides (surfaces/bordures/badges) === */
/* Surfaces claires récurrentes -> tokens */
.chip,
.role-card,
.option-card,
#optionCards .option-card,
#similarBox,
#local-city .wk-tips,
#local-city .wk-tip,
#local-city .wk-nearby-card,
.contact-direct-email,
.wk-share-box,
.wk-card.wk-card--preview-app,
.wk-card.wk-card--share,
.wk-consents,
.stepper .chip,
.kind-switch .seg,
#packs .pack-ux .pack-head,
.wk-cta.is-banner {
  background: var(--wk-card);
  border-color: var(--wk-border);
}

/* Pastilles / badges neutres */
.wk-chip,
.badge-reco,
.option-card__badge,
#optionCards .option-card__badge,
.hint-badge,
.price-pill__old,
#packs .pack-ux .price-badge {
  background: var(--wk-soft);
  color: var(--wk-text);
  border-color: var(--wk-border);
}

/* Zones soft légèrement élevées */
.wk-share-box,
#similarBox,
.wk-consents,
.contact-direct-email {
  background: var(--wk-elev);
}

/* Boutons light / ghost / chips */
.btn--light,
.similar-actions .btn-ghost,
#local-city .wk-share-inline > summary,
.wk-btn.wk-btn--chip,
:is(#share-activity, #local-city) .wk-btn.wk-btn--chip,
.btn.social {
  background: var(--wk-card);
  color: var(--wk-text);
  border-color: var(--wk-border);
}

/* Inputs/Selects (unifie les #fff résiduels) */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="date"],
input[autocomplete],
select,
textarea,
.form-field input[type="text"],
.form-field input:not([type]) {
  background: var(--wk-card);
  border-color: var(--wk-border);
  color: var(--wk-text);
}

/* Petits textes forcés en dur */
.wk-review-kv li,
#packs .pack-ux .wk-desc,
.wk-share-text {
  color: var(--wk-text);
}


/* =====================
   17) Dark mode (auto & manuel)
   ===================== */
@media(prefers-color-scheme:dark){
  :root{--wk-bg:#0b1220;--wk-alt:#0f172a;--wk-card:#0f172a;--wk-text:#e5e7eb;--wk-muted:#9aa4b2;--wk-border:#1f2937;--wk-shadow:0 12px 28px rgba(0,0,0,.35);--wk-shadow-sm:0 8px 22px rgba(0,0,0,.28);--wk-shadow-hover:0 18px 36px rgba(0,0,0,.4)}
  body{background:var(--wk-bg);color:var(--wk-text)}
  a{color:inherit}
  .card,.wk-card,.wk-list-item,.press-link,#wekty-cta-panel{background:var(--wk-card);border-color:var(--wk-border);box-shadow:var(--wk-shadow)}
  .section.alt,.section.highlight{background:#0d1526}
  .wk-article p,.wk-excerpt,.wk-list .wk-excerpt{color:#cbd5e1}
  .wk-article hr{background:linear-gradient(90deg,transparent,#1f2937,transparent)}
  .wk-article blockquote{background:#0f172a;border-left-color:var(--wk-primary)}
  .btn.social{background:#0f172a;color:#e5e7eb;border-color:#1f2a37;box-shadow:0 2px 6px rgba(0,0,0,.30)}
  .btn.social:hover{border-color:#334155;box-shadow:0 4px 12px rgba(0,0,0,.48)}
  .site-header{background:rgba(11,18,32,.75);border-bottom-color:#1f2937}
  .wk-ctaBar{background:var(--wk-card);border-color:#1f2937}
  .top-link:hover,.top-link.active{background:color-mix(in srgb, var(--wk-text) 14%, transparent)}
  .contact-direct-email{background:color-mix(in srgb, var(--wk-text) 10%, transparent)}
  .wk-tags{background:color-mix(in srgb, var(--wk-text) 8%, transparent)}
  .wk-excerpt{color:#cbd5e1}
  #ideaKindWrap{background:var(--wk-alt);border-color:var(--wk-border)}
  #ideaKindWrap .seg input + span{background:var(--wk-card);border-color:var(--wk-border);color:var(--wk-text)}
  #ideaKindWrap .seg input + span::before{border-color:var(--wk-border);background:var(--wk-card)}
  #ideaKindWrap .seg:hover input + span{background:color-mix(in srgb, var(--wk-alt) 80%, var(--wk-card) 20%)}
  #dupWarn.alert{border-color:#f87171;background:color-mix(in srgb, #f87171 15%, transparent);color:#fca5a5}
  .option-card__points{color:var(--wk-text)}
}

:root[data-theme="dark"]{--wk-bg:#0b1220;--wk-alt:#0f172a;--wk-card:#0f172a;--wk-text:#e5e7eb;--wk-muted:#9aa4b2;--wk-border:#1f2937;--wk-shadow:0 12px 28px rgba(0,0,0,.35);--wk-shadow-sm:0 8px 22px rgba(0,0,0,.28);--wk-shadow-hover:0 18px 36px rgba(0,0,0,.4)}
:root[data-theme="dark"] body{background:var(--wk-bg);color:var(--wk-text)}
:root[data-theme="dark"] .card, :root[data-theme="dark"] .wk-card, :root[data-theme="dark"] .wk-list-item, :root[data-theme="dark"] .press-link, :root[data-theme="dark"] #wekty-cta-panel{background:var(--wk-card);border-color:var(--wk-border);box-shadow:var(--wk-shadow)}
:root[data-theme="dark"] .section.alt, :root[data-theme="dark"] .section.highlight{background:#0d1526}
:root[data-theme="dark"] .wk-article p, :root[data-theme="dark"] .wk-excerpt, :root[data-theme="dark"] .wk-list .wk-excerpt{color:#cbd5e1}
:root[data-theme="dark"] .wk-article hr{background:linear-gradient(90deg,transparent,#1f2937,transparent)}
:root[data-theme="dark"] .wk-article blockquote{background:#0f172a;border-left-color:var(--wk-primary)}
:root[data-theme="dark"] .btn.social{background:#0f172a;color:#e5e7eb;border-color:#1f2a37;box-shadow:0 2px 6px rgba(0,0,0,.30)}
:root[data-theme="dark"] .btn.social:hover{border-color:#334155;box-shadow:0 4px 12px rgba(0,0,0,.48)}
:root[data-theme="dark"] .site-header{background:rgba(11,18,32,.75);border-bottom-color:#1f2937}
:root[data-theme="dark"] .wk-ctaBar{background:var(--wk-card);border-color:#1f2937}
:root[data-theme="dark"] .top-link:hover, :root[data-theme="dark"] .top-link.active{background:color-mix(in srgb, var(--wk-text) 14%, transparent)}
:root[data-theme="dark"] .contact-direct-email{background:color-mix(in srgb, var(--wk-text) 10%, transparent)}
:root[data-theme="dark"] #wekty-cta-panel button{background:color-mix(in srgb, var(--wk-text) 14%, transparent);color:var(--wk-text)}
:root[data-theme="dark"] .wk-tags{background:color-mix(in srgb, var(--wk-text) 8%, transparent)}
:root[data-theme="dark"] .wk-excerpt{color:#cbd5e1}
:root[data-theme="dark"] #ideaKindWrap{background:var(--wk-alt);border-color:var(--wk-border)}
:root[data-theme="dark"] #ideaKindWrap .seg input + span{background:var(--wk-card);border-color:var(--wk-border);color:var(--wk-text)}
:root[data-theme="dark"] #ideaKindWrap .seg input + span::before{border-color:var(--wk-border);background:var(--wk-card)}
:root[data-theme="dark"] #ideaKindWrap .seg:hover input + span{background:color-mix(in srgb, var(--wk-alt) 80%, var(--wk-card) 20%)}
:root[data-theme="dark"] #dupWarn.alert{border-color:#f87171;background:color-mix(in srgb, #f87171 15%, transparent);color:#fca5a5}


/* === Patch 4 — Capsules prix & rubans === */
.price-chip,
#optionCards .price-chip,
.option-card__head .price-pill {
  background: var(--wk-cta);
  color: #fff;
}

.price-chip.promo { background: #1f2937; } /* ou var(--wk-cta-600) si tu veux */

.discount-badge,
.price-pill__tag,
#optionCards .wk-ribbon {
  background: var(--wk-amber);
  color: #111827;
}

/* Pastilles pack en dark */
@media (prefers-color-scheme: dark){
  .pill--essentiel{
    background: color-mix(in srgb, var(--wk-primary) 12%, transparent);
    border-color: var(--wk-border);
    color:#e6f0ff;
  }
  .pill--partenaire{
    background: color-mix(in srgb, #6b21a8 16%, transparent);
    border-color: var(--wk-border);
    color:#f4eaff;
  }
  .pill--boost{
    background: color-mix(in srgb, var(--wk-amber) 18%, transparent);
    border-color: var(--wk-border);
    color:#fff7e6;
  }
}

/* === Patch 5 — Le toggle manuel l’emporte sur l’OS === */
:root[data-theme="light"]{
  --wk-bg:#ffffff; --wk-alt:#f5f9ff; --wk-card:#ffffff;
  --wk-text:#213547; --wk-muted:#5f6b7a; --wk-border:#e6e9ef;
  --wk-shadow:0 10px 25px rgba(10,37,64,.08);
  --wk-shadow-sm:0 6px 18px rgba(15,23,42,.06);
  --wk-shadow-hover:0 12px 28px rgba(10,37,64,.12);
  color-scheme: light;
}
:root[data-theme="dark"]{
  color-scheme: dark; /* déjà défini plus haut, on confirme juste la priorité */
}

/* =====================
   18) FAQ/Q&A
   ===================== */
.qa{border-top:1px solid var(--wk-border);margin:0}
.qa+.qa{border-top:1px solid var(--wk-border)}
.qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:12px 0;font-weight:600;color:var(--wk-text)}
.qa summary::-webkit-details-marker,.qa summary::marker{display:none}
.qa[open] summary{border-bottom:1px dashed color-mix(in srgb, var(--wk-text) 10%, transparent)}
.qa>*:not(summary){padding:10px 0 14px}
.qa a{text-decoration:underline;text-underline-offset:3px}

/* =====================
   19) Ajustements liens/boutons répétés
   ===================== */
a.btn,a.wk-btn,a.wk-primary-btn,.btn,.wk-btn,.wk-primary-btn{text-decoration:none!important}
.a.top-link,.top-link{text-decoration:none!important}
.wk-card a.wk-btn,.wk-card a.btn{text-decoration:none!important}
.wk-card a.wk-btn:hover,.wk-card a.btn:hover{text-decoration:none!important}
.wk-card a:hover .wk-title,.wk-list-content h2 a:hover{text-decoration:underline;text-underline-offset:3px}

/* =====================
   20) Tags bloc (index/article)
   ===================== */
.wk-tags{margin:32px auto 36px;padding:18px 20px;border-radius:var(--wk-radius-md);background:var(--wk-alt);max-width:880px;box-shadow:0 4px 12px rgba(0,0,0,0.03)}
.wk-tags strong{display:block;margin-bottom:10px;font-size:.95rem;font-weight:600;color:var(--wk-muted)}
.wk-tags ul{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;margin:0;padding:0;list-style:none;justify-content:flex-start}
.wk-tags li{display:inline-flex;align-items:center;margin:0}
.wk-tags li a{display:inline-flex;align-items:center;line-height:1;padding:6px 12px;border-radius:20px;background:var(--wk-card);border:1px solid var(--wk-border);font-size:.85rem;color:var(--wk-text);text-decoration:none;transition:background .2s,border-color .2s}
.wk-tags li a:hover{background:var(--wk-primary);border-color:var(--wk-primary);color:#fff}

/* =====================
   21) Séparateurs & CTA in-article
   ===================== */
.wk-section-break{margin:22px auto 8px;max-width:900px}
.wk-section-break[data-variant="wave"]{height:24px;position:relative;overflow:hidden;opacity:.9}
.wk-section-break[data-variant="wave"]::before{content:"";position:absolute;inset:0;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'><path d='M0,32 C150,80 350,-16 600,32 C850,80 1050,-16 1200,32 L1200,0 L0,0 Z' fill='black'/></svg>") center/100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'><path d='M0,32 C150,80 350,-16 600,32 C850,80 1050,-16 1200,32 L1200,0 L0,0 Z' fill='black'/></svg>") center/100% 100% no-repeat;background:linear-gradient(90deg,transparent,var(--wk-border),transparent);transform:translateY(-6px)}
.wk-section-break[data-variant="line"]{height:1px;background:linear-gradient(to right,transparent,var(--wk-border),transparent);opacity:.9}
.wk-section-break + .wk-cta.is-banner{margin-top:14px}

/* CTA générique */
.wk-cta{margin:24px auto;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;text-align:center}
.wk-cta.is-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;max-width:880px;margin:22px auto 12px;padding:14px 16px;background:var(--wk-card);border:1px solid var(--wk-border);border-radius:18px;box-shadow:var(--wk-shadow)}
.wk-cta.is-banner .wk-cta-caption{margin:0;font-size:15px;line-height:1.55;color:var(--wk-muted)}
.wk-cta.is-banner .btn.store{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:14px;font-weight:600;white-space:nowrap;box-shadow:0 6px 18px rgba(15,23,42,.10);font-size:16px}
.wk-cta.banner--slim{padding:10px 12px;border-radius:14px}
.wk-cta.banner--slim .wk-cta-caption{font-size:14.5px}
.wk-cta.banner--slim .btn.store{padding:10px 14px;font-size:15px}
@media (max-width:680px){.wk-cta.is-banner{grid-template-columns:1fr;text-align:center}.wk-cta.is-banner .btn.store{width:100%}}
.wk-cta.is-compact .wk-cta-caption,.wk-cta.is-compact .cta-desc{display:none!important}

/* Share bar */
.wk-sharebar{margin:24px 0}
.wk-share-box{position:relative;padding:16px;border-radius:16px;background:linear-gradient(180deg,#f7fbff 0%,#f4f8ff 100%);border:1px solid #e2e8f0;box-shadow:0 8px 24px rgba(15,23,42,.06),inset 0 1px 0 rgba(255,255,255,.6)}
.wk-share-box::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;border-radius:16px 0 0 16px;background:linear-gradient(180deg,#4f46e5 0%,#06b6d4 100%);box-shadow:0 0 0 1px rgba(79,70,229,.1)}
.wk-share-box[data-badge="1"]::after{content:"Merci ❤️";position:absolute;top:-10px;right:12px;background:var(--wk-card);color:#0f172a;border:1px solid #e2e8f0;font-size:12px;padding:4px 8px;border-radius:10px;box-shadow:0 4px 12px rgba(15,23,42,.08)}
.wk-share-kicker{width:36px;height:36px;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;border-radius:50%;background:radial-gradient(ellipse at 30% 30%,#e0e7ff,#cffafe);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 4px 12px rgba(79,70,229,.18);font-size:18px}
.wk-share-text{margin:0 0 12px;text-align:center;color:#334155;font-size:15px;line-height:1.5}
.wk-share-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.wk-sharebar .wk-share{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--wk-border);border-radius:12px;background:var(--wk-card);text-decoration:none;cursor:pointer;box-shadow:0 6px 18px rgba(15,23,42,.06);transition:transform .06s ease,box-shadow .2s ease,border-color .2s ease;font:inherit;color:inherit}
.wk-sharebar .wk-share:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.09);border-color:color-mix(in srgb, var(--wk-border) 70%, var(--wk-primary) 30%)}
.wk-sharebar .wk-share .icon{width:18px;height:18px}
@media(max-width:480px){.wk-share-buttons{justify-content:center}}
@media(prefers-color-scheme:dark){.wk-share-box{background:linear-gradient(180deg,#0b1220 0%,#0d1626 100%);border-color:#1f2a37;box-shadow:0 8px 24px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.03)}.wk-share-text{color:#cbd5e1}.wk-sharebar .wk-share{background:#0f172a;border-color:#1f2a37;color:#e5e7eb;box-shadow:0 6px 18px rgba(0,0,0,.4)}.wk-sharebar .wk-share:hover{border-color:#334155;box-shadow:0 10px 24px rgba(0,0,0,.55)}}

/* List layout (fallback index) */
.wk-list>li>article{display:grid;grid-template-columns:160px 1fr;gap:16px;align-items:start}
a.wk-list-thumb{display:block;width:100%}
.wk-list-thumb img,.wk-list-thumb .wk-list-thumb-img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;background:color-mix(in srgb, var(--wk-text) 8%, transparent)}

/* Pagination (dup pour cohérence) */
.wk-pagination{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}

/* Petits ajustements SEO/UX */
.post .wk-cta .wk-cta-caption{display:none!important}

/* Blog index – visual polish (v3) */
.wk-postlist{max-width:980px;margin-inline:auto}
.wk-postlist .wk-card,.wk-list .wk-card{grid-template-columns:clamp(220px,28%,280px) 1fr;gap:20px;align-items:start;border-color:transparent;box-shadow:0 8px 22px rgba(10,37,64,.10)}
@media (max-width:780px){.wk-postlist .wk-card,.wk-list .wk-card{grid-template-columns:1fr}}
.wk-postlist .wk-card.card,.wk-list .wk-card.card{border-color:transparent}
.wk-postlist .wk-thumb,.wk-postlist .wk-list-thumb,.wk-list .wk-thumb,.wk-list .wk-list-thumb{width:100%;align-self:start}
.wk-postlist .wk-thumb img,.wk-postlist .wk-list-thumb img,.wk-list .wk-thumb img,.wk-list .wk-list-thumb img{border-radius:14px;background:color-mix(in srgb, var(--wk-text) 8%, transparent);display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:cover}
.wk-postlist .wk-card-body,.wk-postlist .wk-list-content,.wk-list .wk-card-body,.wk-list .wk-list-content{align-self:start;display:grid;gap:8px;grid-template-rows:auto auto 1fr auto}
.wk-postlist .wk-title,.wk-list .wk-title{margin-top:0}
.wk-postlist .wk-card:hover,.wk-list .wk-card:hover{border-color:color-mix(in srgb,var(--wk-primary) 20%, var(--wk-border))}

/* =====================
   22) Patchs conservés
   ===================== */
@media (min-width: 781px){.wk-blog-list .wk-list-content{margin-top: clamp(6px, 0.8vw, 15px)}}
.wk-article .wk-tags li+li,.wk-article .wk-taglist li+li,.wk-tags li+li,.wk-taglist li+li{margin-top:0!important}
.wk-tags ul,.wk-taglist{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center}
.wk-tags li,.wk-taglist li{display:flex}
.wk-tags li a,.wk-taglist a{display:inline-flex;align-items:center;line-height:1;padding:6px 12px;border-radius:9999px;background:var(--wk-card);border:1px solid var(--wk-border)}

/* Share buttons – teintes brand au repos + hover */
.wk-sharebar .wk-share{background:color-mix(in srgb, var(--wk-text) 4%, transparent)!important;border:1px solid var(--wk-border)!important;color:var(--wk-text)!important}
.wk-sharebar .wk-share[href*="facebook" i]{color:#1877F2!important;background:#eef3ff!important;border-color:#cfe0ff!important}
.wk-sharebar .wk-share[href*="instagram" i]{color:#E4405F!important;background:#feeff3!important;border-color:#ffd6e0!important}
.wk-sharebar .wk-share[href*="linkedin" i]{color:#0A66C2!important;background:#eff5ff!important;border-color:#d2e3ff!important}
.wk-sharebar .wk-share[href*="tiktok" i],.wk-sharebar .wk-share[href*="x.com" i],.wk-sharebar .wk-share[aria-label*="twitter" i]{color:#111!important;background:#f3f4f6!important;border-color:#e5e7eb!important}
.wk-sharebar .wk-share[href*="whatsapp" i]{color:#25D366!important;background:#e9f9ef!important;border-color:#bfead0!important}
.wk-sharebar .wk-share[href^="mailto" i]{color:var(--wk-text)!important;background:#f3f4f6!important}
.wk-sharebar .wk-share[href*="facebook" i]:hover{background:#1877F2!important;color:#fff!important;border-color:#1877F2!important}
.wk-sharebar .wk-share[href*="instagram" i]:hover{background:#E4405F!important;color:#fff!important;border-color:#E4405F!important}
.wk-sharebar .wk-share[href*="linkedin" i]:hover{background:#0A66C2!important;color:#fff!important;border-color:#0A66C2!important}
.wk-sharebar .wk-share[href*="tiktok" i]:hover,.wk-sharebar .wk-share[href*="x.com" i]:hover,.wk-sharebar .wk-share[aria-label*="twitter" i]:hover{background:#111!important;color:#fff!important;border-color:#111!important}
.wk-sharebar .wk-share svg,.wk-sharebar .wk-share .icon{width:18px;height:18px}
.wk-sharebar .wk-share svg *,.wk-sharebar .wk-share .icon *{fill:currentColor;stroke:currentColor}
@media (prefers-color-scheme: dark){
  :root{
    --wk-soft: color-mix(in srgb, var(--wk-text) 12%, transparent);
    --wk-elev: color-mix(in srgb, var(--wk-card) 90%, var(--wk-text) 10%);
  }
}
:root[data-theme="dark"]{
  --wk-soft: color-mix(in srgb, var(--wk-text) 12%, transparent);
  --wk-elev: color-mix(in srgb, var(--wk-card) 90%, var(--wk-text) 10%);
}
/* Blog index (cartes 2 colonnes desktop) */
@media (min-width: 781px){
  .wk-blog-list{--blog-card-h:560px;--blog-media-h:240px;--blog-gap:26px}
  .wk-blog-list .wk-list{display:grid;grid-template-columns:repeat(2,minmax(360px,1fr));gap:var(--blog-gap);justify-content:center}
  .wk-blog-list .wk-list>li+li{margin-top:0!important}
  .wk-blog-list .wk-card{display:grid;grid-template-columns:1fr!important;grid-template-rows:auto 1fr;height:var(--blog-card-h);overflow:hidden}
  .wk-blog-list .wk-list-thumb{grid-row:1;margin:0;overflow:hidden;border-radius:inherit;max-height:var(--blog-media-h)}
  .wk-blog-list .wk-list-thumb img{width:100%;height:100%;object-fit:cover;display:block}
  .wk-blog-list .wk-list-content{grid-row:2;display:grid;grid-template-rows:auto auto 1fr auto;gap:6px;margin-top:0!important;min-height:0}
  .wk-blog-list .wk-list-content h2,.wk-blog-list .wk-list-content h2 a{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;overflow:hidden}
  .wk-blog-list .wk-excerpt{-webkit-box-orient:vertical;-webkit-line-clamp:3;display:-webkit-box;overflow:hidden;min-height:0}
  .wk-blog-list .wk-meta{margin:.2em 0 .1em}
  .wk-blog-list .wk-list-content p{margin:.5em 0}
  .wk-blog-list .wk-list-content>p:last-child{margin-top:auto}
  .wk-blog-list .wk-list>li:only-child{grid-column:1/span 1}
}
@media (max-width:780px){.wk-blog-list .wk-list{display:grid;grid-template-columns:1fr;gap:18px}.wk-blog-list .wk-card{height:auto}.wk-blog-list .wk-list-thumb{max-height:54vw}.wk-blog-list .wk-excerpt{-webkit-line-clamp:3}}

/* Header normalisé */
.site-header .brand{display:inline-flex;align-items:center;line-height:1}
.site-header h1.brand{margin:0;font-size:inherit;font-weight:inherit}
.site-header .brand-logo{display:block}
.site-header .header-inner{padding-block:10px}
.top-links .top-link{line-height:1.2}


/* --- Blog index spécifique PATCH --- */
.wk-blog-list .wk-intro{
  color:var(--wk-muted);
  margin:0 0 1rem;
}
.wk-blog-list .wk-usp{
  margin:.6rem 0 0;
  padding:0;
  list-style:none;
}
.wk-blog-list .wk-usp li{ margin:.25rem 0; }

.wk-blog-list .wk-listing-head{ margin:18px 0 8px; }
.wk-blog-list .wk-listing-head h2{
  font-size:1.25rem;
  margin:0 0 .25rem;
}
.wk-blog-list .wk-listing-head .wk-sub{
  color:var(--wk-muted);
  margin:0;
}
.wk-blog-list .wk-listing-head .wk-meta-line{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin:.15rem 0 0;
}
.wk-blog-list .wk-rss{ font-size:.92rem; }

/* Articles liés */
.wk-related{margin:32px 0;padding:24px 0;border-top:1px solid var(--wk-border)}
.wk-related h2{font-size:1.3rem;font-weight:600;margin:0 0 20px;color:var(--wk-text)}
.wk-related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.wk-related-card{background:var(--wk-card);border:1px solid var(--wk-border);border-radius:12px;padding:18px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.wk-related-card:hover{transform:translateY(-2px);box-shadow:var(--wk-shadow-sm);border-color:color-mix(in srgb, var(--wk-border) 70%, var(--wk-primary) 30%)}
.wk-related-link{display:block;text-decoration:none;color:inherit}
.wk-related-title{font-size:1.05rem;font-weight:600;margin:0 0 8px;line-height:1.4;color:var(--wk-text)}
.wk-related-link:hover .wk-related-title{color:var(--wk-primary)}
.wk-related-meta{font-size:.9rem;color:var(--wk-muted);margin:0}
@media(max-width:640px){.wk-related-grid{grid-template-columns:1fr}.wk-related-card{padding:16px}}

/* =====================
   22bis) page de textes légal
   ===================== */
/* /css/legal.css */
.legal-text{
  max-width: 880px;
  margin: 0 auto;
  padding: 16px 18px;
  font-size: 14px;      
  line-height: 1.6;
  color: #475569;
}
.legal-text h1{ font-size:18px; margin:6px 0 14px; color:#1f2937 }
.legal-text h2{ font-size:16px; margin:18px 0 10px; color:#1f2937 }
.legal-text p, .legal-text li{ margin:8px 0 }
.legal-text .muted{ color:#64748b; font-size:13px }
/* =====================
   23) local-city (optimisé & dark-safe)
   ===================== */

/* ----- Carte share (commune share-activity / local-city / search) ----- */
:is(#share-activity, #local-city, #search-page) .wk-card.wk-card--share{
  width:100%;
  margin-inline:auto;
  background:var(--wk-card);
  border-radius:18px;
  box-shadow:var(--wk-shadow-sm);
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr;
}
:is(#share-activity, #local-city, #search-page) .wk-card--share .wk-cover{ margin:0; width:100% }
:is(#share-activity, #local-city, #search-page) .wk-card--share .wk-cover img{
  display:block;
  width:100%;
  height:auto;
  border-radius:18px 18px 0 0;
}

/* Spécifique page de recherche : même rendu que local-city/local-province/seo-activities */
#search-page .wk-activities-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
  width:100%;
}
@media (min-width:768px) and (max-width:1023px){
  #search-page .wk-activities-grid{
    grid-template-columns:repeat(2,1fr);
    gap:1.5rem;
  }
}
@media (min-width:1024px){
  #search-page .wk-activities-grid{
    grid-template-columns:repeat(3,1fr);
    gap:2rem;
  }
}

/* Largeur de page alignée sur local-city pour desktop */
@media (min-width:1024px){
  :is(#local-city, #search-page) .container.wk-share-wrap{
    max-width:1400px;
  }
}

/* Placeholders sans image "super beaux" (local-city + search) */
:is(#local-city, #search-page) .wekty-no-image-card{
  border-radius:18px 18px 0 0;
}
:is(#local-city, #search-page) .wekty-detail-media:has(.wekty-no-image-card) .wk-media__viewport{
  aspect-ratio:4/3!important;
  max-height:none!important;
  width:100%!important;
  position:relative!important;
  overflow:hidden!important;
  border-radius:18px 18px 0 0!important;
  min-height:0;
}
:is(#local-city, #search-page) .wekty-no-image-card .category-icon{
  font-size:3rem!important;
}
@media (min-width:481px) and (max-width:767px){
  :is(#local-city, #search-page) .wekty-no-image-card .category-icon{
    font-size:3.5rem!important;
  }
  :is(#local-city, #search-page) .wekty-detail-media:has(.wekty-no-image-card) .wk-media__viewport{
    aspect-ratio:16/10!important;
  }
}
@media (min-width:768px){
  :is(#local-city, #search-page) .wekty-no-image-card .category-icon{
    font-size:4.5rem!important;
  }
}
@media (min-width:1024px){
  :is(#local-city, #search-page) .wekty-no-image-card .category-icon{
    font-size:5.5rem!important;
  }
}
@media (max-width:767px){
  :is(#local-city, #search-page) .wekty-detail-media:has(.wekty-no-image-card) .wk-media__viewport,
  :is(#local-city, #search-page) .wk-no-image-viewport{
    aspect-ratio:2/1!important;
    max-height:50vh!important;
    height:auto!important;
  }
  :is(#local-city, #search-page) .category-icon{
    font-size:4rem!important;
    margin-bottom:1rem!important;
  }
}

/* Badge "Gratuit" aligné sur share-home/local-city/local-province/seo-activities */
:is(#share-home-activity, #local-city, #local-province, #seo-activities-type, #search-page) .wk-meta-item.wk-free-meta{
  background:linear-gradient(135deg,#f43f5e 0%,#e11d48 100%)!important;
}

/* Cartes search : copier-coller du style #local-city .wk-card.wk-card--share */
#search-page .wk-card.wk-card--share{
  width:100%;
  max-width:100%;
  margin-inline:0;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:18px;
  transition:transform .2s ease, box-shadow .2s ease;
  background:var(--wk-card,#ffffff);
  border:1px solid var(--wk-border,#e6e9ef);
  box-shadow:0 2px 8px rgba(0,0,0,.06);
  height:100%;
  cursor:pointer;
}
#search-page .wk-card.wk-card--share:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
#search-page .wk-card.wk-card--share:active{
  transform:translateY(0);
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}

/* Corps + métas des cartes (alignés sur local-city) */
:is(#local-city, #search-page) .wk-detail-content-modern{
  background:transparent;
  padding:0;
  padding-top:.75rem;
  padding-bottom:0;
  position:relative;
  z-index:2;
  max-width:100%;
  margin:0;
  margin-bottom:.5rem;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:.5rem;
  min-height:0;
}
:is(#local-city, #search-page) .wk-detail-header{
  margin:0;
  background:transparent;
  border-radius:0;
  padding:0;
  position:relative;
  z-index:3;
  box-shadow:none;
  border:none;
  flex-shrink:0;
}
:is(#local-city, #search-page) .wk-detail-title-modern{
  font-size:1.2rem;
  font-weight:700;
  line-height:1.3;
  color:var(--wk-text);
  margin:0 0 .375rem;
  padding:0 1rem;
  letter-spacing:-.01em;
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
:is(#local-city, #search-page) .wk-detail-title-text{display:block;color:inherit;}
:is(#local-city, #search-page) .wk-detail-meta-modern{
  display:flex;
  flex-wrap:wrap;
  gap:.375rem;
  margin-bottom:.375rem;
  padding:0 1rem;
}
:is(#local-city, #search-page) .wk-detail-description-modern{
  margin:0;
  margin-bottom:0;
  background:transparent;
  border-radius:0;
  padding:0 1rem 0 1rem;
  box-shadow:none;
  border:none;
  flex-shrink:0;
}
:is(#local-city, #search-page) .wk-description-content{
  position:relative;
  font-size:.9rem;
  line-height:1.5;
  color:var(--wk-text-2,#475569);
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  margin-bottom:0;
  display:block;
}
:is(#local-city, #search-page) .wk-description-text{display:inline;}
:is(#local-city, #search-page) .wk-description-more-link{
  display:inline;
  color:var(--wk-primary,#3b82f6);
  text-decoration:none;
  font-weight:600;
  font-size:.9rem;
  margin-left:.25rem;
  transition:color .2s ease;
  white-space:nowrap;
}
:is(#local-city, #search-page) .wk-description-more-link:hover{
  color:var(--wk-primary-600,#2563eb);
  text-decoration:underline;
}

/* Pastilles méta colorées (chips) */
:is(#local-city, #search-page) .wk-meta-item{
  display:flex;
  align-items:center;
  gap:.375rem;
  padding:.375rem .625rem;
  border-radius:999px;
  font-size:.8rem;
  font-weight:600;
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.3);
  box-shadow:0 2px 6px rgba(0,0,0,.12);
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  min-height:28px;
  line-height:1.2;
}
:is(#local-city, #search-page) .wk-meta-item:nth-child(1){
  background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);
}
:is(#local-city, #search-page) .wk-meta-item:nth-child(2){
  background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);
}
:is(#local-city, #search-page) .wk-meta-item:nth-child(3){
  background:linear-gradient(135deg,#10b981 0%,#059669 100%);
}
:is(#local-city, #search-page) .wk-meta-item:nth-child(4){
  background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);
}
:is(#local-city, #search-page) .wk-event-date-meta{
  background:linear-gradient(135deg,#ec4899 0%,#db2777 100%)!important;
}

/* ----- Viewport + slides (communs) ----- */
:is(#share-activity, #local-city, #search-page) .wk-media__viewport{
  position:relative;
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  background:#000; /* Noir assumé: évite les bandes grises en media */
}
:is(#local-city, #search-page) .wekty-detail-media .wk-media__viewport{
  aspect-ratio:4/3;
}
:is(#search-page) .wk-media__viewport--home{
  background:#fff !important;
}
:is(#search-page) .wk-media__viewport--home .wk-slide{
  background:#fff !important;
}
:is(#search-page) .wk-media__viewport--home .wk-image-container{
  background:#fff !important;
}
:is(#share-activity, #local-city, #search-page) .wk-slide{
  position:absolute; inset:0;
  display:none; z-index:0;
  background:#000;
}
:is(#share-activity, #local-city, #search-page) .wk-slide.is-active{ display:block; z-index:1; }
:is(#share-activity, #local-city, #search-page) .wk-slide img,
:is(#share-activity, #local-city, #search-page) .wk-slide video{
  width:100%; height:100%;
  display:block;
  object-fit:contain;
  background:#000;
}

/* ----- Overlay (dots) + flèches IG (communs) ----- */
:is(#share-activity, #local-city, #search-page) .wk-media__overlay{
  position:absolute; left:0; right:0; top:0;
  padding:.5rem 0 0;
  display:flex; justify-content:center;
  pointer-events:none; z-index:5;
}
:is(#share-activity, #local-city, #search-page) .wk-dots{ display:flex; gap:.4rem; pointer-events:auto; }
:is(#share-activity, #local-city, #search-page) .wk-dot{
  width:.5rem; height:.5rem; border-radius:50%;
  background:color-mix(in srgb, #fff 60%, transparent);
  border:0; padding:0; cursor:pointer; opacity:.9;
  transition:transform .12s, background .12s, opacity .12s;
}
:is(#share-activity, #local-city, #search-page) .wk-dot.is-on{ background:#fff; transform:scale(1.1); }
:is(#share-activity, #local-city, #search-page) .wk-dot.wk-dot--video{
  width:.7rem; border-radius:.2rem; background:transparent; position:relative;
}
:is(#share-activity, #local-city, #search-page) .wk-dot.wk-dot--video::before{
  content:""; display:block; width:0; height:0;
  border-left:.55rem solid color-mix(in srgb, #fff 70%, transparent);
  border-top:.35rem solid transparent; border-bottom:.35rem solid transparent; margin-left:.1rem;
}
:is(#share-activity, #local-city, #search-page) .wk-dot.wk-dot--video.is-on::before{ border-left-color:#fff; }

:is(#share-activity, #local-city, #search-page) .wk-ig-arrows{
  position:absolute; inset:0; pointer-events:none; z-index:3;
}
:is(#share-activity, #local-city, #search-page) .wk-ig-arrow{
  pointer-events:auto;
  position:absolute; top:50%; transform:translateY(-50%);
  width:34px; height:52px; border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  border:0; cursor:pointer;
  background:rgba(0,0,0,.35);
  color:#fff; font-size:22px; line-height:1;
  transition:opacity .12s, background .12s, transform .12s;
  backdrop-filter:blur(2px);
}
:is(#share-activity, #local-city, #search-page) .wk-ig-prev{ left:6px; }
:is(#share-activity, #local-city, #search-page) .wk-ig-next{ right:6px; }
:is(#share-activity, #local-city, #search-page) .wk-ig-arrow.is-hidden{ opacity:0; pointer-events:none; }

/* Remonte les dots si une vidéo est visible (communs) */
:is(#share-activity, #local-city, #search-page) .wk-media__viewport:has(video) .wk-media__overlay{ bottom:56px; }
@media (max-width:480px){
  :is(#share-activity, #local-city, #search-page) .wk-media__viewport:has(video) .wk-media__overlay{ bottom:52px; }
}

/* ----- Corps + méta (communs) ----- */
:is(#share-activity, #local-city, #search-page) .wk-card--share .wk-body{
  padding:12px 16px 16px;
  display:flex; flex-direction:column; gap:8px;
}
:is(#share-activity, #local-city, #search-page) .wk-meta-line{
  display:flex; flex-wrap:wrap; gap:6px; margin:2px 0 2px;
}
:is(#share-activity, #local-city, #search-page) .wk-chip{
  display:inline-flex; align-items:center; gap:6px; padding:5px 9px;
  border-radius:999px;
  background:var(--wk-alt);
  border:1px solid var(--wk-border);
  font-size:.9rem; white-space:nowrap;
}

/* ----- Desktop 2 colonnes (communs) ----- */
@media (min-width:900px){
  :is(#share-activity, #local-city) .wk-card.wk-card--share{
    grid-template-columns:50% 50%;
    align-items:start;
  }
  :is(#share-activity, #local-city) .wk-card--share .wk-cover img{ border-radius:18px 0 0 0; }
  :is(#share-activity, #local-city, #search-page) .wk-card--share .wk-body{ padding:0 18px 18px; }
}

/* Spécifique recherche : contenu plein cadre comme local-city */
#search-page .wk-card--share .wk-body{
  padding:0 0 18px;
}

/* ----- Share inline (communs) ----- */
:is(#share-activity, #local-city) .wk-share-inline{
  margin-top:12px; padding-top:8px;
  border-top:1px solid var(--wk-border);
}
:is(#share-activity, #local-city) .wk-share-inline>summary{
  list-style:none; cursor:pointer; margin:0; padding:0;
  display:flex; align-items:center; gap:8px; font-size:.9rem; color:var(--wk-muted);
}
:is(#share-activity, #local-city) .wk-share-inline>summary::-webkit-details-marker{ display:none }
:is(#share-activity, #local-city) .wk-share-inline>summary::marker{ content:"" }
:is(#share-activity, #local-city) .wk-share-inline>summary::before{ content:"🔗"; font-size:.95rem; }
:is(#share-activity, #local-city) .wk-sharebar{
  display:none; margin-top:8px; row-gap:6px; column-gap:8px; flex-wrap:wrap;
}
:is(#share-activity, #local-city) .wk-share-inline[open] .wk-sharebar{ display:flex }

/* Boutons “chip” (communs) */
:is(#share-activity, #local-city) .wk-btn.wk-btn--chip{
  padding:4px 9px; font-size:.82rem; line-height:1;
  border-radius:999px; background:transparent;
  border:1px solid var(--wk-border); color:inherit; box-shadow:none;
}
:is(#share-activity, #local-city) .wk-btn.wk-btn--chip:hover{ background:var(--wk-alt); }
:is(#share-activity, #local-city) .wk-btn.wk-btn--chip:active{ transform:translateY(.5px); }

/* ----- Spécifiques local-city ----- */
#local-city .wk-cover{ position:relative; overflow:hidden; }

/* Badges (ex: sponsor) */
#local-city .wk-badges{
  position:absolute; top:6px; right:6px;
  display:inline-flex; gap:6px; z-index:6; pointer-events:none;
}
#local-city .wk-badge{
  pointer-events:auto;
  display:inline-flex; align-items:center; justify-content:center;
  padding:.22rem .6rem; border-radius:999px;
  font-weight:800; line-height:1; white-space:nowrap;
}
#local-city .wk-badge--sponsor{
  background:var(--wk-primary-600); color:#fff;
  border:1px solid color-mix(in srgb, #000 15%, var(--wk-primary-600));
  box-shadow:0 1px 2px rgba(0,0,0,.25);
  text-transform:uppercase; letter-spacing:.02em; font-size:.78rem;
}

/* Tips / SEO (dark-safe) */
#local-city .wk-tips{
  border:1px solid var(--wk-border);
  border-radius:12px;
  overflow:hidden;
  background:var(--wk-elev);
}
#local-city .wk-tips summary{
  list-style:none; cursor:pointer; font-weight:600; padding:12px 14px;
  display:flex; align-items:center; gap:8px;
}
#local-city .wk-tips summary::-webkit-details-marker{ display:none }
#local-city .wk-tips .tip-body{ padding:10px 14px 14px }
#local-city .wk-tip-grid{ display:grid; gap:10px }
@media (min-width:720px){ #local-city .wk-tip-grid{ grid-template-columns:1fr 1fr } }
#local-city .wk-tip{
  background:var(--wk-card);
  border:1px solid var(--wk-border);
  border-radius:10px;
  padding:10px 12px;
}
#local-city .wk-tip h3{
  margin:.2em 0 .2em; font-size:1rem;
  display:flex; align-items:center; gap:6px;
}
#local-city .wk-tip p{ margin:.2em 0; font-size:.95rem; line-height:1.35; }

/* Nearby (version unique, dark-safe) */
#local-city .wk-nearby-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
  gap:12px;
}
#local-city .wk-nearby-card{
  display:flex; flex-direction:column; gap:8px; min-height:88px;
  padding:14px;
  border:1px solid var(--wk-border);
  border-radius:14px;
  background:var(--wk-card);
  text-decoration:none; color:inherit;
  transition: background .2s, border-color .2s, transform .1s, box-shadow .2s;
}
#local-city .wk-nearby-card:hover{
  background:var(--wk-soft);
  border-color:color-mix(in srgb, var(--wk-primary) 30%, var(--wk-border));
  transform:translateY(-1px);
  box-shadow:var(--wk-shadow-sm);
}
#local-city .wk-nearby-title{ display:flex; align-items:center; gap:8px; font-weight:600; }
#local-city .wk-nearby-meta{
  margin-top:auto; display:flex; gap:6px; align-items:center; opacity:.85; font-size:.92rem;
}
#local-city .wk-nearby-meta .badge{
  display:inline-block; padding:4px 10px; border-radius:999px;
  background:var(--wk-card); border:1px solid var(--wk-border); font-size:.85rem;
}
#local-city .wk-nearby-arrow{ margin-left:auto; opacity:.6; font-size:1.1rem; }

/* Divers */
#local-city .wk-card .wk-desc,
#search-page .wk-card .wk-desc{
  display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;
}
#local-city .wk-media.has-nav .wk-ig-arrows{ display:none }
#local-city .wk-media.has-nav[data-multi="1"] .wk-ig-arrows{ display:block }
#local-city .wk-card{ margin-bottom:20px }
#local-city .wk-city-intro{ margin:18px 0 22px }
#local-city .wk-nearby{ margin:26px 0 8px }

/* ----- Sticky CTA (mobile only, dark-safe) ----- */
.wk-sticky-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:9999;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:color-mix(in srgb, var(--wk-card) 95%, transparent);
  box-shadow:0 -8px 24px rgba(0,0,0,.08);
  border-top:1px solid var(--wk-border);
  transform:translateY(110%); opacity:0; pointer-events:none;
  transition:transform .25s ease, opacity .25s ease;
}
:root[data-theme="dark"] .wk-sticky-cta{ box-shadow:0 -8px 24px rgba(0,0,0,.35); }
.wk-sticky-cta.is-on{ transform:translateY(0); opacity:1; pointer-events:auto; }
.wk-sticky-cta__inner{ display:flex; gap:10px; align-items:center; justify-content:space-between; }
.wk-sticky-cta__text{ font-size:.95rem; line-height:1.2; }
.wk-sticky-cta__btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:999px; text-decoration:none; color:#fff;
  background:var(--wk-primary);
  border:1px solid color-mix(in srgb, #000 8%, var(--wk-primary));
  font-weight:600;
}
.wk-sticky-cta__btn:hover{ background:var(--wk-primary-600); }
.wk-sticky-cta__btn:active{ transform:translateY(1px); }
.wk-sticky-cta__close{
  position:absolute; top:6px; right:8px; width:32px; height:32px;
  display:inline-flex; align-items:center; justify-content:center;
  border:0; background:transparent; font-size:20px; line-height:1; cursor:pointer; color:var(--wk-muted);
}
@media (min-width:768px){ .wk-sticky-cta{ display:none } }
@media (prefers-reduced-motion:reduce){
  .wk-sticky-cta,
  :is(#share-activity, #local-city) .wk-dot,
  :is(#share-activity, #local-city) .wk-ig-arrow,
  #local-city .wk-nearby-card{ transition:none }
}

/* ----- Inline CTA (hero) — dark-safe & variables ----- */
.wk-inline-cta--hero{
  position:relative; overflow:hidden; border:0;
  padding:18px; border-radius:14px;
  background: radial-gradient(120% 120% at 100% 0%,
              color-mix(in srgb, var(--wk-alt) 85%, var(--wk-card)) 0%,
              color-mix(in srgb, var(--wk-alt) 60%, var(--wk-card)) 45%,
              var(--wk-card) 85%);
  box-shadow: var(--wk-shadow-sm);
  display:flex; gap:14px; align-items:center; justify-content:space-between; flex-wrap:wrap;
}
:root[data-theme="dark"] .wk-inline-cta--hero{
  background: radial-gradient(120% 120% at 100% 0%,
              color-mix(in srgb, var(--wk-elev) 92%, var(--wk-text) 8%) 0%,
              var(--wk-elev) 60%,
              var(--wk-card) 95%);
  box-shadow:0 6px 18px rgba(0,0,0,.35);
}
.wk-inline-cta__left{ min-width:220px; flex:1 1 280px }
.wk-inline-cta__kicker{ font-weight:700; font-size:14px; letter-spacing:.2px; margin-bottom:6px }
.wk-inline-cta__title{ font-size:20px; line-height:1.25; margin:0 0 6px; font-weight:800 }
.wk-inline-cta__sub{ color:var(--wk-muted); margin:0 0 10px }
.wk-chiplist{ display:flex; gap:8px; flex-wrap:wrap; margin:4px 0 12px }
.wk-chiplist .chip{
  background:var(--wk-card);
  border:1px solid var(--wk-border);
  border-radius:999px; padding:6px 10px; font-size:12px
}
.wk-inline-cta__right{ display:flex; align-items:center; gap:10px }
.wk-inline-cta__btn{ font-size:16px; padding:10px 14px; border-radius:10px }
.wk-inline-cta__badges{ font-size:12px; color:var(--wk-muted) }
@media (max-width:640px){ .wk-inline-cta__title{ font-size:18px } }

/* ----- Mini buttons ----- */
.wk-mini-btn{
  display:inline-flex; align-items:center; gap:6px;
  padding:10px 16px; border-radius:10px;
  font-weight:700; font-size:15px; line-height:1.2;
  background:var(--wk-primary); color:#fff;
  border:1px solid var(--wk-primary);
  text-decoration:none; transition:.2s;
  min-height:44px;
}
.wk-mini-btn:hover{ background:var(--wk-primary-600); border-color:var(--wk-primary-600) }
.wk-mini-btn:focus-visible{ outline:2px solid var(--wk-primary); outline-offset:2px }
@media(max-width:640px){
  .wk-mini-btn{
    width:100%;
    min-height:48px;
    padding:14px 20px;
    font-size:1rem;
    justify-content:center;
  }
}
.wk-mini-btn--ghost{
  background:var(--wk-card);
  color:var(--wk-primary);
  border:1px solid var(--wk-primary);
}
.wk-intro-chiplist{
  margin:8px 0 14px;
}
.wk-intro-chiplist .chip{
  font-size:14px;
  background:var(--wk-alt);
  border-color:var(--wk-border);
  color:var(--wk-text);
}
@media (prefers-color-scheme: dark){
  .wk-intro-chiplist .chip{
    background:#1e293b;
    border-color:#334155;
    color:#e2e8f0;
  }
}
/* === Typo scale (clamp pour responsive léger) === */
:root{
  --fs-h1: clamp(1.6rem, 2vw + 1rem, 2.2rem);
  --fs-h2: clamp(1.25rem, 1.2vw + .9rem, 1.6rem);
  --fs-h3: clamp(1.05rem, .8vw + .85rem, 1.25rem);
  --fs-body: 1rem;
  --fs-small: .875rem;
  --lh-tight: 1.2;
  --lh-normal: 1.55;
}

/* H1/H2/H3 cohérents sur la page local-city */
#local-city .wk-title{ font-size:var(--fs-h1); line-height:var(--lh-tight); margin:0 0 .25rem; }
#local-city .section-title{ font-size:var(--fs-h2); line-height:var(--lh-tight); margin:0; }
#local-city .wk-card .wk-title{ font-size:var(--fs-h3); line-height:var(--lh-tight); }

/* Paragraphes d’intro, helper et meta */
#local-city .wk-intro{ font-size:var(--fs-body); line-height:var(--lh-normal); margin:.35rem 0 .35rem; }
#local-city .wk-intro--helper{ font-size:var(--fs-small); color:var(--wk-muted); margin:.25rem 0 0; }
#local-city .wk-meta.small{ font-size:var(--fs-small); }

/* Puces/quick-nav : taille harmonisée */
#local-city .wk-intro-chiplist .chip,
#local-city .quick-nav a{ font-size:var(--fs-small); }

/* Sous-texte d’en-tête de listing (garde la hiérarchie visuelle) */
#local-city .wk-listing-head .wk-sub{ font-size:var(--fs-small); color:var(--wk-muted); }

/* Désactive tout grossissement inattendu dans .wk-intro (Safari/strong) */
#local-city .wk-intro strong{ font-weight:600; font-size:inherit; }

/* Spacings (resserre le haut) */
#local-city .wk-headline{ margin-bottom:14px; }
#local-city .wk-intro-chiplist{ margin-top:.5rem; }
#local-city .quick-nav{ margin:.5rem 0 1rem; }

/* Égalise les chips “métadonnées” des cartes */
#local-city .wk-meta-line .wk-chip{ font-size:var(--fs-small); }

/* Bouton mini dans l'en-tête listing = small */
#local-city .wk-mini-btn{ font-size:var(--fs-small); }

/* === Barre d'action dans l'aperçu du formulaire === */
.step[data-step="7"] .wk-actions-modern-container {
  margin: 0.75rem 0 0 0;
  background: linear-gradient(135deg, #3b82f6 0%, #f59e0b 100%);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 20px;
  padding: 0;
  position: relative;
  z-index: 2;
  box-shadow: 
    0 20px 60px rgba(59, 130, 246, 0.15),
    0 12px 40px rgba(0, 0, 0, 0.1),
    0 6px 20px rgba(0, 0, 0, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  overflow: visible;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.step[data-step="7"] .wk-ticket-container {
  padding: 12px 16px 16px 16px;
  margin-top: 8px;
}

.step[data-step="7"] .wk-ticket-button {
  width: 100%;
  background: linear-gradient(135deg, #1e40af 0%, #dc2626 100%);
  color: white;
  border: 2px solid rgba(255, 255, 255, 0.9);
  border-radius: 16px;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 700;
  font-size: 0.9rem;
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 
    0 8px 24px rgba(30, 64, 175, 0.3),
    0 4px 12px rgba(0, 0, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

.step[data-step="7"] .wk-ticket-button:hover {
  background: linear-gradient(135deg, #2563eb 0%, #d97706 100%);
  transform: translateY(-2px) scale(1.02);
  box-shadow: 
    0 12px 32px rgba(37, 99, 235, 0.4),
    0 6px 16px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.4);
  border-color: rgba(255, 255, 255, 1);
}

.step[data-step="7"] .wk-ticket-button:active {
  transform: translateY(0) scale(0.98);
  transition: all 0.1s ease;
}

.step[data-step="7"] .wk-ticket-button svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.step[data-step="7"] .wk-ticket-label {
  font-size: 0.9rem;
  font-weight: 700;
  color: white;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  letter-spacing: -0.01em;
  white-space: nowrap;
}

.step[data-step="7"] .wk-actions-modern {
  display: flex;
  gap: 8px;
  padding: 16px;
  justify-content: center;
  flex-wrap: nowrap;
  position: relative;
  z-index: 1;
  overflow-x: auto;
  overflow-y: visible;
  scrollbar-width: none;
  -ms-overflow-style: none;
  background: transparent;
  border-top: 0;
  box-shadow: none;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.step[data-step="7"] .wk-actions-modern::-webkit-scrollbar {
  display: none;
}

.step[data-step="7"] .wk-action-modern {
  position: relative;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 18px;
  padding: 12px 14px;
  color: #1e293b;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.06),
    0 4px 16px rgba(0, 0, 0, 0.04),
    0 2px 8px rgba(0, 0, 0, 0.02),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
  min-width: 60px;
  min-height: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  gap: 4px;
  flex-shrink: 0;
  cursor: pointer;
  overflow-x: hidden;
  overflow-y: visible;
  box-sizing: border-box;
  max-width: 100%;
}

.step[data-step="7"] .wk-action-modern:hover {
  background: rgba(255, 255, 255, 1);
  transform: translateY(-4px) scale(1.03);
  box-shadow: 
    0 20px 60px rgba(0, 0, 0, 0.1),
    0 12px 32px rgba(0, 0, 0, 0.08),
    0 6px 16px rgba(0, 0, 0, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.8);
}

.step[data-step="7"] .wk-action-modern:active {
  transform: translateY(-1px) scale(0.96);
  transition: all 0.1s ease;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.1);
}

.step[data-step="7"] .wk-action-modern svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
}

.step[data-step="7"] .wk-action-modern:not(.wk-action--danger) svg {
  color: #475569;
}

.step[data-step="7"] .wk-action-modern.wk-action--danger {
  color: #ef4444;
}

.step[data-step="7"] .wk-action-modern.wk-action--danger:hover {
  color: #dc2626;
}

.step[data-step="7"] .wk-action-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #1f2937;
  text-align: center;
  line-height: 1.2;
  margin-top: 3px;
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 480px) {
  .step[data-step="7"] .wk-actions-modern {
    gap: 4px;
    padding: 10px 8px;
  }
  
  .step[data-step="7"] .wk-action-modern {
    min-width: 52px;
    min-height: 54px;
    padding: 8px 8px;
  }
  
  .step[data-step="7"] .wk-action-modern svg {
    width: 18px;
    height: 18px;
  }
  
  .step[data-step="7"] .wk-action-label {
    font-size: 0.65rem;
    max-width: 8.5ch;
  }
  
  .step[data-step="7"] .wk-ticket-container {
    padding: 10px 12px 12px 12px;
    margin-top: 6px;
  }
  
  .step[data-step="7"] .wk-ticket-button {
    padding: 10px 16px;
    font-size: 0.85rem;
    min-height: 44px;
    border-radius: 14px;
  }
  
  .step[data-step="7"] .wk-ticket-button svg {
    width: 20px;
    height: 20px;
  }
  
  .step[data-step="7"] .wk-ticket-label {
    font-size: 0.85rem;
  }
}

/* === Popup informatif pour les actions === */
.preview-action-popup {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 100000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  box-sizing: border-box;
}

.preview-action-popup-content {
  background: white;
  border-radius: 20px;
  padding: 2rem;
  max-width: 400px;
  width: 100%;
  box-shadow: 
    0 20px 60px rgba(0, 0, 0, 0.3),
    0 12px 40px rgba(0, 0, 0, 0.2),
    0 6px 20px rgba(0, 0, 0, 0.1);
  position: relative;
  box-sizing: border-box;
}

.preview-action-popup-content p {
  margin: 0 0 1.5rem 0;
  font-size: 1rem;
  line-height: 1.6;
  color: #1e293b;
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

.preview-action-popup-close {
  width: 100%;
  padding: 0.75rem 1.5rem;
  background: linear-gradient(135deg, #3b82f6 0%, #f59e0b 100%);
  color: white;
  border: none;
  border-radius: 12px;
  font-weight: 600;
  font-size: 1rem;
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}

.preview-action-popup-close:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(59, 130, 246, 0.4);
}

.preview-action-popup-close:active {
  transform: translateY(0);
}

@media (max-width: 480px) {
  .preview-action-popup {
    padding: 1rem;
  }
  
  .preview-action-popup-content {
    padding: 1.5rem;
    border-radius: 16px;
  }
  
  .preview-action-popup-content p {
    font-size: 0.9rem;
    margin-bottom: 1.25rem;
  }
  
  .preview-action-popup-close {
    padding: 0.625rem 1.25rem;
    font-size: 0.9rem;
  }
}

/* =====================
   Cartes de contribution
   ===================== */

/* Exception pour la carte de contribution - afficher tout le texte */
.wekty-contribution-card,
.wekty-contribution-card p,
.wekty-contribution-card .wekty-contribution-text,
p.wekty-contribution-text,
.wekty-contribution-card p.wekty-contribution-text,
.wk-activities-grid .wekty-contribution-card,
.wk-activities-grid .wekty-contribution-card p,
.wk-activities-grid .wekty-contribution-card .wekty-contribution-text,
.cards-grid .wekty-contribution-card,
.cards-grid .wekty-contribution-card p,
.cards-grid .wekty-contribution-card .wekty-contribution-text,
.wk-cards-grid .wekty-contribution-card,
.wk-cards-grid .wekty-contribution-card p,
.wk-cards-grid .wekty-contribution-card .wekty-contribution-text {
  -webkit-line-clamp: none !important;
  display: block !important;
  -webkit-box-orient: initial !important;
  overflow: visible !important;
  min-height: auto !important;
  max-height: none !important;
  height: auto !important;
  white-space: normal !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
}

/* Styles de base pour la carte de contribution */
.wekty-contribution-card {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.05) 0%, rgba(245, 158, 11, 0.05) 100%);
  border: 2px dashed rgba(59, 130, 246, 0.3);
  border-radius: var(--wk-radius-md, 12px);
  padding: 24px 16px;
  margin: 0 0 16px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  width: 100%;
  box-sizing: border-box;
  position: relative;
  z-index: 10;
  touch-action: auto;
  -webkit-tap-highlight-color: rgba(59, 130, 246, 0.2);
  overflow: visible;
  word-wrap: break-word;
  overflow-wrap: break-word;
  pointer-events: auto;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  color: inherit;
}

/* Centrage vertical dans les grilles (quand la carte est dans une grille avec d'autres cartes) */
.wk-activities-grid .wekty-contribution-card,
.cards-grid .wekty-contribution-card,
.wk-cards-grid .wekty-contribution-card {
  align-self: stretch;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.wekty-contribution-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.wekty-contribution-card h3 {
  margin: 0 0 10px 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--wk-text, #21394d);
  letter-spacing: -0.02em;
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  line-height: 1.3;
  width: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.wekty-contribution-card .wekty-contribution-text {
  margin: 0 0 18px 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--wk-text-2, #324a57);
  width: 100%;
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  text-align: center;
  padding: 0;
  box-sizing: border-box;
}

.wekty-contribution-btn {
  background: linear-gradient(135deg, #3b82f6 0%, #f59e0b 100%);
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.9rem;
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
  width: auto;
  min-width: 180px;
  display: inline-block;
  text-align: center;
  box-sizing: border-box;
  position: relative;
  z-index: 10000 !important;
  margin: 0 auto;
  text-decoration: none;
  cursor: pointer;
  pointer-events: auto !important;
  touch-action: manipulation;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.wekty-contribution-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(59, 130, 246, 0.4);
}

.wekty-contribution-btn:active {
  transform: translateY(0);
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
  .wekty-contribution-card {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(245, 158, 11, 0.1) 100%);
    border-color: rgba(59, 130, 246, 0.4);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  }
  
  .wekty-contribution-card h3 {
    color: var(--wk-text, #e5e7eb);
  }
  
  .wekty-contribution-card .wekty-contribution-text {
    color: var(--wk-text-2, #cbd5e1);
  }
}

/* Responsive */
@media (max-width: 640px) {
  .wekty-contribution-card {
    padding: 20px 14px;
  }
  
  .wekty-contribution-card h3 {
    font-size: 1rem;
  }
  
  .wekty-contribution-card .wekty-contribution-text {
    font-size: 0.85rem;
  }
  
  .wekty-contribution-btn {
    min-width: 160px;
    padding: 9px 18px;
    font-size: 0.85rem;
  }
}

/* =========================================================
   Section Horaires d'ouverture - share-activity
   ========================================================= */
.wk-opening-hours-section {
  margin: 1.5rem 0;
  padding: 1.25rem;
  background: var(--wk-card, #ffffff);
  border: 1px solid var(--wk-border, #e6e9ef);
  border-radius: var(--wk-radius, 16px);
  box-shadow: var(--wk-shadow-sm, 0 6px 18px rgba(15, 23, 42, 0.06));
  animation: fadeInUp 0.8s ease-out 0.2s both;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.wk-opening-hours-title {
  margin: 0 0 0.75rem 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--wk-text, #213547);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: 'Poppins', system-ui, sans-serif;
}

.wk-opening-hours-summary {
  margin: 0 0 1rem 0;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--wk-muted, #5f6b7a);
}

.wk-opening-hours-content {
  margin-top: 0.5rem;
}

.wk-opening-hours-weekly {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.wk-opening-hours-day {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background: var(--wk-alt, #f5f9ff);
  border-radius: 8px;
  transition: all 0.2s ease;
  border: 1px solid transparent;
}

.wk-opening-hours-day:hover {
  background: color-mix(in srgb, var(--wk-alt, #f5f9ff) 90%, var(--wk-primary, #1178A8) 10%);
}

.wk-opening-hours-day--today {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(245, 158, 11, 0.1) 100%);
  border-color: var(--wk-primary, #1178A8);
  border-width: 2px;
  font-weight: 600;
}

.wk-opening-hours-day-name {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--wk-text, #213547);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
}

.wk-opening-hours-today-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.5rem;
  background: var(--wk-primary, #1178A8);
  color: white;
  border-radius: 12px;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.wk-opening-hours-day-time {
  font-size: 0.9rem;
  color: var(--wk-text, #213547);
  font-weight: 500;
  text-align: right;
  min-width: 120px;
}

.wk-opening-hours-day-time--closed {
  color: var(--wk-muted, #5f6b7a);
  font-style: italic;
}

.wk-opening-hours-exception-note {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px dashed var(--wk-border, #e6e9ef);
  font-size: 0.85rem;
  color: var(--wk-muted, #5f6b7a);
  font-style: italic;
  width: 100%;
  grid-column: 1 / -1;
}

.wk-opening-hours-notes {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--wk-border, #e6e9ef);
}

.wk-opening-hours-notes p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--wk-muted, #5f6b7a);
}

.wk-opening-hours-timezone {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--wk-border, #e6e9ef);
  text-align: center;
}

.wk-opening-hours-timezone small {
  font-size: 0.8rem;
  color: var(--wk-muted, #5f6b7a);
}

/* Responsive */
@media (max-width: 640px) {
  .wk-opening-hours-section {
    padding: 1rem;
    margin: 1.25rem 0;
  }

  .wk-opening-hours-title {
    font-size: 1rem;
  }

  .wk-opening-hours-day {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.875rem;
  }

  .wk-opening-hours-day-time {
    text-align: left;
    min-width: auto;
    width: 100%;
  }

  .wk-opening-hours-day-name {
    width: 100%;
  }
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
  .wk-opening-hours-section {
    background: color-mix(in srgb, var(--wk-card, #ffffff) 95%, var(--wk-text, #213547) 5%);
    border-color: color-mix(in srgb, var(--wk-border, #e6e9ef) 60%, transparent 40%);
  }

  .wk-opening-hours-day {
    background: color-mix(in srgb, var(--wk-alt, #f5f9ff) 30%, transparent 70%);
  }

  .wk-opening-hours-day--today {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(245, 158, 11, 0.15) 100%);
  }
}

/* =========================================================
   Section Horaires d'ouverture - Formulaire de proposition
   ========================================================= */
#openingHoursSection {
  margin-top: 1rem;
}

#openingHoursContent {
  margin-top: 1rem;
}

.opening-hours-days {
  margin-top: 0.75rem;
}

.opening-hours-day-row {
  transition: background-color 0.2s ease;
}

.opening-hours-day-row:hover {
  background-color: var(--wk-alt-hover, #eef2ff) !important;
}

.opening-hours-day-row .day-slots {
  min-height: 3rem;
}

.opening-hours-day-row .slot-item {
  transition: opacity 0.2s ease;
}

.opening-hours-day-row .slot-item:hover {
  opacity: 1;
}

.opening-hours-day-row .btn-add-slot:hover,
.opening-hours-day-row .btn-remove-slot:hover {
  opacity: 1;
  background-color: var(--wk-border, #e6e9ef);
}

.opening-hours-day-row .btn-copy-hours:hover {
  background-color: var(--wk-primary, #3b82f6);
  color: white;
}

.copy-hours-menu label:hover {
  background-color: var(--wk-alt, #f5f9ff);
}

.copy-hours-menu .btn-copy-confirm:hover {
  background-color: var(--wk-primary-dark, #2563eb);
}

.copy-hours-menu .btn-copy-cancel:hover {
  background-color: var(--wk-border, #e6e9ef);
}

.season-item,
.exception-item {
  transition: box-shadow 0.2s ease;
}

.season-item:hover,
.exception-item:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.btn-remove-season:hover,
.btn-remove-exception:hover {
  opacity: 1;
  background-color: var(--wk-border, #e6e9ef);
}

/* Style pour le details/summary des options avancées */
.opening-hours-advanced-details {
  border: 1px solid var(--wk-border, #e6e9ef);
  border-radius: 8px;
  background: var(--wk-card, #ffffff);
  overflow: hidden;
}

.opening-hours-advanced-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  cursor: pointer;
  font-weight: 600;
  user-select: none;
  list-style: none;
  background: var(--wk-alt, #f5f9ff);
  transition: background-color 0.2s ease, color 0.2s ease;
  border: none;
  outline: none;
}

.opening-hours-advanced-summary::-webkit-details-marker {
  display: none;
}

.opening-hours-advanced-summary:hover {
  background: var(--wk-primary-light, rgba(59, 130, 246, 0.1));
  color: var(--wk-primary, #3b82f6);
}

.opening-hours-advanced-summary:focus {
  outline: 2px solid var(--wk-primary, #3b82f6);
  outline-offset: -2px;
}

.opening-hours-advanced-summary .summary-arrow {
  font-size: 0.75rem;
  transition: transform 0.2s ease;
  color: var(--wk-text-muted, #64748b);
  margin-left: 0.5rem;
}

.opening-hours-advanced-details[open] .summary-arrow {
  transform: rotate(180deg);
}

.opening-hours-advanced-details[open] .opening-hours-advanced-summary {
  border-bottom: 1px solid var(--wk-border, #e6e9ef);
  background: var(--wk-primary-light, rgba(59, 130, 246, 0.1));
}

@media (max-width: 640px) {
  .opening-hours-day-row {
    flex-direction: column;
    align-items: flex-start !important;
  }

  .opening-hours-day-row > div:first-child {
    flex: 0 0 auto;
    width: 100%;
    margin-bottom: 0.5rem;
  }

  .opening-hours-day-row .day-slots {
    width: 100%;
  }

  .slot-item {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .slot-item input {
    width: 100% !important;
  }
}