html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

body.home-choice-page {
  overflow: hidden;
}

html:has(body.site-page),
body.site-page {
  height: auto;
  min-height: 100%;
  overflow: auto;
}

#silh-choice-widget,
#silh-choice-widget * {
  box-sizing: border-box;
}

#silh-choice-widget {
  --silh-purple: #5b00ff;
  --silh-purple-hover: #721dff;

  position: relative;
  left: 50%;
  width: 100vw;
  height: 100vh;
  height: 100svh;
  height: 100dvh;
  margin-left: -50vw;
  overflow: hidden;
  font-family: inherit;
}

#silh-choice-widget .silh-choice {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#silh-choice-widget .silh-panel {
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  min-width: 0;
  padding: clamp(25px, 5vh, 60px) 5vw;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
}

#silh-choice-widget .silh-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transform: scale(1.015);
  transition:
    transform 0.8s cubic-bezier(.2, .8, .2, 1),
    filter 0.5s ease;
}

#silh-choice-widget .silh-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
}

#silh-choice-widget .silh-panel--shop::before {
  background-image: url("../images/home/boutique-background.webp");
  filter: grayscale(1) contrast(1.1) brightness(0.5);
}

#silh-choice-widget .silh-panel--shop::after {
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.3),
    rgba(0, 0, 0, 0.76)
  );
}

#silh-choice-widget .silh-panel--services {
  color: #111;
}

#silh-choice-widget .silh-panel--services::before {
  background-image: url("../images/home/services-background.webp");
  filter: grayscale(1) contrast(0.9) brightness(1.25);
}

#silh-choice-widget .silh-panel--services::after {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.68),
    rgba(255, 255, 255, 0.88)
  );
}

#silh-choice-widget .silh-panel:hover::before,
#silh-choice-widget .silh-panel:focus-visible::before {
  transform: scale(1.065);
}

#silh-choice-widget .silh-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 3vh, 34px);
  width: min(100%, 470px, 56vh);
  max-height: 100%;
  text-align: center;
}

#silh-choice-widget .silh-frame {
  width: 100%;
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(0, 0, 0, 0.2);
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.2);
  transition:
    transform 0.5s cubic-bezier(.2, .8, .2, 1),
    border-color 0.5s ease;
}

#silh-choice-widget .silh-panel--services .silh-frame {
  border-color: rgba(0, 0, 0, 0.18);
  background: rgba(255, 255, 255, 0.88);
}

#silh-choice-widget .silh-frame img {
  display: block;
  width: 100%;
  height: 100%;
  padding: clamp(15px, 2.5vw, 38px);
  object-fit: contain;
  object-position: center;
  filter: grayscale(1);
}

#silh-choice-widget .silh-panel:hover .silh-frame,
#silh-choice-widget .silh-panel:focus-visible .silh-frame {
  transform: translateY(-8px);
  border-color: var(--silh-purple);
}

#silh-choice-widget .silh-button {
  display: inline-grid;
  place-items: center;
  min-width: 174px;
  min-height: 68px;
  padding: 17px 34px;
  border-radius: 15px;
  background: var(--silh-purple);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  box-shadow: 0 18px 45px rgba(91, 0, 255, 0.3);
  transition:
    transform 0.35s ease,
    background 0.35s ease,
    box-shadow 0.35s ease;
}

#silh-choice-widget .silh-panel:hover .silh-button,
#silh-choice-widget .silh-panel:focus-visible .silh-button {
  background: var(--silh-purple-hover);
  transform: translateY(-3px);
  box-shadow: 0 22px 55px rgba(91, 0, 255, 0.45);
}

#silh-choice-widget .silh-panel:focus-visible {
  outline: 3px solid var(--silh-purple);
  outline-offset: -3px;
}

#silh-choice-widget .silh-center-mark {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 5;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(128, 128, 128, 0.18);
  /*
   * Desktop : la pointe blanche entre dans le panneau noir à gauche,
   * la pointe noire entre dans le panneau blanc à droite.
   */
  background: linear-gradient(
    45deg,
    #fff 0 50%,
    #080808 50% 100%
  );
  transform: translate(-50%, -50%) rotate(45deg);
  pointer-events: none;
}

#silh-choice-widget .silh-center-dot {
  position: absolute;
  top: calc(50% + 48px);
  left: 50%;
  z-index: 6;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--silh-purple);
  box-shadow: 0 0 20px rgba(91, 0, 255, 0.85);
  transform: translateX(-50%);
  pointer-events: none;
}

@media (max-width: 820px) {
  #silh-choice-widget .silh-choice {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }

  #silh-choice-widget .silh-panel {
    height: 100%;
    min-height: 0;
    padding: clamp(12px, 2.5vh, 25px) 20px;
  }

  #silh-choice-widget .silh-content {
    flex-direction: row;
    gap: clamp(15px, 5vw, 35px);
    width: min(92vw, 650px);
    height: 100%;
  }

  #silh-choice-widget .silh-frame {
    width: min(48vw, 300px);
    max-height: 78%;
    aspect-ratio: 16 / 10;
  }

  #silh-choice-widget .silh-center-mark {
    width: 34px;
    height: 34px;
    /*
     * Mobile : panneaux superposés. Le blanc pointe vers la zone noire
     * supérieure et le noir vers la zone blanche inférieure.
     */
    background: linear-gradient(
      135deg,
      #fff 0 50%,
      #080808 50% 100%
    );
  }

  #silh-choice-widget .silh-center-dot {
    display: none;
  }
}

@media (max-width: 480px) {
  #silh-choice-widget .silh-panel {
    padding: 12px 16px;
  }

  #silh-choice-widget .silh-content {
    flex-direction: column;
    justify-content: center;
    gap: 10px;
  }

  #silh-choice-widget .silh-frame {
    width: min(68vw, 240px);
    max-height: calc(50dvh - 90px);
    aspect-ratio: 16 / 9;
  }

  #silh-choice-widget .silh-frame img {
    padding: 12px;
  }

  #silh-choice-widget .silh-button {
    min-width: 145px;
    min-height: 52px;
    padding: 14px 24px;
    border-radius: 12px;
    font-size: 14px;
  }
}

@media (max-height: 600px) and (min-width: 821px) {
  #silh-choice-widget .silh-content {
    width: min(100%, 330px, 55vh);
    gap: 14px;
  }

  #silh-choice-widget .silh-button {
    min-width: 145px;
    min-height: 50px;
    padding: 13px 24px;
    font-size: 14px;
  }

  #silh-choice-widget .silh-frame img {
    padding: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #silh-choice-widget *,
  #silh-choice-widget *::before,
  #silh-choice-widget *::after {
    transition-duration: 0.01ms !important;
  }
}

/* ==================================================
   BYSILH — BOUTIQUE
   ================================================== */

:root {
  --bys-header-height: 108px;
}

/* ==================================================
   HEADER BOUTIQUE BYSILH
   ================================================== */

#bys-header,
#bys-header * { box-sizing: border-box; }

#bys-header {
  --bys-purple: #5b00ff;
  --bys-purple-hover: #721dff;
  position: sticky;
  z-index: 99999;
  top: 0;
  width: 100%;
  background: #050505;
  color: #fff;
  font-family: inherit;
}

#bys-header a { color: inherit; text-decoration: none; }

#bys-header .bys-header__inner {
  display: grid;
  grid-template-columns: minmax(170px, 1fr) auto minmax(360px, 1fr);
  align-items: center;
  gap: clamp(24px, 4vw, 70px);
  width: 100%;
  min-height: 108px;
  padding: 16px clamp(22px, 4vw, 76px);
}

#bys-header .bys-header__logo { display: inline-flex; align-items: center; width: fit-content; }
#bys-header .bys-header__logo img { display: block; width: auto; height: 62px; max-width: 180px; object-fit: contain; }
#bys-header .bys-header__nav { display: flex; align-items: center; justify-content: center; gap: clamp(30px, 4vw, 64px); }
#bys-header .bys-header__nav-link { position: relative; padding: 12px 0; font-size: 16px; font-weight: 700; white-space: nowrap; }
#bys-header .bys-header__nav-link::after { content: ""; position: absolute; right: 0; bottom: 5px; left: 0; height: 2px; background: var(--bys-purple); transform: scaleX(0); transform-origin: right; transition: transform .3s ease; }
#bys-header .bys-header__nav-link:hover::after,
#bys-header .bys-header__nav-link:focus-visible::after,
#bys-header .bys-header__nav-link[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
#bys-header .bys-header__actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
#bys-header .bys-header__button { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 14px 27px; border: 1px solid #fff; border-radius: 15px; background: #fff; color: #111; font-size: 14px; font-weight: 700; white-space: nowrap; transition: transform .3s ease, background .3s ease, border-color .3s ease; }
#bys-header .bys-header__button--services { min-width: 160px; border-color: var(--bys-purple); background: var(--bys-purple); color: #fff; text-transform: uppercase; }
#bys-header .bys-header__button:hover,
#bys-header .bys-header__button:focus-visible { transform: translateY(-3px); }
#bys-header .bys-header__button--services:hover,
#bys-header .bys-header__button--services:focus-visible { border-color: var(--bys-purple-hover); background: var(--bys-purple-hover); }
#bys-header .bys-header__icon-link { position: relative; display: inline-grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; transition: border-color .3s ease, background .3s ease; }
#bys-header .bys-header__icon-link:hover,
#bys-header .bys-header__icon-link:focus-visible { border-color: var(--bys-purple); background: rgba(91,0,255,.18); }
#bys-header .bys-header__icon-link svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
#bys-header .bys-header__account[aria-current="page"] { border-color: var(--bys-purple); background: rgba(91,0,255,.22); }
#bys-header .bys-header__cart-count { position: absolute; top: -5px; right: -5px; display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: #e64d4d; color: #fff; font-size: 11px; font-weight: 800; }
#bys-header .bys-header__mobile-toggle { display: none; width: 48px; height: 48px; padding: 12px; border: 0; background: transparent; cursor: pointer; }
#bys-header .bys-header__mobile-toggle span { display: block; width: 100%; height: 2px; margin: 6px 0; background: #fff; transition: transform .3s ease, opacity .3s ease; }
#bys-header.is-menu-open .bys-header__mobile-toggle span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
#bys-header.is-menu-open .bys-header__mobile-toggle span:nth-child(2) { opacity: 0; }
#bys-header.is-menu-open .bys-header__mobile-toggle span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
#bys-header .bys-header__mobile-panel { display: none; }

@media (max-width: 1180px) {
  #bys-header .bys-header__inner { grid-template-columns: minmax(150px, 1fr) auto minmax(310px, 1fr); gap: 22px; padding-inline: 24px; }
  #bys-header .bys-header__nav { gap: 26px; }
  #bys-header .bys-header__button { padding-inline: 20px; }
  #bys-header .bys-header__button--services { min-width: 140px; }
}

@media (max-width: 1080px) and (min-width: 921px) {
  #bys-header .bys-header__button:not(.bys-header__button--services) { display: none; }
  #bys-header .bys-header__inner { grid-template-columns: minmax(145px, 1fr) auto minmax(250px, 1fr); }
}

@media (max-width: 920px) {
  #bys-header .bys-header__inner { display: flex; justify-content: space-between; min-height: 88px; padding: 13px 20px; }
  #bys-header .bys-header__logo img { height: 54px; max-width: 150px; }
  #bys-header .bys-header__nav,
  #bys-header .bys-header__actions { display: none; }
  #bys-header .bys-header__mobile-toggle { display: block; }
  #bys-header .bys-header__mobile-panel { position: absolute; top: 100%; right: 0; left: 0; display: grid; grid-template-rows: 0fr; max-height: calc(100dvh - 88px); overflow-y: auto; border-top: 1px solid rgba(255,255,255,.12); background: #050505; opacity: 0; visibility: hidden; transition: grid-template-rows .4s ease, opacity .3s ease, visibility .3s ease; }
  #bys-header.is-menu-open .bys-header__mobile-panel { grid-template-rows: 1fr; opacity: 1; visibility: visible; }
  #bys-header .bys-header__mobile-panel-inner { min-height: 0; overflow: hidden; }
  #bys-header .bys-header__mobile-links { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px 24px; }
  #bys-header .bys-header__mobile-link { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 13px 5px; border-bottom: 1px solid rgba(255,255,255,.12); color: #fff; font-size: 16px; font-weight: 700; }
  #bys-header .bys-header__mobile-link::after { content: "→"; color: var(--bys-purple); }
  #bys-header .bys-header__mobile-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
  #bys-header .bys-header__mobile-actions .bys-header__button { min-width: 0; padding-inline: 15px; }
  #bys-header .bys-header__mobile-icons { display: flex; justify-content: center; gap: 14px; margin-top: 16px; }
  body.bys-header-menu-open { overflow: hidden; }
}

@media (prefers-reduced-motion: reduce) {
  #bys-header *,
  #bys-header *::before,
  #bys-header *::after { transition-duration: .01ms !important; }
}

body.bysilh-page {
  --bys-black: #0a0a0a;
  --bys-grey: #6f6f74;
  --bys-line: #e5e5e8;
  --bys-soft: #f6f6f7;
  --bys-purple: #5b00ff;

  width: 100%;
  min-width: 0;
  overflow-x: clip;
  overflow-y: visible;
  background: #fff;
  color: var(--bys-black);
  font-family: Arial, Helvetica, sans-serif;
}

body.bysilh-page *,
body.bysilh-page *::before,
body.bysilh-page *::after {
  box-sizing: border-box;
}

body.bysilh-page a:focus-visible,
body.bysilh-page button:focus-visible,
body.bysilh-page input:focus-visible {
  outline: 3px solid var(--bys-purple);
  outline-offset: 3px;
}

body.bysilh-page .bys-footer__brand {
  flex: 0 0 auto;
  color: var(--bys-black);
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -0.06em;
  text-decoration: none;
}


body.bysilh-page .bys-footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 50px;
  padding: clamp(42px, 6vw, 78px) clamp(20px, 4vw, 72px);
  border-top: 1px solid var(--bys-line);
  background: var(--bys-black);
  color: #fff;
}

body.bysilh-page .bys-footer__brand {
  color: #fff;
}

body.bysilh-page .bys-footer nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 16px 28px;
  max-width: 820px;
}

body.bysilh-page .bys-footer nav a {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}

body.bysilh-page .site-footer-credit { flex: 0 0 100%; margin: 0; color: rgba(255,255,255,.72); font-size: 12px; text-align: right; }
body.bysilh-page .site-footer-credit a { color: #fff; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

#bysilh-catalogue,
#bysilh-catalogue * {
  box-sizing: border-box;
}

