/* Shared public header/footer rhythm, including server-rendered product pages. */
#site-nav .bk-nav__dropdown--account .bk-nav__drop-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:70;min-width:180px;display:grid;gap:4px;padding:8px;background:#FFFDF8;border:1px solid #D8D0BE;border-radius:12px;box-shadow:0 8px 24px #0f3f2f22;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,transform .12s ease}
#site-nav .bk-nav__dropdown--account.is-open .bk-nav__drop-panel{opacity:1;visibility:visible;pointer-events:auto}
#site-nav .bk-nav__dropdown--account .bk-nav__drop-panel :is(a,button){font:500 14px/21px "DM Sans",sans-serif;display:flex;align-items:center;min-height:44px;padding:8px 12px;color:#0F3F2F;background:transparent;border:0;text-decoration:none;cursor:pointer;text-align:left}
#site-nav .bk-nav__profile-photo,#site-nav .bk-nav__profile-initials{display:block;width:32px;height:32px;border-radius:50%;object-fit:cover;flex:0 0 32px}
#site-nav .bk-nav__profile-initials{display:grid;place-items:center;background:#0f3f2f;color:#fff;font:600 12px/1 "DM Sans",sans-serif;text-shadow:none;letter-spacing:0}
@media(max-width:899px){
 #site-nav.bk-nav{background:#F5F1E8!important;color:#0F3F2F!important;backdrop-filter:none!important}
 #site-nav.bk-nav .bk-nav__brand{color:#0F3F2F!important}
 #site-nav.bk-nav :is(.bk-nav__icon,.bk-nav__burger){color:#0F3F2F!important;background:transparent!important;border-color:#0f3f2f24!important;backdrop-filter:none!important}
 #site-nav.bk-nav .bk-nav__burger span{background:#0F3F2F!important}
 #site-nav .bk-nav__brand .bk-wordmark__k{color:#5C8A6A!important}
}
.g-footer .bk-footer-social{display:flex;flex-wrap:wrap;gap:12px;width:100%}
.g-footer .bk-footer-social a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 18px;border:1px solid #536457;border-radius:24px;background:#f5f1e8;color:#193e31;text-decoration:none;font-size:14px;font-weight:600}
.g-footer .bk-footer-social a:hover{background:#193e31;color:#fff}
.g-footer .bk-footer-social a:focus-visible{outline:3px solid #80582d;outline-offset:4px}
/* Catalogue: slide out without changing the document layout or the mobile bottom bar. */
#site-nav.bk-nav {
  transition: transform .22s ease, background .35s ease, box-shadow .35s ease, border-color .35s ease;
}
#site-nav.bk-nav--scroll-hidden:not(.bk-nav--menu-open):not(.bk-nav--search-open):not(:focus-within) {
  transform: translateY(-100%);
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  #site-nav.bk-nav { transition: none; }
}
/* La recherche occupe exactement la zone de navigation, sans panneau sous le header. */
#site-nav #nav-search-toggle { grid-area: search; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
#site-nav #nav-search[hidden] { display: none; }
#site-nav.bk-nav--search-open #nav-desktop { visibility: hidden; pointer-events: none; }
#site-nav #nav-search {
  grid-area: links; position: relative; inset: auto; z-index: 51;
  display: flex; width: 100%; min-width: 0; padding: 0;
  height: 42px; gap: 2px; margin: 0; align-items: center;
  border: 0; border-bottom: 1px solid currentColor; border-radius: 0;
  background: transparent; color: inherit; backdrop-filter: none;
  box-shadow: none; box-sizing: border-box;
}
#site-nav #nav-search input {
  flex: 1; min-width: 0; width: 100%; max-width: none; min-height: 42px;
  padding: 0 4px; margin: 0; border: 0; border-radius: 0;
  background: transparent; color: inherit; font: inherit; font-size: 15px; font-weight: 400;
}
#site-nav #nav-search input::placeholder { color: inherit; opacity: .7; }
#site-nav #nav-search:focus-within { outline: none; }
#site-nav #nav-search button { display: flex; align-items: center; justify-content: center; flex: 0 0 42px; height: 42px; padding: 0; background: transparent; color: inherit; border: 0; cursor: pointer; border-radius: 0; }
#site-nav #nav-search button:hover { opacity: .65; }
#site-nav button:focus-visible, #site-nav a:focus-visible { outline: 2px solid #b88a53; outline-offset: 3px; }
.bk-nav,.g-footer{font-family:"DM Sans",system-ui,sans-serif;line-height:1.5}
.bk-public-nav-spacer{height:64px}
@media(max-width:899px){.bk-public-nav-spacer{height:calc(var(--bk-m-header-h,56px) + env(safe-area-inset-top,0px))}}
@media(max-width:899px){
  .bk-nav__inner.bk-nav__inner--mobile{
    grid-template-columns:44px minmax(118px,1fr) auto;
    gap:8px;
    padding-inline:12px;
  }
  .bk-nav__icons.bk-nav__icons--mobile{
    width:auto;
    min-width:92px;
    height:44px;
    gap:4px;
    border:0;
    background:transparent;
  }
  .bk-nav__icons--mobile .bk-nav__icon--favoris,
  .bk-nav__icons--mobile .bk-nav__icon--messages{display:none!important}
  .bk-nav__brand{min-width:0;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:374px){
  .bk-nav.navbar--transparent .bk-nav__brand{font-size:1.08rem}
}
/* Icône panier du header public + compteur d'articles. */
.bk-nav__icon--panier{position:relative;display:flex !important}
.bk-nav__icon--messages{display:flex}
.bk-nav__icon-badge[data-cart-count]{
  position:absolute;top:4px;right:2px;min-width:16px;height:16px;padding:0 4px;
  border-radius:999px;background:var(--bk-green,#0F3F2F);color:#fff;
  font-size:10px;font-weight:700;line-height:16px;text-align:center;
}
.bk-nav__icon-badge{position:absolute;top:-2px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--bk-green,#0F3F2F);color:#fff;font-size:10px;font-weight:700;line-height:17px;text-align:center;pointer-events:none}
.bk-nav__icon-badge[hidden]{display:none}
.g-footer__newsletter>p{margin:0 0 12px}
.g-footer__newsletter{max-width:100%}
.g-footer #newsletter-form input{max-width:100%;min-width:0!important;flex:1 1 180px}
.g-footer #newsletter-form button{flex:0 0 auto}
.bk-hero__actions{flex-direction:column;align-items:flex-start}
.bk-hero{height:auto;min-height:clamp(540px,82svh,780px);max-height:none}
.bk-hero__content{padding-top:calc(88px + env(safe-area-inset-top,0px))}
.bk-hero__cta--pro{background:rgba(18,34,26,.7);border:1px solid rgba(255,255,255,.7);box-shadow:none;text-transform:none;letter-spacing:.02em}
.bk-hero__cta--pro:hover{background:#164f3c}
.bk-hero__cta--pro[hidden]{display:none!important}
.ssr-nav__brand .bk-k,.bk-brocantes-brand span,.blog-nav__brand span{color:#5c8a6a!important}
@media(max-width:599px){.bk-hero__actions{align-items:stretch;width:100%;max-width:330px}.bk-hero__cta{padding:12px 20px;min-height:48px}.g-footer{align-items:flex-start}.g-footer__newsletter{width:100%}}

/* Le header reste identique sans dépendre du body ou du thème de la page. */
#site-nav .bk-nav__brand {
  font-family: var(--bk-font-brand, "Playfair Display", Georgia, serif);
  font-weight: 700;
  letter-spacing: .02em;
  position: static;
  transform: none;
  justify-self: start;
  text-align: left;
}
#site-nav #nav-mobile-account { display: none !important; }
@media (min-width: 900px) {
  #site-nav .bk-nav__inner {
    width: 100%; max-width: none; height: 66px;
    padding: 0 clamp(36px, 5.5vw, 112px);
    grid-template-columns: minmax(max-content, 1fr) 44px max-content minmax(max-content, 1fr);
    grid-template-areas: "brand search links icons";
    column-gap: clamp(8px, 1vw, 20px);
  }
  #site-nav .bk-nav__brand { font-size: clamp(1.45rem, 2vw, 1.9rem); }
  #site-nav .bk-nav__links--desktop { grid-area: links; justify-self: center; }
  #site-nav .bk-nav__icons { grid-area: icons; justify-self: end; }
}
@media (max-width: 899px) {
  #site-nav.bk-nav {
    background: rgba(250, 246, 240, .98); color: #0f3f2f;
    border-bottom: 1px solid rgba(15, 63, 47, .14);
  }
  #site-nav .bk-nav__brand { color: #0f3f2f; text-shadow: none; }
  #site-nav .bk-nav__icon,
  #site-nav .bk-nav__burger {
    width: 44px; height: 44px; border-radius: 10px;
    color: #0f3f2f; background: transparent;
    border: 1px solid rgba(15, 63, 47, .14);
    box-sizing: border-box;
  }
  #site-nav .bk-nav__burger span { background: #0f3f2f; }
  /* Ces règles s'appliquent dès le premier rendu, sans classe ajoutée par JS. */
  #site-nav .bk-nav__icon--favoris,
  #site-nav .bk-nav__icon--messages { display: none !important; }
  /* Le même menu de compte reste accessible aux visiteurs et aux connectés. */
  #site-nav .bk-nav__dropdown--account {
    display: flex !important;
    position: relative;
  }
  #site-nav.is-account-logged-in .bk-nav__dropdown--account .bk-nav__drop-panel {
    min-width: 180px;
  }
  #site-nav.is-account-logged-in .bk-nav__dropdown--account.is-open .bk-nav__drop-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }
  #site-nav .bk-nav__icons {
    display: flex; width: auto; min-width: 88px; gap: 4px;
    justify-self: end; border: 0; background: transparent;
  }
  #site-nav .bk-nav__icons > a { flex: 0 0 44px; width: 44px; height: 44px; }
  #site-nav .bk-nav__inner {
    grid-template-columns: minmax(0, 1fr) 44px 44px auto;
    grid-template-areas: "brand search burger icons";
    padding-inline: 12px; gap: 4px;
  }
  #site-nav .bk-nav__brand { font-size: 1.25rem; }
  #site-nav .bk-nav__inner { position: relative; }
  #site-nav #nav-search { position: absolute; inset: 5px 12px auto; width: auto; }
  #site-nav #nav-search input { font-size: 16px; }
  #site-nav.bk-nav--search-open .bk-nav__brand,
  #site-nav.bk-nav--search-open #nav-burger,
  #site-nav.bk-nav--search-open #nav-search-toggle,
  #site-nav.bk-nav--search-open .bk-nav__icons { visibility: hidden; }
}
@media (min-width:900px) and (max-width:1199px) {
  #site-nav .bk-nav__inner { padding-inline: 16px; column-gap: 6px; }
  #site-nav #nav-desktop { gap: 10px; }
  #site-nav #nav-desktop > a,
  #site-nav #nav-desktop .bk-nav__drop-trigger { font-size: 11px; letter-spacing: .03em; }
}
@media (max-width:374px) {
  #site-nav .bk-nav__brand { font-size: 1.06rem; letter-spacing: 0; }
  #site-nav .bk-nav__inner { padding-inline: 8px; gap: 2px; }
}

/* Un contraste stable, quel que soit le fond de page ou l'état du header. */
@media (min-width: 900px) {
  #site-nav .bk-nav__drop-panel {
    background: #f5f1e8;
    color: #0f3f2f;
    border-color: #d8d2c6;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  #site-nav .bk-nav__drop-panel .bk-nav__drop-item {
    color: #0f3f2f;
    text-shadow: none;
    opacity: 1;
  }
  #site-nav .bk-nav__drop-panel .bk-nav__drop-item:hover,
  #site-nav .bk-nav__drop-panel .bk-nav__drop-item:focus-visible,
  #site-nav .bk-nav__drop-panel .bk-nav__drop-item.is-active {
    background: #0f3f2f;
    color: #fff;
  }
}
