/* Réseau: the lighting and electronics store, lit up at night.
   The showroom's photograph fills the whole hero, edge to edge, on the phone
   as on the computer, and the welcome is set straight on its dark side under
   a night gradient, the way a lit shop reads from the street. After it the
   page is daylight: white and cool grey grounds, one wide typeface, the
   products as lit white boxes, a night band for the reasons and the figures,
   and a warm-light closing band. No drawn ornaments: every shape is real
   content. Revamped 2026-09-24 (Archivo, one variable family set wide for
   display and normal for text); the engines' bands take the same tokens. */

body.shop-reseau {
  --font-display: "Archivo", "Arial", system-ui, sans-serif;
  --font-body: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ground: #ffffff;
  --surface: #f2f4f7;
  --surface-2: #e4e8ee;
  --ink: #10141c;
  --ink-soft: #4d5666;
  --line: #dfe3ea;
  --night: #0e121a;
  --night-2: #171d29;
  --night-line: rgba(255, 255, 255, .14);
  --night-soft: rgba(255, 255, 255, .74);
  --glow: #ffd27d;
  --radius: 14px;
  --radius-sm: 10px;
  --radius-btn: 10px;
  --header-h: 72px;
  --space-section: clamp(56px, 7vw, 104px);
}

.shop-reseau h1, .shop-reseau h2 {
  font-family: var(--font-display); font-stretch: 116%; font-weight: 800; letter-spacing: -.02em; line-height: 1.02;
  text-wrap: balance; overflow-wrap: anywhere;
}
.shop-reseau h2 { font-size: clamp(1.85rem, 1.25rem + 2.1vw, 3rem); }
.shop-reseau h3 { font-family: var(--font-body); font-stretch: 100%; font-weight: 700; letter-spacing: -.005em; }
.shop-reseau .eyebrow {
  color: var(--primary-text); font-size: .76rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
}
.shop-reseau .lead { color: var(--ink-soft); }
.shop-reseau .btn { font-weight: 700; }
/* One shape language: 10px on controls, 14px on cards and photographs, the shared parts too. */
.shop-reseau .chip, .shop-reseau .option, .shop-reseau .sort, .shop-reseau .basket-link, .shop-reseau .add-button,
.shop-reseau .badge, .shop-reseau .qty, .shop-reseau .qty button, .shop-reseau .policy-nav a,
.shop-reseau .menu-button, .shop-reseau .toast { border-radius: 10px; }
.shop-reseau .basket-count { border-radius: 7px; }
.shop-reseau .brand-word strong { font-family: var(--font-display); font-stretch: 116%; font-weight: 800; }
.shop-reseau .desktop-nav a { font-weight: 600; }
.shop-reseau .desktop-nav a[aria-current="page"], .shop-reseau .desktop-nav a:hover { border-color: var(--primary); }
.shop-reseau .basket-link { background: var(--night); color: #ffffff; }
.shop-reseau .basket-count { background: var(--glow); color: var(--night); }

.shop-reseau .rs-link {
  display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; color: var(--primary-text);
  text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px;
}
/* A heading keeps its label above and its line right under it. */
.shop-reseau .rs-head { max-width: 700px; margin-bottom: clamp(24px, 4vw, 44px); }
.shop-reseau .rs-head h2 { margin-bottom: .3em; }
.shop-reseau .rs-head .lead { margin: 0; }
.shop-reseau .rs-head--center { margin-inline: auto; text-align: center; }
.shop-reseau .rs-head--center .lead { margin-inline: auto; }
.shop-reseau .rs-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.shop-reseau .rs-btn-line { border-color: var(--ink); background: var(--ground); color: var(--ink); }
.shop-reseau .rs-btn-light { border-color: rgba(255, 255, 255, .9); background: transparent; color: #ffffff; }
.shop-reseau .rs-btn-light:hover { background: rgba(255, 255, 255, .1); }

/* Hero: the photograph edge to edge and top to bottom, on the phone as on the
   computer, the words on its dark side under a night gradient (Tumi
   2026-09-24: full-width hero images with the words on them, desktop and
   mobile). The photo lights up as the page opens. */
.shop-reseau .rs-hero {
  position: relative; isolation: isolate; overflow: hidden; display: grid; align-items: end;
  min-height: 86vh; min-height: max(600px, calc(100svh - var(--header-h) - 24px));
  padding: 0; background: var(--night); color: #ffffff;
}
.shop-reseau .rs-hero .rs-hero__photo {
  position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%;
  border-radius: 0; animation: rs-lights-on 1.2s ease-out both;
}
.shop-reseau .rs-hero::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(to top, rgba(14, 18, 26, .97) 0%, rgba(14, 18, 26, .9) 44%,
                              rgba(14, 18, 26, .74) 60%, rgba(14, 18, 26, .34) 78%, rgba(14, 18, 26, 0) 92%);
}
.shop-reseau .rs-hero__frame { position: relative; z-index: 1; padding-block: 0 clamp(28px, 5vh, 56px); }
.shop-reseau .rs-hero__panel {
  max-width: 700px; padding: 0; background: none; color: #ffffff;
  animation: rs-words-up .7s .15s cubic-bezier(.2, .7, .2, 1) both;
}
.shop-reseau .rs-label {
  display: inline-block; margin: 0 0 16px; color: var(--glow);
  font-size: .78rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
}
.shop-reseau .rs-hero h1 {
  margin: 0 0 .34em; color: #ffffff; font-size: clamp(2.3rem, 1.45rem + 3.7vw, 5rem); line-height: .98;
}
.shop-reseau .rs-hero .lead {
  max-width: 54ch; margin: 0 0 26px; color: rgba(255, 255, 255, .86); font-size: clamp(1.02rem, .96rem + .3vw, 1.18rem);
}
@media (max-width: 480px) {
  .shop-reseau .rs-hero h1 { font-size: clamp(2.05rem, 1.45rem + 2.9vw, 2.5rem); }
  .shop-reseau .rs-hero .lead { font-size: .98rem; line-height: 1.5; }
}
.shop-reseau .rs-hero :focus-visible { outline-color: #ffffff; }
/* A dark brand colour still shows its button edge on the night ground. */
.shop-reseau .rs-hero .btn--primary { border-color: color-mix(in srgb, var(--primary) 70%, #ffffff); }
@media (min-width: 900px) {
  .shop-reseau .rs-hero { min-height: clamp(600px, 88vh, 860px); }
  .shop-reseau .rs-hero::after {
    background:
      linear-gradient(90deg, rgba(14, 18, 26, .95) 0%, rgba(14, 18, 26, .82) 30%, rgba(14, 18, 26, .36) 56%,
                      rgba(14, 18, 26, 0) 78%),
      linear-gradient(to top, rgba(14, 18, 26, .6) 0%, rgba(14, 18, 26, 0) 42%);
  }
  .shop-reseau .rs-hero__frame { padding-block: 0 clamp(56px, 10vh, 112px); }
}
.shop-reseau .rs-hero--solo { min-height: 0; padding-block: clamp(48px, 8vw, 110px); }
.shop-reseau .rs-hero--solo::after { content: none; }
@keyframes rs-lights-on { from { filter: brightness(.42) saturate(.75); } to { filter: none; } }
@keyframes rs-words-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .shop-reseau .rs-hero .rs-hero__photo, .shop-reseau .rs-hero__panel { animation: none; }
}

/* Story, reasons and visit: two even columns, centred on each other */
.shop-reseau .rs-split { display: grid; gap: clamp(24px, 5vw, 72px); grid-template-columns: 1fr; align-items: center; }
@media (min-width: 900px) {
  .shop-reseau .rs-split { grid-template-columns: 1fr 1fr; }
  .shop-reseau .rs-split--solo { grid-template-columns: minmax(0, 760px); }
}
.shop-reseau .rs-split__photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); }
.shop-reseau .rs-split__copy h2 { max-width: 16ch; margin-bottom: .35em; }
.shop-reseau .rs-text { font-size: 1.08rem; color: var(--ink-soft); max-width: 54ch; }

/* Popular: the products as lit white boxes; one lights up under the finger or the pointer */
.shop-reseau .rs-popular { background: var(--surface); }
.shop-reseau .rs-grid { gap: clamp(12px, 2vw, 20px); }
.shop-reseau .rs-card {
  border: 0; background: var(--ground);
  box-shadow: 0 1px 0 var(--line), 0 18px 36px -30px rgba(16, 20, 28, .55);
  transition: box-shadow .25s ease, transform .25s ease;
}
.shop-reseau .product-grid .rs-card { box-shadow: 0 1px 0 var(--line), 0 18px 36px -30px rgba(16, 20, 28, .55); }
.shop-reseau .rs-card:hover, .shop-reseau .rs-card:focus-within,
.shop-reseau .product-grid .rs-card:hover, .shop-reseau .product-grid .rs-card:focus-within {
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--glow) 75%, transparent),
              0 24px 48px -22px color-mix(in srgb, var(--glow) 90%, transparent);
  transform: translateY(-2px);
}
.shop-reseau .rs-card .product-art { background: #ffffff; }
.shop-reseau .rs-card .product-media { background: var(--surface-2); }
.shop-reseau .rs-card .product-media span {
  font-family: var(--font-display); font-stretch: 125%; font-weight: 800; font-size: 3rem; color: var(--ink-soft);
}
.shop-reseau .rs-card .product-info { gap: 4px; padding: 16px 18px 18px; }
.shop-reseau .rs-card .product-category {
  color: var(--ink-soft); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
}
.shop-reseau .rs-card h3 { font-size: 1.04rem; line-height: 1.3; }
.shop-reseau .rs-card .product-description { color: var(--ink-soft); font-size: .92rem; }
.shop-reseau .rs-card__price { font-family: var(--font-display); font-stretch: 112%; font-size: 1.16rem; font-weight: 800; }
.shop-reseau .rs-more { display: flex; justify-content: center; margin-top: clamp(24px, 4vw, 40px); }
@media (prefers-reduced-motion: reduce) {
  .shop-reseau .rs-card { transition: none; }
  .shop-reseau .rs-card:hover, .shop-reseau .product-grid .rs-card:hover { transform: none; }
}

/* Craft: the reasons in two ruled columns beside a photograph, on the night ground */
.shop-reseau .rs-why { background: var(--night); color: #ffffff; }
.shop-reseau .rs-why .eyebrow { color: var(--glow); }
.shop-reseau .rs-why h2 { color: #ffffff; }
.shop-reseau .rs-why :focus-visible { outline-color: #ffffff; }
.shop-reseau .rs-why__list { display: grid; grid-template-columns: 1fr; column-gap: 28px; margin: 22px 0 0; padding: 0; list-style: none; }
@media (min-width: 620px) { .shop-reseau .rs-why__list { grid-template-columns: 1fr 1fr; } }
.shop-reseau .rs-why__list li { padding: 18px 0; border-top: 1px solid var(--night-line); }
.shop-reseau .rs-why__list h3 { margin: 0 0 .3em; font-size: 1.08rem; color: #ffffff; }
.shop-reseau .rs-why__list p { margin: 0; color: var(--night-soft); }

/* How to order: three numbered boxes, a real sequence */
.shop-reseau .rs-steps { background: var(--surface); }
.shop-reseau .rs-steps__list {
  display: grid; gap: clamp(12px, 2vw, 18px); grid-template-columns: 1fr; margin: 0; padding: 0; list-style: none;
}
@media (min-width: 760px) { .shop-reseau .rs-steps__list { grid-template-columns: repeat(3, 1fr); } }
.shop-reseau .rs-steps__list li { padding: clamp(22px, 3vw, 30px); border-radius: var(--radius); background: var(--ground); }
.shop-reseau .rs-steps__n {
  display: block; margin-bottom: 18px; color: var(--primary-text);
  font-family: var(--font-display); font-stretch: 125%; font-size: 3rem; font-weight: 800; line-height: 1;
}
.shop-reseau .rs-steps h3 { margin-bottom: .3em; font-size: 1.14rem; }
.shop-reseau .rs-steps__list p { margin: 0; color: var(--ink-soft); }

/* Room: the photographs of one shape, the gallery's */
.shop-reseau .rs-room__grid { display: grid; gap: clamp(12px, 2vw, 20px); grid-template-columns: 1fr; }
@media (min-width: 760px) { .shop-reseau .rs-room__grid { grid-template-columns: 1fr 1fr; } }
.shop-reseau .rs-room__item img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius); }
.shop-reseau .rs-room__item figcaption { margin-top: 10px; font-size: .95rem; color: var(--ink-soft); }
.shop-reseau .rs-room .eng-cta { margin-top: 18px; }

/* Visit: the words beside a card of details */
.shop-reseau .rs-visit { background: var(--surface); }
.shop-reseau .rs-visit__card {
  padding: 6px clamp(18px, 3vw, 28px); border-radius: var(--radius); background: var(--ground);
  box-shadow: 0 1px 0 var(--line);
}
.shop-reseau [data-section="visit"] .sb-location-map__canvas { border-radius: var(--radius); }

/* Quote: centred, in the wide type */
.shop-reseau .rs-quote__box { max-width: 900px; margin: 0 auto; text-align: center; }
.shop-reseau .rs-quote blockquote { margin: 0; }
.shop-reseau .rs-quote blockquote p {
  margin: 0; font-family: var(--font-display); font-stretch: 112%; font-size: clamp(1.5rem, 1.05rem + 1.8vw, 2.5rem);
  font-weight: 700; line-height: 1.18; letter-spacing: -.015em; text-wrap: balance;
}
.shop-reseau .rs-quote figcaption { margin-top: 18px; font-weight: 700; color: var(--ink-soft); }

/* Closing: one call and one button on the warm-light band */
.shop-reseau .rs-closing { background: var(--glow); color: var(--night); text-align: center; }
.shop-reseau .rs-closing__inner { max-width: 780px; margin-inline: auto; }
.shop-reseau .rs-closing .eyebrow { color: var(--night); opacity: .78; }
.shop-reseau .rs-closing h2 { color: var(--night); font-size: clamp(2rem, 1.3rem + 2.6vw, 3.4rem); }
.shop-reseau .rs-closing .lead { margin: 0 auto 26px; color: rgba(14, 18, 26, .8); }
.shop-reseau .rs-closing .btn--primary { border-color: var(--night); background: var(--night); color: #ffffff; }
.shop-reseau .rs-closing .btn--primary:hover { background: var(--night-2); }

.shop-reseau .rs-footer { background: var(--night); color: #ffffff; border-top: 0; }
.shop-reseau .rs-footer h2 {
  font-family: var(--font-display); font-stretch: 116%; font-weight: 800; color: #ffffff;
  font-size: clamp(1.45rem, 1.1rem + 1.3vw, 2.1rem);
}
/* A long name (a web address typed as the name) wraps rather than widening the page. */
.shop-reseau .footer-grid > *, .shop-reseau .brand-word { min-width: 0; }
.shop-reseau .brand-word strong, .shop-reseau .rs-footer a, .shop-reseau .rs-footer span { overflow-wrap: anywhere; }
.shop-reseau .rs-footer h3 {
  color: rgba(255, 255, 255, .6); opacity: 1;
  font-family: var(--font-body); font-size: .76rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
}
.shop-reseau .rs-footer p, .shop-reseau .rs-footer span { color: rgba(255, 255, 255, .72); opacity: 1; }
.shop-reseau .rs-footer a { color: #ffffff; }
.shop-reseau .rs-footer .footer-bottom { border-top-color: rgba(255, 255, 255, .14); color: rgba(255, 255, 255, .6); opacity: 1; }

/* The engines, in Réseau's own look */
.shop-reseau .eng-figures-band { background: var(--night); color: #ffffff; }
.shop-reseau .eng-figures-band .eng-figure { border-left-color: var(--glow); }
.shop-reseau .eng-figures-band .eng-figure strong {
  color: var(--glow); font-family: var(--font-display); font-stretch: 116%; font-weight: 800;
  font-size: clamp(2.3rem, 1.7rem + 2.5vw, 3.6rem);
}
.shop-reseau .eng-figures-band .eng-figure span { color: var(--night-soft); }
.shop-reseau .eng-card { border: 0; border-radius: var(--radius); box-shadow: 0 1px 0 var(--line), 0 18px 36px -30px rgba(16, 20, 28, .55); }
.shop-reseau .eng-card__body h3 { font-family: var(--font-display); font-stretch: 112%; font-size: 1.3rem; font-weight: 800; }
.shop-reseau .eng-sec.eng-events, .shop-reseau .eng-sec.eng-stays, .shop-reseau .eng-sec.eng-devis { background: var(--surface); }
.shop-reseau .eng-sec.eng-page { background: var(--ground); }
.shop-reseau .eng-review { background: var(--surface); }
.shop-reseau .eng-review blockquote p { font-weight: 500; font-size: 1.08rem; line-height: 1.55; }
.shop-reseau .eng-date { background: var(--night); color: var(--glow); }
.shop-reseau .eng-date b { font-family: var(--font-display); font-stretch: 116%; font-weight: 800; }
.shop-reseau .eng-request__form, .shop-reseau .eng-aside, .shop-reseau .eng-success { background: var(--surface); }
.shop-reseau .eng-sec.eng-devis .eng-request__form, .shop-reseau .eng-sec.eng-devis .eng-aside { background: var(--ground); }


/* ETABLI_CONTROL_PARITY_V1: mobile menu behaviour and catalogue sort surface. */
.shop-reseau .menu-button span {
  transform-origin: center;
  transition: transform .18s ease, opacity .18s ease;
}
body.shop-reseau.is-menu-open .menu-button { gap: 0; }
body.shop-reseau.is-menu-open .menu-button span:nth-child(1) { transform: translateY(2px) rotate(45deg); }
body.shop-reseau.is-menu-open .menu-button span:nth-child(2) { opacity: 0; }
body.shop-reseau.is-menu-open .menu-button span:nth-child(3) { transform: translateY(-2px) rotate(-45deg); }
.shop-reseau .mobile-menu a[aria-current="page"] {
  background: color-mix(in srgb, var(--primary) 10%, var(--ground));
  box-shadow: inset 3px 0 0 var(--primary);
  color: var(--ink);
}
.shop-reseau:has(.cart-layout, .checkout-layout) .basket-link[aria-current="page"] {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 25%, transparent);
  font-weight: 800;
}
@media (max-width: 899px) {
  .shop-reseau .mobile-menu {
    top: var(--shop-menu-top, var(--header-h));
    max-height: calc(100dvh - var(--shop-menu-top, var(--header-h)) - var(--bottom-nav-h, 72px));
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

.shop-reseau .sort {
  min-width: 220px;
  min-height: 48px;
  padding-inline: 16px;
  border: 1.5px solid var(--line);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 12px 28px -24px rgba(32, 25, 24, .75);
  font-weight: 700;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.shop-reseau .sort:hover {
  border-color: color-mix(in srgb, var(--primary) 55%, var(--line));
  box-shadow: 0 14px 32px -22px rgba(32, 25, 24, .65);
}
.shop-reseau .sort:focus-visible {
  border-color: var(--primary);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 16%, transparent);
}
@supports (appearance: base-select) {
  .shop-reseau .sort,
  .shop-reseau .sort::picker(select) { appearance: base-select; }
  .shop-reseau .sort::picker-icon {
    color: var(--primary);
    transition: rotate .18s ease;
  }
  .shop-reseau .sort:open::picker-icon { rotate: 180deg; }
  .shop-reseau .sort::picker(select) {
    margin-top: 8px;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 22px 48px -24px rgba(32, 25, 24, .5);
  }
  .shop-reseau .sort option {
    min-height: 44px;
    padding: 10px 12px;
    border-radius: 9px;
    color: var(--ink);
    font-weight: 600;
    cursor: pointer;
  }
  .shop-reseau .sort option:hover,
  .shop-reseau .sort option:focus { background: var(--surface); }
  .shop-reseau .sort option:checked {
    background: color-mix(in srgb, var(--primary) 12%, #ffffff);
    color: var(--primary);
    font-weight: 800;
  }
  .shop-reseau .sort option::checkmark {
    order: 1;
    margin-left: auto;
    color: var(--primary);
  }
}


/* RADIUS_CART_REVIEW_V1: rounded media/cards/controls and reference cart rows. */
body.shop-reseau {
  --review-radius: max(14px, var(--radius));
  --review-button-radius: max(10px, var(--radius-btn));
}
.shop-reseau main img {
  border-radius: var(--review-radius);
}
.shop-reseau main :is(.panel, .product-card, .empty-state) {
  border-radius: var(--review-radius);
}
.shop-reseau main :is(.product-detail-media, .about-figure, [class$="__photo"], [class$="__photo"] img, [class$="__item"] img) {
  border-radius: var(--review-radius);
}
.shop-reseau main :is(.product-detail-media, .about-figure, [class$="__photo"]) {
  overflow: hidden;
}
.shop-reseau main :is(.btn, .add-button, .menu-button, .basket-link, .qty, .qty button, .option, .chip, .sort, .policy-nav a, .cart-remove) {
  border-radius: var(--review-button-radius);
}
.shop-reseau .product-card {
  overflow: hidden;
}
.shop-reseau .product-card .product-art,
.shop-reseau .product-card .product-art img {
  border-top-left-radius: var(--review-radius);
  border-top-right-radius: var(--review-radius);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/* Article rows follow the image / copy / line-total hierarchy of the reference. */
.shop-reseau .cart-line {
  grid-template-columns: clamp(148px, 15vw, 200px) minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px 16px;
  padding-block: 14px;
  overflow: hidden;
}
.shop-reseau .cart-line > .cart-art,
.shop-reseau .cart-line > .product-media {
  width: 100%;
  height: 96px;
  min-height: 96px;
  border-radius: var(--review-radius);
  background: var(--surface);
  overflow: hidden;
}
.shop-reseau .cart-line > .cart-art > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transform-origin: center;
  transition: transform .45s ease;
  will-change: transform;
}
@media (hover: hover) and (pointer: fine) {
  .shop-reseau .cart-line > .cart-art:hover > img {
    transform: scale(1.04);
  }
}
@media (max-width: 899px) {
  .shop-reseau .cart-line {
    grid-template-columns: clamp(88px, 24vw, 112px) minmax(0, 1fr);
    align-items: start;
    gap: 10px 14px;
  }
  .shop-reseau .cart-line > .cart-art,
  .shop-reseau .cart-line > .product-media {
    grid-row: 1 / span 2;
    width: 100%;
    height: 100%;
    min-height: 112px;
    align-self: stretch;
  }
  .shop-reseau .cart-line > div { min-width: 0; }
  .shop-reseau .cart-line > strong {
    grid-column: 2;
    justify-self: end;
    align-self: start;
    margin-top: -2px;
  }
  .shop-reseau .cart-line .qty {
    max-width: 100%;
  }
}
@media (max-width: 360px) {
  .shop-reseau .cart-line {
    grid-template-columns: 72px minmax(0, 1fr);
    gap-inline: 12px;
  }
  .shop-reseau .cart-line > .cart-art,
  .shop-reseau .cart-line > .product-media { min-height: 104px; }
}
@media (prefers-reduced-motion: reduce) {
  .shop-reseau .cart-line > .cart-art > img { transition: none; }
  .shop-reseau .cart-line > .cart-art:hover > img { transform: none; }
}

/* Responsive cart and checkout action clearance 2026-09-20 */
.shop-reseau .qty .cart-remove,
body.shop-reseau #sbo .qty [data-sbo-remove] {
  box-sizing: border-box;
  flex: 0 0 auto;
  width: max-content;
  min-width: 44px;
  margin-left: 10px;
  padding-inline: 10px;
  white-space: nowrap;
}

@media (max-width: 899px) {
  .shop-reseau .cart-line .qty {
    display: grid;
    grid-template-columns: auto auto auto 1fr auto 1fr;
    align-items: center;
    width: 100%;
    max-width: none;
    padding-inline: 0;
    column-gap: 0;
  }
  .shop-reseau .cart-line .qty > button:first-of-type,
  .shop-reseau .cart-line .qty > span {
    margin-right: 4px;
  }
  .shop-reseau .cart-line .qty > button:nth-of-type(2) {
    margin-right: 1px;
  }
  .shop-reseau .cart-line .qty .cart-remove,
  body.shop-reseau #sbo .cart-line .qty [data-sbo-remove] {
    grid-column: 5;
    justify-self: center;
    margin: 0;
  }
  .shop-reseau .cart-line > .cart-art,
  .shop-reseau .cart-line > .cart-art > img,
  body.shop-reseau #sbo .cart-line > img {
    border-top-left-radius: var(--review-radius);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: var(--review-radius);
  }
}

@media (max-width: 360px) {
  .shop-reseau .cart-line .qty {
    grid-template-columns: auto auto 1fr;
    row-gap: 6px;
  }
  .shop-reseau .cart-line .qty > button:nth-of-type(2) {
    justify-self: start;
  }
  .shop-reseau .cart-line .qty .cart-remove,
  body.shop-reseau #sbo .cart-line .qty [data-sbo-remove] {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: center;
  }
}

/* Checkout media occupies the full mobile information block. */
@media (max-width: 899px) {
  body.shop-reseau #sbo .cart-line > img {
    grid-row: 1 / 3;
    align-self: stretch;
    height: 0;
    min-height: 100%;
    object-fit: cover;
    object-position: center;
  }
}

/* Catalogue card depth and inline cart actions 2026-09-20 */
.shop-reseau .product-grid .product-card {
  box-shadow: 0 8px 22px rgba(13, 18, 25, .08), 0 2px 6px rgba(13, 18, 25, .04);
}

.shop-reseau .cart-line .qty .cart-remove,
body.shop-reseau #sbo .cart-line .qty [data-sbo-remove] {
  align-self: center;
}

@media (max-width: 360px) {
  .shop-reseau .cart-line,
  body.shop-reseau #sbo .cart-line {
    grid-template-columns: 68px minmax(0, 1fr);
    column-gap: 10px;
  }
  .shop-reseau .cart-line .qty {
    grid-template-columns: auto auto auto 1fr auto 1fr;
    row-gap: 0;
  }
  .shop-reseau .cart-line .qty > button:nth-of-type(2) {
    margin-right: 0;
  }
  .shop-reseau .cart-line .qty .cart-remove,
  body.shop-reseau #sbo .cart-line .qty [data-sbo-remove] {
    grid-column: 5;
    grid-row: 1;
    align-self: center;
    justify-self: center;
  }
}

/* APPROVED_CART_ITEM_CARDS_AND_MOBILE_TOTAL_V1 */
.shop-reseau .cart-list {
  gap: 14px;
}
.shop-reseau .cart-list > .cart-line {
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--primary) 16%, var(--line));
  border-radius: max(14px, var(--radius));
  background: var(--ground);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--primary) 8%, transparent);
}
@media (max-width: 899px) {
  .shop-reseau .cart-layout .cart-line > strong {
    grid-column: 2;
    justify-self: start;
  }
}

