/* SINOTECH F9 — Univers Boutique : ivoire, prune et cuivre.
   Chargé seulement sur boutique.html, produit.html et ma-demande.html.
   Aucun filtre de couleur sur les images. Aucun masquage fonctionnel.
   Le thème reprend le bouton et la préférence publicTheme de F5. */
body.shop-universe:is(#shop, #product-detail, #request) {
  --shop-bg: #f6f2ed;
  --shop-surface: #ffffff;
  --shop-soft: #efe9e4;
  --shop-tint: #f1e9ee;
  --shop-ink: #302536;
  --shop-muted: #695f6b;
  --shop-line: #ded5d9;
  --shop-control-line: #9b8998;
  --shop-brand: #673c60;
  --shop-brand-hover: #46243f;
  --shop-on-brand: #ffffff;
  --shop-accent: #a7472c;
  --shop-accent-hover: #80321e;
  --shop-on-accent: #ffffff;
  --shop-accent-soft: #fae9de;
  --shop-shadow: 0 12px 32px rgb(49 30 42 / 6%);
  --shop-shadow-hover: 0 18px 38px rgb(49 30 42 / 12%);
  --color-paper: var(--shop-surface);
  --color-bg: var(--shop-bg);
  --color-ink: var(--shop-ink);
  --color-navy: var(--shop-ink);
  --color-muted: var(--shop-muted);
  --color-line: var(--shop-line);
  --color-blue: var(--shop-brand);
  --color-blue-soft: var(--shop-tint);
  --color-accent: var(--shop-accent);
  --color-accent-hover: var(--shop-accent-hover);
  --f5-nav-hover: var(--shop-tint);
  --f5-nav-ink: var(--shop-brand);
  --f5-nav-line: var(--shop-brand);
  --f5-focus: var(--shop-brand);
  color: var(--shop-ink);
  background: var(--shop-bg);
}
:root[data-public-theme="dark"] body.shop-universe:is(#shop, #product-detail, #request) {
  --shop-bg: #17141c;
  --shop-surface: #241e2b;
  --shop-soft: #2e2636;
  --shop-tint: #382b3e;
  --shop-ink: #f6f0f5;
  --shop-muted: #c4b6c6;
  --shop-line: #4a3c50;
  --shop-control-line: #89738d;
  --shop-brand: #e5c0e0;
  --shop-brand-hover: #f6dcf2;
  --shop-on-brand: #2b1930;
  --shop-accent: #ffbd98;
  --shop-accent-hover: #ffd3b9;
  --shop-on-accent: #362016;
  --shop-accent-soft: #3e2a27;
  --shop-shadow: 0 12px 32px rgb(0 0 0 / 18%);
  --shop-shadow-hover: 0 18px 38px rgb(0 0 0 / 28%);
}
body.shop-universe:is(#shop, #product-detail, #request) ::selection { background: var(--shop-brand); color: var(--shop-on-brand); }
body.shop-universe:is(#shop, #product-detail, #request) :focus-visible { outline: 3px solid var(--shop-accent); outline-offset: 4px; }
body.shop-universe:is(#shop, #product-detail, #request) main { background: var(--shop-bg); }
body.shop-universe:is(#shop, #product-detail, #request) main :is(h1,h2,h3) { color: var(--shop-ink); }
body.shop-universe:is(#shop, #product-detail, #request) main :is(.section-kicker,.page-eyebrow) { color: var(--shop-brand); }
body.shop-universe:is(#shop, #product-detail, #request) .section-space { padding-block: 50px; }
body.shop-universe:is(#shop, #product-detail, #request) .section-heading h2 { font-size: clamp(1.7rem, 2.6vw, 2.15rem); letter-spacing: -.035em; }

/* Même navigation et mêmes liens : seul le traitement visuel change ici. */
body.shop-universe:is(#shop, #product-detail, #request) :is(#site-header,.site-header,.site-header__nav) { background: var(--shop-surface); }
body.shop-universe:is(#shop, #product-detail, #request) .site-header { border-bottom-color: var(--shop-line); }
body.shop-universe:is(#shop, #product-detail, #request) :is(.nav-link,.nav-disclosure) { color: var(--shop-ink); }
body.shop-universe:is(#shop, #product-detail, #request) .nav-link[aria-current="page"] { color: var(--shop-brand); background: var(--shop-tint); }
body.shop-universe:is(#shop, #product-detail, #request) .nav-link[aria-current="page"]::after { background: var(--shop-brand); }
body.shop-universe:is(#shop, #product-detail, #request) :is(.dropdown,.language-selector__menu) { background: var(--shop-surface); border-color: var(--shop-line); box-shadow: var(--shop-shadow-hover); }
body.shop-universe:is(#shop, #product-detail, #request) :is(.dropdown__link,.language-selector__option) { background: transparent; color: var(--shop-ink); }
body.shop-universe:is(#shop, #product-detail, #request) :is(.language-selector__toggle,.menu-toggle,.theme-toggle) { color: var(--shop-ink); background: var(--shop-surface); border-color: var(--shop-control-line); }
body.shop-universe:is(#shop, #product-detail, #request) :is(.nav-link:hover,.nav-disclosure:hover,.nav-link:focus-visible,.nav-disclosure:focus-visible,.nav-disclosure[aria-expanded="true"],.dropdown__link:hover,.dropdown__link:focus-visible,.language-selector__option:hover,.language-selector__option:focus-visible,.language-selector__toggle:hover,.language-selector__toggle[aria-expanded="true"],.menu-toggle:hover,.theme-toggle:hover) {
  background: var(--shop-tint); color: var(--shop-brand); border-color: var(--shop-brand);
}
body.shop-universe:is(#shop, #product-detail, #request) .site-header.is-scrolled { box-shadow: var(--shop-shadow); }
body.shop-universe:is(#shop, #product-detail, #request) .site-header__brand { background: #fff; border-radius: 8px; }

/* Actions : cuivre pour avancer, prune pour les actions de catalogue. */
body.shop-universe:is(#shop, #product-detail, #request) .btn { border-radius: 12px; min-height: 44px; font-weight: 750; transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease; }
body.shop-universe:is(#shop, #product-detail, #request) .btn--primary { background: var(--shop-accent); border-color: var(--shop-accent); color: var(--shop-on-accent); box-shadow: 0 5px 12px rgb(70 35 20 / 10%); }
body.shop-universe:is(#shop, #product-detail, #request) .btn--primary:is(:hover,:focus-visible) { background: var(--shop-accent-hover); border-color: var(--shop-accent-hover); color: var(--shop-on-accent); box-shadow: var(--shop-shadow-hover); }
body.shop-universe:is(#shop, #product-detail, #request) .btn--secondary { background: var(--shop-surface); border-color: var(--shop-control-line); color: var(--shop-brand); }
body.shop-universe:is(#shop, #product-detail, #request) .btn--secondary:is(:hover,:focus-visible) { background: var(--shop-brand); border-color: var(--shop-brand); color: var(--shop-on-brand); }
body.shop-universe:is(#shop, #product-detail, #request) .btn:disabled { cursor: wait; transform: none; }

/* Entrée compacte : aucun panneau commercial ni grand hero. */
body.shop-universe:is(#shop, #product-detail, #request) .shop-welcome { position: relative; overflow: hidden; border-bottom: 1px solid var(--shop-line); background: linear-gradient(115deg, var(--shop-bg), var(--shop-tint)); }
body.shop-universe:is(#shop, #product-detail, #request) .shop-welcome__inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 206px; padding-block: 30px; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-welcome__copy { position: relative; z-index: 1; max-width: 900px; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-welcome__eyebrow { display: flex; align-items: center; gap: 10px; color: var(--shop-brand); margin: 0 0 12px; font-size: .71rem; font-weight: 800; text-transform: uppercase; letter-spacing: .17em; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-welcome__mark { width: 28px; height: 3px; background: var(--shop-accent); border-radius: 3px; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-welcome h1 { margin: 0; max-width: 830px; color: var(--shop-ink); font-size: clamp(1.85rem, 3.2vw, 2.8rem); line-height: 1.15; letter-spacing: -.045em; text-wrap: balance; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-welcome__brand { color: var(--shop-accent); white-space: nowrap; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-welcome__decor { position: relative; flex: 0 0 175px; height: 145px; pointer-events: none; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-welcome__orbit { position: absolute; inset: 6px 10px; border: 1px solid var(--shop-control-line); border-radius: 50%; opacity: .4; transform: rotate(-25deg); }
body.shop-universe:is(#shop, #product-detail, #request) .shop-welcome__tile { position: absolute; inset: 8px 20px; display: grid; place-items: center; color: var(--shop-brand); background: var(--shop-surface); border: 1px solid var(--shop-line); border-radius: 24px; transform: rotate(-8deg); box-shadow: var(--shop-shadow); }
body.shop-universe:is(#shop, #product-detail, #request) .shop-welcome__tile svg { width: 65px; height: 65px; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-welcome__dot { position: absolute; width: 25px; height: 25px; inset-inline-end: 13px; top: 0; border: 6px solid var(--shop-accent-soft); background: var(--shop-accent); border-radius: 50%; }

/* Catalogue : recherche immédiate, catégories et cartes mises au premier plan. */
body.shop-universe:is(#shop, #product-detail, #request) .shop-catalog { background: var(--shop-bg); padding-block: 35px 56px; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-heading { margin-bottom: 22px; gap: 20px; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-heading .section-kicker { margin-bottom: 8px; font-size: .68rem; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-heading .btn { align-self: center; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-toolbar { padding: 20px; background: var(--shop-surface); border: 1px solid var(--shop-line); border-radius: 18px; gap: 16px; box-shadow: var(--shop-shadow); }
body.shop-universe:is(#shop, #product-detail, #request) .shop-search { position: relative; display: block; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-search::before { content: ''; position: absolute; top: 15px; inset-inline-start: 18px; width: 15px; height: 15px; border: 2px solid var(--shop-muted); border-radius: 50%; pointer-events: none; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-search::after { content: ''; position: absolute; top: 29px; inset-inline-start: 32px; width: 7px; height: 2px; background: var(--shop-muted); transform: rotate(45deg); transform-origin: left center; pointer-events: none; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-search input { width: 100%; height: 50px; padding-inline: 47px 16px; border: 1px solid var(--shop-control-line); border-radius: 10px; color: var(--shop-ink); background: var(--shop-bg); }
body.shop-universe:is(#shop, #product-detail, #request) .shop-search input:is(:focus,:focus-visible) { border-color: var(--shop-brand); outline: 2px solid var(--shop-brand); outline-offset: 2px; box-shadow: none; }
body.shop-universe:is(#shop, #product-detail, #request) input::placeholder, body.shop-universe:is(#shop, #product-detail, #request) textarea::placeholder { color: var(--shop-muted); opacity: 1; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-filters { gap: 8px; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-filter { min-height: 42px; padding: 9px 15px; font-size: .81rem; border: 1px solid var(--shop-control-line); border-radius: 10px; background: var(--shop-surface); color: var(--shop-muted); }
body.shop-universe:is(#shop, #product-detail, #request) .shop-filter:is(:hover,:focus-visible) { background: var(--shop-tint); color: var(--shop-brand); border-color: var(--shop-brand); }
body.shop-universe:is(#shop, #product-detail, #request) .shop-filter.is-active { background: var(--shop-brand); color: var(--shop-on-brand); border-color: var(--shop-brand); box-shadow: 0 4px 12px rgb(45 20 40 / 10%); }
body.shop-universe:is(#shop, #product-detail, #request) .shop-results { margin: 22px 0 15px; color: var(--shop-muted); font-size: .82rem; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-grid { gap: 23px; grid-template-columns: repeat(3, minmax(0,1fr)); }
body.shop-universe:is(#shop, #product-detail, #request) .product-card { display: flex; flex-direction: column; background: var(--shop-surface); border: 1px solid var(--shop-line); border-radius: 18px; box-shadow: 0 3px 9px rgb(45 20 40 / 3%); }
body.shop-universe:is(#shop, #product-detail, #request) .product-card:is(:hover,:focus-within) { border-color: var(--shop-control-line); box-shadow: var(--shop-shadow-hover); transform: translateY(-4px); }
body.shop-universe:is(#shop, #product-detail, #request) .product-card__media { position: relative; aspect-ratio: 1.65; border-bottom: 1px solid var(--shop-line); background: #f8f7f5; margin: 0; }
body.shop-universe:is(#shop, #product-detail, #request) .product-card__media img { height: 100%; width: 100%; object-fit: contain; padding: 19px; background: #f8f7f5; }
body.shop-universe:is(#shop, #product-detail, #request) .product-card__body { padding: 22px; flex: 1; display: flex; flex-direction: column; align-items: start; }
body.shop-universe:is(#shop, #product-detail, #request) .product-card__category { display: inline-block; padding: 4px 8px; border-radius: 6px; background: var(--shop-tint); color: var(--shop-brand); font-size: .65rem; font-weight: 800; letter-spacing: .055em; margin: 0 0 13px; }
body.shop-universe:is(#shop, #product-detail, #request) .product-card__title { font-size: 1.16rem; line-height: 1.4; letter-spacing: -.02em; margin-bottom: 8px; }
body.shop-universe:is(#shop, #product-detail, #request) .product-card__title a:is(:hover,:focus-visible) { color: var(--shop-accent); text-decoration: underline; text-underline-offset: 4px; }
body.shop-universe:is(#shop, #product-detail, #request) .product-card__description { min-height: 0; color: var(--shop-muted); font-size: .88rem; line-height: 1.65; margin-bottom: 20px; }
body.shop-universe:is(#shop, #product-detail, #request) .product-card__actions { width: 100%; margin-top: auto; gap: 12px; padding-top: 14px; border-top: 1px solid var(--shop-line); }
body.shop-universe:is(#shop, #product-detail, #request) .product-card__details { color: var(--shop-brand); font-size: .86rem; display: flex; justify-content: space-between; align-items: center; min-height: 36px; }
body.shop-universe:is(#shop, #product-detail, #request) .product-card__details:is(:hover,:focus-visible) { color: var(--shop-accent); text-decoration: underline; text-underline-offset: 4px; }
body.shop-universe:is(#shop, #product-detail, #request) .product-card__details span { font-size: 1.2rem; }
body.shop-universe:is(#shop, #product-detail, #request) .product-card__add { color: var(--shop-on-brand); background: var(--shop-brand); border-color: var(--shop-brand); }
body.shop-universe:is(#shop, #product-detail, #request) .product-card__add:is(:hover,:focus-visible) { color: var(--shop-on-brand); background: var(--shop-brand-hover); border-color: var(--shop-brand-hover); }
body.shop-universe:is(#shop, #product-detail, #request) .shop-empty { background: var(--shop-surface); color: var(--shop-muted); border-color: var(--shop-control-line); }
body.shop-universe:is(#shop, #product-detail, #request) .product-media-placeholder, body.shop-universe:is(#shop, #product-detail, #request) .product-detail__placeholder { background: var(--shop-soft); color: var(--shop-muted); }
body.shop-universe:is(#shop, #product-detail, #request) .product-media-placeholder span, body.shop-universe:is(#shop, #product-detail, #request) .product-detail__placeholder span { border-color: var(--shop-control-line); }
body.shop-universe:is(#shop, #product-detail, #request) .shop-how { background: var(--shop-soft); border-color: var(--shop-line); }
body.shop-universe:is(#shop, #product-detail, #request) .shop-how .section-heading { margin-bottom: 25px; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-steps { border: 0; border-radius: 0; gap: 18px; background: transparent; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-steps article { min-height: 0; padding: 25px; border: 1px solid var(--shop-line); border-radius: 15px; background: var(--shop-surface); }
body.shop-universe:is(#shop, #product-detail, #request) .shop-steps span { margin: 0 0 16px; height: 36px; width: 36px; display: grid; place-items: center; color: var(--shop-accent); background: var(--shop-accent-soft); border-radius: 10px; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-steps h3 { margin-bottom: 8px; font-size: 1.12rem; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-steps p { font-size: .88rem; color: var(--shop-muted); line-height: 1.7; }
body.shop-universe:is(#shop, #product-detail, #request) .shop-how__notice { color: var(--shop-muted); font-size: .81rem; line-height: 1.65; margin: 20px 0 0; }

/* Fiche produit : mêmes images, galerie et formulaires, sans recadrage forcé. */
body.shop-universe:is(#shop, #product-detail, #request) .product-detail { padding-block: 30px 55px; }
body.shop-universe:is(#shop, #product-detail, #request) .product-breadcrumb { color: var(--shop-muted); margin-bottom: 25px; }
body.shop-universe:is(#shop, #product-detail, #request) .product-breadcrumb a { color: var(--shop-brand); }
body.shop-universe:is(#shop, #product-detail, #request) .product-detail__grid { gap: 40px; grid-template-columns: minmax(0,1fr) minmax(0,.94fr); }
body.shop-universe:is(#shop, #product-detail, #request) .product-gallery__stage { background: #f8f7f5; border-color: var(--shop-line); border-radius: 20px; box-shadow: var(--shop-shadow); aspect-ratio: 1.05; }
body.shop-universe:is(#shop, #product-detail, #request) .product-detail__image { background: #f8f7f5; padding: 28px; object-fit: contain; }
body.shop-universe:is(#shop, #product-detail, #request) .product-gallery__arrow { background: var(--shop-surface); color: var(--shop-brand); border: 1px solid var(--shop-control-line); }
body.shop-universe:is(#shop, #product-detail, #request) .product-gallery__arrow:is(:hover,:focus-visible) { background: var(--shop-brand); border-color: var(--shop-brand); color: var(--shop-on-brand); }
body.shop-universe:is(#shop, #product-detail, #request) .product-gallery__thumb { background: #f8f7f5; border-color: var(--shop-line); height: 72px; flex-basis: 82px; }
body.shop-universe:is(#shop, #product-detail, #request) .product-gallery__thumb img { background: #f8f7f5; object-fit: contain; padding: 4px; }
body.shop-universe:is(#shop, #product-detail, #request) .product-gallery__thumb:is(.is-active,:hover) { border-color: var(--shop-accent); box-shadow: 0 0 0 1px var(--shop-accent); }
body.shop-universe:is(#shop, #product-detail, #request) .product-gallery__position { color: var(--shop-muted); }
body.shop-universe:is(#shop, #product-detail, #request) .product-detail__content { padding-top: 8px; }
body.shop-universe:is(#shop, #product-detail, #request) .product-detail__category { display: inline-block; padding: 6px 10px; color: var(--shop-brand); background: var(--shop-tint); border-radius: 7px; font-size: .72rem; }
body.shop-universe:is(#shop, #product-detail, #request) .product-detail h1 { font-size: clamp(1.8rem, 3.1vw, 2.8rem); letter-spacing: -.035em; line-height: 1.14; }
body.shop-universe:is(#shop, #product-detail, #request) :is(.product-detail__intro,.product-detail__reference,.product-gallery__position,.product-detail__status) { color: var(--shop-muted); }
body.shop-universe:is(#shop, #product-detail, #request) .product-order-box { background: var(--shop-surface); border-color: var(--shop-line); margin-top: 24px; padding: 22px; box-shadow: var(--shop-shadow); }
body.shop-universe:is(#shop, #product-detail, #request) :is(.quantity-control,.request-item__quantity) { border-color: var(--shop-control-line); background: var(--shop-surface); }
body.shop-universe:is(#shop, #product-detail, #request) :is(.quantity-control button,.request-item__quantity button) { color: var(--shop-brand); background: var(--shop-tint); min-height: 42px; }
body.shop-universe:is(#shop, #product-detail, #request) :is(.quantity-control button,.request-item__quantity button):is(:hover,:focus-visible) { color: var(--shop-on-brand); background: var(--shop-brand); }
body.shop-universe:is(#shop, #product-detail, #request) :is(.quantity-control input,.request-item__quantity input) { color: var(--shop-ink); background: var(--shop-surface); border-color: var(--shop-control-line); }
body.shop-universe:is(#shop, #product-detail, #request) .technical-sheet-link { background: var(--shop-tint); color: var(--shop-brand); text-align: start; border: 1px solid var(--shop-line); }
body.shop-universe:is(#shop, #product-detail, #request) .technical-sheet-link small { color: var(--shop-muted); }
body.shop-universe:is(#shop, #product-detail, #request) .technical-sheet-link:is(:hover,:focus-visible) { border-color: var(--shop-brand); box-shadow: var(--shop-shadow); }
body.shop-universe:is(#shop, #product-detail, #request) .product-section { padding-block: 45px; background: var(--shop-surface); border-color: var(--shop-line); }
body.shop-universe:is(#shop, #product-detail, #request) .product-section--soft { background: var(--shop-soft); }
body.shop-universe:is(#shop, #product-detail, #request) .product-section h2 { font-size: clamp(1.7rem, 2.6vw, 2.2rem); }
body.shop-universe:is(#shop, #product-detail, #request) .product-copy p { color: var(--shop-muted); }
body.shop-universe:is(#shop, #product-detail, #request) .product-specs div { border-color: var(--shop-line); }
body.shop-universe:is(#shop, #product-detail, #request) .product-specs dt { color: var(--shop-muted); }
body.shop-universe:is(#shop, #product-detail, #request) .product-specs dd { color: var(--shop-ink); }
body.shop-universe:is(#shop, #product-detail, #request) .product-related { background: var(--shop-bg); }
body.shop-universe:is(#shop, #product-detail, #request) .product-related__list { gap: 18px; border: 0; border-radius: 0; }
body.shop-universe:is(#shop, #product-detail, #request) .product-related__list a { border: 1px solid var(--shop-line); border-radius: 16px; background: var(--shop-surface); gap: 10px; }
body.shop-universe:is(#shop, #product-detail, #request) .product-related__list a:is(:hover,:focus-visible) { background: var(--shop-tint); border-color: var(--shop-brand); }
body.shop-universe:is(#shop, #product-detail, #request) .product-related__list span, body.shop-universe:is(#shop, #product-detail, #request) .section-heading__link { color: var(--shop-brand); }
body.shop-universe:is(#shop, #product-detail, #request) .product-related__list strong { color: var(--shop-ink); }
body.shop-universe:is(#shop, #product-detail, #request) .product-related__list b { color: var(--shop-accent); }

/* Demande : le contenu du panier et la logique d'envoi restent inchangés. */
body.shop-universe:is(#shop, #product-detail, #request) .request-page { padding-block: 45px 65px; background: var(--shop-bg); }
body.shop-universe:is(#shop, #product-detail, #request) .request-page__heading { margin-bottom: 30px; }
body.shop-universe:is(#shop, #product-detail, #request) .request-page__heading h1 { font-size: clamp(2rem, 3.8vw, 3rem); }
body.shop-universe:is(#shop, #product-detail, #request) .request-page__grid { gap: 30px; }
body.shop-universe:is(#shop, #product-detail, #request) :is(.request-item,.request-form-card,.request-empty) { background: var(--shop-surface); border-color: var(--shop-line); box-shadow: var(--shop-shadow); }
body.shop-universe:is(#shop, #product-detail, #request) .request-item__media { background: #f8f7f5; }
body.shop-universe:is(#shop, #product-detail, #request) .request-item__media img { object-fit: contain; padding: 6px; }
body.shop-universe:is(#shop, #product-detail, #request) .request-item__content p { color: var(--shop-muted); }
body.shop-universe:is(#shop, #product-detail, #request) .request-item__content button { color: var(--shop-accent); min-height: 36px; padding: 4px 0; }
body.shop-universe:is(#shop, #product-detail, #request) .request-item__content button:is(:hover,:focus-visible) { text-decoration: underline; text-underline-offset: 4px; }
body.shop-universe:is(#shop, #product-detail, #request) .request-item__quantity { height: 44px; grid-template-columns: 42px 48px 42px; }
body.shop-universe:is(#shop, #product-detail, #request) .request-continue { color: var(--shop-brand); min-height: 44px; }
body.shop-universe:is(#shop, #product-detail, #request) .request-continue:is(:hover,:focus-visible) { color: var(--shop-accent); text-decoration: underline; }
body.shop-universe:is(#shop, #product-detail, #request) :is(.request-form-card__notice,.request-dialog__notice) { background: var(--shop-accent-soft); color: var(--shop-accent); }
body.shop-universe:is(#shop, #product-detail, #request) :is(.request-form-card label,.request-form-grid label) { color: var(--shop-ink); font-weight: 650; }
body.shop-universe:is(#shop, #product-detail, #request) :is(.request-form-card input,.request-form-card textarea,.request-form-grid input,.request-form-grid textarea) { background: var(--shop-bg); color: var(--shop-ink); border-color: var(--shop-control-line); caret-color: var(--shop-accent); min-height: 46px; }
body.shop-universe:is(#shop, #product-detail, #request) :is(.request-form-card input,.request-form-card textarea,.request-form-grid input,.request-form-grid textarea):focus { border-color: var(--shop-brand); box-shadow: none; outline: 2px solid var(--shop-brand); outline-offset: 2px; }
body.shop-universe:is(#shop, #product-detail, #request) input:-webkit-autofill { -webkit-text-fill-color: var(--shop-ink); box-shadow: 0 0 0 1000px var(--shop-bg) inset; }
body.shop-universe:is(#shop, #product-detail, #request) .request-dialog { background: var(--shop-surface); color: var(--shop-ink); border: 1px solid var(--shop-line); }
body.shop-universe:is(#shop, #product-detail, #request) .request-dialog::backdrop { background: rgb(26 15 30 / 72%); }
body.shop-universe:is(#shop, #product-detail, #request) .request-dialog__close { background: var(--shop-tint); color: var(--shop-brand); border-color: var(--shop-control-line); width: 44px; height: 44px; }
body.shop-universe:is(#shop, #product-detail, #request) .request-dialog__close:is(:hover,:focus-visible) { background: var(--shop-brand); color: var(--shop-on-brand); }
body.shop-universe:is(#shop, #product-detail, #request) .request-dialog__panel { padding-top: 64px; }
body.shop-universe:is(#shop, #product-detail, #request) .catalogue-status { background: var(--shop-bg); color: var(--shop-ink); }
body.shop-universe:is(#shop, #product-detail, #request) .catalogue-status p { color: var(--shop-muted); }

/* Accès persistants et footer : pas de changement de liens ni de destinations. */
body.shop-universe:is(#shop, #product-detail, #request) .request-shortcut { background: var(--shop-brand); color: var(--shop-on-brand); border: 1px solid var(--shop-control-line); box-shadow: var(--shop-shadow-hover); min-height: 46px; }
body.shop-universe:is(#shop, #product-detail, #request) .request-shortcut:is(:hover,:focus-visible) { background: var(--shop-brand-hover); color: var(--shop-on-brand); }
body.shop-universe:is(#shop, #product-detail, #request) .request-shortcut strong, body.shop-universe:is(#shop, #product-detail, #request) .request-shortcut.is-empty strong { color: var(--shop-accent); background: var(--shop-accent-soft); }
body.shop-universe:is(#shop, #product-detail, #request) .ui-toast { background: var(--shop-ink); color: var(--shop-surface); border-color: var(--shop-control-line); }
body.shop-universe:is(#shop, #product-detail, #request) .ui-toast a { color: inherit; }
body.shop-universe:is(#shop, #product-detail, #request) .back-to-top { color: var(--shop-on-accent); background: var(--shop-accent); border-color: var(--shop-surface); }
body.shop-universe:is(#shop, #product-detail, #request) .back-to-top:is(:hover,:focus-visible) { color: var(--shop-on-brand); background: var(--shop-brand); }
body.shop-universe:is(#shop, #product-detail, #request) .site-footer { background: #271c2c; border-top: 1px solid #4d3c50; }
body.shop-universe:is(#shop, #product-detail, #request) .site-footer :is(.site-footer__summary,.site-footer__list a,.site-footer__bottom,.site-footer__access-note) { color: #d7cad8; }
body.shop-universe:is(#shop, #product-detail, #request) .site-footer .site-footer__contact dt { color: #d9b4ce; }
body.shop-universe:is(#shop, #product-detail, #request) .site-footer .site-footer__contact dd { color: #f0e5ee; }
body.shop-universe:is(#shop, #product-detail, #request) .site-footer .site-footer__list a:hover { color: #ffd1b3; }
body.shop-universe:is(#shop, #product-detail, #request) .site-footer h2 { color: #fff6fb; }

@media (max-width: 1100px) {
  body.shop-universe:is(#shop, #product-detail, #request) .shop-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.shop-universe:is(#shop, #product-detail, #request) .product-detail__grid { grid-template-columns: minmax(0,1fr); gap: 30px; }
  body.shop-universe:is(#shop, #product-detail, #request) .product-gallery { width: 100%; max-width: 650px; margin-inline: auto; }
  body.shop-universe:is(#shop, #product-detail, #request) .product-detail__content { max-width: 100%; }
}
@media (max-width: 720px) {
  body.shop-universe:is(#shop, #product-detail, #request) .container { width: calc(100% - 32px); }
  body.shop-universe:is(#shop, #product-detail, #request) .shop-welcome__inner { min-height: 0; padding-block: 25px; }
  body.shop-universe:is(#shop, #product-detail, #request) .shop-welcome__decor { display: none; }
  body.shop-universe:is(#shop, #product-detail, #request) .shop-welcome h1 { max-width: 640px; font-size: clamp(1.7rem, 5.6vw, 2.3rem); }
  body.shop-universe:is(#shop, #product-detail, #request) .shop-heading { grid-template-columns: 1fr; gap: 16px; }
  body.shop-universe:is(#shop, #product-detail, #request) .shop-heading .btn { justify-self: start; }
  body.shop-universe:is(#shop, #product-detail, #request) .shop-toolbar { padding: 14px; }
  body.shop-universe:is(#shop, #product-detail, #request) .shop-catalog { padding-block: 28px 42px; }
  body.shop-universe:is(#shop, #product-detail, #request) .shop-filters { gap: 8px; }
  body.shop-universe:is(#shop, #product-detail, #request) .shop-filter { font-size: .78rem; padding-inline: 12px; }
  body.shop-universe:is(#shop, #product-detail, #request) .product-order-box__actions { grid-template-columns: 1fr; }
  body.shop-universe:is(#shop, #product-detail, #request) .product-related__list { grid-template-columns: 1fr; }
  body.shop-universe:is(#shop, #product-detail, #request) .request-page__grid { grid-template-columns: minmax(0,1fr); }
  body.shop-universe:is(#shop, #product-detail, #request) .request-form-card { position: static; }
  body.shop-universe:is(#shop, #product-detail, #request) .request-shortcut { right: 73px; bottom: 18px; }
  body.shop-universe:is(#shop, #product-detail, #request) .ui-toast { bottom: 83px; }
}
@media (max-width: 540px) {
  body.shop-universe:is(#shop, #product-detail, #request) .shop-grid { grid-template-columns: minmax(0,1fr); gap: 20px; }
  body.shop-universe:is(#shop, #product-detail, #request) .product-card__media { aspect-ratio: 1.6; }
  body.shop-universe:is(#shop, #product-detail, #request) .product-card__body { padding: 18px; }
  body.shop-universe:is(#shop, #product-detail, #request) .shop-welcome__eyebrow { font-size: .66rem; }
  body.shop-universe:is(#shop, #product-detail, #request) .shop-steps article { padding: 21px; }
  body.shop-universe:is(#shop, #product-detail, #request) .request-form-card { padding: 22px 18px; }
  body.shop-universe:is(#shop, #product-detail, #request) .request-dialog__panel { padding: 68px 20px 25px; }
  body.shop-universe:is(#shop, #product-detail, #request) .product-order-box { padding: 18px; }
  body.shop-universe:is(#shop, #product-detail, #request) .product-detail__image { padding: 18px; }
  body.shop-universe:is(#shop, #product-detail, #request) .request-item { padding: 13px; gap: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  body.shop-universe:is(#shop, #product-detail, #request) *, body.shop-universe:is(#shop, #product-detail, #request) *::before, body.shop-universe:is(#shop, #product-detail, #request) *::after { scroll-behavior: auto; transition: none !important; animation: none !important; }
  body.shop-universe:is(#shop, #product-detail, #request) .product-card:is(:hover,:focus-within), body.shop-universe:is(#shop, #product-detail, #request) .btn:hover { transform: none; }
  body.shop-universe:is(#shop, #product-detail, #request) .product-card:hover .product-card__media img { transform: none; }
}

/* Réserver une place aux contacts flottants sur ordinateur afin qu'ils ne
   passent pas au-dessus des filtres, des images ou des boutons de commande. */
@media (min-width: 1101px) {
  body.shop-universe:is(#shop, #product-detail, #request) :is(main,.site-footer) .container { width: min(1280px, calc(100% - 288px)); }
}
@media (min-width: 721px) and (max-width: 1100px) {
  body.shop-universe:is(#shop, #product-detail, #request) :is(main,.site-footer) .container { width: calc(100% - 160px); }
  body.shop-universe:is(#shop, #product-detail, #request) .floating-contact__label { display: none; }
  body.shop-universe:is(#shop, #product-detail, #request) .floating-contact__link { width: 47px; height: 47px; min-height: 0; padding: 0; border-radius: 50%; }
}
/* Les couleurs de contact conservent leur sens habituel. */
body.shop-universe:is(#shop, #product-detail, #request) .floating-contact__link--email { background: #176192; color: #fff; }
