/* En-tete natif Cekonay
   Extrait de cuisine.cekonay.com/wp-content/themes/cekonay-cuisine/style.css
   Selecteurs du corps de page et du pied volontairement ecartes.
   La racine native est volontairement unique pour ne pas reutiliser
   l'ancienne classe .cekonay-header presente dans plusieurs modules. */

/* Annule le decalage historique du Theme Builder (-44 px sur desktop).
   Cette feuille n'est chargee que lorsque le chrome natif est actif. */
#page-container { margin-top: 0 !important; }

/* Le gabarit produit compensait l'ancien header Divi par 103 px sur desktop
   et 39 px sur tablette/mobile. Le header natif n'a pas besoin de ce vide. */
body.single-product.et-db #page-container #et-boc .et-l .et_pb_section_0_tb_body.decal_pge_container_blue.et_pb_section {
  margin-top: 0 !important;
}

.cekonay-native-header {
  box-sizing: border-box;
  position: sticky;
  top: 0;
  z-index: 90;
  height: 48px;
  min-height: 48px;
  background: rgba(255,255,255,.82);
  border-bottom: 1px solid rgba(0,0,0,.08);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
}
.cekonay-native-header-inner {
  box-sizing: border-box;
  max-width: 1280px;
  height: 100%;
  min-height: 0;
  margin: 0 auto;
  padding: 0 22px;
  display: flex;
  align-items: center;
  gap: 8px;
}
body.admin-bar .cekonay-native-header { top: 32px; }
.cekonay-logo {
  flex: none;
  display: inline-flex;
  align-items: center;
  height: 48px;
  color: #1d1d1f;
  text-decoration: none;
}
/* La pile reste dimensionnée à son contenu même quand .cekonay-logo
   s'étire (flex:1) en mobile,pour que "CUISINE" ne parte pas vers le
   bord droit de la barre au lieu de rester collé sous "Cekonay." */