#bysilh-catalogue {
  position: relative;
  width: 100%;
  overflow: visible;
  background: #fff;
  color: var(--bys-black);
}

#bysilh-catalogue img {
  display: block;
  max-width: 100%;
}

#bysilh-catalogue a {
  text-decoration: none;
}

#bysilh-catalogue .bys-container {
  width: 100%;
  margin: 0 auto;
  padding-inline: clamp(20px, 4vw, 72px);
}

#bysilh-catalogue .bys-section {
  padding: clamp(70px, 9vw, 130px) 0;
  scroll-margin-top: calc(var(--bys-header-height) + 20px);
}

#bysilh-catalogue .bys-section + .bys-section {
  border-top: 1px solid var(--bys-line);
}

#bysilh-catalogue h1,
#bysilh-catalogue h2,
#bysilh-catalogue h3,
#bysilh-catalogue p {
  margin-top: 0;
}

#bysilh-catalogue h1 {
  margin-bottom: 26px;
  font-size: clamp(42px, 6vw, 78px);
  line-height: 0.98;
  letter-spacing: -0.05em;
}

#bysilh-catalogue h2 {
  margin-bottom: 30px;
  font-size: clamp(30px, 4.5vw, 56px);
  line-height: 1;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

#bysilh-catalogue h3 {
  margin-bottom: 16px;
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1.05;
}

#bysilh-catalogue p {
  color: var(--bys-grey);
  font-size: 16px;
  line-height: 1.75;
}

#bysilh-catalogue .bys-label {
  margin-bottom: 12px;
  color: var(--bys-purple);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

#bysilh-catalogue .bys-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 15px 27px;
  border-radius: 999px;
  background: var(--bys-black);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  transition: background 0.3s ease, transform 0.3s ease;
}

#bysilh-catalogue .bys-button:hover {
  background: var(--bys-purple);
  color: #fff;
  transform: translateY(-3px);
}

#bysilh-catalogue .bys-screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#bysilh-catalogue .bys-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: min(850px, calc(100dvh - var(--bys-header-height)));
}

#bysilh-catalogue .bys-intro__text {
  display: flex;
  align-items: center;
  padding: clamp(60px, 8vw, 125px);
}

#bysilh-catalogue .bys-intro__inner {
  max-width: 650px;
}

#bysilh-catalogue .bys-intro__image {
  min-height: 580px;
  overflow: hidden;
}

#bysilh-catalogue .bys-intro__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#bysilh-catalogue .bys-shop-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  align-items: start;
  width: 100%;
}

#bysilh-catalogue .bys-filters {
  position: sticky;
  top: var(--bys-header-height);
  z-index: 8;
  align-self: start;
  height: calc(100vh - var(--bys-header-height));
  height: calc(100dvh - var(--bys-header-height));
  padding: 54px 28px;
  border-right: 1px solid var(--bys-line);
  background: #fff;
  overflow-y: auto;
  overscroll-behavior: contain;
}

#bysilh-catalogue .bys-mobile-filter-toggle,
#bysilh-catalogue .bys-filter-spacer {
  display: none;
}

#bysilh-catalogue .bys-filters__body {
  display: block;
}

#bysilh-catalogue .bys-filters__title {
  margin: 0 0 22px;
  font-size: 21px;
  letter-spacing: -0.02em;
}

#bysilh-catalogue .bys-search {
  position: relative;
  margin-bottom: 30px;
}

#bysilh-catalogue .bys-search input {
  width: 100%;
  height: 48px;
  padding: 0 42px 0 14px;
  border: 1px solid var(--bys-line);
  border-radius: 0;
  background: #fff;
  color: var(--bys-black);
  font: inherit;
}

#bysilh-catalogue .bys-search input:focus {
  border-color: var(--bys-purple);
}

#bysilh-catalogue .bys-search__icon {
  position: absolute;
  top: 50%;
  right: 14px;
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 50%;
  transform: translateY(-55%);
  pointer-events: none;
}

#bysilh-catalogue .bys-search__icon::after {
  content: "";
  position: absolute;
  right: -5px;
  bottom: -3px;
  width: 7px;
  height: 2px;
  background: currentColor;
  transform: rotate(45deg);
}

#bysilh-catalogue .bys-filter-label {
  margin-bottom: 12px;
  color: var(--bys-grey);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

#bysilh-catalogue .bys-filter-list {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

#bysilh-catalogue .bys-filter-button {
  width: 100%;
  padding: 13px 12px;
  border: 0;
  border-left: 3px solid transparent;
  background: transparent;
  color: var(--bys-black);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

#bysilh-catalogue .bys-filter-button:hover,
#bysilh-catalogue .bys-filter-button.is-active {
  border-left-color: var(--bys-purple);
  background: rgba(91, 0, 255, 0.08);
  color: var(--bys-purple);
}

#bysilh-catalogue .bys-filter-reset {
  margin-top: 22px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--bys-grey);
  font: inherit;
  font-size: 12px;
  text-decoration: underline;
  cursor: pointer;
}

#bysilh-catalogue .bys-shop-content {
  min-width: 0;
}

#bysilh-catalogue .bys-results-status {
  display: none;
  margin: 0;
  padding: 26px clamp(20px, 4vw, 72px);
  border-bottom: 1px solid var(--bys-line);
  background: var(--bys-soft);
  color: var(--bys-grey);
  font-size: 14px;
}

#bysilh-catalogue .bys-results-status.is-visible {
  display: block;
}

#bysilh-catalogue .bys-collection[hidden],
#bysilh-catalogue .bys-product-card[hidden] {
  display: none !important;
}

#bysilh-catalogue .bys-collection__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}

#bysilh-catalogue .bys-cover {
  width: min(100%, 760px);
  aspect-ratio: 1 / 1;
  margin: 0 auto 34px;
  overflow: hidden;
  background: var(--bys-soft);
}

#bysilh-catalogue .bys-cover img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#bysilh-catalogue .bys-editorial {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 22px;
  width: min(100%, 760px);
  margin: 40px auto 0;
}

#bysilh-catalogue .bys-editorial--single {
  grid-template-columns: 1fr;
}

#bysilh-catalogue .bys-editorial img {
  width: 100%;
  height: auto;
  max-height: 720px;
  object-fit: contain;
}

#bysilh-catalogue .bys-products-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#bysilh-catalogue .bys-product-card {
  min-width: 0;
  padding: 0 0 18px;
  border-bottom: 1px solid var(--bys-line);
}

#bysilh-catalogue .bys-product-card__main {
  display: block;
  color: var(--bys-black);
}

#bysilh-catalogue .bys-product-card__main img,
#bysilh-catalogue .bys-product-card__image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  margin: 0 0 16px;
  object-fit: cover;
  background: var(--bys-soft);
}

#bysilh-catalogue .bys-product-card__title {
  margin: 0 0 8px;
  color: var(--bys-black);
  font-size: 14px;
  line-height: 1.35;
}

#bysilh-catalogue .bys-product-card__price {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  color: var(--bys-black);
  font-size: 14px;
  font-weight: 700;
}

#bysilh-catalogue .bys-product-card__price ins {
  color: var(--bys-purple);
  text-decoration: none;
}

#bysilh-catalogue .bys-product-card__button,
#bysilh-catalogue .bys-retry-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  padding: 11px 15px;
  border: 0;
  border-radius: 999px;
  background: var(--bys-purple);
  color: #fff;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  cursor: pointer;
}

#bysilh-catalogue .bys-api-message {
  margin: 0;
  padding: 28px;
  border: 1px solid var(--bys-line);
  background: var(--bys-soft);
  color: var(--bys-grey);
  text-align: center;
}

#bysilh-catalogue .bys-api-message p {
  margin-bottom: 12px;
}

#bysilh-catalogue .bys-api-message--error {
  border-color: var(--bys-purple);
  background: rgba(91, 0, 255, 0.06);
}

#bysilh-catalogue .bys-skeleton {
  display: block;
  overflow: hidden;
  background: var(--bys-soft);
}

#bysilh-catalogue .bys-skeleton::after {
  content: "";
  display: block;
  width: 45%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.9), transparent);
  animation: bys-skeleton-loading 1.25s infinite;
  transform: translateX(-120%);
}

#bysilh-catalogue .bys-skeleton--image {
  width: 100%;
  aspect-ratio: 1 / 1;
  margin-bottom: 16px;
}

#bysilh-catalogue .bys-skeleton--title {
  width: 76%;
  height: 17px;
  margin-bottom: 10px;
}

#bysilh-catalogue .bys-skeleton--price {
  width: 38%;
  height: 15px;
  margin-bottom: 10px;
}

#bysilh-catalogue .bys-skeleton--button {
  width: 120px;
  height: 36px;
  border-radius: 999px;
}

@keyframes bys-skeleton-loading {
  to { transform: translateX(240%); }
}

#bysilh-catalogue .bys-concepts {
  background: var(--bys-soft);
}

#bysilh-catalogue .bys-concept {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(40px, 8vw, 110px);
  padding: clamp(50px, 7vw, 90px) 0;
  border-top: 1px solid var(--bys-line);
}

#bysilh-catalogue .bys-concept:nth-of-type(even) .bys-concept__image {
  order: 2;
}

#bysilh-catalogue .bys-concept__image {
  width: min(100%, 560px);
  max-height: 560px;
  margin-inline: auto;
}

#bysilh-catalogue .bys-concept__image img {
  width: 100%;
  height: auto;
  max-height: 560px;
  object-fit: contain;
}

#bysilh-catalogue .bys-concept__image--gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

#bysilh-catalogue .bys-concept__image--gallery img {
  width: 100%;
  height: 320px;
  object-fit: contain;
  background: #fff;
}

#bysilh-catalogue .bys-preorder {
  padding: clamp(55px, 7vw, 90px) 0;
  background: linear-gradient(135deg, #4800dc, #7100ff);
  color: #fff;
}

#bysilh-catalogue .bys-preorder__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

#bysilh-catalogue .bys-preorder h2 {
  margin-bottom: 14px;
}

#bysilh-catalogue .bys-preorder p {
  max-width: 750px;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.82);
}

#bysilh-catalogue .bys-preorder .bys-button {
  flex: 0 0 auto;
  background: #fff;
  color: var(--bys-purple);
}

#bysilh-catalogue .bys-contact {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  align-items: center;
  gap: clamp(40px, 8vw, 100px);
}

#bysilh-catalogue .bys-contact__logo {
  display: grid;
  place-items: center;
  min-height: 390px;
  background: var(--bys-black);
}

#bysilh-catalogue .bys-contact__logo img {
  width: min(72%, 320px);
  max-height: 280px;
  object-fit: contain;
}

#bysilh-catalogue .bys-contact__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

@media (max-width: 1180px) {
}

@media (max-width: 900px) {
  #bysilh-catalogue .bys-intro,
  #bysilh-catalogue .bys-concept,
  #bysilh-catalogue .bys-contact {
    grid-template-columns: 1fr;
  }

  #bysilh-catalogue .bys-intro {
    min-height: auto;
  }

  #bysilh-catalogue .bys-intro__image {
    min-height: 520px;
  }

  #bysilh-catalogue .bys-concept:nth-of-type(even) .bys-concept__image {
    order: initial;
  }

  #bysilh-catalogue .bys-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #bysilh-catalogue .bys-editorial {
    grid-template-columns: 1fr;
  }

  #bysilh-catalogue .bys-shop-layout {
    grid-template-columns: 1fr;
  }

  #bysilh-catalogue .bys-filters {
    position: relative;
    top: auto;
    z-index: 999;
    height: auto;
    padding: 0;
    border-right: 0;
    border-bottom: 1px solid var(--bys-line);
    background: #fff;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
    overflow: visible;
  }

  #bysilh-catalogue .bys-filters.is-mobile-fixed {
    position: fixed;
    top: var(--bys-header-height);
    right: 0;
    left: 0;
    width: 100%;
    margin: 0;
  }

  #bysilh-catalogue .bys-filter-spacer {
    display: block;
    width: 100%;
    height: 0;
  }

  #bysilh-catalogue .bys-filters__title {
    display: none;
  }

  #bysilh-catalogue .bys-mobile-filter-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 58px;
    padding: 14px 20px;
    border: 0;
    background: #fff;
    color: var(--bys-black);
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
  }

  #bysilh-catalogue .bys-mobile-filter-toggle::after {
    content: "+";
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
  }

  #bysilh-catalogue .bys-filters.is-open .bys-mobile-filter-toggle::after {
    content: "−";
  }

  #bysilh-catalogue .bys-filters__body {
    display: none;
    max-height: calc(100dvh - var(--bys-header-height) - 58px);
    padding: 0 20px 18px;
    overflow-y: auto;
    background: #fff;
  }

  #bysilh-catalogue .bys-filters.is-open .bys-filters__body {
    display: block;
  }

  #bysilh-catalogue .bys-search {
    margin-bottom: 12px;
  }

  #bysilh-catalogue .bys-filter-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding-bottom: 3px;
  }

  #bysilh-catalogue .bys-filter-button {
    width: 100%;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid var(--bys-line);
    border-radius: 16px;
    text-align: center;
    white-space: normal;
  }

  #bysilh-catalogue .bys-filter-button:hover,
  #bysilh-catalogue .bys-filter-button.is-active {
    border-color: var(--bys-purple);
  }
}

@media (max-width: 600px) {
  body.bysilh-page .bys-footer {
    flex-direction: column;
    gap: 30px;
  }

  body.bysilh-page .bys-footer nav {
    justify-content: flex-start;
  }

  #bysilh-catalogue .bys-container {
    padding-inline: 14px;
  }

  #bysilh-catalogue .bys-intro__text {
    padding: 65px 20px 45px;
  }

  #bysilh-catalogue .bys-intro__image {
    min-height: 0;
  }

  #bysilh-catalogue .bys-intro__image img {
    height: auto;
    object-fit: contain;
  }

  #bysilh-catalogue .bys-collection__head,
  #bysilh-catalogue .bys-preorder__inner {
    align-items: flex-start;
    flex-direction: column;
  }

  #bysilh-catalogue .bys-cover {
    width: min(100%, 560px);
  }

  #bysilh-catalogue .bys-products-grid {
    gap: 18px 12px;
  }

  #bysilh-catalogue .bys-product-card__button {
    width: 100%;
    min-height: 42px;
    padding-inline: 8px;
    text-align: center;
  }

  #bysilh-catalogue .bys-concept__image {
    max-height: none;
  }

  #bysilh-catalogue .bys-concept__image img {
    max-height: 430px;
  }

  #bysilh-catalogue .bys-concept__image--gallery {
    grid-template-columns: 1fr;
  }

  #bysilh-catalogue .bys-concept__image--gallery img {
    height: auto;
  }

  #bysilh-catalogue .bys-contact__logo {
    min-height: 320px;
  }

  #bysilh-catalogue .bys-contact__buttons {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 360px) {
  #bysilh-catalogue .bys-filter-list {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.bysilh-page *,
  body.bysilh-page *::before,
  body.bysilh-page *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ==================================================
   ACTIONS FLOTTANTES GLOBALES
   ================================================== */