/* CHECKOUT_ITEM_MEDIA_MATCHES_CART_V1 */
body.shop-reseau #sbo .cart-line > img {
  width: 100%;
  height: 96px;
  min-height: 96px;
  align-self: center;
  border-radius: var(--review-radius);
  background: var(--surface);
  object-fit: cover;
}
@media (max-width: 899px) {
  body.shop-reseau #sbo .cart-line > img {
    grid-row: 1 / span 2;
    width: 100%;
    height: 100%;
    min-height: 112px;
    align-self: stretch;
    border-top-left-radius: var(--review-radius);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: var(--review-radius);
  }
}
@media (max-width: 360px) {
  body.shop-reseau #sbo .cart-line > img { min-height: 104px; }
}

/* CHECKOUT_LINE_TOTAL_LEFT_MOBILE_V1 */
@media (max-width: 899px) {
  body.shop-reseau #sbo .cart-line > strong {
    grid-column: 2;
    justify-self: start;
  }
}

/* Placements (2026-09-24): no hole at the end of a row, hero above the bottom menu. */
@media (min-width: 620px) { .shop-reseau .rs-why__list > li:last-child:nth-child(odd) { grid-column: 1 / -1; } }

/* Tumi 2026-09-24, "you tend to make some sections very very huge in terms
   of space": about half the room above and below each section (two
   sections met across 200 to 270px of empty page on a laptop). */
body.shop-reseau { --space-section: clamp(40px, 5vw, 68px); }

/* On a phone every heading uses the full width (Tumi 2026-09-24, "they should
   spread out"). */
@media (max-width: 899px) {
  .shop-reseau .rs-split__copy h2 { max-width: none; }
}
