/* Dedicated collection pages — ADR 006. */
.collection-page { background: #eee9df; color: #211a14; }
.collection-page .site-header { background: rgba(243, 239, 231, .96); }
.collection-switcher {
  display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
  padding: 7rem clamp(1rem, 3.2vw, 3.25rem) 1.4rem; background: #f3efe7;
  border-bottom: 1px solid #211a1426; font-size: .875rem;
}
.collection-switcher a { text-decoration: none; padding-block: .65rem; }
.collection-switcher__back { color: #211a14aa; }
.collection-switcher__links { display: flex; gap: clamp(1.3rem, 4vw, 3.5rem); }
.collection-switcher__links a { border-bottom: 1px solid transparent; }
.collection-switcher__links a[aria-current="page"] { border-color: currentColor; }
.collection-page .collection-detail {
  margin: 0; min-height: auto; grid-template-rows: auto; scroll-margin-top: 6.25rem;
  padding-top: clamp(2.5rem, 5vw, 5rem);
}
.collection-page .collection-detail__hero { min-height: min(34rem, 65svh); }
.collection-page #catalogue { scroll-margin-top: 7rem; }
.collection-page .collection-product-viewer { scroll-margin-top: 7rem; }
.collection-page .collection-product-panel { scroll-margin-top: 7rem; }
.collection-discovery { padding: 4rem clamp(1rem, 3.2vw, 3.25rem); background: #eee9df; }
.collection-discovery__eyebrow { font-size: .75rem; text-transform: uppercase; letter-spacing: .16em; }
.collection-discovery h2 {
  font: 400 clamp(2rem, 4vw, 4rem)/1.1 var(--font-display-stack); letter-spacing: -.035em;
  max-width: 40rem; margin: 1rem 0 2.5rem;
}
.collection-discovery__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.collection-discovery__item {
  position: relative; display: block; aspect-ratio: 1;
  min-width: 0; padding: 0; overflow: hidden;
  background: transparent; text-decoration: none; color: #211a14;
}
.collection-discovery__item img {
  display: block; width: 100%; height: 100%; object-fit: cover;
  transition: transform 280ms ease;
}
.collection-discovery__item > span {
  position: absolute; z-index: 1; bottom: clamp(1rem, 2.5vw, 2rem);
  left: clamp(1rem, 2.5vw, 2rem);
}
.collection-discovery__item strong { display: block; font: 400 clamp(1.7rem, 3vw, 3rem)/1.1 var(--font-display-stack); }
.collection-discovery__item small { display: block; font-size: .875rem; text-transform: uppercase; letter-spacing: .1em; margin-bottom: .5rem; }
.collection-discovery__item > span:last-child {
  left: auto; right: clamp(1rem, 2.5vw, 2rem); font-size: 1.5rem;
}
.collection-discovery__item:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
@media (hover: hover) and (pointer: fine) {
  .collection-discovery__item:hover img { transform: scale(1.025); }
}
@media (prefers-reduced-motion: reduce) {
  .collection-discovery__item img { transition: none; transform: none; }
}
.collection-page-footer {
  display: flex; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap;
  border-top: 1px solid #211a1426; padding: 2rem clamp(1rem, 3.2vw, 3.25rem);
  font-size: .875rem;
}
.collection-page-footer a { text-decoration: none; }
@media (max-width: 700px) {
  .collection-switcher { padding-top: 6.3rem; flex-direction: column; align-items: stretch; gap: .5rem; }
  .collection-switcher__links { justify-content: space-between; }
  .collection-page .collection-detail { padding-top: 2.5rem; }
  .collection-page .collection-detail__hero { min-height: 0; }
  .collection-page .collection-detail__visual { min-height: 20rem; }
  .collection-page .collection-detail__visual--scene { min-height: 0; }
  .collection-discovery { padding-block: 3rem; }
  .collection-discovery__grid { grid-template-columns: 1fr; }
}

/* Augustin: uniform beige furniture tiles — ADR 010, latest amendment. */
.collection-page--augustin .collection-detail {
  --collection-gutter: clamp(1rem, 3.2vw, 3.25rem);
  gap: 0;
  padding-inline: var(--collection-gutter);
  padding-bottom: 0;
}
.collection-page--augustin .collection-detail__hero { margin-bottom: clamp(2rem, 4vw, 4rem); }
.collection-page--augustin #catalogue { scroll-margin-top: 5.125rem; }
.collection-product-gallery {
  display: block;
  margin-inline: calc(-1 * var(--collection-gutter));
  padding: clamp(2rem, 3vw, 3rem) var(--collection-gutter);
  border: 0;
  background: #fff;
}
.collection-product-gallery[hidden] { display: none; }
.collection-product-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 4rem);
  max-width: 90rem;
  margin-inline: auto;
}
@media (min-width: 1001px) {
  .collection-product-gallery__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: clamp(1.25rem, 2.5vw, 3rem);
  }
  .collection-product-gallery__grid > .collection-product-card:nth-child(5n + 1),
  .collection-product-gallery__grid > .collection-product-card:nth-child(5n + 2) { grid-column: span 3; }
  .collection-product-gallery__grid > .collection-product-card:nth-child(5n + 3),
  .collection-product-gallery__grid > .collection-product-card:nth-child(5n + 4),
  .collection-product-gallery__grid > .collection-product-card:nth-child(5n + 5) { grid-column: span 2; }
  .collection-page--augustin .collection-product-gallery__grid > .collection-product-card { grid-column: span 2; }
}
.collection-product-tile {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 0 0 1rem;
  border: 0;
  background: #fff;
  color: #211a14;
  font: inherit;
  text-align: center;
  cursor: pointer;
}
.collection-product-tile__visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1.3;
  border: 0;
  border-radius: 0;
  background: var(--surface-craft-solid);
  overflow: hidden;
}
.collection-product-tile__cutout {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.collection-product-tile__scene {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms ease;
}
.collection-product-tile:focus-visible .collection-product-tile__scene { opacity: 1; }
.collection-product-card { position: relative; }
.product-scene-dots {
  display: none;
  position: relative; z-index: 5; justify-content: center;
  height: 32px; margin: 0;
}
.product-scene-dots button {
  display: grid; place-items: center; width: 44px; height: 32px;
  padding: 0; border: 0; background: transparent; cursor: pointer;
  touch-action: manipulation;
}
.product-scene-dots button::after {
  content: ''; width: 6px; height: 6px; border: 1px solid #756d63; border-radius: 50%;
}
.product-scene-dots button[aria-pressed="true"]::after { background: #756d63; }
.product-scene-dots button:focus-visible { outline: 2px solid #292621; outline-offset: -3px; }
.product-scene-dots[aria-busy="true"] { opacity: .55; }
@media (hover: none), (pointer: coarse), (max-width: 700px) {
  /* Share the photo's grid cell without nesting buttons inside its link. */
  .collection-product-card:has(> .product-scene-dots) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .collection-product-card:has(> .product-scene-dots) > :is(.collection-product-tile, .aura-piece__visual) {
    grid-area: 1 / 1;
  }
  .collection-product-card:has(> .product-scene-dots) > :is(.collection-product-card__meta, figcaption) {
    grid-area: 2 / 1;
  }
  .product-scene-dots {
    display: flex;
    grid-area: 1 / 1;
    align-self: end;
    justify-self: center;
    margin-bottom: 8px;
    border-radius: 999px;
    background: rgb(250 247 240 / 88%);
    box-shadow: 0 1px 6px rgb(33 26 20 / 10%);
  }
  .collection-product-card .collection-product-tile,
  .collection-product-card .aura-piece__trigger { touch-action: pan-y pinch-zoom; }
  .collection-product-card.is-scene-preview .collection-product-tile__scene,
  .collection-product-card.is-scene-preview .aura-piece__ambiance { opacity: 1; }
  .collection-product-card:not(.is-scene-preview):has(.product-scene-dots :focus-visible) .collection-product-tile__scene,
  .collection-product-card:not(.is-scene-preview):has(.product-scene-dots :focus-visible) .aura-piece__ambiance { opacity: 0; }
}
.finish-image > img.finish-image__previous {
  position: absolute; inset: 0; z-index: 3;
  width: 100%; height: 100%; pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .collection-product-tile__scene { transition: none; }
}
.collection-product-tile__name {
  display: inline-block;
  margin-top: 1.25rem;
  font: 400 clamp(1.5rem, 2.2vw, 2rem)/1.2 var(--font-display-stack);
  letter-spacing: -.025em;
  text-underline-offset: .3em;
  text-decoration-thickness: 1px;
}
.collection-product-tile:focus-visible .collection-product-tile__name,
.collection-product-tile[aria-expanded="true"] .collection-product-tile__name { text-decoration-line: underline; }
@media (hover: hover) and (pointer: fine) {
  .collection-product-tile:hover .collection-product-tile__scene { opacity: 1; }
  .collection-product-tile:hover .collection-product-tile__name { text-decoration-line: underline; }
}
:is(.collection-page--augustin, .collection-page--art-infini) .collection-product-viewer:not([hidden]) {
  width: auto;
  max-width: none;
  margin: 0 calc(-1 * var(--collection-gutter));
  padding: 0 var(--collection-gutter) clamp(2.5rem, 5vw, 5rem);
  background: #fff;
}
@media (max-width: 900px) {
  .collection-page--augustin .collection-product-panel { scroll-margin-top: 10rem; }
}
@media (max-width: 700px) {
  .collection-page--augustin #catalogue { scroll-margin-top: 4.25rem; }
  .collection-product-gallery__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .collection-product-tile__visual { aspect-ratio: 1.3; }
  .collection-product-tile__name { margin-top: .75rem; }
}

/* Shared product sheet composition for Augustin and Art Infini. */
:is(.collection-page--augustin, .collection-page--art-infini) .collection-product-panel--scene .collection-product-panel__image {
  display: block;
  height: auto;
  min-height: 0;
  border-radius: 0;
  background: #f1ece3;
}
:is(.collection-page--augustin, .collection-page--art-infini) .collection-product-panel--scene .collection-product-panel__image img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  filter: none;
}
.collection-product-panel--scene figcaption {
  padding: .6rem .85rem;
  color: #5d5144;
  font-size: .75rem;
  line-height: 1.4;
}

/* Colour selection stays outside the tile button — ADR 011. */
.collection-product-card {
  --product-name-size: clamp(1.5rem, 2.2vw, 2rem);
  --product-name-gap: 1.25rem;
  position: relative;
  min-width: 0;
  container-type: inline-size;
}
.collection-product-card .collection-product-tile__name {
  font-size: var(--product-name-size);
  margin-top: var(--product-name-gap);
}
.collection-product-card > .product-finishes {
  position: absolute;
  z-index: 1;
  inset-inline: clamp(1rem, 2.2vw, 2rem);
  /* The tile name stays below the frame; anchor the controls above it. */
  bottom: calc(1rem + var(--product-name-gap) + var(--product-name-size) * 1.2 + .5rem);
  width: fit-content;
  max-width: calc(100% - 2 * clamp(1rem, 2.2vw, 2rem));
  margin-inline: auto;
  padding: .3rem .45rem;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.collection-product-card > .product-finishes .product-finishes__heading {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.collection-product-card > .product-finishes .product-finishes__options {
  flex-wrap: nowrap;
  gap: .2rem;
}
.collection-product-card > .product-finishes .product-finish {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  padding: 0;
  gap: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
}
.collection-product-card > .product-finishes .product-finish[aria-pressed="true"] .product-finish__swatch {
  outline: 1px solid #211a14;
  outline-offset: 4px;
}
@media (max-width: 700px) {
  .collection-product-card { --product-name-gap: .75rem; }
}
@media (max-width: 360px) {
  .collection-product-card > .product-finishes { padding-inline: .2rem; inset-inline: .75rem; max-width: calc(100% - 1.5rem); }
}
@container (max-width: 360px) {
  .collection-product-card > .product-finishes {
    inset-inline: .5rem;
    max-width: calc(100% - 1rem);
    padding-inline: .2rem;
  }
  .collection-product-card > .product-finishes .product-finishes__options { gap: .15rem; }
  .collection-product-card > .product-finishes .product-finish {
    width: 32px;
    flex-basis: 32px;
  }
}
.product-finishes { margin: 0; padding: 0; border: 0; }
.product-finishes[hidden] { display: none; }
.product-finishes__heading {
  display: flex; align-items: baseline; justify-content: center; gap: .65rem;
  font-size: .8rem; line-height: 1.5; margin-bottom: .5rem;
}
.product-finishes__heading > span { color: #716354; }
.product-finishes__heading strong { font-weight: 500; }
.product-finishes__options { display: flex; justify-content: center; flex-wrap: wrap; gap: .4rem; }
.product-finish {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: 44px; padding: .4rem .7rem; border: 1px solid transparent;
  border-radius: 2rem; background: transparent; color: #211a14;
  font: inherit; font-size: .8rem; cursor: pointer;
}
.product-finish__swatch {
  display: block; width: 1.2rem; height: 1.2rem; flex: 0 0 auto;
  border: 1px solid #211a1433; border-radius: 50%; background: var(--swatch);
}
.product-finish[aria-pressed="true"] { border-color: #887a68; background: #f4f0e9; }
.product-finish:hover { background: #f4f0e9; }
.product-finishes__status {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
.collection-product-card:has(:focus-visible) .collection-product-tile__scene { opacity: 1; }
.collection-product-panel .product-finishes { margin-block: 1.5rem; }
.collection-product-panel .product-finishes__heading,
.collection-product-panel .product-finishes__options { justify-content: flex-start; }
.is-loading-finish .product-finishes__heading strong { opacity: .55; }
@media (min-width: 701px) and (hover: hover) and (pointer: fine) {
  .collection-product-card > .product-finishes {
    opacity: 0; pointer-events: none; transition: opacity 180ms ease;
  }
  .collection-product-card:hover > .product-finishes,
  .collection-product-card:has(:focus-visible) > .product-finishes { opacity: 1; pointer-events: auto; }
}
@media (hover: hover) and (pointer: fine) {
  .collection-product-card:hover .collection-product-tile__scene { opacity: 1; }
}

/* Product images are browsed directly over the photo — ADR 013. */
.collection-product-media { position: relative; }
.collection-product-media [data-product-slide][hidden],
.collection-product-media__arrow[hidden] { display: none; }
.collection-product-media__arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  display: grid; place-items: center; width: 44px; height: 44px;
  padding: 0; border: 0; background: transparent; color: #211a14;
  cursor: pointer; transition: opacity 160ms ease;
}
.collection-product-media__arrow--prev { left: .75rem; }
.collection-product-media__arrow--next { right: .75rem; }
.collection-product-media__arrow svg {
  width: 26px; height: 26px; fill: none; stroke: currentColor;
  stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round;
  filter: drop-shadow(0 0 2px #fff) drop-shadow(0 0 2px #fff);
}
.collection-product-media__status {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap;
}
@media (min-width: 701px) and (hover: hover) and (pointer: fine) {
  .collection-product-media__arrow { opacity: 0; pointer-events: none; }
  .collection-product-media:hover .collection-product-media__arrow,
  .collection-product-media:focus-within .collection-product-media__arrow {
    opacity: 1; pointer-events: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .collection-product-media__arrow { transition: none; }
}

/* A single natural photograph plus a masked colour layer — ADR 014. */
.finish-image { position: relative; display: block; isolation: isolate; }
.finish-image > img { display: block; width: 100%; height: auto; }
.finish-image > .finish-image__color {
  position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; pointer-events: none;
}
.finish-image__color[hidden] { display: none; }
.finish-image.collection-product-tile__cutout,
.finish-image.collection-product-tile__scene { position: absolute; }
.collection-product-tile__visual .finish-image > img {
  width: 100%; height: 100%; object-fit: cover;
}
.collection-page--augustin .collection-ensemble {
  display: flex; flex-direction: column; aspect-ratio: auto;
}
.collection-page--augustin .collection-ensemble .finish-image { width: 100%; }
.collection-page--augustin .collection-ensemble .finish-image > img {
  width: 100%; height: auto; min-height: 0; filter: none;
}
.collection-ensemble > .product-finishes {
  width: 100%; padding: 1rem; background: #eee9df;
}
.collection-ensemble > figcaption { display: none; }

/* Outfit hierarchy for catalogue tiles and individual pieces — ADR 019. */
.collection-page .collection-product-card {
  --product-name-size: clamp(1.25rem, 1.8vw, 1.625rem);
}
.collection-page .collection-product-tile__name {
  font-family: var(--font-sans-stack);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.collection-page .collection-product-panel__copy h3 {
  font: 400 clamp(2.25rem, 3.7vw, 3.75rem)/1.08 var(--font-display-stack);
  letter-spacing: -.035em;
}
.collection-page .collection-product-panel__copy > span {
  font: 400 .8125rem/1.5 var(--font-sans-stack);
  letter-spacing: .025em;
  text-transform: none;
}
.collection-page .collection-product-panel__copy p {
  font: 400 1rem/1.65 var(--font-sans-stack);
  letter-spacing: 0;
}
.collection-page :is(.collection-product-viewer__back, .collection-product-pagination__button) {
  font: 400 .875rem/1.4 var(--font-sans-stack);
  letter-spacing: .015em;
  text-transform: none;
}
.collection-page .collection-product-panel__copy .button {
  font: 500 .875rem/1.4 var(--font-sans-stack);
  letter-spacing: .015em;
  text-transform: none;
}

/* Dedicated finish photographs: simple swatches, no decorative frame — ADR 020. */
[data-finish-mode="images"] .product-finishes__heading {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
/* Fiches : mêmes carrés, rythme et sélection que dans le catalogue. */
.collection-product-panel[data-finish-mode="images"] .product-finishes__options { gap: 0; }
.collection-product-panel[data-finish-mode="images"] .product-finish {
  width: 26px; height: 36px; min-height: 36px; flex: 0 0 26px;
  justify-content: flex-start; padding: 0; border: 0; background: transparent;
}
.collection-product-panel[data-finish-mode="images"] .product-finish__swatch { border-radius: 0; }
.collection-product-panel[data-finish-mode="images"] .product-finish[aria-pressed="true"] .product-finish__swatch {
  outline: 1px solid #211a14; outline-offset: 3px;
}
.collection-product-panel[data-finish-mode="images"] .product-finish:focus-visible {
  outline: 1px solid #211a14; outline-offset: -1px;
}
[data-finish-mode="images"] .product-finish:focus-visible {
  outline: 1px solid #211a14; outline-offset: 1px;
}

/* ADR 023 — Packshots sans cadre et navigation circulaire. */
.collection-page .collection-detail { grid-template-columns: minmax(0, 1fr); }
.collection-page .collection-product-viewer { min-width: 0; }
.collection-page .collection-product-panel[tabindex="-1"]:focus { outline: none !important; }
.collection-product-related { margin-top: clamp(2rem, 4vw, 4rem); padding-top: 1.5rem; }
.collection-product-related[hidden],
.collection-product-related__item[hidden],
.collection-product-related__arrow[hidden] { display: none; }
.collection-product-related__title { margin: 0 0 1.25rem; color: #24221f; font: 400 1.125rem/1.4 var(--font-sans-stack); }
.collection-product-related__row { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: start; gap: .75rem; }
.collection-product-related__viewport { grid-column: 2; min-width: 0; overflow: hidden; touch-action: pan-y; }
.collection-product-related__list { --related-visible: 5; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 4rem) / 5); gap: 1rem; }
.collection-product-related__item { display: grid; align-content: start; gap: .7rem; min-width: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; color: #24221f; font: 400 .9375rem/1.4 var(--font-sans-stack); text-align: left; cursor: pointer; }
.collection-product-related__item img { display: block; width: 100%; aspect-ratio: auto; height: auto; object-fit: contain; background: transparent; border: 0; border-radius: 0; }
/* Identical portrait slots and aligned names in both related catalogues. */
:is(.collection-page--augustin, .collection-page--art-infini) .collection-product-related__item img {
  aspect-ratio: 2 / 3;
  object-fit: contain;
  object-position: center bottom;
}
.collection-product-related__item:hover span { text-decoration: underline; text-underline-offset: .2em; }
.collection-product-related__item:focus-visible { outline: 2px solid #62574c; outline-offset: -3px !important; }
.collection-product-related__arrow { align-self: stretch; display: flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; padding: 0 0 2rem; border: 0; background: transparent; color: #24221f; font: 400 1.6rem/1 var(--font-sans-stack); cursor: pointer; }
.collection-product-related__arrow:hover { color: #887560; }
@media (min-width: 601px) and (max-width: 900px) {
  .collection-product-related__list { --related-visible: 3; grid-auto-columns: calc((100% - 2rem) / 3); }
}
@media (max-width: 600px) {
  .collection-product-related__row { gap: .25rem; }
  .collection-product-related__list { --related-visible: 2; grid-auto-columns: calc((100% - .75rem) / 2); gap: .75rem; }
}

/* Retour à gauche, à mi-distance entre la section précédente et le produit. */
.collection-page .collection-product-viewer:not([hidden]) {
  --product-back-space: clamp(1.5rem, 3vw, 2.5rem);
  padding-top: var(--product-back-space);
}
.collection-page .collection-product-viewer__back {
  position: relative;
  top: auto;
  display: flex;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 var(--product-back-space);
  justify-content: center;
  text-align: center;
}

/* Inversion du bouton de devis au survol et au clavier. */
.collection-page .collection-product-panel__copy .button:is(:hover, :focus-visible) {
  background-color: #211a14;
  color: #f3efe7;
  border-color: #211a14;
}

/* Noms à 75 % de la taille d’origine, accolés sous les packshots à gauche. */
.collection-page .collection-product-card {
  --product-name-gap: 0rem;
  --product-name-size: clamp(.9375rem, 1.35vw, 1.21875rem);
}
.collection-page .collection-product-card .collection-product-tile__name {
  display: block;
  margin-top: 0;
  text-align: left;
}
.collection-page .aura-piece figcaption { margin-top: 0; text-align: left; font-size: .9375rem; }

/* Sous le packshot : nom à gauche, finitions à droite. */
.collection-product-card:has(.collection-product-card__meta) .collection-product-tile { padding-bottom: 0; }
.collection-product-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0 .75rem; }
.collection-page .collection-product-card__meta .collection-product-tile__name { margin: 0; cursor: pointer; }
.collection-product-card__meta .product-finishes { position: static; flex: 0 1 auto; max-width: 100%; margin: 0 0 0 auto; padding: 0; background: transparent; border: 0; }
.collection-product-card__meta .product-finishes__heading { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.collection-product-card__meta .product-finishes__options { justify-content: flex-end; flex-wrap: wrap; gap: 0; }
.collection-product-card__meta .product-finish { width: 26px; min-height: 36px; flex: 0 0 26px; justify-content: flex-end; padding: 0; border: 0; background: transparent; }
.collection-product-card__meta .product-finish__swatch { border-radius: 0; }
.collection-product-card__meta .product-finish[aria-pressed="true"] .product-finish__swatch { outline: 1px solid #211a14; outline-offset: 3px; }
.collection-product-card__meta .product-finish:focus-visible { outline: 1px solid #211a14; outline-offset: -1px; }
.collection-product-card__meta .collection-product-tile__name:hover { text-decoration: underline; }

/* ADR 035 — Packshots complets : même référence studio, aucune superposition. */
.collection-page--augustin .collection-product-tile__visual { aspect-ratio: 2 / 3; }
.collection-page--augustin .collection-product-tile__visual .collection-product-tile__cutout > img {
  position: absolute; inset: 0; width: 100%; height: 100%; max-height: 100%;
  transform: none; object-fit: contain; mask-image: none;
}

/* Grille compacte : léger espace entre les packshots. */
.collection-page--augustin .collection-product-gallery__grid { column-gap: .5rem; row-gap: 1.5rem; }

/* ADR 032 — Ambiance entière, décor prolongé pour le survol en 2:3. */
.collection-page--augustin .collection-product-tile__scene { isolation: isolate; }
.collection-page--augustin .collection-product-tile__scene-backdrop {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.collection-page--augustin .collection-product-tile__scene-photo {
  position: absolute; inset: 0;
}
.collection-page--augustin .collection-product-tile__visual .collection-product-tile__scene-photo > img {
  position: absolute; top: var(--scene-center, 50%); left: 0; width: 100%;
  height: auto; max-height: 100%; transform: translateY(-50%); object-fit: contain;
  mask-image: linear-gradient(to bottom, transparent, #000 var(--scene-blend-top, 14%), #000 var(--scene-blend-bottom, 88%), transparent);
}

/* Raccords dans le décor, avant les silhouettes des meubles. */
#tile-augustin-table { --scene-blend-top: 8%; --scene-blend-bottom: 94%; }
#tile-augustin-chair { --scene-blend-top: 10%; --scene-blend-bottom: 92%; }
#tile-augustin-dining-table { --scene-blend-top: 30%; --scene-blend-bottom: 82%; }
#tile-augustin-sideboard { --scene-blend-top: 24%; }
#tile-augustin-side-table { --scene-blend-top: 24%; --scene-blend-bottom: 92%; }
#tile-augustin-console { --scene-blend-top: 28%; --scene-blend-bottom: 92%; }
#tile-augustin-desk { --scene-blend-top: 22%; }
#tile-augustin-bar-01 { --scene-blend-top: 24%; --scene-blend-bottom: 92%; }
#tile-augustin-bar-02 { --scene-blend-top: 20%; --scene-blend-bottom: 92%; }

/* Raccord fenêtre de la table d’appoint : conserver le décor portrait à gauche.
   Le masque devient opaque avant le bord du meuble, qui garde sa photo de finition. */
.collection-page--augustin #tile-augustin-side-table .collection-product-tile__scene-photo > img {
  mask-image:
    linear-gradient(to right, transparent 20%, #000 28%),
    linear-gradient(to bottom, transparent, #000 var(--scene-blend-top), #000 var(--scene-blend-bottom), transparent);
  mask-composite: intersect;
}

/* Buffet : le rideau reste celui du decor portrait, sans la superposition
   decalee de la photo paysage. Le masque devient opaque avant le meuble. */
.collection-page--augustin #tile-augustin-sideboard .collection-product-tile__scene-photo > img {
  mask-image:
    linear-gradient(to right, transparent 20%, #000 21%),
    linear-gradient(to bottom, transparent, #000 var(--scene-blend-top), #000 var(--scene-blend-bottom, 88%), transparent);
  mask-composite: intersect;
}

/* Fauteuil lounge : conserver les rideaux du decor portrait a gauche et
   au-dessus du dossier. La photo de finition reste opaque sur tout le fauteuil. */
.collection-page--augustin #tile-augustin-lounge-chair .collection-product-tile__scene-photo > img {
  mask-image:
    linear-gradient(to right, transparent 25%, #000 25.8%),
    linear-gradient(to bottom, transparent 21.5%, #000 22.8%, #000 var(--scene-blend-bottom, 88%), transparent);
  mask-composite: intersect;
}

/* Banc, Table de reunion et Bar 02 : portraits complets, sans raccord superpose. */
.collection-page--augustin :is(#tile-augustin-bench, #tile-augustin-meeting-table, #tile-augustin-bar-02) .collection-product-tile__scene {
  background: var(--surface-craft-solid);
}
.collection-page--augustin :is(#tile-augustin-bench, #tile-augustin-meeting-table, #tile-augustin-bar-02) .collection-product-tile__scene-backdrop {
  display: none;
}
.collection-page--augustin :is(#tile-augustin-bench, #tile-augustin-meeting-table, #tile-augustin-bar-02) .collection-product-tile__scene-photo > img {
  inset: 0;
  width: 100%;
  height: 100%;
  transform: none;
  object-fit: cover;
  mask-image: none;
}

/* Larger touch targets; keep the existing colour chips and their appearance. */
@media (max-width: 900px), (pointer: coarse) {
  .collection-page .product-finishes .product-finish {
    width: 44px; height: 44px; min-height: 44px; flex: 0 0 44px;
    justify-content: center;
  }
}

/* Mobile catalogue: keep the name and compact palette together below the photo.
   Product-page finish controls retain their larger touch targets. */
@media (max-width: 900px), (pointer: coarse) {
  .collection-page .collection-product-card {
    --product-name-size: clamp(.8125rem, 3.8vw, .9375rem);
  }
  .collection-product-card__meta {
    flex-wrap: nowrap;
    column-gap: .375rem;
    min-height: 32px;
  }
  .collection-product-card__meta .collection-product-tile__name {
    min-width: 0;
  }
  .collection-product-card__meta .product-finishes {
    flex: 0 0 auto;
  }
  .collection-product-card__meta .product-finishes__options {
    flex-wrap: nowrap;
  }
  .collection-page .collection-product-card__meta .product-finishes .product-finish {
    width: 24px;
    height: 32px;
    min-height: 32px;
    flex-basis: 24px;
  }
  .collection-product-card__meta .product-finish__swatch {
    width: 16px;
    height: 16px;
  }
}
