:root {
  --sit-ink: #21352f;
  --sit-navy: #24483b;
  --sit-navy-soft: #315f49;
  --sit-blue: #27796b;
  --sit-orange: #e76d52;
  --sit-paper: #fffdf8;
  --sit-soft: #f3eee3;
  --sit-line: #d8dfd7;
  --sit-muted: #62736c;
  --sit-green: #27796b;
  --sit-gradient: linear-gradient(135deg, #315f49, #27796b);
  --sit-shadow: 0 18px 50px rgba(38, 67, 58, .10);
}

html { scroll-behavior: smooth; }
body {
  overflow-x: hidden;
  color: var(--sit-ink);
  background:
    radial-gradient(circle at 0 12%, rgba(220, 239, 232, .75), transparent 30rem),
    radial-gradient(circle at 100% 75%, rgba(231, 109, 82, .07), transparent 28rem),
    #fbf5e9;
}
.wp-site-blocks { min-height: 100vh; background: transparent; }
:where(.wp-site-blocks *:focus-visible) { outline: 3px solid rgba(74, 144, 255, .55); outline-offset: 3px; }
:where(.wp-site-blocks) a { color: #286fd5; }
:where(.wp-site-blocks) h1,
:where(.wp-site-blocks) h2,
:where(.wp-site-blocks) h3 { color: var(--sit-ink); letter-spacing: -.025em; }
.wp-block-post-title {
  background: linear-gradient(110deg, var(--sit-ink) 10%, #286fd5 65%, #db4700);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}
.sky-title {
  background: linear-gradient(90deg, var(--sit-blue), var(--sit-orange)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
}
.wp-block-separator { border-color: var(--sit-line); }

:where(.wp-element-button, .wp-block-button__link, button[type="submit"], input[type="submit"]):not(.components-button) {
  min-height: 46px;
  padding: 11px 18px;
  border: 1px solid rgba(255, 255, 255, .20) !important;
  border-radius: 14px !important;
  background: var(--sit-gradient) !important;
  box-shadow: 0 7px 0 #b63a00, 0 14px 26px rgba(63, 79, 126, .2);
  color: #fff !important;
  font-weight: 800;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
:where(.wp-element-button, .wp-block-button__link, button[type="submit"], input[type="submit"]):not(.components-button):hover {
  transform: translateY(-2px);
  filter: saturate(1.06);
  box-shadow: 0 5px 0 #a33400, 0 17px 30px rgba(63, 79, 126, .25);
}
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), textarea, select) {
  border: 1px solid var(--sit-line) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .94) !important;
  color: var(--sit-ink) !important;
}
:where(input, textarea, select):focus { border-color: var(--sit-blue) !important; box-shadow: 0 0 0 4px rgba(74, 144, 255, .12); outline: 0; }

.wp-block-query .wp-block-post,
.wp-block-latest-posts > li,
.wp-block-media-text,
.wp-block-group.is-style-sit-card {
  border: 1px solid var(--sit-line);
  border-radius: 20px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 14px 38px rgba(16, 35, 63, .08);
}

/* En-tête natif du thème. */
.sit-site-header {
  position: sticky;
  z-index: 9990;
  top: 0;
  padding: 10px 14px 0;
  background: linear-gradient(180deg, rgba(248, 250, 255, .96), rgba(248, 250, 255, 0));
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}
body:has(.sith-header) .sit-site-header { display: none; }
.admin-bar .sit-site-header { top: 32px; }
.sit-site-header__inner {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  min-height: 68px;
  padding: 9px 12px !important;
  border: 1px solid rgba(111, 145, 191, .35);
  border-radius: 20px;
  background:
    radial-gradient(circle at 0 0, rgba(255, 255, 255, .2), transparent 23rem),
    radial-gradient(circle at 100% 100%, rgba(255, 81, 0, .16), transparent 18rem),
    rgba(74, 144, 255, .95);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 5px 0 #286fcf, 0 17px 38px rgba(35, 91, 176, .23);
  backdrop-filter: blur(18px);
}
.sit-site-brand { gap: 10px !important; }
.sit-site-brand .wp-block-site-logo img { border-radius: 13px; box-shadow: 0 4px 0 #07182c, 0 9px 17px rgba(0, 0, 0, .22); }
.sit-site-brand .wp-block-site-title { margin: 0; }
.sit-site-brand .wp-block-site-title a { color: #fff !important; font-size: .98rem; font-weight: 800; text-decoration: none; }
.sit-site-nav { justify-self: center; }
.sit-site-nav .wp-block-navigation-item__content {
  padding: 10px 9px !important;
  border-radius: 10px;
  color: #dbe8fb !important;
  font-size: .8rem;
  font-weight: 720;
  text-decoration: none !important;
}
.sit-site-nav .wp-block-navigation-item__content:hover,
.sit-site-nav .current-menu-item > .wp-block-navigation-item__content {
  background: rgba(255, 255, 255, .1);
  color: #fff !important;
}
.sit-site-header__cta .wp-block-button__link { min-height: 42px; padding: 9px 15px; white-space: nowrap; }

/* L'ancien header injecté reçoit exactement la même identité. */
body .sith-header { font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
body .sith-inner {
  border-color: rgba(111, 145, 191, .35) !important;
  background:
    radial-gradient(circle at 0 0, rgba(255, 255, 255, .2), transparent 23rem),
    radial-gradient(circle at 100% 100%, rgba(255, 81, 0, .16), transparent 18rem),
    rgba(74, 144, 255, .95) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 5px 0 #286fcf, 0 17px 38px rgba(35, 91, 176, .23) !important;
}
body .sith-brandText strong { color: #fff !important; }
body .sith-brandText small { color: #ff9b6d !important; }
body .sith-nav a { color: #dbe8fb !important; }
body .sith-nav a:hover { color: #fff !important; background: rgba(255, 255, 255, .09) !important; }
body .sith-nav a.is-active {
  color: #fff !important;
  background: var(--sit-gradient) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 4px 0 #b63a00, 0 10px 20px rgba(0, 0, 0, .2) !important;
}
body .sith-nav a.is-active::after { display: none; }
body .sith-logoBox { border-color: rgba(255, 255, 255, .22) !important; background: var(--sit-gradient) !important; }
body .sith-cta {
  border-color: rgba(255, 255, 255, .2) !important;
  border-radius: 14px !important;
  background: var(--sit-gradient) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 5px 0 #b63a00, 0 12px 22px rgba(0, 0, 0, .2) !important;
}
body .sith-burger { border-color: rgba(255, 255, 255, .2) !important; background: rgba(255, 255, 255, .09) !important; box-shadow: none !important; }
body .sith-burger span { background: #fff !important; }
body .sith-drawer {
  border-color: rgba(111, 145, 191, .35) !important;
  background: rgba(16, 36, 63, .98) !important;
  box-shadow: 0 6px 0 #09192c, 0 22px 44px rgba(16, 35, 63, .28) !important;
}
body .sith-drawer a { color: #dbe8fb !important; }
body .sith-drawer a:hover,
body .sith-drawer a.is-active { color: #fff !important; background: var(--sit-gradient) !important; box-shadow: none !important; }

/* Pied de page Solidaire. */
.sit-site-footer {
  position: relative;
  margin-top: clamp(55px, 8vw, 110px) !important;
  overflow: hidden;
  border-radius: 34px 34px 0 0;
  background:
    radial-gradient(circle at 8% 0, rgba(255, 255, 255, .15), transparent 28rem),
    radial-gradient(circle at 93% 90%, rgba(255, 81, 0, .17), transparent 22rem),
    rgba(74, 144, 255, .95);
  color: #fff;
  box-shadow: 0 -14px 44px rgba(16, 35, 63, .12);
}
.sit-site-footer::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: var(--sit-gradient); }
.sit-site-footer__inner { padding: clamp(44px, 7vw, 82px) 22px 28px !important; }
.sit-site-footer :where(h2, h3, p, .wp-block-site-title a, .wp-block-site-tagline) { color: #fff !important; }
.sit-site-footer h3 { margin-bottom: 14px; font-size: .78rem; letter-spacing: .13em; text-transform: uppercase; }
.sit-site-footer .wp-block-site-title { margin-bottom: 8px; }
.sit-site-footer .wp-block-site-title a { font-size: 1.35rem; font-weight: 850; text-decoration: none; }
.sit-site-footer .wp-block-site-tagline { max-width: 430px; opacity: .68; line-height: 1.65; }
.sit-site-footer .wp-block-site-logo img { border-radius: 16px; box-shadow: 0 5px 0 #07182c, 0 14px 28px rgba(0, 0, 0, .25); }
.sit-site-footer .wp-block-navigation { gap: 7px; }
.sit-site-footer .wp-block-navigation-item__content { color: #dbe8fb !important; font-size: .88rem; text-decoration: none !important; }
.sit-site-footer .wp-block-navigation-item__content:hover { color: #ffad87 !important; }
.sit-site-footer__contact a { color: #fff !important; text-decoration-color: rgba(255, 255, 255, .4); }
.sit-site-footer__bottom { margin-top: 42px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .13); color: rgba(255, 255, 255, .63); font-size: .76rem; }
.sit-site-footer__bottom p { color: inherit !important; }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce-cart-form,
.woocommerce-checkout-review-order {
  padding: 18px;
  border: 1px solid var(--sit-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(16, 35, 63, .08);
}
.woocommerce span.onsale { background: var(--sit-gradient) !important; }

@media (max-width: 980px) {
  .sit-site-header__inner { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
  .sit-site-nav { justify-self: end; }
  .sit-site-header__cta { display: none; }
  .sit-site-footer__columns { gap: 34px !important; }
}
@media (max-width: 782px) {
  .admin-bar .sit-site-header { top: 46px; }
  .sit-site-header { padding: 7px 8px 0; }
  .sit-site-header__inner { min-height: 60px; padding: 7px 9px !important; border-radius: 17px; }
  .sit-site-footer { margin-top: 48px !important; border-radius: 24px 24px 0 0; }
  .sit-site-footer__columns { display: grid !important; grid-template-columns: 1fr; }
  .sit-site-footer__bottom { align-items: flex-start !important; flex-direction: column; gap: 7px !important; }
}
@media (max-width: 520px) {
  .sit-site-brand .wp-block-site-title { display: none; }
  .sit-site-nav .wp-block-navigation__responsive-container-open { color: #fff; }
  .sit-site-nav .wp-block-navigation__responsive-container.is-menu-open {
    padding: 22px;
    background: rgba(16, 36, 63, .99);
    color: #fff;
  }
  .sit-site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { width: 100%; padding: 12px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
