/* Fiche annonce — continuité visuelle avec l'accueil et la galerie Acheter. */
.dsr-page {
  --ag-bg: #0b141c;
  --ag-surface: #121f29;
  --ag-photo: #182731;
  --ag-text: #f3f0e9;
  --ag-muted: #aab7bf;
  --ag-gold: #dcc394;
  --ag-line: #2c3a44;
  --champ: var(--ag-gold);
  --gold: #c9aa70;
  --gold-l: #ead5ad;
  --cream: var(--ag-text);
  --cream-2: #d8d0c1;
  --cream-3: var(--ag-muted);
  --line: var(--ag-line);
  --line-2: #667580;
  background: var(--ag-bg) !important;
  color: var(--ag-text);
  padding-bottom: clamp(3rem, 7vw, 5rem);
}

html:has(.dsr-page),
body:has(.dsr-page) {
  background: #0b141c !important;
}

.dsr-page::before { display: none; }
.dsr-wrap { max-width: 1220px; padding-inline: clamp(1rem, 4vw, 2rem); }

.dsr-crumbs { padding-top: clamp(1.25rem, 3vw, 2rem); }
.dsr-back {
  min-height: 44px;
  border-radius: 4px;
  background: transparent;
  color: var(--ag-muted);
  font-family: Inter, "Segoe UI", sans-serif;
  font-size: .6875rem;
  letter-spacing: .08em;
}
.dsr-back:hover { background: var(--ag-surface); border-color: var(--ag-gold); color: var(--ag-gold); }