.cekonay-logo-stack {
  display: inline-flex;
  flex-direction: column;
  line-height: 1;
}
.cekonay-logo-main {
  font-size: 19px;
  font-weight: 650;
  letter-spacing: -.03em;
}
.cekonay-logo-main span { color: #c65a16; }
.cekonay-logo-sub {
  align-self: flex-end;
  padding-right: .12em;
  margin-top: 2px;
  font-size: 7.5px;
  font-weight: 700;
  letter-spacing: .1em;
  color: #c65a16;
}
@keyframes cekonay-mega-in {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: none; }
}
.cekonay-mobile-menu { display: none; }
.cekonay-mobile-menu > summary {
  list-style: none;
  width: 44px;
  height: 44px;
  display: grid;
  align-content: center;
  gap: 5px;
  cursor: pointer;
}
.cekonay-mobile-menu > summary::-webkit-details-marker,.cekonay-mobile-section > summary::-webkit-details-marker,.cekonay-mega > summary::-webkit-details-marker { display: none; }
.cekonay-mobile-menu > summary span { width: 20px; height: 1.5px; background: #1d1d1f; border-radius: 2px; }
.cekonay-mobile-panel { display: none; }
.cekonay-nav { flex: 1; display: flex; justify-content: center; gap: 2px; }
.cekonay-nav > a,.cekonay-mega > summary {
  display: block;
  list-style: none;
  padding: 6px 11px;
  border-radius: 8px;
  color: #1d1d1f;
  font-size: 13px;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.cekonay-nav > a:hover,.cekonay-mega > summary:hover,.cekonay-mega[open] > summary { background: rgba(0,0,0,.04); }
.cekonay-mega { position: static; }
.cekonay-mega-panel {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  color: #1d1d1f;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 24px 50px rgba(0,0,0,.08);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  animation: cekonay-mega-in .28s cubic-bezier(.32,.72,0,1);
}
.cekonay-mega[open] > .cekonay-mega-panel { display: block; }
.cekonay-mega-inner {
  max-width: 1024px;
  min-height: 230px;
  margin: 0 auto;
  padding: 40px 22px 48px;
  display: flex;
  align-items: flex-start;
  gap: 64px;
  flex-wrap: wrap;
}
.cekonay-mega-inner section { min-width: 180px; }
.cekonay-mega-inner section > strong { display: block; margin-bottom: 14px; color: #6e6e73; font-size: 12px; }
.cekonay-mega-primary,.cekonay-mega-secondary { display: flex; flex-direction: column; align-items: flex-start; }
.cekonay-mega-primary { gap: 11px; }
.cekonay-mega-secondary { gap: 9px; }
.cekonay-mega-primary a {
  color: #1d1d1f;
  font-size: 23px;
  font-weight: 600;
  letter-spacing: -.02em;
  text-decoration: none;
}
.cekonay-mega-secondary a,.cekonay-mega-secondary span { color: #424245; font-size: 13px; text-decoration: none; }
.cekonay-mega-primary a:hover,.cekonay-mega-secondary a:hover { color: #a8470e; }
.cekonay-mega-shop .cekonay-mega-inner {
  max-width: 1180px;
  min-height: 0;
  display: grid;
  grid-template-columns: .95fr .9fr 1.15fr;
  gap: 34px;
}
.cekonay-mega-shop .cekonay-mega-inner > section { min-width: 0; }
.cekonay-shop-catalog-link { display: inline-flex !important; align-items: center; gap: 9px; }
.cekonay-shop-icon { width: 21px; height: 21px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.cekonay-shop-caissons { margin-top: 13px; }
.cekonay-cuisine-promo {
  min-width: 0;
  min-height: 186px;
  display: grid;
  grid-template-columns: 44% 56%;
  overflow: hidden;
  border: 1px solid #e7e4df;
  border-radius: 18px;
  background: #fff;
}
.cekonay-cuisine-promo-image {
  display: block;
  min-height: 100%;
  background: #f6f4f0 url('../images/header/cuisine-menu-720.webp') center / cover no-repeat;
}
.cekonay-cuisine-promo-copy { min-width: 0; padding: 18px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.cekonay-cuisine-badge {
  min-height: 25px;
  padding: 0 9px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #e87522;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}
.cekonay-cuisine-promo-copy > strong { margin: 8px 0; color: #1d1d1f; font-size: 20px; line-height: 1.08; letter-spacing: -.03em; }
.cekonay-cuisine-promo-copy p { margin: 0 0 14px; color: #6e6e73; font-size: 12px; line-height: 1.42; }
.cekonay-cuisine-domain {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #1d1d1f;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  user-select: text;
  -webkit-user-select: text;
}
.cekonay-cuisine-chevron {
  width: 8px;
  height: 8px;
  display: block;
  flex: none;
  border-right: 2px solid #e87522;
  border-bottom: 2px solid #e87522;
  transform: rotate(-45deg);
}
.cekonay-menu-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 80;
  width: 100%;
  border: 0;
  background: rgba(0,0,0,.18);
}
.cekonay-menu-backdrop.is-active { display: block; }
.cekonay-nav a:focus-visible,.cekonay-mega summary:focus-visible,.cekonay-mobile-menu summary:focus-visible,.cekonay-mobile-panel button:focus-visible,.cekonay-native-cart:focus-visible { outline: 2px solid #c65a16; outline-offset: 2px; }
.cekonay-quote {
  min-height: 48px;
  padding: 0 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 980px;
  color: #fff;
  background: #0071e3;
  font-size: 13px;
  text-decoration: none;
}
.cekonay-quote:hover,.cekonay-quote:focus-visible { color: #fff; background: #0077ed; text-decoration: none; }
.cekonay-native-cart {
  position: relative;
  width: 40px;
  height: 40px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  flex: none;
  border: 0;
  border-radius: 50%;
  color: #1d1d1f;
  background: transparent;
  cursor: pointer;
}
.cekonay-native-cart:hover,.cekonay-native-cart[aria-expanded="true"] { background: rgba(0,0,0,.045); }
.cekonay-native-cart svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.cekonay-native-cart-badge {
  position: absolute;
  top: 1px;
  right: 0;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border: 2px solid #fff;
  border-radius: 9px;
  color: #fff;
  background: #f47b20;
  font: 700 9px/13px -apple-system, BlinkMacSystemFont, sans-serif;
  text-align: center;
}
.cekonay-account { position: relative; flex: none; }
.cekonay-account > summary {
  min-height: 34px;
  width: 122px;
  padding: 2px 8px 2px 3px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  list-style: none;
  border-radius: 980px;
  color: #1d1d1f;
  font-size: 12px;
  cursor: pointer;
}
.cekonay-account > summary::-webkit-details-marker { display: none; }
.cekonay-account > summary:hover,.cekonay-account[open] > summary { background: rgba(0,0,0,.045); }
.cekonay-account-avatar {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  border-radius: 50%;
  color: #6e6e73;
  background: #f5f5f7;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}
.cekonay-account-avatar svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.cekonay-account-avatar.is-connected { color: #fff; }
.cekonay-account > summary > [data-cekonay-account-label] {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cekonay-account-panel {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 95;
  width: 220px;
  padding: 16px;
  display: grid;
  gap: 10px;
  border: 1px solid rgba(0,0,0,.09);
  border-radius: 16px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 44px rgba(0,0,0,.13);
}
.cekonay-account:not([open]) > .cekonay-account-panel { display: none; }
.cekonay-native-header .cekonay-account-panel strong { color: #1d1d1f; font-size: 13px; }
.cekonay-account-panel a { color: #a8470e; font-size: 13px; }
.cekonay-account-panel a[data-cekonay-account-logout] { padding-top: 10px; border-top: 1px solid #e6e6e9; color: #6e6e73; }

@media (max-width: 1100px) {
  .cekonay-native-header { background: rgba(255,255,255,.98); backdrop-filter: none; -webkit-backdrop-filter: none; }
  .cekonay-native-header-inner { padding-inline: 16px; }
  .cekonay-mobile-menu { display: block; position: static; }
  .cekonay-nav { display: none; }
  .cekonay-account { display: block; }
  .cekonay-account > summary {
    width: 44px;
    min-height: 44px;
    padding: 5px;
    justify-content: center;
  }
  .cekonay-account > summary > [data-cekonay-account-label] { display: none; }
  .cekonay-account-avatar { width: 30px; height: 30px; }
  .cekonay-account-panel { top: calc(100% + 6px); width: min(260px, calc(100vw - 32px)); }
  .cekonay-logo { flex: 1; }
  .cekonay-quote { min-height: 48px; padding-inline: 18px; max-width: 42vw; text-align: center; }
  .cekonay-mobile-menu[open] > .cekonay-mobile-panel {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: flex;
    flex-direction: column;
    color: #1d1d1f;
    background: #fff;
    animation: cekonay-mega-in .2s ease;
  }
  .cekonay-mobile-panel-head {
    height: 48px;
    padding: 0 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: none;
    border-bottom: 1px solid rgba(0,0,0,.08);
  }
  .cekonay-mobile-panel-head .cekonay-logo { flex: none; }
  .cekonay-mobile-panel-head button {
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    color: #1d1d1f;
    background: none;
    font: 300 30px/1 -apple-system, BlinkMacSystemFont, sans-serif;
    cursor: pointer;
  }
  .cekonay-mobile-panel-body { flex: 1; overflow-y: auto; padding: 8px 0 40px; }
  .cekonay-mobile-section > summary,.cekonay-mobile-direct {
    width: 100%;
    min-height: 65px;
    padding: 16px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #f0f0f2;
    color: #1d1d1f;
    background: none;
    font-size: 26px;
    font-weight: 600;
    letter-spacing: -.02em;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
  }
  .cekonay-mobile-section > summary span { color: #86868b; font-size: 18px; font-weight: 400; transition: transform .2s; }
  .cekonay-mobile-account span:last-child { color: #86868b; font-size: 22px; font-weight: 400; }
  .cekonay-mobile-section[open] > summary span { transform: rotate(45deg); }
  .cekonay-mobile-section > div { padding: 6px 22px 18px; display: flex; flex-direction: column; gap: 4px; background: #f5f5f7; }
  .cekonay-mobile-section > div a {
    min-height: 44px;
    padding: 10px 0;
    display: flex;
    align-items: center;
    color: #1d1d1f;
    font-size: 16px;
    line-height: 1.35;
    text-decoration: none;
  }
  .cekonay-mobile-panel-cta { padding: 26px 22px 0; display: grid; gap: 10px; }
  .cekonay-mobile-panel-cta a { display: flex; min-height: 48px; padding: 0 18px; align-items: center; justify-content: center; border-radius: 980px; color: #fff; background: #0071e3; font-size: 16px; font-weight: 500; line-height: 1.2; text-align: center; text-decoration: none; }
  .cekonay-mobile-panel-cta a:hover,.cekonay-mobile-panel-cta a:focus-visible { color: #fff; background: #0077ed; text-decoration: none; }
  .cekonay-mobile-cuisine-domain {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #1d1d1f;
    font-size: 16px;
    font-weight: 650;
    user-select: text;
    -webkit-user-select: text;
  }
  .cekonay-menu-backdrop { display: none !important; }
  body.cekonay-menu-lock { overflow: hidden; }
}

@media (min-width: 861px) and (max-width: 1100px) {
  .cekonay-mobile-shop > .cekonay-mobile-shop-grid {
    padding: 22px 24px 26px;
    display: grid;
    grid-template-columns: .95fr .9fr 1.15fr;
    align-items: start;
    gap: 24px;
  }
  .cekonay-mobile-shop-grid > section { min-width: 0; }
  .cekonay-mobile-shop-grid > section > strong { display: block; margin-bottom: 14px; color: #6e6e73; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
  .cekonay-mobile-shop-grid > section > a { min-height: 38px; padding: 8px 0; font-size: 14px; }
  .cekonay-mobile-shop-grid .cekonay-mobile-shop-catalog {
    min-width: 196px;
    min-height: 46px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 999px;
    color: #fff;
    background: #0071e3;
    font-weight: 600;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0,113,227,.16);
  }
  .cekonay-mobile-shop-grid .cekonay-mobile-shop-catalog:hover,.cekonay-mobile-shop-grid .cekonay-mobile-shop-catalog:focus-visible { color: #fff; background: #0077ed; }
  .cekonay-cuisine-promo--tablet { min-height: 186px; }
}

@media (max-width: 860px) {
  /* overflow-x:hidden cree un conteneur de defilement qui casse sticky sur
     certains navigateurs mobiles. clip conserve le rognage sans ce bord. */
  html, body { overflow-x: clip !important; }
  .cekonay-mobile-shop > .cekonay-mobile-shop-grid { display: flex; flex-direction: column; }
  .cekonay-mobile-shop-grid > section { display: contents; }
  .cekonay-mobile-shop-grid > section > strong,.cekonay-cuisine-promo--tablet { display: none; }
  .cekonay-mobile-shop-grid .cekonay-mobile-shop-catalog { order: 1; }
  .cekonay-mobile-shop-grid .cekonay-mobile-shop-porteco { order: 2; }
  .cekonay-mobile-shop-grid .cekonay-mobile-shop-caissons { order: 3; }
  .cekonay-mobile-shop-grid .cekonay-mobile-shop-sample { order: 4; }
  .cekonay-mobile-shop-grid .cekonay-mobile-shop-kit { order: 5; }
  .cekonay-mobile-shop-grid .cekonay-shop-icon { display: none; }
}

.cekonay-quote-court { display: none; }
@media (max-width: 860px) {
  .cekonay-quote-long { display: none; }
  .cekonay-quote-court { display: inline; }
}
@media (min-width: 861px) {
  .cekonay-quote { min-height: 36px; height: 36px; }
}
@media (max-width: 860px) {
  .cekonay-native-header { height: 56px; min-height: 56px; }
  .cekonay-native-header { transition: transform .22s ease; }
  .cekonay-native-header.est-masque-mobile { transform: translateY(-100%); }
  .cekonay-quote { min-height: 30px; height: 30px; }
  body.admin-bar .cekonay-native-header { top: 46px; }
}

.cekonay-native-footer {
  color: #f7f3ee;
  background: #171614;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.cekonay-native-footer__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 78px 28px 58px;
  display: grid;
  grid-template-columns: minmax(260px, .9fr) 1.6fr;
  gap: clamp(48px, 8vw, 110px);
}
.cekonay-native-footer__brand { margin: 0 0 24px; font-size: 22px; font-weight: 700; letter-spacing: -.03em; }
.cekonay-native-footer__brand span { color: #e6762c; }
.cekonay-native-footer__lead h2 { max-width: 500px; margin: 0; color: #fff; font-size: clamp(30px, 4vw, 52px); line-height: 1.02; letter-spacing: -.045em; }
.cekonay-native-footer__lead > p:not(.cekonay-native-footer__brand) { max-width: 520px; margin: 22px 0; color: #bbb5ad; font-size: 15px; line-height: 1.65; }
.cekonay-native-footer__cta { display: inline-flex; padding: 11px 18px; border-radius: 999px; color: #171614; background: #ef873e; font-weight: 650; text-decoration: none; }
.cekonay-native-footer__nav { display: grid; grid-template-columns: repeat(3,minmax(130px,1fr)); gap: 34px; }
.cekonay-native-footer--editorial .cekonay-native-footer__nav { grid-template-columns: repeat(4,minmax(120px,1fr)); gap: 26px; }
.cekonay-native-footer__nav h3 { margin: 0 0 16px; color: #fff; font-size: 13px; }
.cekonay-native-footer__nav a { display: block; margin: 11px 0; color: #bbb5ad; font-size: 13px; line-height: 1.4; text-decoration: none; }
.cekonay-native-footer__nav a:hover { color: #fff; }
.cekonay-native-footer__contact-label { display: block; margin: 11px 0 5px; color: #bbb5ad; font-size: 13px; line-height: 1.4; }
.cekonay-native-footer__nav a.cekonay-native-footer__contact { display: inline-flex; width: fit-content; max-width: 100%; box-sizing: border-box; align-items: center; padding: 6px 11px; margin-top: 0; border: 1px solid rgba(255,255,255,.78); border-radius: 999px; color: #fff; font-size: 12px; line-height: 1.25; font-weight: 600; white-space: nowrap; }
.cekonay-native-footer__nav a.cekonay-native-footer__contact:hover, .cekonay-native-footer__nav a.cekonay-native-footer__contact:focus-visible { border-color: #fff; color: #fff; text-decoration: none; }
.cekonay-native-footer__legal { max-width: 1180px; margin: 0 auto; padding: 22px 28px 34px; display: flex; flex-wrap: wrap; gap: 10px 22px; border-top: 1px solid rgba(255,255,255,.12); color: #8f8a84; font-size: 11px; }
.cekonay-native-footer__legal a { color: inherit; text-decoration: none; }
.cekonay-native-footer__transaction-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 38px 28px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.cekonay-native-footer__transaction-inner .cekonay-native-footer__brand { margin: 0; }
.cekonay-native-footer__transaction-copy { display: flex; align-items: baseline; gap: 16px; font-size: 13px; }
.cekonay-native-footer__transaction-copy strong { color: #fff; }
.cekonay-native-footer__transaction-copy a { color: #ef873e; text-decoration: none; }
@media (max-width: 1100px) {
  .cekonay-native-footer--editorial .cekonay-native-footer__inner { grid-template-columns: 1fr; gap: 48px; }
}
@media (max-width: 860px) {
  .cekonay-native-footer__inner { grid-template-columns: 1fr; padding-top: 58px; }
  .cekonay-native-footer__nav { grid-template-columns: repeat(2,minmax(130px,1fr)); }
  .cekonay-native-footer--editorial .cekonay-native-footer__nav { grid-template-columns: repeat(2,minmax(130px,1fr)); }
}
@media (max-width: 520px) {
  .cekonay-native-footer__inner { padding: 48px 20px 42px; }
  .cekonay-native-footer__nav { grid-template-columns: 1fr; }
  .cekonay-native-footer--editorial .cekonay-native-footer__nav { grid-template-columns: 1fr; }
  .cekonay-native-footer__legal { padding-inline: 20px; flex-direction: column; }
  .cekonay-native-footer__transaction-inner { padding: 32px 20px 24px; align-items: flex-start; flex-direction: column; }
  .cekonay-native-footer__transaction-copy { align-items: flex-start; flex-direction: column; gap: 8px; }
}

@media (max-width: 782px) {
  body.admin-bar .cekonay-native-header { top: 46px; }
}

@media (max-width: 600px) {
  /* Mesure : au-dela, la phrase complete se ferait couper par l'ellipse. */
  .cekonay-bandeau-long { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .cekonay-native-header *, .cekonay-native-header *::before, .cekonay-native-header *::after { transition-duration: .001ms !important; animation: none !important; }
}

/* ==========================================================================
   BANDEAU ECHANTILLONS
   Place apres </header>, donc avant #et-main-area et toute la cascade Divi.
   Deux temps : une question a l'arrivee, l'offre au premier retour vers le
   haut. Le rabat se plie a la descente et se rouvre a la remontee ; seules
   transform et opacity sont animees, donc aucun recalcul de mise en page.
   ========================================================================== */

.cekonay-bandeau {
  box-sizing: border-box;
  position: sticky;
  top: 48px;
  height: 36px;
  /* La bordure est comprise dans les 36 px, comme les 48 px du header. */
  overflow: hidden;
  z-index: 89;
  background: #f7f3ee;
  border-bottom: 1px solid #ecdfd0;
  transform-origin: top center;
  /* ressort natif CSS : pas de bibliotheque d'animation */
  transition: transform .52s linear(0, .218 2.1%, .862 6.5%, 1.114, 1.217 13.2%, 1.205 15.4%, 1.11 20.2%, 1.001 25.5%, .96, .943 33%, .985 45.6%, 1.004 61%, 1), opacity .22s linear;
  will-change: transform;
}
body.admin-bar .cekonay-bandeau { top: 80px; }
.cekonay-bandeau.est-ferme { display: none; }

.cekonay-bandeau-inner {
  position: relative;
  box-sizing: border-box;
  max-width: 1280px;
  height: 100%;
  margin: 0 auto;
  /* Marges symetriques, et assez larges pour que la croix ne recouvre
     jamais le texte centre. */
  padding-inline: 46px;
}
.cekonay-bandeau-lien {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #a8470e;
  text-decoration: none;
}
.cekonay-bandeau-lien:hover,.cekonay-bandeau-lien:focus-visible { color: #a8470e; text-decoration: none; }

.cekonay-bandeau-pastilles { flex: none; display: flex; }
.cekonay-bandeau-pastilles i {
  display: block;
  width: 13px;
  height: 13px;
  margin-right: -9px;
  border: 1.5px solid #f7f3ee;
  border-radius: 50%;
  transition: transform .6s linear(0, .218 2.1%, .862 6.5%, 1.114, 1.217 13.2%, 1.205 15.4%, 1.11 20.2%, 1.001 25.5%, .96, .943 33%, .985 45.6%, 1.004 61%, 1);
}
.cekonay-bandeau-pastilles i:nth-child(1) { background: #8a8f83; transition-delay: .08s; }
.cekonay-bandeau-pastilles i:nth-child(2) { background: #b07a45; transition-delay: .14s; }
.cekonay-bandeau-pastilles i:nth-child(3) { background: #ded3c4; transition-delay: .20s; }

.cekonay-bandeau-roll { position: relative; overflow: hidden; height: 15px; min-width: 0; }
.cekonay-bandeau-temps {
  display: block;
  font-size: 12.5px;
  line-height: 15px;
  white-space: nowrap;
  transition: transform .46s linear(0, .218 2.1%, .862 6.5%, 1.114, 1.217 13.2%, 1.205 15.4%, 1.11 20.2%, 1.001 25.5%, .96, .943 33%, .985 45.6%, 1.004 61%, 1), opacity .26s ease;
}
.cekonay-bandeau-temps strong { color: #7d3308; font-weight: 600; }
.cekonay-bandeau-t2 { position: absolute; inset: 0; transform: translateY(100%); opacity: 0; }

.cekonay-bandeau-chevron { flex: none; font-size: 15px; transition: opacity .2s ease; }
.cekonay-bandeau-cta {
  flex: none;
  height: 24px;
  width: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 980px;
  background: #a8470e;
  color: #fff;
  font-size: 11.5px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  opacity: 0;
  transition: opacity .3s ease .12s, width .3s ease .12s, padding .3s ease .12s;
}

/* Second temps : la question roule vers le haut, l'offre arrive par en dessous. */
.cekonay-bandeau.est-temps-2 .cekonay-bandeau-t1 { transform: translateY(-100%); opacity: 0; }
.cekonay-bandeau.est-temps-2 .cekonay-bandeau-t2 { transform: translateY(0); opacity: 1; }
.cekonay-bandeau.est-temps-2 .cekonay-bandeau-pastilles i { margin-right: -5px; }
.cekonay-bandeau.est-temps-2 .cekonay-bandeau-chevron { opacity: 0; width: 0; overflow: hidden; }
.cekonay-bandeau.est-temps-2 .cekonay-bandeau-cta { opacity: 1; width: auto; padding: 0 13px; }

/* Rabat plie : bascule sur la charniere haute, derriere le header. */
.cekonay-bandeau.est-plie {
  transform: perspective(460px) rotateX(-92deg);
  opacity: 0;
  transition: transform .3s cubic-bezier(.5,0,.75,0), opacity .2s linear .08s;
}
.cekonay-bandeau.est-plie .cekonay-bandeau-pastilles i { transform: translateX(11px) rotate(-14deg) scale(.7); transition-delay: 0s; transition-duration: .22s; }
.cekonay-bandeau.est-plie .cekonay-bandeau-temps,
.cekonay-bandeau.est-plie .cekonay-bandeau-cta { opacity: 0; transition-delay: 0s; transition-duration: .18s; }

.cekonay-bandeau-fermer {
  position: absolute;
  top: 0;
  right: 0;
  /* 44 px de large et toute la hauteur du bandeau : au-dela du minimum
     WCAG 2.2 de 24 x 24, sans faire grandir la bande ni deborder a droite. */
  width: 44px;
  height: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: #a98d74;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
}
.cekonay-bandeau-fermer:focus-visible { outline: 2px solid #c65a16; outline-offset: 2px; }

/* --- Nuancier amarre dans le header, le temps que le rabat est plie --- */
.cekonay-nuancier {
  flex: none;
  height: 28px;
  padding: 0 11px 0 8px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #ecdfd0;
  border-radius: 980px;
  background: #f7f3ee;
  color: #a8470e;
  font-size: 11.5px;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
  opacity: 0;
  transform: scale(.55) translateY(-6px);
  pointer-events: none;
  transition: opacity .2s ease, transform .5s linear(0, .218 2.1%, .862 6.5%, 1.114, 1.217 13.2%, 1.205 15.4%, 1.11 20.2%, 1.001 25.5%, .96, .943 33%, .985 45.6%, 1.004 61%, 1);
}
.cekonay-nuancier:hover,.cekonay-nuancier:focus-visible { color: #a8470e; text-decoration: none; }
.cekonay-nuancier-pastilles { display: flex; flex: none; }
.cekonay-nuancier-pastilles i { display: block; width: 11px; height: 11px; margin-right: -4px; border: 1.5px solid #f7f3ee; border-radius: 50%; }
.cekonay-nuancier-pastilles i:nth-child(1) { background: #8a8f83; }
.cekonay-nuancier-pastilles i:nth-child(2) { background: #b07a45; }
.cekonay-nuancier-pastilles i:nth-child(3) { background: #ded3c4; margin-right: 2px; }
.cekonay-native-header.a-nuancier .cekonay-nuancier { opacity: 1; transform: none; pointer-events: auto; }

/* Nuancier : le chiffre compte 1, 2, 3 à son arrivée. */
.cekonay-nuancier-texte { line-height: 1.25; }
.cekonay-nuancier-chiffre {
  display: inline-block;
  height: 1.25em;
  overflow: hidden;
  vertical-align: top;
  font-variant-numeric: tabular-nums;
}
.cekonay-nuancier-chiffre > span { display: block; transform: translateY(-2.5em); }
.cekonay-nuancier-chiffre b { display: block; height: 1.25em; font-weight: inherit; }
.cekonay-native-header.a-nuancier .cekonay-nuancier-chiffre > span { animation: cekonay-compte 1.5s .2s both; }
.cekonay-native-header.a-nuancier .cekonay-nuancier-s { animation: cekonay-pluriel 1.5s .2s both; }
.cekonay-native-header.a-nuancier .cekonay-nuancier .cekonay-nuancier-pastilles i { animation: cekonay-pastille .4s both; }
.cekonay-native-header.a-nuancier .cekonay-nuancier .cekonay-nuancier-pastilles i:nth-child(1) { animation-delay: .2s; }
.cekonay-native-header.a-nuancier .cekonay-nuancier .cekonay-nuancier-pastilles i:nth-child(2) { animation-delay: .53s; }
.cekonay-native-header.a-nuancier .cekonay-nuancier .cekonay-nuancier-pastilles i:nth-child(3) { animation-delay: 1.04s; }
@keyframes cekonay-compte {
  0%, 22% { transform: translateY(0); animation-timing-function: cubic-bezier(.3, 1.4, .55, 1); }
  34%, 56% { transform: translateY(-1.25em); animation-timing-function: cubic-bezier(.3, 1.4, .55, 1); }
  68%, 100% { transform: translateY(-2.5em); }
}
@keyframes cekonay-pluriel {
  0%, 28% { opacity: 0; }
  34%, 100% { opacity: 1; }
}
@keyframes cekonay-pastille {
  0% { transform: scale(0); }
  55% { transform: scale(1.3); }
  100% { transform: scale(1); }
}

/* --- Relais de l'offre dans le menu smartphone --- */
.cekonay-mobile-offre { display: none; }

@media (max-width: 860px) {
  .cekonay-bandeau { top: 56px; }
  body.admin-bar .cekonay-bandeau { top: 102px; }
  .cekonay-bandeau-inner { padding-inline: 24px; }
  .cekonay-bandeau-lien { gap: 8px; }
  .cekonay-bandeau-temps { font-size: 12px; }
  .cekonay-bandeau.est-temps-2 .cekonay-bandeau-cta { padding: 0 11px; }
  .cekonay-bandeau-cta { height: 22px; font-size: 11px; }
  .cekonay-bandeau-fermer { width: 38px; }

  /* Mesure Chromium : avec son texte le nuancier deborde de 60 px a 390 px,
     et de 22 px a 360 px meme reduit aux pastilles. Il cede donc la place
     a l'encart du menu, qui dispose de toute la largeur. */
  .cekonay-nuancier { display: none; }

  .cekonay-mobile-offre {
    display: grid;
    gap: 7px;
    margin: 4px 16px 10px;
    padding: 11px 14px 12px;
    border: 1px solid #ecdfd0;
    border-radius: 14px;
    background: #f7f3ee;
    text-decoration: none;
  }
  .cekonay-mobile-offre-texte { display: none; }
  .cekonay-mobile-offre:hover,.cekonay-mobile-offre:focus-visible { text-decoration: none; }
  .cekonay-mobile-offre-tete { display: flex; align-items: center; gap: 10px; }
  .cekonay-mobile-offre-pastilles { display: flex; flex: none; }
  .cekonay-mobile-offre-pastilles i { display: block; width: 20px; height: 20px; margin-right: -7px; border: 2px solid #f7f3ee; border-radius: 50%; }
  .cekonay-mobile-offre-pastilles i:nth-child(1) { background: #8a8f83; }
  .cekonay-mobile-offre-pastilles i:nth-child(2) { background: #b07a45; }
  .cekonay-mobile-offre-pastilles i:nth-child(3) { background: #ded3c4; }
  .cekonay-mobile-offre-tete strong { font-size: 15px; font-weight: 600; letter-spacing: -.01em; color: #7d3308; }
  .cekonay-mobile-offre-texte { font-size: 12.5px; line-height: 1.45; color: #a8470e; }
  .cekonay-mobile-offre-go {
    height: 40px;
    border-radius: 980px;
    background: #a8470e;
    color: #fff;
    font-size: 13.5px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Le menu complet tient des 390 x 844 px tout en conservant des cibles
     tactiles superieures au minimum d'accessibilite. */
  .cekonay-mobile-panel-body { padding: 6px 0 max(20px, env(safe-area-inset-bottom)); }
  .cekonay-mobile-section > summary,.cekonay-mobile-direct {
    min-height: 58px;
    padding: 12px 20px;
    font-size: 23px;
  }
  .cekonay-mobile-panel-cta { padding: 16px 20px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .cekonay-native-header { transition: none !important; }
  .cekonay-bandeau,
  .cekonay-bandeau-pastilles i,
  .cekonay-bandeau-temps,
  .cekonay-bandeau-cta,
  .cekonay-nuancier { transition: opacity .12s linear !important; }
  .cekonay-bandeau.est-plie { transform: none; }
  .cekonay-bandeau.est-plie .cekonay-bandeau-pastilles i { transform: none; }
  .cekonay-native-header.a-nuancier .cekonay-nuancier { transform: none; }
  .cekonay-nuancier-chiffre > span,
  .cekonay-nuancier-s,
  .cekonay-nuancier .cekonay-nuancier-pastilles i { animation: none !important; }
}

/* ==========================================================================
   ENTREE DU BANDEAU
   Le bandeau etait present des le premier pixel, en meme temps que tout le
   reste : l'oeil le classait comme du mobilier, pas comme un message. Un seul
   passage de lumiere le fait remarquer, et la lumiere est exactement le sujet
   de la page d'arrivee, qui dit qu'une teinte change avec celle de la piece.
   Jamais de boucle, et seulement a la premiere page de la visite.
   ========================================================================== */

.cekonay-bandeau-lumiere {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(105deg,
    rgba(255,255,255,0) 34%,
    rgba(255,255,255,.92) 47%,
    rgba(255,222,178,.62) 54%,
    rgba(255,255,255,0) 68%);
  transform: translateX(-115%);
  opacity: 0;
}
/* "backwards" et non "both" : l'animation tient son etat initial avant le
   delai, puis rend la main a la cascade. En "both" elle resterait prioritaire
   et bloquerait le pliage des pastilles. */
.cekonay-bandeau.joue .cekonay-bandeau-lumiere {
  animation: cekonay-bandeau-passe .72s cubic-bezier(.36,0,.2,1) .9s 1 backwards;
}
@keyframes cekonay-bandeau-passe {
  0%       { transform: translateX(-115%); opacity: 0; }
  12%, 88% { opacity: 1; }
  100%     { transform: translateX(115%); opacity: 0; }
}

/* Les pastilles s'allument dans le sillage de la lumiere, puis la phrase. */
.cekonay-bandeau.joue .cekonay-bandeau-pastilles i {
  animation: cekonay-bandeau-pastille .62s linear(0, .218 2.1%, .862 6.5%, 1.114, 1.217 13.2%, 1.205 15.4%, 1.11 20.2%, 1.001 25.5%, .96, .943 33%, .985 45.6%, 1.004 61%, 1) 1 backwards;
}
.cekonay-bandeau.joue .cekonay-bandeau-pastilles i:nth-child(1) { animation-delay: 1.02s; }
.cekonay-bandeau.joue .cekonay-bandeau-pastilles i:nth-child(2) { animation-delay: 1.09s; }
.cekonay-bandeau.joue .cekonay-bandeau-pastilles i:nth-child(3) { animation-delay: 1.16s; }
@keyframes cekonay-bandeau-pastille {
  0%   { opacity: 0; transform: scale(.5); filter: saturate(.55); }
  60%  { opacity: 1; }
  100% { opacity: 1; transform: scale(1); filter: saturate(1); }
}

.cekonay-bandeau.joue .cekonay-bandeau-roll,
.cekonay-bandeau.joue .cekonay-bandeau-chevron {
  animation: cekonay-bandeau-venir .46s cubic-bezier(.2,.7,.3,1) 1.22s 1 backwards;
}
@keyframes cekonay-bandeau-venir {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: none; }
}

/* ==========================================================================
   SMARTPHONE : un seul mouvement au lieu de deux
   Le header se masque a la descente en 220 ms avec un seuil de 4 px. Le
   bandeau, lui, se pliait en 520 ms avec un ressort et un seuil de 2 px : il
   arrivait 300 ms apres lui, et entre 2 et 4 px de remontee il se rouvrait
   alors que le header etait encore cache, laissant un vide de 56 px mesure a
   390 px. Sous 860 px il obeit donc a la meme classe, a la meme duree et a la
   meme decision. Le rabat 3D et le ressort restent au-dessus de 861 px, ou le
   bandeau revient seul et ou l'effet a du sens.
   ========================================================================== */

@media (max-width: 860px) {
  .cekonay-bandeau {
    transition: transform .22s ease;
  }
  /* 56 px de header plus 36 px de bandeau : le bloc sort entierement. */
  .cekonay-bandeau.est-masque-mobile {
    transform: translateY(-92px);
    opacity: 1;
  }
  /* Le pliage en rotateX ne s'applique plus ici. */
  .cekonay-bandeau.est-plie {
    transform: none;
    opacity: 1;
  }
  .cekonay-bandeau.est-plie.est-masque-mobile {
    transform: translateY(-92px);
  }
  .cekonay-bandeau.est-plie .cekonay-bandeau-pastilles i,
  .cekonay-bandeau.est-plie .cekonay-bandeau-temps,
  .cekonay-bandeau.est-plie .cekonay-bandeau-cta {
    transform: none;
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cekonay-bandeau.joue .cekonay-bandeau-lumiere { animation: none; opacity: 0; }
  .cekonay-bandeau.joue .cekonay-bandeau-pastilles i,
  .cekonay-bandeau.joue .cekonay-bandeau-roll,
  .cekonay-bandeau.joue .cekonay-bandeau-chevron { animation: none; }
}

/* Les deux phrases participent au calcul de largeur. La seconde n'est plus
   retiree du flux : elle ne peut donc plus etre tronquee sur ecran etroit. */
.cekonay-bandeau-roll {
  display: grid;
  align-items: center;
  width: max-content;
  max-width: 100%;
  padding-inline-end: 1px;
}
.cekonay-bandeau-temps {
  grid-area: 1 / 1;
  min-width: 0;
}
.cekonay-bandeau-t2 {
  position: static;
  inset: auto;
}

/* Les pages Cekonay refaites gerent leur propre premier espacement. Divi
   ajoutait encore 58 px sur son conteneur historique. La surcharge reste
   limitee au conteneur principal et exclut tout le tunnel WooCommerce. */
body:not(.woocommerce-page):not(.et-tb) #main-content > .container,
body:not(.woocommerce-page):not(.et-tb-has-header) #main-content > .container {
  padding-top: 0;
}

/* ======================================================================
   La bascule du bouton devis.

   Au bout de 10 s, le libelle laisse la place a un second mot pendant 4 s,
   puis revient et RESTE. Un seul passage par page : animation-iteration-count
   vaut 1 et rien ne rejoue. Le visiteur le revoit en ouvrant une autre page.

   POURQUOI UN SEUL PASSAGE - le critere WCAG 2.2.2 vise le contenu qui se met
   a jour tout seul, et ce volet ne tolere aucune duree minimale : une boucle
   exigerait un bouton pause. Un passage unique n y tombe pas, l etat final
   etant identique a l etat initial.

   POURQUOI PAS DE JAVASCRIPT - une animation CSS n ajoute ni requete ni
   execution sur le fil principal. Seules transform et opacity sont animees,
   les deux proprietes qui restent a l etage de composition, sans recalcul de
   mise en page ni repeinture.

   POURQUOI LA LARGEUR NE BOUGE PAS - le second mot est en position absolue,
   donc hors flux : il ne participe pas au calcul de la largeur, quelle que
   soit sa longueur. Le bouton garde ses 116 px sur grand ecran et ses 71 px
   sous 860 px. Le CLS se mesurant sur toute la duree de vie de la page, une
   bascule a la dixieme seconde y compterait si elle decalait quoi que ce soit.

   Mesure du 17 septembre 2026 : ecart de largeur 0 px sur les trois tailles.
   ====================================================================== */

.cekonay-quote { overflow: hidden; }

/* NE PAS toucher au display de .q-piste : c est le meme element que
   .cekonay-quote-long et .cekonay-quote-court, que le theme masque a tour
   de role selon la largeur, lignes 461 a 465. Une regle display ici a une
   specificite superieure et ecrase ce masquage : les deux libelles
   s affichent alors cote a cote, « Mon devisDevis ». Constate en
   production le 17 septembre 2026. */
.cekonay-quote .q-piste {
  position: relative;
}

.cekonay-quote .q-mot1 {
  display: inline-block;
  animation: cek-devis-mot1 5s linear 10s 1 both;
}

.cekonay-quote .q-mot2 {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  animation: cek-devis-mot2 5s linear 10s 1 both;
}

@keyframes cek-devis-mot1 {
  0%        { opacity: 1; transform: translateY(0); }
  8%, 88%   { opacity: 0; transform: translateY(-110%); }
  96%, 100% { opacity: 1; transform: translateY(0); }
}

@keyframes cek-devis-mot2 {
  0%        { opacity: 0; transform: translateY(110%); }
  8%, 88%   { opacity: 1; transform: translateY(0); }
  96%, 100% { opacity: 0; transform: translateY(110%); }
}

/* Sous 860 px le second mot est « 30s », 24,1 px contre 34,9 px pour
   « Devis » : il tient a 13 px, aucune reduction de police necessaire.
   « Gratuit » y aurait fait 44 px, soit 9 px de trop. */

@media (prefers-reduced-motion: reduce) {
  .cekonay-quote .q-mot1 { animation: none; opacity: 1; transform: none; }
  .cekonay-quote .q-mot2 { animation: none; opacity: 0; }
}


/* Menu Chiffrer : styles locaux au seul panneau desktop et à son accordéon mobile. */
.cekonay-mega-inner-chiffrer {
  max-width: 1160px;
  min-height: 0;
  padding-block: 28px 32px;
  gap: 34px;
}
.cekonay-mega-inner-chiffrer > section:first-child { flex: 1 1 600px; min-width: 0; }
.cekonay-mega-inner-chiffrer > section:last-child { flex: 0 1 250px; min-width: 220px; }
.cekonay-mega-inner-chiffrer > section > strong { margin-bottom: 12px; }
.cekonay-chiffrer-desktop-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.cekonay-chiffrer-card {
  box-sizing: border-box;
  min-width: 0;
  min-height: 106px;
  padding: 8px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-radius: 12px;
  background: #f5f7fa;
  color: #1d1d1f !important;
  text-decoration: none !important;
}
.cekonay-chiffrer-card:hover { background: #ebf2fa; }
.cekonay-chiffrer-card img {
  width: 88px;
  height: 80px;
  flex: 0 0 88px;
  border-radius: 8px;
  object-fit: cover;
  object-position: center;
}
.cekonay-chiffrer-card > span { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.cekonay-chiffrer-card b { color: inherit; font-size: 15px; line-height: 1.25; font-weight: 600; }
.cekonay-chiffrer-title-break { display: block; }
.cekonay-chiffrer-card small { color: #555f6d; font-size: 12px; line-height: 1.35; }
.cekonay-chiffrer-card em { color: #0071e3; font-size: 12px; line-height: 1.35; font-style: normal; font-weight: 600; }
.cekonay-chiffrer-desktop-links { gap: 10px; }
.cekonay-mega-inner-chiffrer .cekonay-chiffrer-assistant {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.cekonay-chiffrer-assistant span { color: inherit; font-size: 13px; }
.cekonay-chiffrer-assistant small { color: #0071e3; font-size: 12px; line-height: 1.35; }
.cekonay-chiffrer-mobile-content { display: none; }

@media (max-width: 1100px) {
  .cekonay-chiffrer-title-break { display: inline; }
  .cekonay-mobile-section-chiffrer > summary { min-height: 58px; }
  .cekonay-mobile-section-chiffrer > div.cekonay-chiffrer-mobile-content {
    display: block;
    padding: 10px 14px 16px;
  }
  .cekonay-chiffrer-mobile-cards { display: grid; gap: 8px; }
  .cekonay-chiffrer-mobile-cards .cekonay-chiffrer-card { min-height: 94px; padding: 7px; gap: 12px; }
  .cekonay-chiffrer-mobile-cards .cekonay-chiffrer-card img { width: 80px; height: 74px; flex-basis: 80px; }
  .cekonay-chiffrer-mobile-cards .cekonay-chiffrer-card small,
  .cekonay-chiffrer-mobile-cards .cekonay-chiffrer-card em { font-size: 13px; }
  .cekonay-chiffrer-mobile-heading {
    display: block;
    margin: 14px 2px 6px;
    color: #6e6e73;
    font-size: 12px;
  }
  .cekonay-chiffrer-mobile-links { display: flex; flex-direction: column; gap: 0; }
  .cekonay-chiffrer-mobile-links a {
    box-sizing: border-box;
    min-height: 44px;
    padding: 8px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #1d1d1f;
    font-size: 15px;
    line-height: 1.3;
    text-decoration: none;
  }
  .cekonay-chiffrer-mobile-links .cekonay-chiffrer-assistant span { color: #1d1d1f; }
  .cekonay-chiffrer-mobile-links .cekonay-chiffrer-assistant small { color: #0071e3; }
  .cekonay-chiffrer-mobile-links .cekonay-chiffrer-assistant small { font-size: 12px; }
}

@media (max-width: 360px) {
  .cekonay-chiffrer-mobile-cards .cekonay-chiffrer-card { gap: 8px; }
  .cekonay-chiffrer-mobile-cards .cekonay-chiffrer-card img { width: 72px; height: 68px; flex-basis: 72px; }
}

@media (prefers-reduced-motion: reduce) {
  .cekonay-mobile-section-chiffrer > summary span { transition: none; }
}

/* Thème sombre natif Cekonay, limité au contenu du menu Chiffrer. */
/* Mode sombre des cartes conservé, désactivé pour le moment.
html.cekonay-dark-mode .cekonay-chiffrer-card,
body.cekonay-dark-mode .cekonay-chiffrer-card,
html.cekonay-dark-mode .cekonay-chiffrer-mobile-cards .cekonay-chiffrer-card,
body.cekonay-dark-mode .cekonay-chiffrer-mobile-cards .cekonay-chiffrer-card {
  background: #202b38;
  color: #f1f4f8 !important;
}
html.cekonay-dark-mode .cekonay-chiffrer-card:hover,
body.cekonay-dark-mode .cekonay-chiffrer-card:hover { background: #293a4b; }
*/
/*
html.cekonay-dark-mode .cekonay-chiffrer-card small,
body.cekonay-dark-mode .cekonay-chiffrer-card small,
html.cekonay-dark-mode .cekonay-chiffrer-mobile-cards .cekonay-chiffrer-card small,
body.cekonay-dark-mode .cekonay-chiffrer-mobile-cards .cekonay-chiffrer-card small,
*/
html.cekonay-dark-mode .cekonay-chiffrer-mobile-heading,
body.cekonay-dark-mode .cekonay-chiffrer-mobile-heading { color: #c0cad5; }
/*
html.cekonay-dark-mode .cekonay-chiffrer-card em,
body.cekonay-dark-mode .cekonay-chiffrer-card em,
html.cekonay-dark-mode .cekonay-chiffrer-mobile-cards .cekonay-chiffrer-card em,
body.cekonay-dark-mode .cekonay-chiffrer-mobile-cards .cekonay-chiffrer-card em,
*/
/* Sous-texte bleu conservé ; règle sombre disponible pour plus tard.
html.cekonay-dark-mode .cekonay-chiffrer-assistant small,
body.cekonay-dark-mode .cekonay-chiffrer-assistant small,
html.cekonay-dark-mode .cekonay-chiffrer-mobile-links .cekonay-chiffrer-assistant small,
body.cekonay-dark-mode .cekonay-chiffrer-mobile-links .cekonay-chiffrer-assistant small { color: #5aaaff; }
*/
/* Texte de l’assistant conservé en clair ; règle sombre disponible pour plus tard.
html.cekonay-dark-mode .cekonay-chiffrer-assistant span,
body.cekonay-dark-mode .cekonay-chiffrer-assistant span,
html.cekonay-dark-mode .cekonay-chiffrer-mobile-links .cekonay-chiffrer-assistant span,
body.cekonay-dark-mode .cekonay-chiffrer-mobile-links .cekonay-chiffrer-assistant span { color: #f1f4f8; }
*/

/* Logo Click&Mesure dans la seule bascule du bouton devis grand écran. */
.cekonay-quote .cekonay-quote-click-logo {
  display: block;
  width: 80px;
  height: auto;
  max-width: none;
  flex: 0 0 80px;
}

/* Menu smartphone interieur, version 20261006.1. */
.cekonay-mobile-quick-project { display: none; }
.cekonay-mobile-cuisine-title { display: none; }
@media (max-width: 767px) {
  .cekonay-mobile-panel-body {
    display: flex;
    flex-direction: column;
    min-height: 0;
    gap: 0;
    padding: 4px 0 max(12px, env(safe-area-inset-bottom));
  }
  .cekonay-mobile-panel-body > * { flex-shrink: 0; }
  .cekonay-mobile-offre {
    min-height: 50px;
    box-sizing: border-box;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    margin: 3px 12px 5px;
    padding: 5px 9px;
    border-radius: 10px;
  }
  .cekonay-mobile-offre-tete { gap: 8px; }
  .cekonay-mobile-offre-pastilles i { width: 18px; height: 18px; }
  .cekonay-mobile-offre-tete strong { font-size: 13px; }
  .cekonay-mobile-offre-go { height: 34px; padding: 0 12px; white-space: nowrap; font-size: 12px; }
  .cekonay-mobile-quick-project { display: block; padding: 5px 12px 7px; }
  .cekonay-mobile-quick-project h2 { margin: 0 0 5px; padding: 0; color: #1d1d1f; font-size: 15px; line-height: 19px; font-weight: 650; }
  .cekonay-mobile-quick-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .cekonay-mobile-quick-card {
    min-width: 0; height: 66px; box-sizing: border-box; padding: 7px;
    display: flex; align-items: center; gap: 7px;
    border: 1px solid #e7e7e9; border-radius: 10px; color: #1d1d1f;
    background: #fff; text-decoration: none;
  }
  .cekonay-mobile-quick-card img { width: 44px; height: 48px; flex: 0 0 44px; object-fit: cover; border-radius: 5px; }
  .cekonay-mobile-quick-card > span { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
  .cekonay-mobile-quick-card b { font-size: 13px; line-height: 1.15; font-weight: 650; }
  .cekonay-mobile-quick-card em { color: #0071e3; font-size: 12px; line-height: 1.15; font-style: normal; }
  .cekonay-mobile-panel .cekonay-mobile-section > summary,.cekonay-mobile-panel .cekonay-mobile-direct {
    min-height: 44px; box-sizing: border-box; padding: 7px 16px;
    font-size: 15px; letter-spacing: 0;
  }
  .cekonay-mobile-panel .cekonay-mobile-shop > summary { margin-inline: 12px; width: auto; padding-inline: 9px; border-radius: 7px; background: #edf4ee; }
  .cekonay-mobile-account { margin-top: auto; }
  .cekonay-mobile-panel-cta {
    grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px;
    padding: 7px 12px 0;
  }
  .cekonay-mobile-panel-cta a { min-width: 0; min-height: 44px; padding: 4px 7px; font-size: 13px; }
  .cekonay-mobile-cuisine-domain {
    min-height: 40px; grid-column: 1 / -1; flex-wrap: wrap; gap: 2px 7px;
    padding: 3px 0; font-size: 12px; line-height: 15px;
  }
  .cekonay-mobile-cuisine-title { width: 100%; display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 12px; }
  .cekonay-mobile-cuisine-title b { padding: 1px 5px; border-radius: 999px; color: #fff; background: #e87522; font-size: 9px; line-height: 13px; font-weight: 650; }
}

@media (max-width: 767px) {
  html.cekonay-dark-mode .cekonay-mobile-quick-card,
  body.cekonay-dark-mode .cekonay-mobile-quick-card { color: #f1f4f8; }
  html.cekonay-dark-mode .cekonay-mobile-quick-card,
  body.cekonay-dark-mode .cekonay-mobile-quick-card { border-color: #394654; background: #202d3a; }
  html.cekonay-dark-mode .cekonay-mobile-quick-card em,
  body.cekonay-dark-mode .cekonay-mobile-quick-card em { color: #91c5e8; }
  html.cekonay-dark-mode .cekonay-mobile-panel .cekonay-mobile-shop > summary, body.cekonay-dark-mode .cekonay-mobile-panel .cekonay-mobile-shop > summary { background: #2e4033; color: #d9f0dd; }
}

/* Les liens Chiffrer suivent la marge des autres rubriques du menu mobile. */
@media (max-width: 1100px) {
  .cekonay-mobile-section-chiffrer .cekonay-chiffrer-mobile-heading { margin-inline: 8px; text-align: left; }
  .cekonay-mobile-section-chiffrer .cekonay-chiffrer-mobile-links { margin-inline: 8px; }
  .cekonay-mobile-section-chiffrer .cekonay-chiffrer-mobile-links > a { align-items: flex-start; text-align: left; }
}

/* Le menu ouvert reste prioritaire sur les raccourcis flottants du compte. */
@media (max-width: 1100px) {
  body.cekonay-menu-lock .cekonay-flycart-count,
  body.cekonay-menu-lock .cekonay-postit-page-trigger,
  body.cekonay-menu-lock .cekonay-postit-mobile-trigger {
    display: none !important;
  }
}