.silh-floating-actions,
.silh-floating-actions * { box-sizing: border-box; }

.silh-floating-actions { --silh-action-purple: #5b00ff; --silh-action-purple-hover: #721dff; position: relative; z-index: 900; font-family: inherit; }
.silh-service-actions { position: fixed; z-index: 900; top: 50%; right: 18px; display: flex; flex-direction: column; gap: 12px; transform: translateY(-50%); }
.silh-floating-actions[data-universe="global"] .silh-service-actions { display: none; }
.silh-floating-action { position: relative; display: inline-flex; width: 54px; height: 54px; flex: 0 0 54px; align-items: center; justify-content: center; padding: 0; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: var(--silh-action-purple); color: #fff; box-shadow: 0 10px 28px rgba(17,17,17,.18); cursor: pointer; transition: opacity .24s ease, visibility .24s ease, transform .24s ease, background-color .24s ease, box-shadow .24s ease; }

.silh-floating-action--top { position: fixed; z-index: 900; right: 18px; bottom: 22px; opacity: 0; pointer-events: none; transform: translateY(12px); visibility: hidden; }
.silh-floating-action--top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); visibility: visible; }
.silh-floating-action:hover { background: var(--silh-action-purple-hover); box-shadow: 0 14px 34px rgba(91,0,255,.28); transform: translateY(-2px); }
.silh-floating-action--top.is-visible:hover { transform: translateY(-2px); }
.silh-floating-action:focus-visible { outline: 3px solid var(--silh-action-purple); outline-offset: 4px; }
.silh-floating-action svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.silh-floating-tooltip { position: absolute; top: 50%; right: calc(100% + 12px); width: max-content; max-width: min(320px, calc(100vw - 110px)); padding: 9px 12px; border-radius: 7px; background: #111; color: #fff; font-size: 13px; font-weight: 700; line-height: 1.25; opacity: 0; pointer-events: none; transform: translate(6px, -50%); visibility: hidden; transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
.silh-floating-action:hover .silh-floating-tooltip,
.silh-floating-action:focus .silh-floating-tooltip { opacity: 1; transform: translate(0, -50%); visibility: visible; }
body.has-open-overlay .silh-floating-actions,
body.ssh-header-menu-open .silh-floating-actions { opacity: 0; pointer-events: none; }

@media (max-width: 767px) {
  body.services-universe:not(.services-page--contact) { padding-bottom: calc(86px + env(safe-area-inset-bottom)); }
  .silh-floating-action { width: 52px; height: 52px; flex-basis: 52px; }
  .silh-floating-tooltip { display: none; }
  .silh-floating-actions[data-universe="services"] { position: fixed; z-index: 900; right: 50%; bottom: max(14px, env(safe-area-inset-bottom)); display: flex; align-items: center; justify-content: center; gap: 12px; transform: translateX(50%); }
  .silh-floating-actions[data-universe="services"] .silh-service-actions { position: static; display: flex; flex-direction: row; gap: 12px; transform: none; }
  .silh-floating-actions[data-universe="services"] .silh-floating-action--top { position: relative; right: auto; bottom: auto; }
  .silh-floating-actions[data-universe="global"] .silh-floating-action--top { right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: reduce) {
  .silh-floating-actions,
  .silh-floating-actions * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

@scope (body.services-universe) {
/* SERVICES — DESIGN SYSTEM */
:scope {
  --services-violet: #6200ff;
  --services-violet-light: #a66cff;
  --services-ink: #050505;
  --services-paper: #f4f3f9;
  --services-white: #fff;
  --services-muted: #5b5862;
  --services-line: rgba(5, 5, 5, 0.14);
  --services-radius: 18px;
  --services-shadow: 0 18px 55px rgba(20, 12, 45, 0.1);
  --services-wrap: 1480px;
  --services-gutter: clamp(24px, 4.2vw, 80px);
  margin: 0;
  overflow-x: clip;
  color: var(--services-ink);
  background: var(--services-white);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.5;
}

:scope *,
:scope *::before,
:scope *::after { box-sizing: border-box; }
:scope img { display: block; max-width: 100%; height: auto; }
:scope main *,
:scope footer * { min-width: 0; }
:scope p,
:scope li,
:scope h1,
:scope h2,
:scope h3 { overflow-wrap: break-word; }
:scope a { color: inherit; }
:scope button,
:scope input,
:scope textarea { font: inherit; }
:scope :focus-visible { outline: 3px solid var(--services-violet-light); outline-offset: 4px; }
:scope section[id] { scroll-margin-top: 90px; }
.services-wrap { width: min(var(--services-wrap), calc(100% - (2 * var(--services-gutter)))); margin-inline: auto; }
.services-kicker { margin: 0 0 22px; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.22em; line-height: 1.4; text-transform: uppercase; }
.services-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.services-skip-link { position: fixed; z-index: 1000; top: 12px; left: 12px; padding: 12px 16px; color: #fff; background: #050505; transform: translateY(-150%); }
.services-skip-link:focus { transform: translateY(0); }
.services-button { display: inline-flex; min-height: 56px; align-items: center; justify-content: center; padding: 0 26px; border: 1px solid var(--services-violet); background: var(--services-violet); color: #fff; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.1em; text-align: center; text-decoration: none; text-transform: uppercase; transition: background 0.25s, color 0.25s, transform 0.25s; }
.services-button:hover { background: #fff; color: #050505; transform: translateY(-3px); }
.services-button--outline { border-color: currentColor; background: transparent; }
.services-button--dark { border-color: #050505; background: #050505; }
[data-reveal] { opacity: 1; transform: none; }
.services-js [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }
.services-js [data-reveal].is-visible { opacity: 1; transform: none; }

/* SERVICES — HEADER */
/* ==================================================
   HEADER SERVICES SILH DESIGNERS
   ================================================== */
}

#silh-services-header,
#silh-services-header * { box-sizing: border-box; }
#silh-services-header { --ssh-purple: #5b00ff; --ssh-purple-hover: #721dff; position: sticky; z-index: 1000; top: 0; width: 100%; background: #fff; color: #111; font-family: inherit; }
#silh-services-header a { color: inherit; text-decoration: none; }
#silh-services-header .ssh-inner { display: grid; grid-template-columns: minmax(210px, 1fr) auto minmax(390px, 1fr); align-items: center; gap: clamp(28px, 4vw, 72px); width: 100%; min-height: 126px; padding: 18px clamp(26px, 4.4vw, 84px); }
#silh-services-header .ssh-logo { display: inline-flex; align-items: center; width: fit-content; }
#silh-services-header .ssh-logo img { display: block; width: auto; height: 86px; max-width: 210px; object-fit: contain; }
#silh-services-header .ssh-nav { display: flex; align-items: center; justify-content: center; gap: clamp(24px, 2.6vw, 44px); }
#silh-services-header .ssh-nav-link { position: relative; display: inline-flex; align-items: center; min-height: 48px; padding: 13px 0; color: #111; font-size: 16px; font-weight: 600; white-space: nowrap; }
#silh-services-header .ssh-nav-link::after { content: ""; position: absolute; right: 0; bottom: 5px; left: 0; height: 2px; background: var(--ssh-purple); transform: scaleX(0); transform-origin: right; transition: transform .3s ease; }
#silh-services-header .ssh-nav-link:hover::after,
#silh-services-header .ssh-nav-link:focus-visible::after,
#silh-services-header .ssh-nav-link[aria-current="page"]::after,
#silh-services-header .ssh-menu-item:has(a[aria-current="page"]) > .ssh-menu-item__trigger .ssh-nav-link::after { transform: scaleX(1); transform-origin: left; }
#silh-services-header .ssh-menu-item { position: relative; }
#silh-services-header .ssh-menu-item--has-submenu::after { content: ""; position: absolute; z-index: 1; top: 100%; right: -24px; left: -24px; height: 24px; pointer-events: auto; }
#silh-services-header .ssh-menu-item__trigger { display: flex; align-items: center; }
#silh-services-header .ssh-submenu-toggle { position: relative; width: 26px; height: 48px; padding: 0; border: 0; background: transparent; color: #111; cursor: pointer; }
#silh-services-header .ssh-submenu-toggle::before { content: ""; position: absolute; top: 18px; left: 8px; width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .3s ease, top .3s ease; }
#silh-services-header .ssh-submenu-toggle[aria-expanded="true"]::before { top: 22px; transform: rotate(225deg); }
#silh-services-header .ssh-submenu { position: absolute; z-index: 1100; top: calc(100% + 14px); left: 50%; width: max-content; min-width: 270px; max-width: min(380px, calc(100vw - 32px)); padding: 12px; border: 1px solid #e5e5e8; border-radius: 15px; background: #fff; box-shadow: 0 24px 55px rgba(0,0,0,.14); opacity: 0; pointer-events: none; transform: translate(-50%, -6px); visibility: hidden; transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s; }
#silh-services-header .ssh-submenu a { display: block; min-width: 240px; padding: 13px 16px; border-radius: 10px; color: #111; font-size: 14px; font-weight: 600; line-height: 1.4; white-space: nowrap; }
#silh-services-header .ssh-submenu a:hover,
#silh-services-header .ssh-submenu a:focus-visible,
#silh-services-header .ssh-submenu a[aria-current="page"] { background: #f2edff; color: var(--ssh-purple); }
#silh-services-header .ssh-menu-item--has-submenu:focus-within:not(.is-escape-closed) .ssh-submenu,
#silh-services-header .ssh-menu-item--has-submenu.is-open .ssh-submenu { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); visibility: visible; transition-delay: 0s; }

@media (hover: hover) and (pointer: fine) {
  #silh-services-header .ssh-menu-item--has-submenu:hover:not(.is-escape-closed) .ssh-submenu { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); visibility: visible; transition-delay: 0s; }
}
#silh-services-header .ssh-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
#silh-services-header .ssh-button { display: inline-flex; align-items: center; justify-content: center; min-height: 60px; padding: 15px 30px; border: 1px solid #202020; border-radius: 15px; background: #202020; color: #fff; font-size: 14px; font-weight: 700; white-space: nowrap; transition: transform .3s ease, background .3s ease, border-color .3s ease, box-shadow .3s ease; }
#silh-services-header .ssh-button--shop { min-width: 150px; border-color: var(--ssh-purple); background: var(--ssh-purple); color: #fff; text-transform: uppercase; box-shadow: 0 14px 34px rgba(91,0,255,.2); }
#silh-services-header .ssh-button:hover,
#silh-services-header .ssh-button:focus-visible { transform: translateY(-3px); background: #050505; }
#silh-services-header .ssh-button--shop:hover,
#silh-services-header .ssh-button--shop:focus-visible { border-color: var(--ssh-purple-hover); background: var(--ssh-purple-hover); box-shadow: 0 18px 42px rgba(91,0,255,.32); }
#silh-services-header a:focus-visible,
#silh-services-header button:focus-visible { outline: 3px solid var(--ssh-purple); outline-offset: 4px; }
#silh-services-header .ssh-toggle { display: none; width: 48px; height: 48px; padding: 11px; border: 1px solid rgba(0,0,0,.12); border-radius: 50%; background: #fff; cursor: pointer; }
#silh-services-header .ssh-toggle span { display: block; width: 100%; height: 2px; margin: 6px 0; background: #111; transition: transform .3s ease, opacity .3s ease; }
#silh-services-header.is-open .ssh-toggle span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
#silh-services-header.is-open .ssh-toggle span:nth-child(2) { opacity: 0; }
#silh-services-header.is-open .ssh-toggle span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
#silh-services-header .ssh-mobile-panel { display: none; }

@media (max-width: 1400px) {
  #silh-services-header .ssh-inner { grid-template-columns: minmax(210px, 1fr) auto minmax(390px, 1fr); gap: 22px; padding-inline: 25px; }
  #silh-services-header .ssh-nav { gap: 20px; }
}

@media (max-width: 1100px) and (min-width: 941px) {
  #silh-services-header .ssh-inner { grid-template-columns: minmax(155px, auto) minmax(0, 1fr) auto; gap: 14px; padding-inline: 16px; }
  #silh-services-header .ssh-nav { gap: 9px; }
  #silh-services-header .ssh-nav-link { font-size: 13px; }
  #silh-services-header .ssh-submenu-toggle { width: 20px; }
  #silh-services-header .ssh-submenu-toggle::before { left: 5px; }
  #silh-services-header .ssh-button { padding-inline: 15px; font-size: 12px; }
  #silh-services-header .ssh-button--shop { min-width: 112px; }
}

@media (max-width: 940px) {
  #silh-services-header .ssh-inner { display: flex; justify-content: space-between; min-height: 88px; padding: 12px 20px; }
  #silh-services-header .ssh-logo img { height: 62px; max-width: 155px; }
  #silh-services-header .ssh-nav,
  #silh-services-header .ssh-actions { display: none; }
  #silh-services-header .ssh-menu-item--has-submenu::after { display: none; }
  #silh-services-header .ssh-toggle { display: block; }
  #silh-services-header .ssh-mobile-panel { position: absolute; top: 100%; right: 0; left: 0; display: grid; grid-template-rows: 0fr; max-height: calc(100dvh - 88px); overflow-y: auto; border-top: 1px solid rgba(0,0,0,.1); background: #fff; box-shadow: 0 22px 45px rgba(0,0,0,.12); opacity: 0; visibility: hidden; transition: grid-template-rows .4s ease, opacity .3s ease, visibility .3s ease; }
  #silh-services-header.is-open .ssh-mobile-panel { grid-template-rows: 1fr; opacity: 1; visibility: visible; }
  #silh-services-header .ssh-mobile-inner { min-height: 0; overflow: hidden; }
  #silh-services-header .ssh-mobile-links { display: flex; flex-direction: column; gap: 5px; padding: 16px 20px 24px; }
  #silh-services-header .ssh-mobile-link { display: flex; width: 100%; min-height: 54px; align-items: center; justify-content: space-between; padding: 13px 5px; border: 0; border-bottom: 1px solid rgba(0,0,0,.1); background: transparent; color: #111; font: inherit; font-size: 16px; font-weight: 700; text-align: left; cursor: pointer; }
  #silh-services-header a.ssh-mobile-link::after { content: "→"; color: var(--ssh-purple); }
  #silh-services-header .ssh-mobile-group-toggle::after { content: ""; width: 9px; height: 9px; margin-right: 5px; border-right: 2px solid var(--ssh-purple); border-bottom: 2px solid var(--ssh-purple); transform: rotate(45deg); transition: transform .3s ease; }
  #silh-services-header .ssh-mobile-group-toggle[aria-expanded="true"]::after { transform: rotate(225deg); }
  #silh-services-header .ssh-mobile-submenu { display: grid; max-height: 0; overflow: hidden; padding: 0 10px; transition: max-height .35s ease, padding .35s ease; }
  #silh-services-header .ssh-mobile-group.is-open .ssh-mobile-submenu { max-height: 330px; padding: 5px 10px 12px; }
  #silh-services-header .ssh-mobile-submenu a { padding: 11px 12px; border-radius: 9px; color: #333; font-size: 14px; font-weight: 600; }
  #silh-services-header .ssh-mobile-submenu a:hover,
  #silh-services-header .ssh-mobile-submenu a:focus-visible,
  #silh-services-header .ssh-mobile-submenu a[aria-current="page"] { background: rgba(91,0,255,.07); color: var(--ssh-purple); }
  #silh-services-header .ssh-mobile-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
  body.ssh-header-menu-open { overflow: hidden; }
}

@media (max-width: 520px) {
  #silh-services-header .ssh-mobile-actions { grid-template-columns: 1fr; }
  #silh-services-header .ssh-button { min-height: 54px; }
}

@media (prefers-reduced-motion: reduce) {
  #silh-services-header *,
  #silh-services-header *::before,
  #silh-services-header *::after { transition-duration: .01ms !important; }
}

/* SERVICES — HUB */
@scope (body.services-universe) {
.services-hero { position: relative; isolation: isolate; display: flex; min-height: 700px; align-items: center; overflow: hidden; padding: 140px 0 92px; color: #fff; background-color: #090909; background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.94), rgba(0, 0, 0, 0.66) 58%, rgba(0, 0, 0, 0.3)), var(--services-hero-image, radial-gradient(circle at 80% 35%, #6500d9 0, #13002d 30%, #050505 68%)); background-position: center; background-size: cover; }
.services-hero--detail:not([style])::after { content: attr(data-mark); position: absolute; z-index: -1; right: -0.06em; bottom: -0.3em; color: rgba(255, 255, 255, 0.06); font-size: 42vw; font-weight: 700; line-height: 1; }
.services-hero__content { position: relative; z-index: 1; }
.services-hero h1 { max-width: 1150px; margin: 0 0 34px; color: #fff; font-size: clamp(3.8rem, 7.6vw, 7.6rem); font-weight: 500; letter-spacing: -0.055em; line-height: 0.9; text-transform: uppercase; overflow-wrap: break-word; }
.services-hero--hub h1 { max-width: 930px; }
.services-hero__content > p:not(.services-kicker) { max-width: 830px; margin: 0 0 38px; font-size: clamp(1.1rem, 1.7vw, 1.55rem); line-height: 1.5; }
.services-badge { display: inline-block; margin: 0 0 20px; padding: 7px 12px; border: 1px solid rgba(255, 255, 255, 0.45); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
.services-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.services-overview { padding: clamp(78px, 9vw, 124px) 0; }
.services-video { padding: clamp(54px, 6vw, 86px) 0; background: var(--services-paper); }
.services-video__media {
  display: block;
  width: 100%;
  max-height: min(76vh, 820px);
  margin: 0 auto;
  border-radius: var(--services-radius);
  background: var(--services-ink);
  box-shadow: var(--services-shadow);
  object-fit: contain;
}
.services-split { display: grid; grid-template-columns: minmax(0, 0.87fr) minmax(0, 1.13fr); gap: clamp(48px, 7vw, 110px); align-items: start; }
.services-overview h2,
.services-section-head h2,
.services-method h2,
.services-editorial h2,
.services-deliverables h2,
.services-related h2,
.services-faq h2,
.services-contact h2 { margin: 0; font-size: clamp(2.7rem, 5.3vw, 5rem); font-weight: 500; letter-spacing: -0.045em; line-height: 0.98; text-transform: uppercase; overflow-wrap: break-word; }
.services-overview .services-split > div:last-child > p,
.services-editorial .services-split > div:last-child > p,
.services-deliverables .services-split > div:last-child > p { margin: 0 0 22px; font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.72; }
.services-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 46px; border-top: 1px solid var(--services-line); }
.services-stats div { padding: 25px 18px 0; border-right: 1px solid var(--services-line); }
.services-stats div:first-child { padding-left: 0; }
.services-stats div:last-child { border-right: 0; }
.services-stats strong { display: block; color: var(--services-violet); font-size: 2rem; font-weight: 500; }
.services-stats span { font-size: 0.74rem; letter-spacing: 0.11em; text-transform: uppercase; }
.services-hub-grid { padding: clamp(78px, 9vw, 120px) 0; background: var(--services-paper); }
.services-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 0.68fr); gap: 60px; align-items: end; margin-bottom: 60px; }
.services-section-head > p { margin: 0; font-size: 1.1rem; line-height: 1.7; }
.services-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.services-card { position: relative; min-height: 470px; overflow: hidden; border-radius: 20px; background: #090909; box-shadow: var(--services-shadow); color: #fff; }
.services-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 15%, rgba(0, 0, 0, 0.92)); }
.services-card > img { position: absolute; width: 100%; height: 100%; object-fit: cover; opacity: 0.58; transition: transform 0.55s, opacity 0.55s; }
.services-card:hover > img { opacity: 0.72; transform: scale(1.045); }
.services-card__body { position: absolute; z-index: 1; inset: auto 36px 34px; }
.services-card__body > span,
.services-offer-grid article span { color: #c7aaff; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.15em; }
.services-card h3 { margin: 14px 0; font-size: clamp(2rem, 3vw, 3rem); font-weight: 500; letter-spacing: -0.03em; line-height: 1; text-transform: uppercase; }
.services-card p { max-width: 580px; margin: 0 0 22px; color: rgba(255, 255, 255, 0.84); }
.services-card a { display: inline-block; padding-bottom: 6px; border-bottom: 2px solid var(--services-violet); font-size: 0.73rem; font-weight: 800; letter-spacing: 0.11em; text-decoration: none; text-transform: uppercase; }

/* SERVICES — DETAIL */
.services-offers { padding: clamp(78px, 9vw, 115px) 0; background: var(--services-paper); }
.services-offer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.services-offer-grid > article { overflow: hidden; border: 1px solid rgba(5, 5, 5, 0.08); border-radius: var(--services-radius); background: #fff; box-shadow: 0 15px 42px rgba(20, 12, 45, 0.07); }
.services-offer-grid article > div { padding: 31px; }
.services-offer-grid article > img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.services-offer-grid h3,
.services-mini-grid h3 { margin: 18px 0 12px; font-size: 1.42rem; line-height: 1.15; text-transform: uppercase; }
.services-offer-grid p { margin: 0; color: #454149; line-height: 1.65; }
.services-deliverables,
.services-editorial,
.services-related,
.services-faq { padding: clamp(78px, 9vw, 110px) 0; }
.services-deliverables { background: #fff; }
.services-tags { display: flex; flex-wrap: wrap; gap: 10px; margin: 32px 0 0; padding: 0; list-style: none; }
.services-tags li { max-width: 100%; padding: 11px 15px; border: 1px solid var(--services-line); border-radius: 999px; font-size: 0.84rem; overflow-wrap: anywhere; }
.services-editorial--soft { background: var(--services-paper); }
.services-editorial img { width: 100%; margin-top: 36px; border-radius: var(--services-radius); box-shadow: var(--services-shadow); }
.services-editorial img + img { margin-top: 18px; }
.services-list { padding-left: 1.2rem; line-height: 1.75; }
.services-mini-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.services-mini-grid article { padding: 24px; border: 1px solid var(--services-line); background: #fff; }
.services-mini-grid h3 { margin-top: 0; }
.services-mini-grid p { margin: 0; font-size: 0.95rem; line-height: 1.65; }
.services-outcomes { padding: 72px 0; background: var(--services-violet); color: #fff; }
.services-outcomes .services-wrap > div { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255, 255, 255, 0.3); }
.services-outcomes article { padding: 28px 28px 10px; border-right: 1px solid rgba(255, 255, 255, 0.3); }
.services-outcomes article:first-child { padding-left: 0; }
.services-outcomes article:last-child { border-right: 0; }
.services-outcomes span { font-weight: 800; letter-spacing: 0.15em; }
.services-outcomes h3 { margin: 18px 0 10px; font-size: 1.5rem; text-transform: uppercase; }
.services-outcomes p { color: rgba(255, 255, 255, 0.82); }
.services-related { background: #fff; }
.services-related .services-wrap > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 42px; }
.services-related .services-wrap > div > a { display: block; padding: 25px; border: 1px solid var(--services-line); border-radius: 14px; text-decoration: none; transition: border-color 0.25s, transform 0.25s; }
.services-related .services-wrap > div > a:hover { border-color: var(--services-violet); transform: translateY(-4px); }
.services-related strong,
.services-related span { display: block; }
.services-related strong { margin-bottom: 8px; font-size: 1.15rem; }
.services-related span { color: var(--services-muted); font-size: 0.88rem; }
.services-back { display: inline-block; margin-top: 32px; font-weight: 800; text-decoration: none; }
.services-cta { padding: clamp(70px, 8vw, 100px) 0; background: var(--services-violet); color: #fff; }
.services-cta .services-wrap > div { display: flex; align-items: end; justify-content: space-between; gap: 48px; }
.services-cta h2 { max-width: 970px; margin: 0; font-size: clamp(2.6rem, 5.4vw, 5rem); font-weight: 500; letter-spacing: -0.045em; line-height: 0.96; text-transform: uppercase; }

/* SERVICES — METHOD */
.services-method { padding: clamp(80px, 9vw, 120px) 0; background: #050505; color: #fff; }
.services-method .services-section-head h2,
.services-method > .services-wrap > h2 { max-width: 1080px; color: #fff; }
.services-method__lead { max-width: 720px; margin: 28px 0 0; color: rgba(255, 255, 255, 0.78); font-size: 1.1rem; line-height: 1.7; }
.services-steps { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 54px; border-top: 1px solid rgba(255, 255, 255, 0.26); }
.services-steps article { min-height: 215px; padding: 30px 25px 18px; border-right: 1px solid rgba(255, 255, 255, 0.22); }
.services-steps article:first-child { padding-left: 0; }
.services-steps article:last-child { border-right: 0; }
.services-steps span { color: var(--services-violet-light); font-size: 0.77rem; font-weight: 800; letter-spacing: 0.15em; }
.services-steps h3 { margin: 20px 0 12px; color: #fff; font-size: 1.35rem; text-transform: uppercase; }
.services-steps p { color: rgba(255, 255, 255, 0.72); font-size: 0.94rem; }

/* SERVICES — FAQ */
.services-faq { background: var(--services-paper); }
.services-faq article { border-top: 1px solid var(--services-line); }
.services-faq article:last-child { border-bottom: 1px solid var(--services-line); }
.services-faq h3 { margin: 0; }
.services-faq__button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 22px; padding: 23px 0; border: 0; background: transparent; color: inherit; font-weight: 700; text-align: left; cursor: pointer; }
.services-faq__button span { color: var(--services-violet); font-size: 1.6rem; font-weight: 400; transition: transform 0.2s; }
.services-faq__button[aria-expanded="true"] span { transform: rotate(45deg); }
.services-faq__panel p { margin: 0; padding: 0 44px 24px 0; color: var(--services-muted); line-height: 1.7; }

/* SERVICES — CONTACT */
.services-contact { padding: clamp(78px, 9vw, 118px) 0; background: #fff; }
.services-contact__grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(50px, 8vw, 120px); }
.services-contact__grid > div > p:last-child { margin-top: 30px; font-size: 1.05rem; line-height: 1.8; }
.services-contact__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.services-contact__form label { display: grid; gap: 8px; font-size: 0.76rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.services-contact__form input,
.services-contact__form textarea { width: 100%; border: 0; border-bottom: 1px solid var(--services-line); border-radius: 0; background: transparent; padding: 12px 0; color: inherit; resize: vertical; }
.services-contact__message,
.services-contact__form .services-button,
.services-form-note { grid-column: 1 / -1; }
.services-contact__form .services-button { width: max-content; margin-top: 8px; }
.services-form-note { margin: 0; color: var(--services-muted); font-size: 0.8rem; }
.services-footer { padding: 72px 0 24px; background: #050505; color: #fff; }
.services-footer__grid { display: grid; grid-template-columns: 1.2fr 1fr 0.85fr; gap: 70px; }
.services-footer__brand { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.services-footer__brand img { width: 140px; }
.services-footer__brand p { max-width: 260px; color: rgba(255, 255, 255, 0.64); }
.services-footer h2 { margin: 0 0 18px; font-size: 0.78rem; letter-spacing: 0.15em; text-transform: uppercase; }
.services-footer ul { margin: 0; padding: 0; list-style: none; columns: 2; column-gap: 28px; }
.services-footer li { break-inside: avoid; margin-bottom: 9px; }
.services-footer a { color: rgba(255, 255, 255, 0.76); font-size: 0.88rem; text-decoration: none; }
.services-footer a:hover { color: #fff; }
.services-footer__bottom { display: flex; justify-content: space-between; margin-top: 55px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.17); color: rgba(255, 255, 255, 0.56); font-size: 0.8rem; }
.services-footer__bottom p { margin: 0; }
.services-footer__bottom .site-footer-credit a { color: #fff; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

/* Pages techniques Boutique : produit et panier */
body.bysilh-page .bys-commerce-page {
  min-height: calc(100dvh - var(--bys-header-height));
  background: #fff;
  color: var(--bys-black);
}

body.bysilh-page .bys-commerce-shell {
  width: min(1440px, 100%);
  margin: 0 auto;
  padding: clamp(46px, 7vw, 96px) clamp(20px, 5vw, 76px);
}

body.bysilh-page .bys-commerce-shell > h1,
body.bysilh-page .bys-product-detail h1 {
  margin: 0 0 32px;
  font-size: clamp(40px, 6vw, 74px);
  line-height: 1;
  letter-spacing: -.045em;
}

body.bysilh-page .bys-commerce-back {
  display: inline-flex;
  margin-bottom: 36px;
  color: var(--bys-black);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  text-transform: uppercase;
}

body.bysilh-page .bys-commerce-message {
  padding: clamp(28px, 5vw, 54px);
  border: 1px solid var(--bys-line);
  background: var(--bys-soft);
  color: var(--bys-grey);
  line-height: 1.7;
}

body.bysilh-page .bys-commerce-message h1 { color: var(--bys-black); }
body.bysilh-page .bys-commerce-message--error { border-left: 4px solid var(--bys-purple); }

body.bysilh-page .bys-commerce-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  margin-top: 16px;
  padding: 15px 27px;
  border-radius: 999px;
  background: var(--bys-black);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .07em;
  text-decoration: none;
  text-transform: uppercase;
}

body.bysilh-page .bys-product-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: clamp(42px, 7vw, 100px);
  align-items: start;
}

body.bysilh-page .bys-product-detail__gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

body.bysilh-page .bys-product-detail__gallery img,
body.bysilh-page .bys-product-detail__image-placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  background: var(--bys-soft);
}

body.bysilh-page .bys-product-detail__gallery > :first-child { grid-column: 1 / -1; }
body.bysilh-page .bys-product-detail__content { position: sticky; top: calc(var(--bys-header-height) + 32px); }
body.bysilh-page .bys-product-detail__price { color: var(--bys-black); font-size: 22px; font-weight: 800; }
body.bysilh-page .bys-product-detail__price del { margin-right: 10px; color: var(--bys-grey); font-weight: 500; }
body.bysilh-page .bys-product-detail__price ins { color: var(--bys-purple); text-decoration: none; }
body.bysilh-page .bys-product-detail__stock { margin: 22px 0; color: var(--bys-grey); font-size: 13px; font-weight: 800; text-transform: uppercase; }
body.bysilh-page .bys-product-detail__stock[data-in-stock="true"] { color: var(--bys-purple); }
body.bysilh-page .bys-product-detail__short-description,
body.bysilh-page .bys-product-detail__description { color: var(--bys-grey); font-size: 16px; line-height: 1.75; }
body.bysilh-page .bys-product-detail__short-description + .bys-product-detail__description { margin-top: 24px; }
body.bysilh-page .bys-product-detail__content img { max-width: 100%; height: auto; }
body.bysilh-page .bys-product-detail__section { margin-top: 36px; padding-top: 30px; border-top: 1px solid var(--bys-line); }
body.bysilh-page .bys-product-detail__section h2 { margin: 0 0 20px; font-size: 22px; text-transform: uppercase; }

body.bysilh-page .bys-product-attributes { margin: 0; }
body.bysilh-page .bys-product-attributes div { display: grid; grid-template-columns: minmax(100px, .4fr) 1fr; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--bys-line); }
body.bysilh-page .bys-product-attributes dt { font-weight: 800; }
body.bysilh-page .bys-product-attributes dd { margin: 0; color: var(--bys-grey); }
body.bysilh-page .bys-product-variations { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
body.bysilh-page .bys-product-variations li { display: flex; justify-content: space-between; gap: 20px; padding: 16px; background: var(--bys-soft); }
body.bysilh-page .bys-product-variations li div { display: grid; gap: 5px; }
body.bysilh-page .bys-product-variations li span { color: var(--bys-grey); font-size: 13px; }

body.bysilh-page .bys-cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .36fr); gap: clamp(32px, 6vw, 80px); align-items: start; }
body.bysilh-page .bys-cart-items { display: grid; gap: 1px; margin: 0; padding: 0; background: var(--bys-line); list-style: none; }
body.bysilh-page .bys-cart-item { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 20px; background: #fff; }
body.bysilh-page .bys-cart-item img { width: 120px; height: 120px; object-fit: cover; }
body.bysilh-page .bys-cart-item h2 { margin: 0 0 8px; font-size: 21px; }
body.bysilh-page .bys-cart-item h2 a { color: inherit; text-decoration: none; }
body.bysilh-page .bys-cart-item p { margin: 0; color: var(--bys-grey); }
body.bysilh-page .bys-cart-summary { padding: 28px; background: var(--bys-soft); }
body.bysilh-page .bys-cart-summary h2 { margin: 0 0 24px; font-size: 24px; text-transform: uppercase; }
body.bysilh-page .bys-cart-summary p { display: flex; justify-content: space-between; gap: 20px; margin: 0; padding: 14px 0; border-top: 1px solid var(--bys-line); }

@media (max-width: 800px) {
  body.bysilh-page .bys-product-detail,
  body.bysilh-page .bys-cart-layout { grid-template-columns: 1fr; }
  body.bysilh-page .bys-product-detail__content { position: static; }
  body.bysilh-page .bys-cart-item { grid-template-columns: 82px minmax(0, 1fr); }
  body.bysilh-page .bys-cart-item img { width: 82px; height: 82px; }
  body.bysilh-page .bys-cart-item > .bys-product-detail__price { grid-column: 2; }
}

@media (max-width: 520px) {
  body.bysilh-page .bys-product-detail__gallery { grid-template-columns: 1fr; }
  body.bysilh-page .bys-product-detail__gallery > :first-child { grid-column: auto; }
}

/* SERVICES — RESPONSIVE */
}

/* Fiche produit bySilh premium — styles strictement isolés */
body.bysilh-page.bys-product-page { overflow-x: clip; background: #f4f3f5; }
body.bysilh-page.bys-product-page .bys-commerce-page {
  background: radial-gradient(circle at 86% 7%, rgba(131, 0, 255, .075), transparent 24rem), #f4f3f5;
}
body.bysilh-page.bys-product-page .bys-product-shell {
  width: min(1480px, 100%); margin: 0 auto;
  padding: clamp(28px, 4vw, 62px) clamp(18px, 4vw, 62px) clamp(70px, 8vw, 128px);
}
body.bysilh-page.bys-product-page .bys-product-breadcrumb {
  display: flex; align-items: center; gap: 10px; margin: 0 0 clamp(24px, 3vw, 40px);
  color: #69666c; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
body.bysilh-page.bys-product-page .bys-product-breadcrumb a { color: #121113; text-decoration: none; }
body.bysilh-page.bys-product-page .bys-product-breadcrumb a:hover { color: var(--bys-purple); }
body.bysilh-page.bys-product-page .bys-product-detail {
  display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(370px, .82fr);
  gap: clamp(34px, 5vw, 78px); align-items: start;
}
body.bysilh-page.bys-product-page .bys-product-detail__gallery-column,
body.bysilh-page.bys-product-page .bys-product-detail__summary { min-width: 0; }
body.bysilh-page.bys-product-page .bys-product-gallery { display: grid; gap: 16px; }
body.bysilh-page.bys-product-page .bys-product-gallery__stage {
  position: relative; display: grid; place-items: center; min-height: 420px; aspect-ratio: 1;
  overflow: hidden; border: 1px solid rgba(16, 15, 17, .07); border-radius: 28px; background: #fff;
  box-shadow: 0 24px 70px rgba(17, 13, 21, .07);
}
body.bysilh-page.bys-product-page .bys-product-gallery__zoom {
  display: grid; width: 100%; height: 100%; padding: clamp(18px, 4vw, 54px);
  border: 0; background: transparent; cursor: zoom-in;
}
body.bysilh-page.bys-product-page .bys-product-gallery__main-image {
  display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; object-position: center;
  transition: opacity .2s ease, transform .45s cubic-bezier(.2, .7, .2, 1);
}
body.bysilh-page.bys-product-page .bys-product-gallery__zoom:hover .bys-product-gallery__main-image { transform: scale(1.018); }
body.bysilh-page.bys-product-page .bys-product-gallery__nav,
body.bysilh-page.bys-product-page .bys-product-lightbox__nav,
body.bysilh-page.bys-product-page .bys-product-lightbox__close {
  position: absolute; z-index: 2; display: grid; place-items: center; width: 46px; height: 46px; padding: 0;
  border: 1px solid rgba(255, 255, 255, .2); border-radius: 50%; background: rgba(8, 8, 9, .92);
  color: #fff; font: inherit; font-size: 22px; cursor: pointer; transition: background .2s, transform .2s;
}
body.bysilh-page.bys-product-page .bys-product-gallery__nav:hover,
body.bysilh-page.bys-product-page .bys-product-lightbox__nav:hover,
body.bysilh-page.bys-product-page .bys-product-lightbox__close:hover { background: var(--bys-purple); transform: scale(1.05); }
body.bysilh-page.bys-product-page .bys-product-gallery__nav--previous { left: 18px; }
body.bysilh-page.bys-product-page .bys-product-gallery__nav--next { right: 18px; }
body.bysilh-page.bys-product-page .bys-product-gallery__counter {
  position: absolute; right: 18px; bottom: 18px; z-index: 2; padding: 8px 12px; border-radius: 999px;
  background: rgba(8, 8, 9, .82); color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .08em;
}
body.bysilh-page.bys-product-page .bys-product-gallery__thumbs {
  display: flex; gap: 11px; margin: 0; padding: 2px 2px 8px; overflow-x: auto; list-style: none;
  scrollbar-width: thin; scroll-snap-type: x proximity;
}
body.bysilh-page.bys-product-page .bys-product-gallery__thumbs li { flex: 0 0 clamp(76px, 8vw, 104px); scroll-snap-align: start; }
body.bysilh-page.bys-product-page .bys-product-gallery__thumb {
  display: grid; width: 100%; aspect-ratio: 1; overflow: hidden; padding: 5px; border: 2px solid transparent;
  border-radius: 14px; background: #fff; cursor: pointer; opacity: .68; transition: .2s ease;
}
body.bysilh-page.bys-product-page .bys-product-gallery__thumb img { width: 100%; height: 100%; border-radius: 9px; object-fit: contain; }
body.bysilh-page.bys-product-page .bys-product-gallery__thumb:hover,
body.bysilh-page.bys-product-page .bys-product-gallery__thumb[aria-current="true"] {
  border-color: var(--bys-purple); opacity: 1; transform: translateY(-2px);
}
body.bysilh-page.bys-product-page .bys-product-gallery__empty {
  display: grid; place-items: center; min-height: 420px; border-radius: 28px; background: #fff; color: #777278;
}
body.bysilh-page.bys-product-page .bys-product-lightbox {
  width: min(96vw, 1500px); height: min(94dvh, 1040px); max-width: none; max-height: none; margin: auto; padding: 0;
  overflow: hidden; border: 0; border-radius: 22px; background: #0a090b; color: #fff;
}
body.bysilh-page.bys-product-page .bys-product-lightbox::backdrop { background: rgba(2, 2, 3, .92); backdrop-filter: blur(8px); }
body.bysilh-page.bys-product-page .bys-product-lightbox img { display: block; width: 100%; height: 100%; padding: clamp(26px, 5vw, 76px); object-fit: contain; }
body.bysilh-page.bys-product-page .bys-product-lightbox__close { top: 18px; right: 18px; }
body.bysilh-page.bys-product-page .bys-product-lightbox__nav--previous { top: 50%; left: 18px; transform: translateY(-50%); }
body.bysilh-page.bys-product-page .bys-product-lightbox__nav--next { top: 50%; right: 18px; transform: translateY(-50%); }
body.bysilh-page.bys-product-page .bys-product-lightbox__nav--previous:hover,
body.bysilh-page.bys-product-page .bys-product-lightbox__nav--next:hover { transform: translateY(-50%) scale(1.05); }
body.bysilh-page.bys-product-page .bys-product-detail__summary {
  padding: clamp(28px, 3.8vw, 54px); border: 1px solid rgba(16, 15, 17, .07); border-radius: 28px;
  background: rgba(255, 255, 255, .94); box-shadow: 0 24px 70px rgba(17, 13, 21, .055);
}
body.bysilh-page.bys-product-page .bys-product-detail__category {
  margin: 0 0 15px; color: var(--bys-purple); font-size: 11px; font-weight: 900; letter-spacing: .17em; text-transform: uppercase;
}
body.bysilh-page.bys-product-page .bys-product-detail h1 {
  max-width: 15ch; margin: 0 0 22px; font-size: clamp(36px, 4.15vw, 64px); line-height: .98;
  letter-spacing: -.052em; overflow-wrap: anywhere;
}
body.bysilh-page.bys-product-page .bys-product-detail__price {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: 0; color: #0d0c0e;
  font-size: clamp(24px, 2.1vw, 32px); font-weight: 850; letter-spacing: -.025em;
}
body.bysilh-page.bys-product-page .bys-product-detail__price del { color: #8a858d; font-size: .72em; font-weight: 600; }
body.bysilh-page.bys-product-page .bys-product-detail__price ins { color: var(--bys-purple); text-decoration: none; }
body.bysilh-page.bys-product-page .bys-product-detail__meta {
  display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 15px 0 0; color: #767078; font-size: 12px;
}
body.bysilh-page.bys-product-page .bys-product-detail__stock {
  display: inline-flex; align-items: center; gap: 8px; margin: 22px 0 0; padding: 8px 12px; border-radius: 999px;
  background: #f0eef1; color: #6d6870; font-size: 11px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase;
}
body.bysilh-page.bys-product-page .bys-product-detail__stock::before { width: 7px; height: 7px; border-radius: 50%; background: currentColor; content: ""; }
body.bysilh-page.bys-product-page .bys-product-detail__stock[data-in-stock="true"] { background: rgba(88, 177, 101, .12); color: #267a37; }
body.bysilh-page.bys-product-page .bys-product-detail__short-description {
  margin-top: 25px; color: #575159; font-size: 15px; line-height: 1.72;
}
body.bysilh-page.bys-product-page .bys-rich-text > :first-child { margin-top: 0; }
body.bysilh-page.bys-product-page .bys-rich-text > :last-child { margin-bottom: 0; }
body.bysilh-page.bys-product-page .bys-rich-text p { margin: 0 0 1em; }
body.bysilh-page.bys-product-page .bys-rich-text h2,
body.bysilh-page.bys-product-page .bys-rich-text h3,
body.bysilh-page.bys-product-page .bys-rich-text h4 { margin: 1.55em 0 .65em; line-height: 1.15; }
body.bysilh-page.bys-product-page .bys-rich-text ul,
body.bysilh-page.bys-product-page .bys-rich-text ol { padding-left: 1.3em; }
body.bysilh-page.bys-product-page .bys-rich-text li + li { margin-top: .45em; }
body.bysilh-page.bys-product-page .bys-rich-text img { max-width: 100%; height: auto; }
body.bysilh-page.bys-product-page .bys-rich-text table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
body.bysilh-page.bys-product-page .bys-rich-text th,
body.bysilh-page.bys-product-page .bys-rich-text td { padding: 10px; border: 1px solid #dedade; }
body.bysilh-page.bys-product-page .bys-rich-text a { color: var(--bys-purple); text-underline-offset: 3px; }
body.bysilh-page.bys-product-page .bys-product-options {
  display: grid; gap: 20px; margin-top: 30px; padding-top: 26px; border-top: 1px solid #e4e0e4;
}
body.bysilh-page.bys-product-page .bys-product-option { min-width: 0; margin: 0; padding: 0; border: 0; }
body.bysilh-page.bys-product-page .bys-product-option legend {
  margin-bottom: 11px; color: #171519; font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase;
}
body.bysilh-page.bys-product-page .bys-product-option__choices { display: flex; flex-wrap: wrap; gap: 9px; }
body.bysilh-page.bys-product-page .bys-product-option__choices button {
  min-width: 48px; min-height: 44px; padding: 10px 16px; border: 1px solid #d5d0d6; border-radius: 999px;
  background: #fff; color: #201d22; font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; transition: .2s ease;
}
body.bysilh-page.bys-product-page .bys-product-option__choices button:hover:not(:disabled) { border-color: #111; transform: translateY(-1px); }
body.bysilh-page.bys-product-page .bys-product-option__choices button[aria-pressed="true"] { border-color: #0b0a0c; background: #0b0a0c; color: #fff; }
body.bysilh-page.bys-product-page .bys-product-option__choices button:disabled { color: #aaa5ac; text-decoration: line-through; cursor: not-allowed; opacity: .55; }
body.bysilh-page.bys-product-page .bys-product-options__message { margin: 0; color: #7a347e; font-size: 13px; font-weight: 700; }
body.bysilh-page.bys-product-page .bys-product-purchase {
  display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 11px; margin-top: 30px;
}
body.bysilh-page.bys-product-page .bys-product-quantity {
  display: grid; grid-template-columns: 38px minmax(34px, 1fr) 38px; min-height: 56px; overflow: hidden;
  border: 1px solid #d9d4da; border-radius: 999px; background: #fff;
}
body.bysilh-page.bys-product-page .bys-product-quantity > label {
  position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
body.bysilh-page.bys-product-page .bys-product-quantity > div { display: contents; }
body.bysilh-page.bys-product-page .bys-product-quantity button,
body.bysilh-page.bys-product-page .bys-product-quantity input {
  min-width: 0; border: 0; background: transparent; color: #141215; font: inherit; font-weight: 850; text-align: center;
}
body.bysilh-page.bys-product-page .bys-product-quantity button { cursor: pointer; }
body.bysilh-page.bys-product-page .bys-product-quantity button:hover { color: var(--bys-purple); }
body.bysilh-page.bys-product-page .bys-product-quantity input { width: 100%; appearance: textfield; }
body.bysilh-page.bys-product-page .bys-product-quantity input::-webkit-inner-spin-button,
body.bysilh-page.bys-product-page .bys-product-quantity input::-webkit-outer-spin-button { margin: 0; appearance: none; }
body.bysilh-page.bys-product-page .bys-product-buy-button {
  position: relative; min-height: 56px; padding: 14px 25px; border: 0; border-radius: 999px; background: #0a090b;
  color: #fff; font: inherit; font-size: 12px; font-weight: 900; letter-spacing: .095em; text-transform: uppercase;
  cursor: pointer; transition: background .2s, transform .2s, box-shadow .2s;
}
body.bysilh-page.bys-product-page .bys-product-buy-button:hover:not(:disabled) {
  background: var(--bys-purple); box-shadow: 0 12px 28px rgba(131, 0, 255, .25); transform: translateY(-2px);
}
body.bysilh-page.bys-product-page .bys-product-buy-button:disabled { background: #aaa5ac; cursor: not-allowed; opacity: .72; }
body.bysilh-page.bys-product-page .bys-product-buy-button[aria-busy="true"] { color: transparent; }
body.bysilh-page.bys-product-page .bys-product-buy-button[aria-busy="true"]::after {
  position: absolute; top: 50%; left: 50%; width: 19px; height: 19px; margin: -10px; border: 2px solid rgba(255,255,255,.42);
  border-top-color: #fff; border-radius: 50%; content: ""; animation: bys-product-spin .7s linear infinite;
}
@keyframes bys-product-spin { to { transform: rotate(360deg); } }
body.bysilh-page.bys-product-page .bys-product-purchase__status {
  grid-column: 1 / -1; min-height: 20px; margin: 2px 2px 0; color: #625d64; font-size: 13px;
}
body.bysilh-page.bys-product-page .bys-product-purchase__status[data-state="error"] { color: #aa1f35; }
body.bysilh-page.bys-product-page .bys-product-purchase__status[data-state="success"] { color: #267a37; }
body.bysilh-page.bys-product-page .bys-product-accordions { margin-top: 34px; border-top: 1px solid #dedade; }
body.bysilh-page.bys-product-page .bys-product-accordion { border-bottom: 1px solid #dedade; }
body.bysilh-page.bys-product-page .bys-product-accordion h2 { margin: 0; }
body.bysilh-page.bys-product-page .bys-product-accordion h2 > button {
  display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 22px; padding: 20px 0;
  border: 0; background: transparent; color: #171419; font: inherit; font-size: 13px; font-weight: 850;
  letter-spacing: .055em; text-align: left; text-transform: uppercase; cursor: pointer;
}
body.bysilh-page.bys-product-page .bys-product-accordion__chevron {
  flex: 0 0 auto; width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg); transition: transform .25s;
}
body.bysilh-page.bys-product-page .bys-product-accordion h2 > button[aria-expanded="true"] .bys-product-accordion__chevron { transform: rotate(225deg); }
body.bysilh-page.bys-product-page .bys-product-accordion__panel {
  display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows .28s, visibility .28s;
}
body.bysilh-page.bys-product-page .bys-product-accordion__panel[data-open="true"] { grid-template-rows: 1fr; visibility: visible; }
body.bysilh-page.bys-product-page .bys-product-accordion__panel-inner {
  min-height: 0; overflow: hidden; color: #5c565e; font-size: 14px; line-height: 1.72;
}
body.bysilh-page.bys-product-page .bys-product-accordion__panel[data-open="true"] .bys-product-accordion__panel-inner { padding: 0 0 23px; }
body.bysilh-page.bys-product-page .bys-product-specs { display: grid; margin: 0; }
body.bysilh-page.bys-product-page .bys-product-specs div {
  display: grid; grid-template-columns: minmax(120px, .42fr) minmax(0, 1fr); gap: 22px; padding: 12px 0; border-bottom: 1px solid #e8e4e8;
}
body.bysilh-page.bys-product-page .bys-product-specs div:last-child { border-bottom: 0; }
body.bysilh-page.bys-product-page .bys-product-specs dt { font-weight: 800; }
body.bysilh-page.bys-product-page .bys-product-specs dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
body.bysilh-page.bys-product-page .bys-product-related {
  margin-top: clamp(70px, 9vw, 132px); padding-top: clamp(46px, 6vw, 82px); border-top: 1px solid rgba(15, 13, 16, .13);
}
body.bysilh-page.bys-product-page .bys-product-related__head {
  display: flex; align-items: end; justify-content: space-between; gap: 26px; margin-bottom: 28px;
}
body.bysilh-page.bys-product-page .bys-product-related__head p {
  margin: 0 0 9px; color: var(--bys-purple); font-size: 11px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase;
}
body.bysilh-page.bys-product-page .bys-product-related__head h2 {
  margin: 0; font-size: clamp(30px, 4vw, 54px); line-height: 1; letter-spacing: -.04em;
}
body.bysilh-page.bys-product-page .bys-products-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 2vw, 28px); margin: 0; padding: 0; list-style: none;
}
body.bysilh-page.bys-product-page .bys-product-card {
  display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid rgba(16,15,17,.08);
  border-radius: 19px; background: #fff; transition: transform .25s, box-shadow .25s;
}
body.bysilh-page.bys-product-page .bys-product-card:hover { box-shadow: 0 20px 48px rgba(16,13,18,.1); transform: translateY(-5px); }
body.bysilh-page.bys-product-page .bys-product-card__main {
  display: grid; flex: 1; padding: 12px 12px 18px; color: #131114; text-decoration: none;
}
body.bysilh-page.bys-product-page .bys-product-card__main img,
body.bysilh-page.bys-product-page .bys-product-card__image-placeholder {
  display: block; width: 100%; aspect-ratio: 1; margin-bottom: 17px; border-radius: 12px; background: #f4f2f4; object-fit: contain;
}
body.bysilh-page.bys-product-page .bys-product-card__title {
  margin: 0 6px 9px; font-size: clamp(15px, 1.25vw, 19px); line-height: 1.12; overflow-wrap: anywhere;
}
body.bysilh-page.bys-product-page .bys-product-card__price { margin: auto 6px 0; color: #69636b; font-size: 13px; font-weight: 800; }
body.bysilh-page.bys-product-page .bys-product-card__price ins { color: var(--bys-purple); text-decoration: none; }
body.bysilh-page.bys-product-page .bys-product-card__button {
  display: flex; min-height: 48px; align-items: center; justify-content: center; margin: 0 12px 12px; padding: 11px 16px;
  border-radius: 999px; background: #0b0a0c; color: #fff; font-size: 10px; font-weight: 900; letter-spacing: .075em;
  text-align: center; text-decoration: none; text-transform: uppercase;
}
body.bysilh-page.bys-product-page .bys-product-card__button:hover { background: var(--bys-purple); }
body.bysilh-page.bys-product-page :is(button, a, input):focus-visible { outline: 3px solid rgba(131,0,255,.45); outline-offset: 3px; }

@media (max-width: 1100px) {
  body.bysilh-page.bys-product-page .bys-product-detail { grid-template-columns: minmax(0, 1fr) minmax(340px, .82fr); gap: 30px; }
  body.bysilh-page.bys-product-page .bys-product-detail__summary { padding: 30px; }
  body.bysilh-page.bys-product-page .bys-products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.bysilh-page.bys-product-page .bys-products-grid > :last-child { display: none; }
}
@media (max-width: 767px) {
  body.bysilh-page.bys-product-page .bys-product-shell { padding-inline: clamp(15px, 5vw, 28px); }
  body.bysilh-page.bys-product-page .bys-product-breadcrumb { margin-bottom: 20px; }
  body.bysilh-page.bys-product-page .bys-product-detail { grid-template-columns: 1fr; gap: 24px; }
  body.bysilh-page.bys-product-page .bys-product-gallery__stage { min-height: 0; border-radius: 20px; }
  body.bysilh-page.bys-product-page .bys-product-gallery__zoom { padding: clamp(14px, 7vw, 38px); }
  body.bysilh-page.bys-product-page .bys-product-gallery__nav { width: 42px; height: 42px; }
  body.bysilh-page.bys-product-page .bys-product-gallery__nav--previous { left: 12px; }
  body.bysilh-page.bys-product-page .bys-product-gallery__nav--next { right: 12px; }
  body.bysilh-page.bys-product-page .bys-product-gallery__counter { right: 12px; bottom: 12px; }
  body.bysilh-page.bys-product-page .bys-product-gallery__thumbs li { flex-basis: 72px; }
  body.bysilh-page.bys-product-page .bys-product-detail__summary { padding: clamp(24px, 7vw, 38px); border-radius: 20px; }
  body.bysilh-page.bys-product-page .bys-product-detail h1 { max-width: none; font-size: clamp(34px, 11vw, 52px); }
  body.bysilh-page.bys-product-page .bys-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.bysilh-page.bys-product-page .bys-products-grid > :last-child { display: flex; }
}
@media (max-width: 430px) {
  body.bysilh-page.bys-product-page .bys-product-shell { padding-inline: 14px; }
  body.bysilh-page.bys-product-page .bys-product-breadcrumb { font-size: 10px; }
  body.bysilh-page.bys-product-page .bys-product-gallery__nav { width: 38px; height: 38px; font-size: 18px; }
  body.bysilh-page.bys-product-page .bys-product-detail__summary { padding: 24px 20px; }
  body.bysilh-page.bys-product-page .bys-product-purchase { grid-template-columns: 1fr; }
  body.bysilh-page.bys-product-page .bys-product-quantity { width: 124px; }
  body.bysilh-page.bys-product-page .bys-product-buy-button { width: 100%; }
  body.bysilh-page.bys-product-page .bys-product-specs div { grid-template-columns: 1fr; gap: 4px; }
  body.bysilh-page.bys-product-page .bys-product-related__head { display: block; }
  body.bysilh-page.bys-product-page .bys-products-grid { grid-template-columns: 1fr; }
  body.bysilh-page.bys-product-page .bys-product-card__title { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  body.bysilh-page.bys-product-page *, body.bysilh-page.bys-product-page *::before, body.bysilh-page.bys-product-page *::after {
    scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important;
  }
}

body.bys-mini-cart-open { overflow: hidden; }
body.bysilh-page.bys-product-page .bys-mini-cart {
  position: fixed; inset: 0; z-index: 100000; display: flex; justify-content: flex-end;
  background: rgba(7, 6, 8, .58); opacity: 0; pointer-events: none;
  transition: opacity .24s ease; backdrop-filter: blur(3px);
}
body.bysilh-page.bys-product-page .bys-mini-cart.is-open { opacity: 1; pointer-events: auto; }
body.bysilh-page.bys-product-page .bys-mini-cart__panel {
  display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: clamp(380px, 30vw, 450px); height: 100dvh;
  outline: 0; background: #fff; box-shadow: -22px 0 60px rgba(9, 7, 10, .2);
  transform: translateX(100%); transition: transform .28s cubic-bezier(.2, .75, .25, 1);
}
body.bysilh-page.bys-product-page .bys-mini-cart.is-open .bys-mini-cart__panel { transform: translateX(0); }
body.bysilh-page.bys-product-page .bys-mini-cart__header {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 30px 28px 24px;
  border-bottom: 1px solid #e7e3e8;
}
body.bysilh-page.bys-product-page .bys-mini-cart__header p {
  margin: 0 0 7px; color: var(--bys-purple); font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase;
}
body.bysilh-page.bys-product-page .bys-mini-cart__header h2 { margin: 0; font-size: 27px; line-height: 1.05; letter-spacing: -.035em; }
body.bysilh-page.bys-product-page .bys-mini-cart__close {
  flex: 0 0 auto; display: grid; place-items: center; width: 44px; height: 44px; padding: 0;
  border: 1px solid #ddd8de; border-radius: 50%; background: #fff; color: #111; font: inherit; font-size: 24px; cursor: pointer;
}
body.bysilh-page.bys-product-page .bys-mini-cart__close:hover { border-color: #111; background: #111; color: #fff; }
body.bysilh-page.bys-product-page .bys-mini-cart__content { min-height: 0; overflow-y: auto; padding: 28px; }
body.bysilh-page.bys-product-page .bys-mini-cart__item { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 20px; }
body.bysilh-page.bys-product-page .bys-mini-cart__item--no-image { grid-template-columns: 1fr; }
body.bysilh-page.bys-product-page .bys-mini-cart__item > img {
  display: block; width: 112px; height: 112px; border-radius: 14px; background: #f3f1f4; object-fit: contain;
}
body.bysilh-page.bys-product-page .bys-mini-cart__item h3 { margin: 2px 0 13px; font-size: 19px; line-height: 1.12; }
body.bysilh-page.bys-product-page .bys-mini-cart__item p { margin: 7px 0 0; color: #655f67; font-size: 13px; }
body.bysilh-page.bys-product-page .bys-mini-cart__item dl { display: grid; gap: 5px; margin: 0 0 12px; font-size: 12px; }
body.bysilh-page.bys-product-page .bys-mini-cart__item dl div { display: flex; flex-wrap: wrap; gap: 5px; }
body.bysilh-page.bys-product-page .bys-mini-cart__item dt { color: #777178; }
body.bysilh-page.bys-product-page .bys-mini-cart__item dt::after { content: " :"; }
body.bysilh-page.bys-product-page .bys-mini-cart__item dd { margin: 0; font-weight: 800; }
body.bysilh-page.bys-product-page .bys-mini-cart__subtotal {
  display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-top: 30px; padding-top: 22px;
  border-top: 1px solid #e7e3e8; font-size: 15px;
}
body.bysilh-page.bys-product-page .bys-mini-cart__subtotal strong { font-size: 21px; }
body.bysilh-page.bys-product-page .bys-mini-cart__count { margin: 10px 0 0; color: #777178; font-size: 12px; text-align: right; }
body.bysilh-page.bys-product-page .bys-mini-cart__actions {
  display: grid; gap: 10px; padding: 22px 28px max(24px, env(safe-area-inset-bottom)); border-top: 1px solid #e7e3e8; background: #fff;
}
body.bysilh-page.bys-product-page .bys-mini-cart__primary,
body.bysilh-page.bys-product-page .bys-mini-cart__secondary {
  display: flex; min-height: 52px; align-items: center; justify-content: center; padding: 13px 20px;
  border: 1px solid #0b0a0c; border-radius: 999px; font: inherit; font-size: 11px; font-weight: 900;
  letter-spacing: .075em; text-align: center; text-decoration: none; text-transform: uppercase; cursor: pointer;
}
body.bysilh-page.bys-product-page .bys-mini-cart__primary { background: #0b0a0c; color: #fff; }
body.bysilh-page.bys-product-page .bys-mini-cart__primary:hover { border-color: var(--bys-purple); background: var(--bys-purple); }
body.bysilh-page.bys-product-page .bys-mini-cart__secondary { background: #fff; color: #0b0a0c; }
body.bysilh-page.bys-product-page .bys-mini-cart__secondary:hover { background: #f2eff3; }

@media (max-width: 767px) {
  body.bysilh-page.bys-product-page .bys-mini-cart { align-items: flex-end; }
  body.bysilh-page.bys-product-page .bys-mini-cart__panel {
    width: 100%; height: auto; max-height: 85dvh; border-radius: 24px 24px 0 0;
    transform: translateY(100%); box-shadow: 0 -20px 60px rgba(9, 7, 10, .2);
  }
  body.bysilh-page.bys-product-page .bys-mini-cart.is-open .bys-mini-cart__panel { transform: translateY(0); }
  body.bysilh-page.bys-product-page .bys-mini-cart__header { padding: 23px 20px 18px; }
  body.bysilh-page.bys-product-page .bys-mini-cart__header h2 { font-size: 24px; }
  body.bysilh-page.bys-product-page .bys-mini-cart__content { padding: 22px 20px; }
  body.bysilh-page.bys-product-page .bys-mini-cart__item { grid-template-columns: 92px minmax(0, 1fr); gap: 16px; }
  body.bysilh-page.bys-product-page .bys-mini-cart__item > img { width: 92px; height: 92px; }
  body.bysilh-page.bys-product-page .bys-mini-cart__actions { padding: 17px 20px max(20px, calc(env(safe-area-inset-bottom) + 12px)); }
}

@scope (body.services-universe) {
@media (max-width: 1180px) {
  .services-offer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .services-split,
  .services-section-head,
  .services-contact__grid { grid-template-columns: 1fr; gap: 36px; }
  .services-cards { grid-template-columns: 1fr; }
  .services-card { min-height: 440px; }
  .services-steps { grid-template-columns: repeat(2, 1fr); }
  .services-steps article:nth-child(2) { border-right: 0; }
  .services-steps article:nth-child(-n+2) { border-bottom: 1px solid rgba(255, 255, 255, 0.22); }
  .services-outcomes .services-wrap > div { grid-template-columns: 1fr; }
  .services-outcomes article,
  .services-outcomes article:first-child { padding: 24px 0; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
  .services-related .services-wrap > div { grid-template-columns: 1fr; }
  .services-cta .services-wrap > div { display: block; }
  .services-cta .services-button { margin-top: 32px; }
  .services-footer__grid { grid-template-columns: 1fr 1fr; }
  .services-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 980px) {
  .services-footer__grid { grid-template-columns: 1fr 1fr; }
  .services-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
  :scope { --services-gutter: 18px; }
  .services-hero { min-height: 630px; padding: 110px 0 66px; }
  .services-hero--hub { background-image: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.91)), var(--services-hero-mobile); }
  .services-hero h1 { font-size: clamp(2.85rem, 13vw, 4rem); line-height: 0.94; }
  .services-hero__content > p:not(.services-kicker) { font-size: 1.02rem; }
  .services-actions,
  .services-actions .services-button,
  .services-hero__content > .services-button { width: 100%; }
  .services-overview h2,
  .services-section-head h2,
  .services-method h2,
  .services-editorial h2,
  .services-deliverables h2,
  .services-related h2,
  .services-faq h2,
  .services-contact h2 { font-size: 2.55rem; }
  .services-stats { grid-template-columns: 1fr; }
  .services-stats div,
  .services-stats div:first-child { padding: 18px 0; border-right: 0; border-bottom: 1px solid var(--services-line); }
  .services-card { min-height: 410px; border-radius: 15px; }
  .services-card__body { inset: auto 22px 25px; }
  .services-card h3 { font-size: 2rem; }
  .services-offer-grid { grid-template-columns: 1fr; }
  .services-offer-grid article > div { padding: 25px 22px; }
  .services-steps { grid-template-columns: 1fr; }
  .services-steps article,
  .services-steps article:first-child { min-height: 0; padding: 24px 0; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.22); }
  .services-mini-grid { grid-template-columns: 1fr; }
  .services-contact__form { grid-template-columns: 1fr; }
  .services-contact__form label { grid-column: 1; }
  .services-contact__form .services-button { width: 100%; }
  .services-footer__grid { grid-template-columns: 1fr; gap: 38px; }
  .services-footer__brand { grid-column: auto; }
  .services-footer ul { columns: 1; }
  .services-footer__bottom { display: block; }
  .services-footer__bottom > a { display: inline-block; margin-top: 10px; }
}

@media (max-height: 500px) and (orientation: landscape) {
  .services-hero { min-height: 100svh; padding: 92px 0 40px; }
  .services-hero h1 { max-width: 860px; font-size: clamp(2.7rem, 8vw, 4.4rem); }
  .services-hero__content > p:not(.services-kicker) { margin-bottom: 24px; font-size: 0.98rem; }
}

@media (prefers-reduced-motion: reduce) {
  :scope *,
  :scope *::before,
  :scope *::after { scroll-behavior: auto; transition-duration: 0.01ms; animation-duration: 0.01ms; animation-iteration-count: 1; }
  .services-js [data-reveal] { opacity: 1; transform: none; }
}
}
/* Headless commerce: cart drawer, cart and checkout only */
body.bys-cart-drawer-open { overflow: hidden; }
.bys-cart-drawer {
  position: fixed; inset: 0; z-index: 100000; display: flex; justify-content: flex-end;
  background: rgb(6 4 8 / 58%); opacity: 0; pointer-events: none; transition: opacity .24s ease;
}
.bys-cart-drawer.is-open { opacity: 1; pointer-events: auto; }
.bys-cart-drawer__panel {
  display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; width: min(430px,100%); height: 100%;
  background: #fff; color: #0b0a0c; box-shadow: -20px 0 60px rgb(0 0 0 / 18%); transform: translateX(100%);
  transition: transform .28s cubic-bezier(.2,.8,.2,1); outline: 0;
}
.bys-cart-drawer.is-open .bys-cart-drawer__panel { transform: translateX(0); }
.bys-cart-drawer__header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:25px 26px 20px; border-bottom:1px solid #e9e5ea; }
.bys-cart-drawer__header p { margin:0 0 3px; color:#5b00ff; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.bys-cart-drawer__header h2 { margin:0; font-size:28px; letter-spacing:-.04em; }
.bys-cart-drawer__close { width:44px; height:44px; border:1px solid #d8d2da; border-radius:50%; background:#fff; color:#111; font-size:28px; cursor:pointer; }
.bys-cart-drawer__close:hover,.bys-cart-drawer__close:focus-visible { border-color:#111; background:#111; color:#fff; }
.bys-cart-drawer__status { min-height:24px; padding:8px 26px 0; color:#5b00ff; font-size:12px; }
.bys-cart-drawer__content { min-height:0; overflow:auto; padding:18px 26px 28px; }
.bys-cart-line { display:grid; grid-template-columns:88px minmax(0,1fr); gap:16px; padding:18px 0; border-bottom:1px solid #ebe7ec; }
.bys-cart-line>img { width:88px; height:88px; border-radius:12px; object-fit:cover; background:#f4f1f5; }
.bys-cart-line h3 { margin:0 0 8px; font-size:17px; line-height:1.15; }
.bys-cart-line dl,.bys-cart-page-line__variation { margin:0 0 8px; font-size:12px; color:#69636b; }
.bys-cart-line dl div,.bys-cart-page-line__variation div { display:flex; gap:5px; }
.bys-cart-line dt::after,.bys-cart-page-line__variation dt::after { content:" :"; }
.bys-cart-line dd,.bys-cart-page-line__variation dd { margin:0; font-weight:700; }
.bys-cart-line__price { margin:0 0 10px; font-weight:800; }
.bys-cart-line__controls { display:flex; align-items:end; justify-content:space-between; gap:12px; }
.bys-cart-line__controls label { display:grid; gap:4px; font-size:11px; }
.bys-cart-line__controls input { width:68px; min-height:40px; border:1px solid #d8d2da; border-radius:8px; padding:5px 8px; }
.bys-cart-line__controls button,.bys-cart-page-line__actions button,.bys-cart-page__section-title button,.bys-applied-coupons button { border:0; background:none; color:#5b00ff; font:inherit; font-size:12px; font-weight:750; cursor:pointer; text-decoration:underline; }
.bys-cart-drawer__actions { display:grid; gap:10px; padding:20px 26px max(24px,env(safe-area-inset-bottom)); border-top:1px solid #e9e5ea; background:#fff; }
.bys-cart-drawer__subtotal { display:flex; justify-content:space-between; gap:15px; margin-bottom:4px; font-size:17px; }
.bys-cart-drawer__primary,.bys-cart-drawer__secondary,.bys-commerce-primary,.bys-commerce-secondary { display:flex; min-height:48px; align-items:center; justify-content:center; border:1px solid #0b0a0c; border-radius:999px; padding:10px 20px; font-weight:800; text-align:center; text-decoration:none; }
.bys-cart-drawer__primary,.bys-commerce-primary { background:#0b0a0c; color:#fff; }
.bys-cart-drawer__primary:hover,.bys-commerce-primary:hover { border-color:#5b00ff; background:#5b00ff; }
.bys-cart-drawer__secondary,.bys-commerce-secondary { background:#fff; color:#0b0a0c; }
.bys-cart-drawer__empty { padding:50px 10px; text-align:center; }
.bys-cart-drawer__empty a { color:#5b00ff; font-weight:800; }

body.bysilh-page .bys-commerce-page { width:min(1180px,calc(100% - 40px)); min-height:60vh; margin:0 auto; padding:clamp(54px,7vw,100px) 0 90px; }
.bys-commerce-page__intro { max-width:700px; margin-bottom:42px; }
.bys-commerce-page__eyebrow { margin:0 0 10px; color:#5b00ff; font-size:12px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.bys-commerce-page__intro h1,.bys-order-state h1 { margin:0 0 14px; font-size:clamp(42px,7vw,84px); line-height:.92; letter-spacing:-.055em; }
.bys-commerce-page__intro>p:last-child { color:#665f68; }
.bys-commerce-alert { min-height:26px; margin:0 0 18px; color:#5b00ff; font-weight:650; }
.bys-commerce-alert[data-state="error"] { color:#a32643; }
.bys-cart-page__layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(290px,.8fr); gap:clamp(28px,5vw,70px); align-items:start; }
.bys-cart-page__items,.bys-cart-summary,.bys-checkout-form fieldset,.bys-checkout-summary { border:1px solid #e2dde4; border-radius:18px; background:#fff; }
.bys-cart-page__items { padding:clamp(20px,4vw,34px); }
.bys-cart-page__section-title { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:8px; }
.bys-cart-page__section-title h2,.bys-cart-summary h2,.bys-checkout-summary h2 { margin:0; font-size:25px; }
.bys-cart-page-line { display:grid; grid-template-columns:120px minmax(0,1fr) auto; gap:22px; align-items:start; padding:26px 0; border-bottom:1px solid #eae6eb; }
.bys-cart-page-line__media img { width:120px; height:120px; border-radius:14px; object-fit:cover; background:#f5f2f6; }
.bys-cart-page-line h3 { margin:3px 0 9px; font-size:20px; }
.bys-cart-page-line__body>p { margin:0 0 14px; color:#676068; }
.bys-cart-page-line__actions { display:flex; align-items:end; gap:18px; }
.bys-cart-page-line__actions label { display:grid; gap:5px; font-size:12px; }
.bys-cart-page-line__actions input { width:78px; min-height:44px; border:1px solid #d8d2da; border-radius:9px; padding:8px; }
.bys-cart-page-line__total { padding-top:5px; white-space:nowrap; font-size:18px; }
.bys-coupon-form { display:grid; gap:8px; margin-top:28px; }
.bys-coupon-form>div { display:flex; gap:10px; }
.bys-coupon-form input { flex:1; min-width:0; min-height:46px; border:1px solid #d8d2da; border-radius:10px; padding:10px 13px; }
.bys-coupon-form button { min-height:46px; border:0; border-radius:999px; padding:9px 20px; background:#5b00ff; color:#fff; font-weight:800; cursor:pointer; }
.bys-applied-coupons>div { display:flex; justify-content:space-between; margin-top:12px; padding:12px 15px; border-radius:10px; background:#f4f0ff; }
.bys-cart-summary { position:sticky; top:calc(var(--bys-header-height,80px) + 24px); display:grid; gap:22px; padding:28px; }
.bys-cart-summary dl,.bys-checkout-summary dl { display:grid; gap:12px; margin:0; }
.bys-cart-summary dl>div,.bys-checkout-summary dl>div { display:flex; justify-content:space-between; gap:16px; }
.bys-cart-summary dd,.bys-checkout-summary dd { margin:0; font-weight:800; }
.bys-cart-summary__total { margin-top:8px; padding-top:16px; border-top:1px solid #d8d2da; font-size:20px; }
.bys-commerce-empty,.bys-order-state { max-width:760px; margin:30px auto; padding:clamp(34px,7vw,70px); border:1px solid #e2dde4; border-radius:22px; text-align:center; }
.bys-commerce-empty>div,.bys-order-state>div { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:28px; }

.bys-checkout-form { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr); gap:clamp(28px,5vw,60px); align-items:start; }
.bys-checkout-form__fields { display:grid; gap:22px; }
.bys-checkout-form fieldset { min-width:0; margin:0; padding:clamp(20px,4vw,32px); }
.bys-checkout-form legend { padding:0 9px; font-size:21px; font-weight:850; }
.bys-address-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.bys-address-grid label,.bys-checkout-note { display:grid; gap:6px; font-size:13px; font-weight:700; }
.bys-address-grid .is-wide { grid-column:1/-1; }
.bys-address-grid input,.bys-address-grid select,.bys-checkout-note textarea { width:100%; min-height:48px; border:1px solid #d6d0d8; border-radius:10px; padding:10px 12px; background:#fff; color:#111; font:inherit; }
.bys-address-grid input:focus,.bys-address-grid select:focus,.bys-checkout-note textarea:focus { border-color:#5b00ff; outline:3px solid rgb(91 0 255 / 14%); }
.bys-checkout-same,.bys-checkout-terms { display:flex; min-height:44px; align-items:center; gap:10px; font-weight:750; }
.bys-checkout-same input,.bys-checkout-terms input { width:20px; height:20px; accent-color:#5b00ff; }
[data-shipping-rates]>fieldset { padding:8px 0 0; border:0; }
[data-shipping-rates] label,.bys-payment-method { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:start; min-height:48px; padding:13px 0; border-bottom:1px solid #e7e2e8; }
.bys-payment-method { grid-template-columns:auto 1fr; }
.bys-payment-method small { display:block; margin-top:4px; color:#706a72; font-weight:450; line-height:1.4; }
.bys-payment-method.is-disabled { opacity:.68; }
.bys-checkout-summary { position:sticky; top:calc(var(--bys-header-height,80px) + 24px); display:grid; gap:22px; padding:28px; }
[data-checkout-items] article { display:flex; justify-content:space-between; gap:15px; padding:11px 0; border-bottom:1px solid #e8e3e9; font-size:13px; }
.bys-checkout-summary button { width:100%; border:1px solid #0b0a0c; cursor:pointer; font:inherit; }
.bys-checkout-summary button:disabled { cursor:not-allowed; opacity:.5; }
.bys-checkout-secure { margin:0; color:#6d6670; font-size:12px; text-align:center; }

@media (max-width: 767px) {
  .bys-cart-drawer { align-items:flex-end; }
  .bys-cart-drawer__panel { width:100%; height:auto; max-height:85vh; border-radius:22px 22px 0 0; transform:translateY(100%); }
  .bys-cart-drawer.is-open .bys-cart-drawer__panel { transform:translateY(0); }
  body.bysilh-page .bys-commerce-page { width:min(100% - 28px,1180px); padding-top:42px; }
  .bys-cart-page__layout,.bys-checkout-form { grid-template-columns:1fr; }
  .bys-cart-summary,.bys-checkout-summary { position:static; }
  .bys-cart-page-line { grid-template-columns:88px minmax(0,1fr); gap:15px; }
  .bys-cart-page-line__media img { width:88px; height:88px; }
  .bys-cart-page-line__total { grid-column:2; padding:0; }
  .bys-address-grid { grid-template-columns:1fr; }
  .bys-address-grid .is-wide { grid-column:auto; }
  .bys-coupon-form>div { flex-direction:column; }
}
@media (prefers-reduced-motion: reduce) {
  .bys-cart-drawer,.bys-cart-drawer__panel { transition:none; }
}

/* Liens légaux et réouverture du gestionnaire de cookies */
body.bysilh-page .bys-footer .bys-footer__cookie-settings,
.services-footer .services-footer__cookie-settings,
.site-footer .site-footer__cookie-settings {
  appearance: none;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-align: left;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

body.bysilh-page .bys-footer .bys-footer__cookie-settings {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

body.bysilh-page .bys-footer .bys-footer__cookie-settings:hover,
.services-footer .services-footer__cookie-settings:hover,
.site-footer .site-footer__cookie-settings:hover {
  color: #8f55ff;
}

/* Formulaire de contact : champ anti-robots réellement invisible */
.bysilh-honeypot {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Bandeau partenaires de la page principale Services */
.services-partners {
  padding: clamp(54px, 6vw, 78px) 0;
  border-top: 1px solid var(--services-line);
  border-bottom: 1px solid var(--services-line);
  background: var(--services-paper);
}

.services-partners__inner {
  display: grid;
  grid-template-columns: minmax(270px, .52fr) minmax(0, 1.48fr);
  gap: clamp(34px, 6vw, 90px);
  align-items: center;
}

.services-partners__heading .services-kicker {
  margin-bottom: 12px;
  color: var(--services-purple);
}

.services-partners__heading h2 {
  margin: 0;
  color: var(--services-black);
  font-size: clamp(2.15rem, 3.35vw, 3.75rem);
  font-weight: 500;
  line-height: .95;
  letter-spacing: -.045em;
  text-transform: uppercase;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

.services-partners__logos {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--services-line);
  border-left: 1px solid var(--services-line);
  background: #fff;
}

.services-partners__logo {
  display: grid;
  place-items: center;
  min-height: 170px;
  padding: 18px;
  border-right: 1px solid var(--services-line);
  border-bottom: 1px solid var(--services-line);
  background: #fff;
}

.services-partners__logo img {
  display: block;
  width: 100%;
  max-width: 178px;
  max-height: 112px;
  object-fit: contain;
}

@media (max-width: 900px) {
  .services-partners__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .services-partners__logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .services-partners {
    padding: 46px 0;
  }

  .services-partners__logo {
    min-height: 140px;
    padding: 16px;
  }

  .services-partners__logo img {
    max-width: 190px;
    max-height: 104px;
  }
}

.services-partners__logo--linked {
  color: inherit;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}

.services-partners__logo--linked:hover,
.services-partners__logo--linked:focus-visible {
  background: #f7f5fb;
  transform: translateY(-2px);
}

/* Hero Boutique : respiration autour de l’image principale */
#bysilh-catalogue .bys-intro {
  gap: clamp(18px, 2.2vw, 34px);
  padding: clamp(22px, 2.6vw, 40px);
  padding-top: clamp(26px, 3vw, 46px);
  background: #fff;
}

#bysilh-catalogue .bys-intro__text {
  padding: clamp(44px, 6vw, 96px);
}

#bysilh-catalogue .bys-intro__image {
  min-height: 560px;
  border-radius: clamp(18px, 2vw, 28px);
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(5, 5, 5, .10);
}

#bysilh-catalogue .bys-intro__image img {
  display: block;
}

@media (max-width: 900px) {
  #bysilh-catalogue .bys-intro {
    gap: 18px;
    padding: 18px;
    padding-top: 24px;
  }

  #bysilh-catalogue .bys-intro__text {
    padding: 48px 24px 32px;
  }

  #bysilh-catalogue .bys-intro__image {
    min-height: 0;
    border-radius: 20px;
  }
}

@media (max-width: 520px) {
  #bysilh-catalogue .bys-intro {
    padding: 12px;
    padding-top: 16px;
  }

  #bysilh-catalogue .bys-intro__text {
    padding: 38px 12px 24px;
  }

  #bysilh-catalogue .bys-intro__image {
    border-radius: 16px;
  }
}


/* =========================================================
   SERVICES — LARGEUR ÉDITORIALE 2.5.4
   Uniquement l’univers Services. La Boutique reste intacte.
   ========================================================= */
body.services-universe .services-wrap,
body.page-template-template-services .services-wrap {
  width: 90%;
  max-width: none;
  margin-inline: auto;
}

/* =========================================================
   IDENTITÉ VISUELLE — RÉALISATIONS PREMIUM
   ========================================================= */
body.services-universe .idv-realizations {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-top: clamp(88px, 8vw, 138px);
  padding-bottom: clamp(92px, 9vw, 150px);
  background:
    radial-gradient(circle at 92% 5%, rgba(98, 0, 255, .38), transparent 32rem),
    radial-gradient(circle at 8% 92%, rgba(98, 0, 255, .18), transparent 28rem),
    #050505;
  color: #fff;
}

body.services-universe .idv-realizations::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .22;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 82%, transparent);
}

body.services-universe .idv-realizations__inner {
  position: relative;
  z-index: 1;
}

body.services-universe .idv-realizations__head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .65fr);
  gap: 30px clamp(48px, 7vw, 120px);
  align-items: end;
  margin-bottom: clamp(52px, 6vw, 84px);
  padding-bottom: clamp(30px, 3vw, 44px);
  border-bottom: 1px solid rgba(255,255,255,.22);
}

body.services-universe .idv-realizations__head .idv-kicker {
  grid-column: 1 / -1;
  margin: 0 !important;
  color: #a66cff !important;
}

body.services-universe .idv-realizations__head h2 {
  max-width: 930px;
  margin: 0;
  color: #fff !important;
  font-size: clamp(44px, 5.6vw, 88px) !important;
  line-height: .92 !important;
  letter-spacing: -.05em !important;
}

body.services-universe .idv-realizations__head > p:last-child {
  max-width: 520px;
  margin: 0;
  justify-self: end;
  color: rgba(255,255,255,.68) !important;
  font-size: clamp(16px, 1.35vw, 20px);
  line-height: 1.6;
}

body.services-universe .idv-realizations__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.7vw, 28px);
  border: 0;
  counter-reset: idv-realization;
}

body.services-universe .idv-realization {
  position: relative;
  display: grid;
  place-items: center;
  min-height: clamp(280px, 22vw, 380px);
  margin: 0;
  padding: clamp(16px, 1.8vw, 24px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: clamp(18px, 1.8vw, 28px);
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(244,243,249,.94));
  box-shadow:
    0 28px 80px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.9);
  counter-increment: idv-realization;
  transition:
    transform .35s cubic-bezier(.2,.7,.2,1),
    border-color .35s ease,
    box-shadow .35s ease;
}

body.services-universe .idv-realization::before {
  content: counter(idv-realization, decimal-leading-zero);
  position: absolute;
  top: 22px;
  left: 24px;
  color: rgba(5,5,5,.32);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .16em;
}

body.services-universe .idv-realization::after {
  content: "";
  position: absolute;
  right: -55px;
  bottom: -55px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(98,0,255,.16), transparent 68%);
  transition: transform .35s ease;
}

body.services-universe .idv-realization:nth-child(1),
body.services-universe .idv-realization:nth-child(6),
body.services-universe .idv-realization:nth-child(9) {
  grid-column: auto;
}

body.services-universe .idv-realization img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  background: #fff;
  filter: saturate(.96) contrast(1.02);
  transition: transform .4s cubic-bezier(.2,.7,.2,1);
}

body.services-universe .idv-realization:nth-child(1) img,
body.services-universe .idv-realization:nth-child(6) img,
body.services-universe .idv-realization:nth-child(9) img {
  max-width: none;
  max-height: none;
}

body.services-universe .idv-realization:hover {
  z-index: 2;
  transform: translateY(-8px);
  border-color: rgba(166,108,255,.72);
  box-shadow:
    0 34px 96px rgba(0,0,0,.34),
    0 0 0 1px rgba(98,0,255,.15);
}

body.services-universe .idv-realization:hover::after {
  transform: scale(1.35);
}

/*
 * Le 3e visuel (CWD / IMG_9044.png) est un PNG transparent, contrairement
 * aux réalisations voisines qui embarquent déjà leur propre canvas blanc.
 * On recrée donc ce même canvas dans la carte, derrière le PNG, afin que la
 * transparence ne révèle ni le halo violet de la carte ni son compteur.
 */
body.services-universe .idv-realization:nth-child(3)::after {
  inset: clamp(16px, 1.8vw, 24px);
  width: auto;
  height: auto;
  border-radius: 0;
  background: #fff;
  transform: none;
  transition: none;
}

body.services-universe .idv-realization:nth-child(3):hover::after {
  transform: none;
}

body.services-universe .idv-realization:hover img {
  transform: scale(1.055);
}

@media (max-width: 1100px) {
  body.services-universe .services-wrap,
  body.page-template-template-services .services-wrap {
    width: 92%;
  }

  body.services-universe .idv-realizations__head {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  body.services-universe .idv-realizations__head .idv-kicker {
    grid-column: auto;
  }

  body.services-universe .idv-realizations__head > p:last-child {
    justify-self: start;
  }

  body.services-universe .idv-realizations__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.services-universe .idv-realization:nth-child(n) {
    grid-column: span 1;
  }

  body.services-universe .idv-realization:nth-child(1),
  body.services-universe .idv-realization:nth-child(5),
  body.services-universe .idv-realization:nth-child(9) {
    grid-column: span 1;
  }
}

@media (max-width: 700px) {
  body.services-universe .services-wrap,
  body.page-template-template-services .services-wrap {
    width: calc(100% - 32px);
  }

  body.services-universe .idv-realizations {
    padding-top: 72px;
    padding-bottom: 84px;
  }

  body.services-universe .idv-realizations__head {
    margin-bottom: 38px;
    padding-bottom: 28px;
  }

  body.services-universe .idv-realizations__head h2 {
    font-size: clamp(36px, 11vw, 54px) !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body.services-universe .idv-realizations__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-inline: 0;
    padding-inline: 0;
    overflow: visible;
  }

  body.services-universe .idv-realization,
  body.services-universe .idv-realization:nth-child(n) {
    width: 100%;
    min-height: 310px;
    grid-column: auto;
  }

  body.services-universe .idv-realization img,
  body.services-universe .idv-realization:nth-child(n) img {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
  }
}