.dsr-hero {
  grid-template-columns: minmax(0, 1.08fr) minmax(350px, .72fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  padding-top: clamp(1.25rem, 3vw, 2.25rem);
}

.dsr-rail { display: none; }
.dsr-stage-frame {
  aspect-ratio: 1 / 1;
  border: 1px solid var(--ag-line);
  border-radius: 8px;
  background: var(--ag-photo);
}
.dsr-frame::before,
.dsr-frame::after { display: none; }
.dsr-stage-frame > img,
.dsr-stage-frame > picture > img {
  box-sizing: border-box;
  padding: clamp(1rem, 3vw, 2rem);
  background: radial-gradient(circle at 50% 45%, #29424a 0, #15232d 52%, #101c26 100%);
  filter: none;
  object-fit: contain !important;
  transform: none !important;
  transition: none !important;
}
.dsr-zoom {
  min-height: 42px;
  border-radius: 4px;
  background: #0b141ce8;
  color: var(--ag-text);
  font-family: Inter, "Segoe UI", sans-serif;
  letter-spacing: .06em;
}
.dsr-thumbs { gap: .65rem; }
.dsr-thumb {
  width: 70px;
  height: 70px;
  border: 1px solid var(--ag-line);
  border-radius: 5px;
  background: var(--ag-photo);
  opacity: .65;
  transform: none !important;
}
.dsr-thumb.is-active { border-color: var(--ag-gold); box-shadow: none; opacity: 1; }

.dsr-dossier { top: 88px; }
.dsr-cat,
.dsr-section-label {
  color: var(--ag-gold);
  font-family: Inter, "Segoe UI", sans-serif;
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.dsr-title {
  max-width: 14ch;
  margin-bottom: .75rem;
  color: var(--ag-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.dsr-title em { color: var(--ag-gold); }
.dsr-sub { color: var(--ag-muted); font-family: Inter, "Segoe UI", sans-serif; line-height: 1.65; }
.dsr-rating { color: var(--ag-muted); font-family: Inter, "Segoe UI", sans-serif; }
.dsr-stars,
.dsr-rating .cert { color: var(--ag-gold); }
.dsr-rule { background: var(--ag-line); }

.dsr-pricebox {
  position: relative;
  overflow: hidden;
  margin: 1.25rem 0 1rem;
  padding: clamp(1.2rem, 3vw, 1.6rem);
  border: 1px solid #dcc39470;
  border-radius: 7px;
  background: linear-gradient(135deg, #dcc39414, transparent 70%), var(--ag-surface);
}
.dsr-pricebox::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--ag-gold);
}
.dsr-price-label { color: var(--ag-muted); font-family: Inter, "Segoe UI", sans-serif; letter-spacing: .12em; }
.dsr-price {
  color: var(--ag-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.75rem, 6vw, 4rem);
  font-weight: 400;
  letter-spacing: -.045em;
}
.dsr-price .eur { color: var(--ag-gold); }
.dsr-cond {
  border-color: #dcc39465;
  border-radius: 999px;
  background: #dcc39412;
  color: var(--ag-gold);
  font-family: Inter, "Segoe UI", sans-serif;
  letter-spacing: .08em;
}
.dsr-secure { color: var(--ag-muted); font-family: Inter, "Segoe UI", sans-serif; }

.dsr-btn { border-radius: 4px; clip-path: none; font-family: Inter, "Segoe UI", sans-serif; letter-spacing: 0; text-transform: none; }
.dsr-btn-acq {
  height: 52px;
  border-radius: 4px;
  background: var(--ag-gold) !important;
  color: #17212a !important;
  font-size: .875rem;
  box-shadow: none !important;
  transform: none !important;
}
.dsr-btn-acq::after { display: none; }
.dsr-btn-ghost { min-height: 46px; border-radius: 4px; color: var(--ag-text) !important; }
.dsr-fav { border-radius: 4px; clip-path: none; transform: none !important; }
.dsr-meta-row { color: var(--ag-muted); font-family: Inter, "Segoe UI", sans-serif; }

.dsr-core {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
  gap: 18px;
  margin-top: clamp(2rem, 5vw, 3.5rem);
}
.dsr-description-card,
.dsr-criteria-card {
  min-width: 0;
  border: 1px solid var(--ag-line);
  border-radius: 7px;
  background: var(--ag-surface);
  padding: clamp(1.35rem, 3.5vw, 2.25rem);
}
.dsr-description-card { position: relative; }
.dsr-description-card::before {
  content: "“";
  position: absolute;
  top: .65rem;
  right: 1.25rem;
  color: #dcc39418;
  font: 400 6rem/1 Georgia, serif;
}
.dsr-section-label { margin: 0 0 .65rem; }
.dsr-section-title {
  max-width: 18ch;
  margin: 0 0 1.25rem;
  color: var(--ag-text);
  font: 400 clamp(1.4rem, 2.4vw, 2rem)/1.2 Georgia, "Times New Roman", serif;
  letter-spacing: -.025em;
}
.dsr-description-copy {
  position: relative;
  max-width: 68ch;
  color: var(--ag-text);
  font: 400 1rem/1.8 Inter, "Segoe UI", sans-serif;
}
.dsr-description-copy p { margin: 0 0 1rem; }
.dsr-description-copy p:last-child { margin-bottom: 0; }
.dsr-description-signature {
  margin: 1.4rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--ag-line);
  color: var(--ag-muted);
  font: 500 .75rem/1.5 Inter, "Segoe UI", sans-serif;
}
.dsr-criteria-list { margin: 0; }
.dsr-criterion {
  display: grid;
  grid-template-columns: minmax(90px, .8fr) minmax(0, 1.2fr);
  align-items: baseline;
  gap: 1rem;
  padding: .85rem 0;
  border-bottom: 1px solid var(--ag-line);
}
.dsr-criterion:last-child { border-bottom: 0; }
.dsr-criterion dt {
  color: var(--ag-muted);
  font: 500 .6875rem/1.4 Inter, "Segoe UI", sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.dsr-criterion dd {
  margin: 0;
  color: var(--ag-text);
  font: 500 .9375rem/1.45 Inter, "Segoe UI", sans-serif;
  overflow-wrap: anywhere;
}
.dsr-criterion dd.is-highlight { color: var(--ag-gold); }

.dsr-seller-sec { margin-top: clamp(2.5rem, 6vw, 4rem); }
.dsr-seller,
.dsr-guar__card {
  border-color: var(--ag-line);
  border-radius: 7px;
  background: var(--ag-surface);
}
.dsr-seller__k { color: var(--ag-gold); font-family: Inter, "Segoe UI", sans-serif; letter-spacing: .12em; }
.dsr-seller__name,
.dsr-guar__t { color: var(--ag-text); font-family: Georgia, "Times New Roman", serif; }
.dsr-seller__stats,
.dsr-guar__d { color: var(--ag-muted); font-family: Inter, "Segoe UI", sans-serif; }
.dsr-guar__ic { background: #dcc39412; color: var(--ag-gold); }

.dsr-related__title,
.dsr-lot__name,
.dsr-lot__price { color: var(--ag-text); font-family: Georgia, "Times New Roman", serif; }
.dsr-lot { border-color: var(--ag-line); border-radius: 7px; background: var(--ag-surface); transform: none !important; }
.dsr-lot__frame { background: var(--ag-photo); }
.dsr-lot__frame > img { object-fit: contain; padding: 12px; transform: none !important; }

.dsr-acqbar { border-color: var(--ag-line); background: #0b141cf2; }

@media (max-width: 1000px) {
  .dsr-hero { grid-template-columns: 1fr; }
  .dsr-dossier { position: static; }
  .dsr-title { max-width: 18ch; }
}

@media (max-width: 760px) {
  .dsr-core { grid-template-columns: 1fr; }
  .dsr-stage-frame { aspect-ratio: 1 / 1; }
  .dsr-pricebox__top { align-items: flex-start; flex-direction: column; }
  .dsr-price { font-size: clamp(2.65rem, 15vw, 3.5rem); }
  .dsr-seller,
  .dsr-seller__id { align-items: flex-start; }
  .dsr-seller__actions { width: 100%; }
  .dsr-seller__actions .dsr-btn-ghost { flex: 1; }
}

@media (max-width: 420px) {
  .dsr-wrap { padding-inline: 14px; }
  .dsr-crumbs { padding-top: 1rem; }
  .dsr-title { font-size: 2rem; }
  .dsr-description-card,
  .dsr-criteria-card { padding: 1.2rem; }
  .dsr-criterion { grid-template-columns: 1fr; gap: .3rem; }
  .dsr-ctas__row { flex-wrap: wrap; }
  .dsr-ctas__row .dsr-btn-ghost { min-width: 0; }
}

[data-theme="light"] .dsr-page {
  --ag-bg: #f7f5ef;
  --ag-surface: #ffffff;
  --ag-photo: #eeece5;
  --ag-text: #172a35;
  --ag-muted: #546571;
  --ag-gold: #82602b;
  --ag-line: #d6d9d7;
  --cream: var(--ag-text);
  --cream-2: #334955;
  --cream-3: var(--ag-muted);
  --line: var(--ag-line);
  --line-2: #b5a27e;
  background: var(--ag-bg) !important;
}
html[data-theme="light"]:has(.dsr-page),
[data-theme="light"] body:has(.dsr-page) { background: #f7f5ef !important; }
[data-theme="light"] .dsr-pricebox { background: linear-gradient(135deg, #82602b0d, transparent 70%), #fff; }
[data-theme="light"] .dsr-stage-frame > img,
[data-theme="light"] .dsr-stage-frame > picture > img { background: radial-gradient(circle at 50% 45%, #e6e0d4 0, #f1eee7 58%, #e8e3da 100%); }
[data-theme="light"] .dsr-acqbar { background: #f7f5eff2; }
[data-theme="light"] .dsr-description-card::before { color: #82602b14; }

@media (prefers-reduced-motion: reduce) {
  .dsr-page *, .dsr-page *::before, .dsr-page *::after { animation: none !important; transition: none !important; }
}
