
    @font-face {
      font-family: "Inter";
      src: url("fonts/inter-latin.woff2") format("woff2");
      font-style: normal;
      font-weight: 400 600;
      font-display: optional;
    }
    @font-face {
      font-family: "Cormorant Garamond";
      src: url("fonts/cormorant-garamond-latin.woff2") format("woff2");
      font-style: normal;
      font-weight: 500 600;
      font-display: optional;
    }
    :root {
      --bg: #f7f4f0;
      --bg-alt: #ffffff;
      --text: #222222;
      --muted: #666666;
      --accent: #c9a33a;
      --accent-dark: #9c7d20;
      --border: #e0d6c7;
      --shadow-soft: 0 10px 25px rgba(0, 0, 0, 0.08);
      --radius-lg: 18px;
      --radius-xl: 26px;
      --transition-fast: 0.2s ease;
      --max-width: 1400px;
    }
    * { box-sizing: border-box; }
    html, body {
      margin: 0;
      padding: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background: var(--bg);
      color: var(--text);
      line-height: 1.6;
    }
    html {
  scroll-behavior: smooth;
}

    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; display: block; }

    header {
      position: sticky;
      top: 0;
      z-index: 20;
      backdrop-filter: blur(10px);
      background: rgba(247, 244, 240, 0.9);
      border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    }
    .nav {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.75rem 1.25rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }
    .logo {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      font-size: 0.9rem;
    }
    .logo-mark {
      width: 30px;
      height: 30px;
      border-radius: 999px;
      border: 2px solid var(--accent);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.7rem;
    }
    .logo-img {
      height: 32px;
      width: auto;
      display: block;
    }
    .logo-text {
      display: flex;
      flex-direction: column;
      line-height: 1.1;
    }
    .logo-text-main {
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      font-size: 0.8rem;
    }
    .logo-text-sub {
      font-weight: 500;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      font-size: 0.65rem;
      color: rgba(15,23,42,0.65);
    }

    .nav-links {
      display: flex;
      gap: 1rem;
      font-size: 0.9rem;
    }
    .nav-links a {
      padding: 0.3rem 0.8rem;
      border-radius: 999px;
      transition: background var(--transition-fast);
    }
    .nav-links a:hover { background: rgba(0, 0, 0, 0.04); }
    .nav-cta {
      padding: 0.45rem 1.1rem;
      border-radius: 999px;
      border: 1px solid var(--accent);
      color: var(--accent-dark);
      font-weight: 600;
      font-size: 0.85rem;
      background: #fffdf6;
      box-shadow: 0 0 0 1px rgba(201, 163, 58, 0.1);
      transition: background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
    }
    .nav-cta:hover {
      background: #fff8df;
      transform: translateY(-1px);
      box-shadow: var(--shadow-soft);
    }
    main {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 1.5rem 1.25rem 3rem;
    }

    .hero {
      margin-top: 1.5rem;
      margin-bottom: 2rem;
      padding: 2.3rem 1.8rem;
      border-radius: var(--radius-xl);
      background: radial-gradient(circle at top left, #fff8e3, #f7f4f0);
      display: grid;
      grid-template-columns: minmax(0, 2fr) minmax(0, 1.6fr);
      gap: 1.8rem;
      box-shadow: var(--shadow-soft);
      border: 1px solid rgba(201, 163, 58, 0.2);
    }
    .hero-text h1 {
      margin: 0 0 0.6rem;
      font-size: clamp(1.9rem, 2.7vw, 2.4rem);
    }
    .hero-sub {
      margin-bottom: 1.2rem;
      font-size: 0.98rem;
      color: var(--muted);
    }
    .hero-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 0.4rem;
      margin-bottom: 1.2rem;
    }
    .chip {
      padding: 0.2rem 0.75rem;
      font-size: 0.8rem;
      border-radius: 999px;
      border: 1px solid rgba(0, 0, 0, 0.08);
      background: rgba(255, 255, 255, 0.7);
    }
    .chip--gold {
      border-color: rgba(201, 163, 58, 0.6);
      background: #fff8e0;
      color: var(--accent-dark);
      font-weight: 600;
    }
    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      align-items: center;
    }
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.4rem;
      border-radius: 999px;
      padding: 0.6rem 1.4rem;
      border: none;
      cursor: pointer;
      font-size: 0.95rem;
      font-weight: 600;
      font-family: inherit;
      transition: background var(--transition-fast), transform var(--transition-fast),
        box-shadow var(--transition-fast), color var(--transition-fast);
    }
    .btn-primary {
      background: linear-gradient(135deg, #d8b15b, #c9a33a);
      color: #312407;
      box-shadow: 0 10px 20px rgba(128, 99, 30, 0.35);
    }
    .btn-primary:hover {
      transform: translateY(-1px);
      box-shadow: 0 14px 26px rgba(128, 99, 30, 0.4);
    }
    .btn-ghost {
      background: transparent;
      color: var(--accent-dark);
      border: 1px solid rgba(201, 163, 58, 0.5);
    }
    .btn-ghost:hover { background: rgba(255, 248, 224, 0.9); }
    .hero-note {
      margin-top: 0.8rem;
      font-size: 0.85rem;
      color: var(--muted);
    }
    .hero-media {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .frame-mockup {
      width: 100%;
      max-width: 360px;
      aspect-ratio: 4 / 3;
      border-radius: 20px;
      padding: 12px;
      background: linear-gradient(135deg, #e7d4a8, #cfb27a);
      box-shadow: 0 18px 40px rgba(0, 0, 0, 0.25);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .frame-inner {
      width: 100%;
      height: 100%;
      border-radius: 14px;
      background: #ffffff;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      position: relative;
    }
    .frame-art {
      width: 100%;
      height: 100%;
      background-image: linear-gradient(
          to bottom,
          rgba(0, 0, 0, 0.08),
          rgba(0, 0, 0, 0)
        ),
        url("https://images.pexels.com/photos/4173463/pexels-photo-4173463.jpeg?auto=compress&cs=tinysrgb&w=800");
      background-size: cover;
      background-position: center;
      filter: saturate(1.1);
      transform: scale(1.02);
    }
    .frame-label {
      position: absolute;
      left: 12px;
      bottom: 10px;
      padding: 0.2rem 0.6rem;
      font-size: 0.7rem;
      border-radius: 999px;
      background: rgba(0, 0, 0, 0.65);
      color: #f8f0d5;
    }
    .badge-floating {
      position: absolute;
      top: 8px;
      right: -4px;
      padding: 0.4rem 0.8rem;
      background: #ffffff;
      border-radius: 999px;
      border: 1px solid rgba(0, 0, 0, 0.08);
      box-shadow: var(--shadow-soft);
      font-size: 0.78rem;
    }

    .section { margin-top: 2.8rem; }

/* ===========================
   CONFORT DE LECTURE – STYLE “LIVRE D’ART”
   =========================== */
.site-section--text {
  max-width: 1400px;
  margin-inline: auto;
  line-height: 1.6;
}


    .section-header {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.filters-header-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}


    .section-title { font-size: 1.3rem; margin: 0; }
    .section-sub {
      font-size: 0.9rem;
      color: var(--muted);
      margin: 0.2rem 0 0;
    }
    /* Section galerie – titre luxe centré */
.section-galerie {
  margin-top: 2.1rem;        /* un peu plus près du bandeau */
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.section-galerie.visible {
  opacity: 1;
  transform: translateY(0);
}


.section-header--center {
  justify-content: center;
  text-align: center;
}

.section-title-gold {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.6rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent-dark);
}

.filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  align-items: center;
  margin-top: 0.5rem;
}

/* ligne globale : techniques à gauche, boutons à droite */
.filters-row-main {
  justify-content: space-between;
  align-items: center;
  margin-top: 0.6rem;
  margin-bottom: 0.8rem; /* plus d’air avec les vignettes */
}

.filters {
  margin-top: 0.5rem !important; /* plus haut, plus compact */
}

.filter-groups {
  margin: 0.85rem 0 0.8rem;
  padding: 0.9rem 1rem 1rem;
  border: 1px solid rgba(181, 137, 28, 0.22);
  border-radius: 20px;
  background:
    radial-gradient(circle at 0 0, rgba(226, 189, 85, 0.09), transparent 34%),
    rgba(255, 253, 248, 0.72);
}

.filter-group {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: start;
  gap: 0.55rem 0.9rem;
}

.filter-group + .filter-group {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(181, 137, 28, 0.17);
}

.filter-label {
  padding-top: 0.36rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7d6222;
}

.filters-themes,
.filters-techniques {
  display: flex;
  flex-wrap: wrap;
  gap: 0.48rem;
  margin: 0 !important;
}

.filters-themes .filter-pill {
  border-color: rgba(181, 137, 28, 0.25);
}

.filters-themes .filter-pill.active,
.filters-techniques .filter-pill.active {
  color: #231b0e;
  border-color: #b5891c;
  background: linear-gradient(135deg, #f8e7a1, #d8aa3c);
  box-shadow: 0 5px 14px rgba(128, 91, 10, 0.14);
}

    /* la zone des pills de technique prend la place restante */
.filters-techniques {
  flex: 1;
  margin-top: 0; /* on annule le surplus */
}

/* boutons à droite, bien alignés */
.filters-actions {
  justify-content: flex-end;
  margin-left: auto;
  margin-top: 0;
  gap: 0.5rem;
}

/* sur petit écran, on repasse en colonne pour que ça ne casse pas tout */
@media (max-width: 720px) {
  .filter-groups { padding: 0.8rem; border-radius: 16px; }
  .filter-group { grid-template-columns: 1fr; gap: 0.35rem; }
  .filter-label { padding-top: 0; }
  .filters-themes,
  .filters-techniques { gap: 0.42rem; }
  .filters-themes .filter-pill,
  .filters-techniques .filter-pill { padding: 0.42rem 0.72rem; }
  .filters-row-main {
    flex-direction: column;
    align-items: flex-start;
  }
  .filters-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

.filter-pill-ghost {
  background: transparent;
  border-color: rgba(201, 163, 58, 0.35);
  color: var(--accent-dark);
  font-weight: 500;
  opacity: 0.9;
}

    .filter-pill {
      padding: 0.27rem 0.9rem;
      border-radius: 999px;
      border: 1px solid rgba(0, 0, 0, 0.12);
      font-size: 0.8rem;
      cursor: pointer;
      background: rgba(255, 255, 255, 0.55);
      transition: background var(--transition-fast), border-color var(--transition-fast),
        color var(--transition-fast), transform var(--transition-fast);
    }
    .filter-pill:hover {
      transform: translateY(-1px);
      background: #ffffff;
    }
    .filter-pill.active {
      background: #fff4d6;
      border-color: var(--accent);
      color: var(--accent-dark);
      font-weight: 600;
    }

    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1.1rem;
    }
/* Carte d'œuvre : version finale + animation d'apparition */
.art-card {
  background: var(--bg-alt);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  border: 1px solid var(--border);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  cursor: pointer;

  /* animation d'apparition */
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 0.4s ease,
    transform 0.4s ease,
    box-shadow var(--transition-fast);
}

.art-card.appear {
  opacity: 1;
  transform: translateY(0);
}

.art-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.12);
}

    .art-image-wrap {
      position: relative;
      overflow: hidden;
      aspect-ratio: 4 / 3;
      background: #ddd;
    }
    .art-main-image {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .art-badge {
      position: absolute;
      left: 10px;
      bottom: 10px;
      padding: 0.2rem 0.6rem;
      border-radius: 999px;
      font-size: 0.75rem;
      background: rgba(0, 0, 0, 0.65);
      color: #f5f0e4;
    }
    .art-body {
      padding: 0.8rem 0.9rem 0.85rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.35rem;
      font-size: 0.88rem;
      text-align: center;
    }
    .art-title { font-weight: 600; font-size: 0.96rem; }
    .art-artist { font-size: 0.85rem; color: var(--muted); }
    .art-meta { font-size: 0.8rem; color: var(--muted); }
    .art-footer {
      margin-top: 0.4rem;
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      align-items: start;
      justify-items: center;
      gap: 0.5rem;
      width: 100%;
    }
    .art-price {
      display: block;
      width: 100%;
      font-weight: 700;
      color: var(--accent-dark);
      font-size: 0.95rem;
      text-align: center;
    }
    .art-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 0.3rem;
      width: 100%;
      font-size: 0.72rem;
    }
    .art-tag {
      padding: 0.1rem 0.5rem;
      border-radius: 999px;
      background: #f2ece1;
      color: #5b4d33;
    }
    

    .info-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.4fr);
      gap: 1.6rem;
      align-items: flex-start;
    }

/* ✅ 3 colonnes sur grand écran uniquement */
@media (min-width: 1100px) {
  .info-grid {
    grid-template-columns: repeat(3, minmax(320px, 1fr));
    gap: 2.2rem;
  }
}



    .info-card {
      background: var(--bg-alt);
      border-radius: var(--radius-lg);
      border: 1px solid var(--border);
      box-shadow: var(--shadow-soft);
      padding: 1.1rem 1.2rem;
      font-size: 0.9rem;
    }

/* Bouton discret dans la section "esprit" */
.info-card-cta {
  margin-top: 1rem;
  text-align: center;
}

.info-card-cta .btn {
  font-size: 0.85rem;
  padding: 0.55rem 1.3rem;
}

.info-card-cta .btn-ghost {
  border-color: rgba(201, 163, 58, 0.65);
  color: var(--accent-dark);
  background: rgba(255, 248, 224, 0.08);
}

.info-card-cta .btn-ghost:hover {
  background: rgba(255, 248, 224, 0.28);
}


    .info-card h3 {
      margin-top: 0;
      margin-bottom: 0.6rem;
      font-size: 1.02rem;
    }
    .info-list {
      list-style: none;
      margin: 0.4rem 0 0;
      padding: 0;
      font-size: 0.9rem;
    }
    .info-list li { margin-bottom: 0.3rem; }
    .highlight {
      font-weight: 600;
      color: var(--accent-dark);
    }
    .acquisition-note {
      margin: 0.9rem 0 0;
      padding: 0.8rem 0.9rem;
      border: 1px solid rgba(201, 163, 58, 0.42);
      border-left: 3px solid var(--accent);
      border-radius: 10px;
      background: linear-gradient(135deg, rgba(255, 250, 236, 0.92), rgba(247, 240, 219, 0.52));
      color: #4b402b;
    }
    .acquisition-note strong { color: var(--accent-dark); }

    footer {
      border-top: 1px solid rgba(0, 0, 0, 0.06);
      padding: 1.3rem 1.25rem 1.6rem;
      font-size: 0.78rem;
      color: var(--muted);
      text-align: center;
    }

        .lightbox-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.62);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 30;
      padding: 0;
    }

    /* Layout général de la lightbox (desktop) */
    .lightbox {
  position: relative;
  width: min(1100px, 100%);
  max-height: 90vh;
  background: #111;
  border-radius: 16px;
  overflow: hidden;

  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2.6fr);
  grid-template-rows: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "image header"
    "image info"
    "thumbs info";
}



    /* Bloc titre / artiste / technique / prix */
    .lightbox-header {
  grid-area: header;
  padding: 0.9rem 1.2rem 0.7rem;
  text-align: center;

  /* fond sombre opaque pour ne plus voir le texte de derrière */
  background: #151515;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}



    .lightbox-title {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 0.2rem;
  color: #f9d46b;                 /* doré plus vif */
  letter-spacing: 0.04em;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.7);
}

.lightbox-header {
  background: linear-gradient(
    to bottom,
    rgba(25, 25, 25, 0.98),
    rgba(12, 12, 12, 0.98)
  );
}

.lightbox-title {
  color: #f5d27a;
  font-weight: 700;
  text-shadow:
    0 1px 2px rgba(0,0,0,0.9),
    0 0 12px rgba(243, 210, 123, 0.4);
}


    .lightbox-artist {
      font-size: 0.86rem;
      color: #b7aea1;
    }

    .lightbox-meta {
      font-size: 0.82rem;
      color: #c0b7aa;
      margin-top: 0.15rem;
    }

    .lightbox-price {
      margin-top: 0.35rem;
      font-weight: 700;
      color: #f3d27b;
      font-size: 0.92rem;
    }

    /* Image principale */
    .lightbox-main {
      grid-area: image;
      position: relative;
      background: #000;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 6px;
      overflow: hidden;
      touch-action: none; /* pour pinch-zoom & swipe gérés en JS */
    }

    .lightbox-main img {
  width: auto;
  max-width: 100%;
  max-height: 82vh;  /* laisse de la place pour les vignettes et la marge */
  object-fit: contain;
  display: block;
  box-shadow: 0 0 0 2px rgba(230, 210, 150, 0.85);
  border-radius: 3px;
}


    .lightbox-close {
      position: absolute;
      top: 10px;
      right: 10px;
      border: none;
      background: rgba(0, 0, 0, 0.6);
      color: #f1e9d1;
      border-radius: 999px;
      width: 28px;
      height: 28px;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1rem;
    }

    /* Bande de vignettes sous l'image */
    .lightbox-thumbs {
      grid-area: thumbs;
      margin: 0;
      padding: 0.55rem 0.9rem 0.7rem;
      display: flex;
      gap: 0.4rem;
      overflow-x: auto;
      background: #151515;
      border-top: 1px solid rgba(255, 255, 255, 0.04);
    }

    .lightbox-thumb {
      flex: 0 0 auto;
      border-radius: 6px;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.20);
      padding: 0;
      background: rgba(0, 0, 0, 0.25);
      cursor: pointer;
      transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease,
        opacity 0.18s ease;
    }

    .lightbox-thumb img {
      display: block;
      width: 70px;
      height: 55px;
      object-fit: cover;
    }

    .lightbox-thumb.active {
      border-color: #d8b15b;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
      opacity: 1;
    }

    .lightbox-thumb:not(.active) {
      opacity: 0.8;
    }

    /* Colonne texte (description + contact) à droite */
    .lightbox-info {
      grid-area: info;
      background: #151515;
      padding: 0.8rem 1.1rem 1rem;
      display: flex;
      flex-direction: column;
      gap: 0.7rem;
      font-size: 0.9rem;
      max-height: 100%;
      overflow-y: auto;
    }

    .lightbox-description {
      margin-top: 0.1rem;
      font-size: 0.86rem;
      color: #f0e7d8;
      line-height: 1.6;
      white-space: pre-wrap;
    }
    .site-language {
      display:flex;
      gap:4px;
      padding:3px;
      border:1px solid rgba(156,125,32,.35);
      border-radius:999px;
      background:rgba(255,255,255,.72);
    }
    .site-language button {
      border:0;
      border-radius:999px;
      padding:5px 8px;
      background:transparent;
      color:#6d571b;
      font-size:.72rem;
      font-weight:700;
      cursor:pointer;
    }
    .site-language button.active {
      background:#c9a33a;
      color:#17120a;
    }

    .lightbox-language {
      display:flex;
      gap:7px;
      margin:0 0 12px;
    }
    .lightbox-language button {
      border:1px solid #c99a28;
      border-radius:999px;
      background:#17130b;
      color:#f1cd73;
      padding:6px 13px;
      cursor:pointer;
      font-weight:700;
      font-size:.88rem;
      line-height:1;
      opacity:1;
      transition:background .18s ease, color .18s ease, border-color .18s ease;
    }
    .lightbox-language button.active {
      background:#e0b548;
      border-color:#f0cf7d;
      color:#17120a;
      box-shadow:0 0 0 2px rgba(224,181,72,.18);
    }
    .lightbox-language button:disabled {
      background:#151515;
      border-color:#555;
      color:#8f8f8f;
      opacity:.72;
      cursor:not-allowed;
    }
    .lightbox-language button:focus-visible {
      outline:2px solid #fff;
      outline-offset:2px;
    }

    .lightbox-contact {
      margin-top: 0.4rem;
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      font-size: 0.82rem;
      color: #c0b7aa;
    }

    .lightbox-contact .lightbox-trust-note {
      display: block;
      margin-top: 0.35rem;
      font-size: 0.8rem;
      color: #e5ddcf;
      opacity: 0.9;
    }

    .lightbox-actions {
      margin-top: 0.6rem;
      display: flex;
      flex-wrap: wrap;
      gap: 0.4rem;
    }

    .lightbox-actions button {
      font-size: 0.8rem;
      padding: 0.4rem 0.9rem;
      border-radius: 999px;
      border: 1px solid rgba(243, 210, 123, 0.5);
      background: transparent;
      color: #f3d27b;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
    }

    .lightbox-actions button:hover {
      background: rgba(243, 210, 123, 0.1);
    }

    /* Animation d’apparition de la lightbox (déjà utilisée dans ton JS) */
    @keyframes lightboxIn {
      from {
        opacity: 0;
        transform: translateY(10px) scale(0.96);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .lightbox-anim {
      animation: lightboxIn 0.25s ease-out;
    }


    .hidden { display: none !important; }

    @media (max-width: 900px) {
  .hero { grid-template-columns: minmax(0, 1fr); }
  .hero-media { order: -1; justify-content: flex-start; }
  .frame-mockup { margin: 0 auto; }
  .info-grid { grid-template-columns: minmax(0, 1fr); }

  /* Lightbox en colonne, pleine hauteur, scroll global */
  
    .lightbox {
    display: block;          /* on quitte le mode grid */
    width: 100%;
    max-width: 100%;
    max-height: none;
    height: auto;
    border-radius: 0;        /* ou 12px si tu préfères, mais plein écran c’est élégant */
  }


  .lightbox-backdrop {
    align-items: flex-start;
    padding: 0.5rem;
    overflow-y: auto;
  }

  .lightbox-main {
  max-height: none;
  min-height: 55vh;          /* réserve de la place pour l’image */
  display: flex;
  align-items: center;
  justify-content: center;
}



  .lightbox-header {
    padding: 0.8rem 1rem 0.4rem;
  }

  .lightbox-main {
    max-height: none;
  }

  .lightbox-main img {
    max-height: 65vh;
  }

  .lightbox-thumbs {
    padding-inline: 1rem;
  }

  .lightbox-info {
    max-height: none;
    overflow: visible;
    padding: 0.9rem 1rem 1.4rem;
  }

  .lightbox-description {
    max-height: none;
    overflow: visible;
  }
}


    @media (max-width: 640px) {
  .nav {
    padding-inline: 1.1rem;
    flex-wrap: wrap;
    row-gap: 0.4rem;
  }

  .nav-links {
    display: none;
  }

  .nav-cta {
    width: 100%;
    text-align: center;
    justify-content: center;
  }

  main {
    padding-inline: 1rem;
  }

  .hero {
    padding: 1.6rem 1.3rem;
  }

  .section {
    margin-top: 2.2rem;
  }

 .gallery-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

  /* Lightbox plein écran sur mobile */
  .lightbox-backdrop {
    padding: 0;
    align-items: stretch;
  }
  
}


  
    /* HERO LUXE – Château de Chillon en plein écran (pastel) */
    .hero-luxe {
      position: relative;
      width: 100%;
      min-height: 70vh;
      border-radius: 18px;
      overflow: hidden;
      margin-top: 1.5rem;
      box-shadow: 0 25px 70px rgba(0,0,0,0.35);
      background: #000;
    }
    .hero-luxe-bg {
      position: absolute;
      inset: 0;
      background: #000;
      filter: saturate(1.18) brightness(1.12);
    }
    .hero-luxe-picture,
    .hero-luxe-picture img {
      width: 100%;
      height: 100%;
    }
    .hero-luxe-picture {
      position: absolute;
      inset: 0;
      display: block;
    }
    .hero-luxe-picture img {
      object-fit: cover;
      object-position: center;
    }
    .hero-luxe-bg::after {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(to bottom, rgba(0,0,0,0.58), rgba(0,0,0,0.32)),
        linear-gradient(to top right, rgba(201,163,58,0.28), rgba(0,0,0,0));
      pointer-events: none;
    }
    .hero-luxe-overlay {
      position: absolute;
      inset: 0;
      background: radial-gradient(circle at 25% 35%, rgba(250,220,140,0.38), transparent 60%);
      pointer-events: none;
    }
    .hero-luxe-content {
      position: relative;
      z-index: 5;
      max-width: 50%;
      padding: 4rem 3rem 3rem;
      color: #fffdf7;
      text-shadow: 0 4px 10px rgba(0,0,0,0.65);
    }
    .hero-luxe-content h1 {
      margin: 0 0 0.7rem;
      font-size: clamp(2.1rem, 4vw, 3rem);
    }
    .hero-luxe-sub {
      font-size: 1.05rem;
      line-height: 1.55rem;
      margin-bottom: 1.4rem;
      color: #f4ebd0;
    }
    .hero-luxe-actions .btn-ghost {
      border: 2px solid rgba(245, 215, 150, 0.95);
      color: #f8e9c0 !important;
      background: rgba(0, 0, 0, 0.42);
      backdrop-filter: blur(5px);
      font-weight: 600;
      text-shadow: 0 2px 4px rgba(0,0,0,0.55);
      transition: 0.25s ease;
    }
    .hero-luxe-actions .btn-ghost:hover {
      background: rgba(0, 0, 0, 0.65);
      border-color: #ffe3a4;
      color: #fff9e8 !important;
      transform: translateY(-2px);
    }
    @media (max-width: 900px) {
      .hero-luxe-content {
        max-width: 100%;
        padding: 3rem 1.8rem;
      }
    }

    /* Luxe header & typographie artistique */
    html, body {
      font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }
    header {
      position: sticky;
      top: 0;
      z-index: 30;
      backdrop-filter: blur(18px);
      background: linear-gradient(to right, rgba(247,244,240,0.96), rgba(255,252,244,0.96));
      border-bottom: 1px solid rgba(201,163,58,0.32);
    }
    .nav {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.9rem 1.9rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1.4rem;
    }
    .logo {
      display: flex;
      align-items: center;
      gap: 0.9rem;
    }
    .logo-img {
      height: 40px;
      width: auto;
    }
    .logo-text-main {
      font-family: "Cormorant Garamond", "Times New Roman", serif;
      font-size: 1.05rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
    }
    .logo-text-sub {
      font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      font-size: 0.72rem;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: rgba(15,23,42,0.7);
    }
    .nav-links a {
      position: relative;
      font-size: 0.9rem;
      letter-spacing: 0.09em;
      text-transform: uppercase;
      padding: 0.35rem 0.2rem;
      border-radius: 0;
    }
    .nav-links a::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: -0.25rem;
      width: 0;
      height: 2px;
      background: linear-gradient(90deg, #d8b15b, #c9a33a);
      border-radius: 999px;
      transition: width 0.25s ease;
    }
    .nav-links a:hover::after {
      width: 100%;
    }
    .nav-cta {
      padding: 0.6rem 1.6rem;
      border-radius: 999px;
      border: 1px solid rgba(201,163,58,0.9);
      color: #5f4510;
      font-weight: 600;
      font-size: 0.78rem;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      background: radial-gradient(circle at 20% 20%, #fffdf5, #f6e2b7);
      box-shadow: 0 12px 28px rgba(143,109,26,0.35);
    }
    .nav-cta:hover {
      background: radial-gradient(circle at 20% 20%, #fff7dd, #f1d292);
      transform: translateY(-1px);
      box-shadow: 0 16px 32px rgba(143,109,26,0.4);
    }

/* Scroll confortable de la lightbox sur mobile */
@media (max-width: 900px) {
  .lightbox {
    max-height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* on laisse la backdrop défiler aussi, sinon tout est bloqué */
  .lightbox-backdrop {
    overflow-y: auto;
  }
}



    @media (max-width: 640px) {
      .nav {
        padding-inline: 1.2rem;
      }
    }

    /* Ruban VENDU */
    .ribbon-vendu {
      position: absolute;
      top: 10px;
      right: -40px;
      background: #c60000;
      color: white;
      padding: 6px 50px;
      font-size: 0.78rem;
      font-weight: 700;
      text-transform: uppercase;
      transform: rotate(35deg);
      box-shadow: 0 6px 14px rgba(0,0,0,0.25);
      letter-spacing: 0.05em;
      z-index: 20;
    }

    /* Ruban RÉSERVÉ */
    .ribbon-reserve {
      position: absolute;
      top: 10px;
      left: -40px;
      background: #d4a858;
      color: white;
      padding: 6px 50px;
      font-size: 0.78rem;
      font-weight: 700;
      text-transform: uppercase;
      transform: rotate(-35deg);
      box-shadow: 0 6px 14px rgba(0,0,0,0.25);
      letter-spacing: 0.05em;
      z-index: 20;
    }

    .ribbon-etude,.ribbon-encheres{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:20;padding:7px 13px;border:1px solid rgba(255,255,255,.5);border-radius:999px;color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 6px 18px rgba(0,0,0,.28);white-space:nowrap}
    .ribbon-etude{background:rgba(53,63,78,.94)}
    .ribbon-encheres{background:rgba(101,70,20,.95);color:#fff0b6}

 .art-new-label {
  align-self: center;
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  background: #f5edd9;
  border: 1px solid rgba(174, 132, 33, 0.48);
  color: #896813;
}

/* ===========================
   CORRECTION MOBILE HERO
   =========================== */

@media (max-width: 640px) {

  .hero-luxe {
    min-height: auto;
    height: auto;
    margin-top: 0.8rem;
    border-radius: 14px;
  }

  .hero-luxe-content {
    max-width: 100%;
    padding: 1.8rem 1.3rem 2rem;
    text-align: center;
  }

  .hero-luxe-content h1 {
    font-size: 1.65rem;
    line-height: 1.25;
  }

  .hero-luxe-sub {
    font-size: 0.92rem;
    line-height: 1.45;
    margin-bottom: 1.1rem;
  }

  /* ✅ Les boutons passent EN COLONNE, bien espacés */
  .hero-luxe-actions {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    align-items: stretch;
  }

  .hero-luxe-actions .btn {
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 0.95rem;
  }

}

/* Recherche Prestige — découverte rapide sans alourdir la galerie */
.prestige-search{margin:1rem 0 .75rem;padding:1rem;border:1px solid rgba(164,125,37,.26);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(250,246,236,.78));box-shadow:0 14px 35px rgba(64,49,17,.06)}
.prestige-search-main{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:.75rem;align-items:center}.prestige-search-box{position:relative}.prestige-search-box:before{content:"⌕";position:absolute;left:16px;top:50%;transform:translateY(-52%);font-size:1.35rem;color:var(--accent-dark)}
.prestige-search input,.prestige-search select{width:100%;min-height:46px;border:1px solid rgba(75,61,31,.2);border-radius:999px;background:#fff;color:#24211c;font:inherit;outline:none}.prestige-search input{padding:.7rem 2.7rem}.prestige-search select{padding:.7rem 2rem .7rem 1rem}.prestige-search input:focus,.prestige-search select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(201,163,58,.14)}
.prestige-toggle{display:inline-flex;align-items:center;gap:.55rem;min-height:42px;padding:.55rem .9rem;border:1px solid rgba(164,125,37,.28);border-radius:999px;background:#fff;cursor:pointer;font-size:.8rem;white-space:nowrap}.prestige-toggle input{width:17px;min-height:17px;accent-color:#a47d25}
.prestige-search-more{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:.65rem;margin-top:.8rem}.prestige-search-more[hidden]{display:none}.prestige-search-status{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:.75rem;color:var(--muted);font-size:.78rem}.prestige-search-status strong{color:var(--accent-dark)}
@media(max-width:900px){.prestige-search-more{grid-template-columns:repeat(2,1fr)}.prestige-search-main{grid-template-columns:1fr}}@media(max-width:520px){.prestige-search{padding:.75rem}.prestige-search-more{grid-template-columns:1fr}.prestige-search-status{align-items:flex-start;flex-direction:column}}

/* Finitions 2026 : lisibilité, fidélité des œuvres et accessibilité */
.gallery-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.85rem, 1.4vw, 1.35rem);
}

.art-image-wrap {
  background: linear-gradient(145deg, #eee9e1, #e2d9cc);
}

.art-main-image {
  object-fit: contain;
  transition: transform 0.45s ease;
}

.art-card:hover .art-main-image {
  transform: scale(1.018);
}

.art-card:focus-visible,
.filter-pill:focus-visible,
.btn:focus-visible,
.lightbox-close:focus-visible,
.lightbox-thumb:focus-visible,
a:focus-visible {
  outline: 3px solid rgba(156, 125, 32, 0.72);
  outline-offset: 3px;
}

.gallery-empty {
  grid-column: 1 / -1;
  padding: 2.5rem 1rem;
  border: 1px dashed var(--border);
  border-radius: var(--radius-lg);
  color: var(--muted);
  text-align: center;
  background: rgba(255, 255, 255, 0.55);
}

@media (min-width: 1280px) {
  .gallery-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .art-body { padding: 0.7rem; }
  .art-title { font-size: 0.9rem; line-height: 1.25; }
  .art-artist, .art-meta { font-size: 0.76rem; }
  .art-tags { display: none; }
}

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

/* Catalogue intelligent v2 — découverte, favoris et montée en charge */
.discovery-shell{max-width:1320px;margin:0 auto;padding:2.4rem 1.25rem 1rem}.discovery-kicker{color:#76540e;font-size:.72rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase}.discovery-heading{margin:.45rem 0 .35rem;font-family:Georgia,serif;font-size:clamp(1.8rem,3.8vw,3rem);font-weight:500;color:#2d2618}.discovery-lead{max-width:760px;margin:0;color:#716957;line-height:1.7}.collection-portals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-top:1.4rem}.collection-portal{position:relative;min-height:145px;padding:1.25rem;border:1px solid rgba(174,132,33,.34);border-radius:18px;overflow:hidden;background:linear-gradient(145deg,#15130f,#292116);color:#fff;text-align:left;cursor:pointer;box-shadow:0 16px 34px rgba(50,36,8,.12);transition:.25s ease}.collection-portal:hover,.collection-portal:focus-visible{transform:translateY(-4px);border-color:#dfb84d;box-shadow:0 22px 44px rgba(50,36,8,.2)}.collection-portal:after{content:"";position:absolute;right:-35px;bottom:-55px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(235,194,85,.28),transparent 67%)}.collection-portal strong{display:block;position:relative;z-index:1;font-family:Georgia,serif;font-size:1.18rem;color:#f1d57e}.collection-portal span{display:block;position:relative;z-index:1;margin-top:.45rem;color:#d0c7b5;font-size:.8rem}.collection-portal--light{background:linear-gradient(145deg,#fffdf8,#efe5ce);color:#302711}.collection-portal--light span{color:#75684e}.catalogue-shortcuts{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.catalogue-shortcut{border:1px solid rgba(165,125,30,.42);border-radius:999px;background:#fffaf0;color:#705311;padding:.62rem .9rem;font:inherit;font-size:.8rem;font-weight:750;cursor:pointer}.catalogue-shortcut:hover{background:#201b12;color:#f0d47a}.favorites-launcher{position:fixed;right:18px;bottom:20px;z-index:75;display:flex;align-items:center;gap:.55rem;border:1px solid #d9ad3b;border-radius:999px;background:#17130d;color:#f3d576;padding:.75rem 1rem;box-shadow:0 14px 40px rgba(0,0,0,.25);font:inherit;font-weight:800;cursor:pointer}.favorites-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#d9ad3b;color:#17130d}.favorite-button{position:absolute;right:10px;top:10px;z-index:4;width:39px;height:39px;border:1px solid rgba(218,177,66,.7);border-radius:50%;background:rgba(18,15,10,.84);color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;backdrop-filter:blur(7px)}.favorite-button.active{background:#d5aa36;color:#17130d}.favorites-dialog{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:1rem;background:rgba(8,7,5,.78);backdrop-filter:blur(9px)}.favorites-dialog[hidden]{display:none}.favorites-panel{width:min(920px,100%);max-height:90vh;overflow:auto;border:1px solid #b78d28;border-radius:22px;background:linear-gradient(145deg,#14120e,#211b12);color:#fff;padding:1.35rem;box-shadow:0 30px 90px #000}.favorites-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:1px solid rgba(220,177,61,.3);padding-bottom:1rem}.favorites-panel h2{margin:0;color:#e8c75f;font-family:Georgia,serif;font-weight:500}.favorites-close{border:1px solid #987421;border-radius:50%;background:transparent;color:#fff;width:38px;height:38px;font-size:1.2rem;cursor:pointer}.favorites-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}.favorite-row{display:grid;grid-template-columns:90px 1fr auto;gap:.8rem;align-items:center;border:1px solid rgba(214,172,58,.24);border-radius:13px;padding:.65rem;background:rgba(255,255,255,.035)}.favorite-row img{width:90px;height:72px;object-fit:cover;border-radius:8px}.favorite-row strong{display:block;color:#f1d57e}.favorite-row small{color:#bbb19f}.favorite-remove{border:0;background:transparent;color:#e88;font-size:1.1rem;cursor:pointer}.favorites-actions{display:flex;flex-wrap:wrap;gap:.7rem}.favorites-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d9ad3b;border-radius:999px;background:#d9ad3b;color:#15110a;padding:.72rem 1rem;text-decoration:none;font-weight:800}.favorites-action.secondary{background:transparent;color:#f2d676}.load-more-wrap{display:flex;justify-content:center;padding:1.7rem 0}.load-more-button{border:1px solid #aa8123;border-radius:999px;background:#18140e;color:#f0d173;padding:.85rem 1.35rem;font:inherit;font-weight:800;cursor:pointer}.format-helper{display:flex;gap:.45rem;flex-wrap:wrap;margin:.75rem 0}.format-helper button{border:1px solid rgba(158,118,28,.35);border-radius:999px;background:#fff;color:#604913;padding:.5rem .8rem;font:inherit;font-size:.76rem;cursor:pointer}.trust-ribbon{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:1.4rem;border:1px solid rgba(173,132,31,.28);border-radius:14px;overflow:hidden;background:rgba(173,132,31,.25)}.trust-ribbon span{background:#fffdf8;padding:.85rem;text-align:center;color:#4d432f;font-size:.8rem;font-weight:700}
.art-card-skeleton{pointer-events:none;overflow:hidden;border-color:rgba(173,132,31,.18);background:#f8f3e9;opacity:1;transform:none}.art-card-skeleton .skeleton-image{aspect-ratio:4/3;background:linear-gradient(105deg,#e9dfca,#faf6ee 48%,#e9dfca)}.art-card-skeleton .skeleton-body{padding:1rem}.art-card-skeleton .skeleton-line{height:11px;margin:.55rem 0;border-radius:999px;background:#ded1b7}.art-card-skeleton .skeleton-line--title{width:68%;height:16px}.art-card-skeleton .skeleton-line--short{width:43%}
.language-suggestion{position:fixed;left:clamp(14px,3vw,34px);bottom:24px;z-index:10180;width:min(390px,calc(100vw - 28px));padding:1rem 1.05rem;border:1px solid rgba(218,177,66,.72);border-radius:16px;background:radial-gradient(circle at 100% 0,rgba(218,177,66,.16),transparent 42%),linear-gradient(145deg,#181510,#0c0b09);color:#f6edd7;box-shadow:0 22px 65px rgba(0,0,0,.38);opacity:0;transform:translate3d(0,12px,0);transition:opacity .2s ease,transform .2s ease}.language-suggestion[hidden]{display:none}.language-suggestion.is-visible{opacity:1;transform:translate3d(0,0,0)}.language-suggestion p{margin:0;color:#eadfc7;font-size:.9rem;line-height:1.5}.language-suggestion-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.8rem}.language-suggestion button{min-height:40px;border-radius:999px;padding:.55rem .85rem;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.language-suggestion-accept{border:1px solid #e2bc57;background:linear-gradient(135deg,#e8c75f,#b98a22);color:#171209}.language-suggestion-stay{border:1px solid rgba(226,188,87,.52);background:transparent;color:#f2d77f}.language-suggestion button:focus-visible{outline:3px solid #fff1b2;outline-offset:3px}
.catalogue-load-error{grid-column:1/-1;margin:.3rem 0;padding:1.25rem 1.4rem;border:1px solid rgba(164,122,27,.34);border-radius:16px;background:linear-gradient(145deg,#fffdf8,#f0e6d1);color:#4d4029;text-align:center}.catalogue-load-error strong{display:block;margin-bottom:.35rem;font-family:Georgia,serif;font-size:1.25rem;color:#6f5213}.catalogue-retry{margin-top:.8rem;border:1px solid #ae8421;border-radius:999px;background:#fffaf0;color:#6b5015;padding:.68rem 1rem;font:inherit;font-weight:800;cursor:pointer}
@media(max-width:680px){.language-suggestion{left:12px;right:12px;bottom:82px;width:auto}}
@media(max-width:900px){.collection-portals{grid-template-columns:repeat(2,1fr)}.favorites-list{grid-template-columns:1fr}}@media(max-width:560px){.collection-portals{grid-template-columns:1fr 1fr}.collection-portal{min-height:125px;padding:1rem}.collection-portal strong{font-size:1rem}.trust-ribbon{grid-template-columns:1fr}.favorites-launcher{right:12px;bottom:12px}.favorite-row{grid-template-columns:72px 1fr auto}.favorite-row img{width:72px;height:62px}}
.favorites-launcher-label{display:inline}
.favorite-button{
  display:grid;
  place-items:center;
  padding:0;
  line-height:1;
  text-align:center;
}
.art-tags{display:none !important}
@media(max-width:640px){
  .favorite-button{right:8px;top:8px;width:34px;height:34px;font-size:1.08rem}
  .art-new-label{padding:2px 7px;font-size:.56rem;letter-spacing:.11em}
}
@media(max-width:560px){
  .favorites-launcher{right:14px;bottom:14px;display:grid;place-items:center;width:54px;height:54px;padding:0;gap:0;overflow:visible;border-radius:50%;line-height:1;text-align:center}
  .favorites-launcher:before{content:"♡";display:block;font-size:1.45rem;line-height:1;transform:translateY(-1px)}
  .favorites-launcher-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .favorites-count{position:absolute;right:-5px;top:-6px;min-width:21px;height:21px;padding:0 5px;border:2px solid #17130d;font-size:.68rem}
}
.favorite-copy{min-width:0}.favorite-row img{cursor:pointer}.favorite-row strong,.favorite-row small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.favorite-row small{display:block}.favorite-buy{display:inline-flex;align-items:center;justify-content:center;margin-top:.5rem;border:1px solid #d9ad3b;border-radius:999px;background:linear-gradient(135deg,#efd578,#b98720);color:#171109;padding:.45rem .72rem;text-decoration:none;font-size:.72rem;font-weight:850;box-shadow:0 7px 18px rgba(0,0,0,.2);transition:transform .14s ease,box-shadow .14s ease,background .14s ease}.favorite-buy:hover,.favorite-buy:focus-visible{transform:translateY(-1px);background:linear-gradient(135deg,#f8df87,#c89326);box-shadow:0 10px 24px rgba(132,91,9,.28)}.favorite-buy.is-unavailable{background:transparent;color:#d8caa8;border-color:rgba(217,173,59,.5);box-shadow:none}
.favorites-action{font:inherit;cursor:pointer}.favorites-action.tertiary{background:rgba(255,255,255,.055);border-color:rgba(217,173,59,.46);color:#f5ead0}.favorites-share-note{min-height:1.35rem;margin:.8rem 0 0;color:#cfc3aa;font-size:.78rem}.favorites-shared-banner{margin:.95rem 0 0;padding:.75rem .9rem;border:1px solid rgba(217,173,59,.38);border-radius:12px;background:rgba(217,173,59,.08);color:#e8d7ac;font-size:.84rem}
.favorites-shipping{margin:0 0 1rem;padding:.9rem 1rem;border:1px solid rgba(217,173,59,.38);border-radius:14px;background:linear-gradient(135deg,rgba(217,173,59,.12),rgba(255,255,255,.025));color:#e9ddc2;line-height:1.55}.favorites-shipping strong{display:block;color:#f1d57e;font-family:Georgia,serif;font-size:1.02rem}.favorites-shipping span{display:block;margin-top:.2rem;color:#c7bca6;font-size:.8rem}.favorites-shipping[hidden]{display:none}
.shipping-threshold-toast{position:fixed;left:50%;bottom:84px;z-index:155;width:min(560px,calc(100% - 28px));transform:translate(-50%,18px);border:1px solid #e0b94d;border-radius:16px;background:linear-gradient(135deg,#17130d,#2c2110);color:#f4df99;padding:.9rem 1.05rem;text-align:center;font-weight:850;box-shadow:0 22px 65px rgba(0,0,0,.48);opacity:0;pointer-events:none;transition:.25s ease}.shipping-threshold-toast.show{transform:translate(-50%,0);opacity:1}.shipping-threshold-toast[hidden]{display:none}

.concierge-entry{display:grid;grid-template-columns:1fr auto;gap:1.25rem;align-items:center;min-height:116px;margin-top:1.25rem;padding:1.25rem 1.35rem;border:1px solid #b98d28;border-radius:18px;background:radial-gradient(circle at 85% 20%,rgba(226,183,68,.2),transparent 32%),linear-gradient(135deg,#11100d,#282014);color:#fff;box-shadow:0 18px 46px rgba(50,36,8,.16)}
.collection-portal,.collection-portal--light{background:radial-gradient(circle at 88% 82%,rgba(219,174,52,.22),transparent 31%),linear-gradient(145deg,#0e0d0a,#221b10);color:#fff;border-color:rgba(211,166,48,.48)}.collection-portal:nth-child(even),.collection-portal--light:nth-child(even){background:radial-gradient(circle at 12% 18%,rgba(219,174,52,.14),transparent 30%),linear-gradient(145deg,#17130d,#0b0a08)}.collection-portal--light span,.collection-portal span{color:#d1c8b6}.collection-portal strong,.collection-portal--light strong{color:#f0d273;text-shadow:0 1px 18px rgba(223,181,64,.16)}
.concierge-entry strong{display:block;font-family:Georgia,serif;font-size:clamp(1.25rem,2.4vw,1.75rem);font-weight:500;color:#efd277}.concierge-entry span{display:block;margin-top:.35rem;color:#c9bfad;line-height:1.55}.concierge-open,.concierge-submit{border:1px solid #eccd6b;border-radius:999px;background:linear-gradient(135deg,#e8c75f,#b98a22);color:#171209;padding:.82rem 1.15rem;font:inherit;font-weight:850;cursor:pointer;white-space:nowrap}
.concierge-dialog{position:fixed;inset:0;z-index:135;display:grid;place-items:center;padding:1rem;background:rgba(7,6,4,.84);backdrop-filter:blur(10px)}.concierge-dialog[hidden]{display:none}.concierge-panel{width:min(1080px,100%);max-height:92vh;overflow:auto;border:1px solid #b98d28;border-radius:24px;background:radial-gradient(circle at 90% 0,rgba(218,173,52,.12),transparent 30%),linear-gradient(145deg,#12100d,#211a11);color:#fff;padding:clamp(1.15rem,3vw,2rem);box-shadow:0 34px 100px #000}.concierge-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding-bottom:1rem;border-bottom:1px solid rgba(221,177,57,.3)}.concierge-head h2{margin:.3rem 0;color:#efd277;font-family:Georgia,serif;font-size:clamp(1.7rem,4vw,2.55rem);font-weight:500}.concierge-head p{max-width:700px;margin:0;color:#c9bfad;line-height:1.6}.concierge-close{flex:0 0 auto;width:42px;height:42px;border:1px solid #987421;border-radius:50%;background:transparent;color:#fff;font-size:1.35rem;cursor:pointer}
.concierge-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1.25rem 0}.concierge-field label{display:block;margin-bottom:.42rem;color:#d6b957;font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.concierge-field select{width:100%;min-height:48px;border:1px solid rgba(219,176,58,.38);border-radius:10px;background:#16130f;color:#fff;padding:.65rem;font:inherit}.concierge-submit{grid-column:1/-1;justify-self:start;margin-top:.2rem}.concierge-privacy{grid-column:1/-1;margin:0;color:#938b7d;font-size:.76rem}.concierge-results[hidden]{display:none}.concierge-result-head{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin:1.2rem 0 .8rem}.concierge-result-head h3{margin:0;color:#efd277;font-family:Georgia,serif;font-size:1.45rem}.concierge-result-head p{margin:.3rem 0 0;color:#aaa08e}.concierge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.concierge-card{display:grid;grid-template-rows:190px 1fr;border:1px solid rgba(218,177,66,.34);border-radius:15px;overflow:hidden;background:rgba(255,255,255,.035);color:#fff;text-decoration:none;transition:.2s}.concierge-card:hover{transform:translateY(-3px);border-color:#e5bd50}.concierge-card img{width:100%;height:190px;object-fit:cover}.concierge-card div{padding:.85rem}.concierge-card strong{display:block;color:#efd277}.concierge-card small{display:block;margin-top:.35rem;color:#bbb19f;line-height:1.4}.concierge-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.concierge-whatsapp,.concierge-restart{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d9ad3b;border-radius:999px;padding:.72rem 1rem;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}.concierge-whatsapp{background:#d9ad3b;color:#17130d}.concierge-restart{background:transparent;color:#efd277}.concierge-wall-note{margin:.8rem 0 0;color:#bcb19e;font-size:.82rem}
@media(max-width:820px){.concierge-form{grid-template-columns:repeat(2,1fr)}.concierge-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.concierge-entry{grid-template-columns:1fr;min-height:178px}.concierge-open{width:100%}.concierge-form,.concierge-grid{grid-template-columns:1fr}.concierge-card{grid-template-rows:175px 1fr}.concierge-result-head{display:block}}

  


.group-purchase-dialog[hidden]{display:none}.group-purchase-dialog{position:fixed;inset:0;z-index:10080;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.82);backdrop-filter:blur(12px)}.group-purchase-panel{position:relative;width:min(850px,100%);max-height:min(92vh,920px);overflow:auto;padding:34px;border:1px solid rgba(218,173,53,.65);border-radius:24px;background:radial-gradient(circle at 85% 0,rgba(170,119,14,.18),transparent 34%),#0d0b08;color:#f8f1df;box-shadow:0 34px 100px rgba(0,0,0,.65)}.group-purchase-panel .group-purchase-head{position:static;z-index:auto;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:0 0 22px;background:transparent;border:0;border-bottom:1px solid rgba(218,173,53,.3);backdrop-filter:none;box-shadow:none}.group-purchase-panel .group-purchase-head h2{margin:5px 0 8px;background:linear-gradient(105deg,#b27b0c 0%,#f8dd82 42%,#c18a17 76%,#fff0ad 100%);color:#f0cb63;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font:700 clamp(34px,4.7vw,52px)/1.05 Georgia,serif;text-shadow:0 8px 28px rgba(202,151,33,.18)}.group-purchase-panel .group-purchase-head p{max-width:650px;margin:0;color:#c8beae;line-height:1.55}.group-purchase-close{flex:0 0 auto;width:44px;height:44px;border:1px solid #8e6919;border-radius:50%;background:#17120a;color:#fff;font-size:25px;cursor:pointer}.group-purchase-form{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:24px}.group-purchase-field{display:grid;gap:7px}.group-purchase-field.full,.group-purchase-options,.group-purchase-totals,.group-purchase-consents,.group-purchase-submit,.group-purchase-status{grid-column:1/-1}.group-purchase-field label,.group-purchase-options legend{color:#d9b94e;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.group-purchase-field input,.group-purchase-field textarea,.group-purchase-field select{box-sizing:border-box;width:100%;padding:14px 15px;border:1px solid #50401d;border-radius:9px;background:#12100d;color:#fff;font:inherit}.group-purchase-field textarea{min-height:92px;resize:vertical}.group-purchase-options{display:flex;flex-wrap:wrap;gap:10px;border:0;padding:0;margin:0}.group-purchase-options label{display:flex;align-items:center;gap:9px;padding:12px 15px;border:1px solid #6c5117;border-radius:999px;color:#eee4d2;cursor:pointer}.group-purchase-options input,.group-purchase-consents input{width:22px;height:22px;accent-color:#d8aa28}.group-purchase-address{display:contents}.group-purchase-address[hidden]{display:none}.group-purchase-consents{display:grid;gap:11px}.group-purchase-consents label{display:flex;align-items:flex-start;gap:11px;color:#d6cdbc;line-height:1.45}.group-purchase-totals{padding:17px 19px;border:1px solid rgba(218,173,53,.42);border-radius:12px;background:rgba(218,173,53,.08)}.group-purchase-totals strong{display:block;color:#f0cb63;font:700 21px/1.3 Georgia,serif}.group-purchase-totals span{display:block;margin-top:5px;color:#c8beae}.group-purchase-submit,.group-purchase-twint{display:flex;align-items:center;justify-content:center;min-height:56px;padding:14px 22px;border:1px solid #f5d26c;border-radius:10px;background:linear-gradient(120deg,#aa7810,#f0ce6a,#a87309);color:#100d07;font-weight:900;letter-spacing:.04em;cursor:pointer;text-decoration:none}.group-purchase-submit:disabled{opacity:.55;cursor:wait}.group-purchase-status{min-height:24px;color:#f0a8a8}.group-purchase-result{padding:30px 0 4px;text-align:center}.group-purchase-result h3{color:#f0cb63;font:700 34px/1.15 Georgia,serif}.group-purchase-result p{color:#d7cdbc;line-height:1.6}.group-purchase-reference{display:inline-block;margin:8px 0 22px;padding:9px 15px;border:1px solid #73591d;border-radius:999px;color:#f0cb63}.favorites-action{font-family:inherit}.favorites-action[type=button]{appearance:none}
@media(max-width:680px){.group-purchase-dialog{padding:0;align-items:end}.group-purchase-panel{max-height:94dvh;border-radius:22px 22px 0 0;padding:24px 18px}.group-purchase-form{grid-template-columns:1fr}.group-purchase-field,.group-purchase-options,.group-purchase-totals,.group-purchase-consents,.group-purchase-submit,.group-purchase-status{grid-column:1}.group-purchase-options{display:grid}.group-purchase-options label{border-radius:10px}.group-purchase-consents input{width:27px;height:27px;flex:0 0 27px}}

/* V35 — cartes et dialogues accessibles, parcours d'achat en deux étapes */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.modal-open{overflow:hidden}
.art-card{position:relative;cursor:default}
.art-card-link{display:flex;flex:1;min-width:0;flex-direction:column;color:inherit;text-decoration:none}
.art-card:focus-within{border-color:#b68b22;box-shadow:0 16px 34px rgba(62,43,4,.18)}
.art-card-link:focus-visible{outline:3px solid #9c7d20;outline-offset:-3px;border-radius:var(--radius-lg)}
.favorite-button{width:44px;height:44px}
.favorite-button:focus-visible,.favorites-launcher:focus-visible,.favorites-close:focus-visible,.favorite-remove:focus-visible,.favorites-action:focus-visible,.group-purchase-close:focus-visible,.group-purchase-back:focus-visible,.group-purchase-submit:focus-visible,.group-purchase-options input:focus-visible,.group-purchase-field input:focus-visible,.group-purchase-field textarea:focus-visible,.concierge-close:focus-visible,.concierge-submit:focus-visible,.concierge-field select:focus-visible,.visit-close:focus-visible,.visit-action:focus-visible{outline:3px solid #f1d477;outline-offset:3px}
.favorites-close,.favorite-remove{min-width:44px;min-height:44px}
.favorite-image-link{display:block;border-radius:8px;overflow:hidden}
.favorite-image-link img{cursor:pointer}
.favorite-image-link:focus-visible{outline:3px solid #f1d477;outline-offset:3px}
.favorite-remove{display:grid;place-items:center;border:1px solid rgba(238,136,136,.55);border-radius:50%;background:transparent;color:#ffb0b0;font-size:1.1rem;cursor:pointer}
.group-purchase-form{display:block}
.group-purchase-step[hidden]{display:none}
.group-purchase-step{margin-top:24px}
.group-purchase-step-label{margin:0 0 5px;color:#d9b94e;font-size:.72rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase}
.group-purchase-step-title{margin:0 0 17px;color:#f0cb63;font:700 clamp(24px,3vw,32px)/1.2 Georgia,serif}
.group-purchase-selection{display:grid;gap:8px;margin-bottom:22px}
.group-purchase-selection-item{display:flex;align-items:center;gap:12px;min-height:52px;padding:10px 12px;border:1px solid rgba(218,173,53,.27);border-radius:10px;background:rgba(255,255,255,.025)}
.group-purchase-selection-item img{width:48px;height:38px;border-radius:5px;object-fit:cover}
.group-purchase-selection-item strong{display:block;color:#f3df9d;font-size:.92rem}
.group-purchase-selection-item span{display:block;color:#a99f8e;font-size:.76rem}

/* V56 — les éléments <picture> héritent exactement de l'écrin de leur image. */
.sag-responsive-picture {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.art-image-wrap > .sag-responsive-picture,
.favorite-image-link > .sag-responsive-picture,
.concierge-card > .sag-responsive-picture {
  width: 100%;
  height: 100%;
}
.art-image-wrap > .sag-responsive-picture img,
.favorite-image-link > .sag-responsive-picture img,
.concierge-card > .sag-responsive-picture img,
.group-purchase-selection-item .sag-responsive-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lightbox-main > .sag-responsive-picture {
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 0;
}
.lightbox-main > .sag-responsive-picture img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.lightbox-thumb .sag-responsive-picture {
  pointer-events: none;
}
.group-purchase-selection-item .sag-responsive-picture {
  flex: 0 0 48px;
  width: 48px;
  height: 38px;
  border-radius: 5px;
}
img.sag-image-missing {
  object-fit: cover !important;
  filter: none !important;
  background: #15120c;
}
.group-purchase-reassurance{margin:18px 0;color:#c8beae;line-height:1.55}
.group-purchase-step>.group-purchase-submit{width:100%}
.group-purchase-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:18px 0}
.group-purchase-fields>.full{grid-column:1/-1}
.group-purchase-step-actions{display:grid;grid-template-columns:auto minmax(260px,1fr);gap:12px;margin-top:18px}
.group-purchase-back{min-height:56px;padding:14px 22px;border:1px solid #80631f;border-radius:10px;background:transparent;color:#f1d477;font:inherit;font-weight:850;cursor:pointer}
.group-purchase-status{margin:10px 0 0}
@media(max-width:680px){.favorite-button{width:46px;height:46px}.group-purchase-fields{grid-template-columns:1fr}.group-purchase-fields>.full{grid-column:1}.group-purchase-step-actions{grid-template-columns:1fr}.group-purchase-back{order:2}}

/* Bandeau prestige V2 : navigation lisible, actions regroupées à droite */
.site-header {
  isolation:isolate;
  box-shadow:0 12px 34px rgba(53,39,13,.08);
}
.site-header .nav {
  position:relative;
  display:grid;
  width:100%;
  max-width:1600px;
  grid-template-columns:max-content minmax(0,1fr) max-content;
  min-height:88px;
  padding:12px clamp(18px,2.2vw,34px);
  gap:clamp(14px,1.3vw,22px);
}
.site-header .logo {
  width:max-content;
  min-width:0;
  color:inherit;
}
.site-header .logo-img { height:38px; }
.site-header .logo-text-main { line-height:1.08; }
.site-header .nav-links {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(12px,1.55vw,26px);
  white-space:nowrap;
}
.site-header .nav-links a {
  padding:9px 0;
  font-size:.78rem;
  font-weight:650;
}
.site-header .nav-links .nav-gift { color:#80621e; }
.site-header .nav-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  min-width:0;
}
.site-header .nav-artists-direct{
  display:none;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 17px;
  border:1px solid rgba(156,125,32,.38);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#6d5014;
  text-decoration:none;
  white-space:nowrap;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.site-header .nav-artists-direct:hover,
.site-header .nav-artists-direct:focus-visible{
  background:#fff8e7;
  border-color:#bd9028;
  transform:translateY(-1px);
}
.site-header .favorites-launcher{
  position:relative;
  right:auto;
  bottom:auto;
  z-index:1;
  min-height:44px;
  padding:0 13px;
  border-color:rgba(157,119,28,.46);
  background:linear-gradient(135deg,rgba(255,253,247,.98),rgba(239,226,191,.94));
  color:#765817;
  box-shadow:0 6px 16px rgba(92,65,10,.1);
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.site-header .favorites-launcher:hover,.site-header .favorites-launcher:focus-visible{background:linear-gradient(135deg,#fffdf8,#e7cf8e);border-color:#bd9028;box-shadow:0 9px 22px rgba(92,65,10,.16);transform:translateY(-1px)}
.site-header .favorites-count{background:#c69a2c;color:#fffaf0}
.site-header .site-language {
  position:relative;
  display:flex;
  align-items:center;
  gap:4px;
  min-width:72px;
  padding:0 9px;
  border:1px solid rgba(156,125,32,.38);
  border-radius:999px;
  background:rgba(255,255,255,.76);
  color:#6d571b;
}
.site-header .language-mark {
  font-size:.72rem;
  color:#a78225;
  pointer-events:none;
}
.site-header .site-language select {
  width:43px;
  min-height:36px;
  padding:0 14px 0 0;
  border:0;
  outline:0;
  appearance:none;
  background:linear-gradient(45deg,transparent 50%,#80621e 50%) calc(100% - 2px) 16px/5px 5px no-repeat;
  color:#5f4a16;
  font:750 .72rem/1 "Inter",system-ui,sans-serif;
  cursor:pointer;
}
.site-header .nav-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 20px;
  white-space:nowrap;
}
.site-header .nav-toggle {
  display:none;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(156,125,32,.38);
  border-radius:50%;
  background:rgba(255,255,255,.78);
  color:#654d15;
  cursor:pointer;
}
.site-header .nav-toggle span,
.site-header .nav-toggle::before,
.site-header .nav-toggle::after {
  content:"";
  display:block;
  width:17px;
  height:1.5px;
  margin:4px auto;
  background:currentColor;
  transition:transform .2s ease,opacity .2s ease;
}
.site-header.nav-open .nav-toggle span { opacity:0; }
.site-header.nav-open .nav-toggle::before { transform:translateY(5.5px) rotate(45deg); }
.site-header.nav-open .nav-toggle::after { transform:translateY(-5.5px) rotate(-45deg); }
.site-header .mobile-visit { display:none; }

/* Le bandeau éditorial Artistes / Thèmes n'est pas l'en-tête du site. */
.catalog-entry .catalog-entry-head {
  position:static;
  top:auto;
  z-index:auto;
  display:block;
  max-width:850px;
  margin:0 0 34px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}

@media(max-width:1520px){
  .site-header .nav {
    grid-template-columns:minmax(230px,1fr) auto;
    min-height:78px;
  }
  .site-header .nav-toggle { display:block; }
  .site-header .nav-artists-direct { display:inline-flex; }
  .site-header .nav-links {
    position:absolute;
    z-index:3;
    top:100%;
    left:18px;
    right:18px;
    display:none;
    align-items:stretch;
    padding:14px;
    border:1px solid rgba(201,163,58,.38);
    border-radius:0 0 18px 18px;
    background:rgba(255,252,245,.98);
    box-shadow:0 24px 45px rgba(47,33,8,.16);
    white-space:normal;
  }
  .site-header.nav-open .nav-links { display:grid; grid-template-columns:repeat(3,1fr); }
  .site-header .nav-links a {
    padding:13px 16px;
    text-align:center;
    border-right:1px solid rgba(156,125,32,.15);
  }
  .site-header .nav-links a:last-child { border-right:0; }
}
@media(max-width:680px){
  .site-header .nav {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    min-height:68px;
    padding:9px 14px;
  }
  .site-header .logo-text { display:none; }
  .site-header .logo-img { height:34px; }
  .site-header .nav-actions { gap:8px; }
  .site-header .nav-artists-direct { display:none; }
  .site-header .favorites-launcher{display:grid;width:44px;height:44px;min-height:44px;padding:0;overflow:visible}
  .site-header .favorites-launcher:before{content:"♡";display:block;font-size:1.25rem;line-height:1}
  .site-header .favorites-launcher-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .site-header .favorites-count{position:absolute;right:-4px;top:-5px;min-width:20px;height:20px;padding:0 4px;border:2px solid #fffaf0;font-size:.64rem}
  .site-header .nav-cta { display:none; }
  .site-header .site-language { min-width:68px; }
  .site-header .mobile-visit { display:block; color:#6d5014; }
  .site-header.nav-open .nav-links {
    left:8px;
    right:8px;
    grid-template-columns:1fr;
    gap:0;
    padding:10px;
  }
  .site-header .nav-links a {
    border-right:0;
    border-bottom:1px solid rgba(156,125,32,.14);
    text-align:left;
  }
  .site-header .nav-links a:last-child { border-bottom:0; }
}

/* Les ancres restent visibles sous l'en-tête fixe. */
#a-propos { scroll-margin-top:108px; }
#categories { scroll-margin-top:112px; }
#gallery-grid { scroll-margin-top:118px; }

/* Salon de rendez-vous privé. */
.visit-dialog {
  position:fixed;
  inset:0;
  z-index:10150;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(2,2,2,.84);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.visit-dialog[hidden] { display:none; }
.visit-panel {
  position:relative;
  width:min(800px,100%);
  max-height:92dvh;
  overflow:auto;
  padding:clamp(32px,5vw,62px);
  border:1px solid #bd922f;
  color:#f5efe2;
  background:
    radial-gradient(circle at 88% 8%,rgba(197,153,51,.19),transparent 32%),
    linear-gradient(145deg,#1c1811 0%,#0d0c0a 58%,#171208 100%);
  box-shadow:0 36px 100px rgba(0,0,0,.68),inset 0 0 0 7px rgba(217,177,73,.035);
}
.visit-panel::before {
  content:"";
  position:absolute;
  inset:12px;
  pointer-events:none;
  border:1px solid rgba(214,174,66,.18);
}
.visit-close {
  position:absolute;
  z-index:2;
  top:16px;
  right:18px;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  color:#fff5d4;
  background:transparent;
  font:300 2rem/1 sans-serif;
  cursor:pointer;
}
.visit-close:hover,.visit-close:focus-visible { background:rgba(218,176,68,.14);outline:1px solid #c69b37; }
.visit-kicker {
  margin-bottom:12px;
  color:#dbb954;
  font:800 .72rem/1.4 Inter,system-ui,sans-serif;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.visit-title {
  max-width:650px;
  margin:0 0 16px;
  color:#f1d47a;
  font:500 clamp(2.15rem,5vw,4rem)/1.02 Georgia,serif;
}
.visit-lead,.visit-note { color:#cfc5b4;line-height:1.72; }
.visit-lead { max-width:680px;margin:0 0 28px;font-size:1.06rem; }
.visit-details {
  display:grid;
  grid-template-columns:1.35fr 1fr;
  margin:26px 0 22px;
  border:1px solid rgba(202,157,51,.42);
}
.visit-detail { min-height:116px;padding:22px 24px;background:rgba(255,255,255,.018); }
.visit-detail + .visit-detail { border-left:1px solid rgba(202,157,51,.42); }
.visit-detail span { display:block;margin-bottom:10px;color:#aa9270;font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase; }
.visit-detail strong { color:#fff8e8;font-size:1.05rem;line-height:1.55; }
.visit-note { margin:0 0 28px; }
.visit-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.visit-action {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:13px 18px;
  border:1px solid #b78c28;
  color:#f7e8bd;
  text-decoration:none;
  font-size:.8rem;
  font-weight:850;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
}
.visit-action:hover,.visit-action:focus-visible { transform:translateY(-2px);background:#20190c;box-shadow:0 12px 28px rgba(0,0,0,.32);outline:none; }
.visit-action--primary { border-color:#e1bd5c;color:#0b0905;background:linear-gradient(135deg,#a77a15,#f0d16f 52%,#b48720);box-shadow:0 10px 28px rgba(193,145,34,.2); }
.visit-action--primary:hover,.visit-action--primary:focus-visible { color:#090704;background:linear-gradient(135deg,#c0901f,#ffe28b 52%,#c7972a); }
.visit-phone-number {
  cursor:text;
  user-select:all;
  font-variant-numeric:tabular-nums;
}
.visit-phone-number:hover { transform:none;background:transparent;box-shadow:none; }
@media(max-width:680px){
  #a-propos,#categories,#gallery-grid { scroll-margin-top:82px; }
  .visit-dialog { align-items:end;padding:0; }
  .visit-panel { width:100%;max-height:94dvh;padding:42px 22px 28px;border-width:1px 0 0; }
  .visit-panel::before { inset:8px; }
  .visit-title { font-size:2.25rem; }
  .visit-phone-number[href^="tel:"] { cursor:pointer;text-decoration:none; }
  .visit-phone-number[href^="tel:"]:hover,
  .visit-phone-number[href^="tel:"]:focus-visible { transform:translateY(-2px);background:#20190c;box-shadow:0 12px 28px rgba(0,0,0,.32); }
  .visit-details,.visit-actions { grid-template-columns:1fr; }
  .visit-detail + .visit-detail { border-left:0;border-top:1px solid rgba(202,157,51,.42); }
}



.gift-showcase{padding:clamp(38px,6vw,80px) 5vw;background:#0b0a08}.gift-showcase-card{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:1.5fr .7fr;align-items:center;gap:30px;padding:clamp(32px,6vw,72px);border:1px solid #9a7626;background:radial-gradient(circle at 85% 20%,#3b2e12 0,transparent 32%),linear-gradient(145deg,#181510,#090909);box-shadow:0 30px 70px #0008}.gift-showcase-copy span{color:#dfbd62;letter-spacing:.25em;text-transform:uppercase;font-size:.7rem;font-weight:800}.gift-showcase-copy h2{margin:12px 0;color:#f1d27b;font:500 clamp(2rem,4vw,3.5rem) Georgia,serif}.gift-showcase-copy p{max-width:690px;color:#c9c0ae;line-height:1.75}.gift-showcase-copy a{display:inline-block;margin-top:18px;padding:14px 22px;border:1px solid #d4ac49;color:#f5d778;text-decoration:none;font-weight:800;letter-spacing:.04em}.gift-showcase-copy a:hover{background:#d4ac49;color:#090909}.gift-showcase-seal{justify-self:center;width:210px;aspect-ratio:1;border:1px solid #d5af50;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#d5af50;box-shadow:inset 0 0 0 8px #0b0a08,inset 0 0 0 9px #73591e}.gift-showcase-seal small{letter-spacing:.22em;font-size:.55rem}.gift-showcase-seal strong{margin:9px 0;font:500 2rem Georgia,serif}.gift-showcase-seal em{font:italic .8rem Georgia,serif}@media(max-width:720px){.gift-showcase-card{grid-template-columns:1fr;text-align:center}.gift-showcase-copy p{margin-inline:auto}.gift-showcase-seal{width:160px}}

.sold-showcase{padding:clamp(58px,8vw,110px) 5vw;background:radial-gradient(circle at 50% 0,rgba(191,145,38,.11),transparent 34%),#080807;border-top:1px solid rgba(197,154,52,.22)}
.sold-showcase[hidden]{display:none}
.sold-showcase-head{position:relative;width:min(880px,100%);margin:0 auto 38px;padding:0;text-align:center;background:transparent;border:0;backdrop-filter:none}
.sold-showcase-head>span{color:#d8b95d;font-size:.68rem;font-weight:850;letter-spacing:.28em;text-transform:uppercase}
.sold-showcase-head h2{margin:12px 0 10px;color:#f0d27a;font:500 clamp(2rem,3.5vw,3.25rem)/1.05 Georgia,serif;text-wrap:balance}
.sold-showcase-head p{margin:0;color:#aaa292;line-height:1.65}
.sold-showcase-grid{width:min(1240px,100%);margin:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,290px));justify-content:center;gap:clamp(12px,2vw,24px)}
.sold-showcase-card{min-width:0;border:1px solid rgba(201,158,57,.32);background:#11100e;box-shadow:0 18px 44px rgba(0,0,0,.32);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.sold-showcase-card:hover{transform:translateY(-4px);border-color:#b88d29;box-shadow:0 24px 55px rgba(0,0,0,.48)}
.sold-showcase-card>a{display:block;height:100%;color:inherit;text-decoration:none}
.sold-showcase-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#070707}
.sold-showcase-media picture,.sold-showcase-media img{display:block;width:100%;height:100%}
.sold-showcase-media img{object-fit:contain;transition:transform .35s ease}
.sold-showcase-card:hover .sold-showcase-media img{transform:scale(1.025)}
.sold-showcase-badge{position:absolute;left:10px;top:10px;padding:6px 10px;background:rgba(104,20,20,.92);border:1px solid rgba(255,190,178,.38);color:#fff1eb;font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.sold-showcase-copy{padding:17px 17px 20px}
.sold-showcase-copy h3{margin:0;color:#f0d07a;font:600 clamp(1rem,1.7vw,1.28rem)/1.15 Georgia,serif}
.sold-showcase-copy p{margin:7px 0 0;color:#e4ded1;font-size:.84rem;line-height:1.4}
.sold-showcase-copy small{display:block;margin-top:9px;color:#8f887b;line-height:1.45}
.sold-showcase-action{text-align:center}
.sold-showcase-action a{display:inline-flex;align-items:center;justify-content:center;min-height:50px;margin-top:34px;padding:10px 23px;border:1px solid #c49a35;color:#efd171;text-decoration:none;font-size:.76rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;transition:background .2s ease,color .2s ease}
.sold-showcase-action a:hover,.sold-showcase-action a:focus-visible{background:#c49a35;color:#090806;outline:none}
@media(max-width:920px){.sold-showcase-grid{width:min(620px,100%);grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.sold-showcase{padding-inline:14px}.sold-showcase-grid{gap:10px}.sold-showcase-copy{padding:12px}.sold-showcase-copy p{font-size:.76rem}.sold-showcase-copy small{font-size:.68rem}.sold-showcase-badge{left:7px;top:7px;padding:5px 7px;font-size:.56rem}}
.skip-link {
  position: fixed;
  left: 18px;
  top: 12px;
  z-index: 11000;
  padding: .75rem 1rem;
  border: 2px solid #f0cf68;
  border-radius: 8px;
  background: #0b0906;
  color: #fff5d5;
  font-weight: 850;
  text-decoration: none;
  transform: translateY(calc(-100% - 24px));
  transition: transform .14s ease;
}
.skip-link:focus { transform: translateY(0); }
.section-title--filter { font-size: 1.05rem; }
.form-honeypot { position: absolute; left: -10000px; }
.about-gallery-link { color: #765706; font-weight: 700; }
.contact-followup { margin-top: .5rem; }
.lightbox-contact-link { color: #f3d27b; text-decoration: underline; }
.lightbox-prestige-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 14px;
  border: 1px solid #d2a72d;
  border-radius: 999px;
  background: linear-gradient(135deg,#8f6911,#e2bd55,#a77c18);
  color: #111;
  font-weight: 800;
  text-decoration: none;
}

/* V60 — accès permanent et fenêtre de filtrage unifiée */
.section-anchor {
  display: block;
  width: 0;
  height: 0;
  scroll-margin-top: 108px;
}

.site-header .nav-filter-launcher {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 15px;
  border: 1px solid #c89b2d;
  border-radius: 999px;
  background: linear-gradient(135deg,#fffdf7 0%,#f5e9c9 55%,#e9ce85 100%);
  color: #6b4f11;
  box-shadow: 0 7px 18px rgba(114,81,14,.13);
  font: 800 .72rem/1 "Inter",system-ui,sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.site-header .nav-filter-launcher:hover,
.site-header .nav-filter-launcher:focus-visible {
  border-color: #b8881d;
  background: linear-gradient(135deg,#fff9e7 0%,#efd99c 55%,#dfb953 100%);
  box-shadow: 0 10px 24px rgba(114,81,14,.19);
  transform: translateY(-1px);
}
.site-header .nav-filter-icon { flex: 0 0 auto; }
.site-header .nav-filter-count,
.concierge-tab-count {
  display: inline-grid;
  place-items: center;
  min-width: 21px;
  height: 21px;
  padding: 0 5px;
  border-radius: 999px;
  background: #d2a434;
  color: #17120a;
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: 0;
}
.site-header .nav-filter-count[hidden],
.concierge-tab-count[hidden] { display: none; }
.site-header .nav-filter-launcher.has-active-filters {
  border-color: #e2bd55;
  box-shadow: 0 0 0 2px rgba(210,164,52,.16),0 9px 22px rgba(55,37,6,.2);
}

.concierge-mode-tabs {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
  margin: 1.1rem 0 .2rem;
  padding: 6px;
  border: 1px solid rgba(218,177,66,.28);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
}
.concierge-mode-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: .65rem 1rem;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: #bcb3a3;
  font: 800 .78rem/1.2 "Inter",system-ui,sans-serif;
  letter-spacing: .05em;
  cursor: pointer;
}
.concierge-mode-tab.active {
  border-color: rgba(232,199,95,.58);
  background: linear-gradient(135deg,rgba(232,199,95,.2),rgba(185,138,34,.12));
  color: #f3d97f;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035);
}
.concierge-mode-panel[hidden] { display: none; }
.catalogue-filter-panel { padding-top: 1rem; }
.catalogue-filter-intro h3 {
  margin: 0;
  color: #efd277;
  font: 500 clamp(1.35rem,3vw,1.8rem)/1.15 Georgia,serif;
}
.catalogue-filter-intro p {
  margin: .35rem 0 0;
  color: #bcb3a3;
  line-height: 1.55;
}

.concierge-dialog .prestige-search {
  margin: 1rem 0 .8rem;
  border-color: rgba(218,177,66,.3);
  background: rgba(255,255,255,.035);
  box-shadow: none;
}
.concierge-dialog .prestige-search-box::before { color: #d7b651; }
.concierge-dialog .prestige-search input,
.concierge-dialog .prestige-search select,
.concierge-dialog .prestige-toggle {
  border-color: rgba(218,177,66,.32);
  background: #17130f;
  color: #f6f0e4;
}
.concierge-dialog .prestige-search select option { background: #17130f; color: #fff; }
.concierge-dialog .prestige-search input::placeholder { color: #918879; }
.concierge-dialog .prestige-search input:focus,
.concierge-dialog .prestige-search select:focus { border-color: #dfb84d; box-shadow: 0 0 0 3px rgba(218,177,66,.14); }
.concierge-dialog .prestige-search-more { grid-template-columns: repeat(3,minmax(0,1fr)); }
.concierge-dialog .prestige-search-status { color: #aaa08e; }
.concierge-dialog .prestige-search-status strong { color: #efd277; }
.concierge-dialog .filter-groups {
  margin: .8rem 0;
  border-color: rgba(218,177,66,.27);
  background: rgba(255,255,255,.025);
}
.concierge-dialog .filter-label { color: #d3b657; }
.concierge-dialog .filter-pill {
  border-color: rgba(218,177,66,.3);
  background: #18140f;
  color: #d7cebd;
}
.concierge-dialog .filter-pill:hover { border-color: #cfa637; background: #272014; color: #fff; }
.concierge-dialog .filter-pill.active {
  border-color: #dfb84d;
  background: linear-gradient(135deg,#f0d67d,#b98a22);
  color: #171209;
}
.catalogue-filter-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  padding-top: .3rem;
}
.catalogue-filter-actions .concierge-submit {
  min-width: min(290px,100%);
  margin: 0 0 0 auto;
}

.nav-filter-launcher:focus-visible,
.concierge-mode-tab:focus-visible,
.catalogue-filter-actions button:focus-visible {
  outline: 3px solid #f1d477;
  outline-offset: 3px;
}

@media(max-width:1100px) {
  .site-header .nav-artists-direct,
  .site-header .nav-cta { display: none; }
  .site-header .mobile-visit { display: block; color: #6d5014; }
  .site-header .favorites-launcher {
    display: grid;
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    overflow: visible;
  }
  .site-header .favorites-launcher::before { content: "♡"; display: block; font-size: 1.25rem; line-height: 1; }
  .site-header .favorites-launcher-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  .site-header .favorites-count {
    position: absolute;
    top: -5px;
    right: -4px;
    min-width: 20px;
    height: 20px;
    padding: 0 4px;
    border: 2px solid #fffaf0;
    font-size: .64rem;
  }
}
@media(max-width:820px) {
  .concierge-dialog .prestige-search-more { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-header .nav-filter-launcher {
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    border-radius: 50%;
  }
  .site-header .nav-filter-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  .site-header .nav-filter-count {
    position: absolute;
    top: -5px;
    right: -4px;
    min-width: 20px;
    height: 20px;
    border: 2px solid #fffaf0;
    font-size: .62rem;
  }
}
@media(max-width:680px) {
  .site-header .nav-filter-launcher {
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    border-radius: 50%;
  }
  .site-header .nav-filter-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  .site-header .nav-filter-count {
    position: absolute;
    top: -5px;
    right: -4px;
    min-width: 20px;
    height: 20px;
    border: 2px solid #fffaf0;
    font-size: .62rem;
  }
  .concierge-mode-tabs { grid-template-columns: 1fr; }
  .concierge-dialog .prestige-search-more { grid-template-columns: 1fr; }
  .catalogue-filter-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .catalogue-filter-actions .concierge-submit { grid-column: 1/-1; width: 100%; margin: 0; }
}
@media(max-width:420px) {
  .site-header .nav { padding-inline: 10px; }
  .site-header .nav-actions { gap: 5px; }
  .site-header .logo-img { height: 30px; }
  .site-header .site-language { min-width: 54px; padding-inline: 5px; }
  .site-header .language-mark { display: none; }
  .site-header .nav-filter-launcher,
  .site-header .favorites-launcher,
  .site-header .nav-toggle { width: 42px; height: 42px; min-height: 42px; }
  .concierge-dialog { padding: .5rem; }
  .concierge-panel { border-radius: 18px; padding: 1rem; }
}

/* ==========================================================
   V61 — accès immédiat aux œuvres et filtrage visuel unifié
   ========================================================== */
@media (min-width: 641px) {
  .hero-luxe {
    min-height: clamp(450px, 38vw, 500px);
    margin-top: 1rem;
  }

  .hero-luxe-content {
    max-width: min(620px, 54%);
    padding: clamp(2.5rem, 4vw, 3.35rem) clamp(2rem, 4vw, 3rem);
  }

  .hero-luxe-content h1 {
    font-size: clamp(2.15rem, 3.6vw, 3rem);
    line-height: 1.08;
  }
}

.discovery-shell {
  padding-top: 1.55rem;
  padding-bottom: .6rem;
}

.discovery-heading { margin-top: .3rem; }
.discovery-lead {
  max-width: none;
  line-height: 1.55;
}

.collection-portals {
  gap: .65rem;
  margin-top: 1rem;
}

.collection-portal {
  min-height: 102px;
  padding: .95rem 1.05rem;
  border-radius: 15px;
}

.collection-portal strong { font-size: 1.08rem; }
.collection-portal span { margin-top: .3rem; line-height: 1.35; }

.concierge-entry {
  min-height: 84px;
  margin-top: .8rem;
  padding: .9rem 1.1rem;
  border-radius: 15px;
}

.concierge-entry strong { font-size: clamp(1.15rem, 2vw, 1.5rem); }
.concierge-entry span { margin-top: .2rem; line-height: 1.4; }
.trust-ribbon { margin-top: .8rem; }
.trust-ribbon span { padding: .66rem .75rem; }

.section-galerie { margin-top: 1.75rem; }
.section-galerie .section-header { margin-bottom: 1.15rem; }
.section-galerie .gallery-grid { scroll-margin-top: 108px; }

.art-card {
  min-height: 100%;
  background: #fffaf1;
  border-color: rgba(151, 117, 37, .22);
  box-shadow: 0 9px 26px rgba(76, 55, 15, .08);
}

.art-card-link { height: 100%; }
.art-body { flex: 1; }
.art-footer { margin-top: auto; padding-top: .3rem; }

.favorite-button {
  width: 35px;
  height: 35px;
  font-size: 1.05rem;
  box-shadow: 0 7px 20px rgba(0, 0, 0, .2);
}

.concierge-mode-tab[aria-selected="true"] {
  border-color: rgba(232, 199, 95, .68);
  background: linear-gradient(135deg, rgba(232, 199, 95, .23), rgba(185, 138, 34, .14));
  color: #f5dc88;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);
}

.concierge-mode-tab[aria-selected="false"] {
  border-color: transparent;
  background: transparent;
  color: #a9a090;
  box-shadow: none;
}

.concierge-dialog[data-mode="catalogue"] .concierge-head h2 {
  font-size: clamp(1.65rem, 3vw, 2.25rem);
}

.concierge-dialog[data-mode="catalogue"] .concierge-head p { max-width: 760px; }
.concierge-dialog[data-mode="catalogue"] .catalogue-filter-intro h3 { display: none; }
.concierge-dialog[data-mode="catalogue"] .catalogue-filter-panel { padding-top: .65rem; }

@media (max-width: 640px) {
  .discovery-shell { padding-top: 1.15rem; }
  .collection-portals { gap: .55rem; margin-top: .85rem; }
  .collection-portal { min-height: 108px; padding: .85rem; }
  .collection-portal strong { font-size: .96rem; }
  .concierge-entry { min-height: 0; margin-top: .7rem; padding: 1rem; }
  .trust-ribbon { margin-top: .7rem; }
  .section-galerie { margin-top: 1.25rem; }
  .section-galerie .gallery-grid { scroll-margin-top: 72px; }
  .favorite-button { width: 38px; height: 38px; font-size: 1.1rem; }
}

/* ==========================================================
   V61.4 — rythme vertical et titres cohérents sur l’accueil
   ========================================================== */
:root {
  --sag-home-section-title: clamp(1.8rem, 3.8vw, 3rem);
}

.discovery-heading,
.catalog-entry-head h2,
.gift-showcase-copy h2,
.sold-showcase-head h2 {
  font-size: var(--sag-home-section-title);
  line-height: 1.06;
}

.catalog-entry {
  padding: clamp(36px, 3.5vw, 52px) 5vw clamp(30px, 3vw, 42px);
}

.catalog-entry .catalog-entry-head {
  max-width: 980px;
  margin-bottom: 26px;
}

.catalog-entry-head h2 { margin: 9px 0; }
.catalog-entry-head p { margin-top: 12px; line-height: 1.6; }
.catalog-entry-grid { gap: 14px; }

.catalog-entry-card {
  min-height: 210px;
  padding: clamp(24px, 3vw, 36px);
}

.catalog-entry-card h3 {
  font-size: clamp(1.65rem, 2.8vw, 2.45rem);
  line-height: 1.05;
}

.catalog-entry-card p {
  margin: 12px 0 38px;
  line-height: 1.55;
}

.catalog-entry-card strong {
  left: clamp(24px, 3vw, 36px);
  bottom: 22px;
}

.gift-showcase {
  padding: clamp(28px, 3vw, 42px) 5vw;
}

.gift-showcase-card {
  gap: 26px;
  padding: clamp(28px, 4vw, 52px);
}

.gift-showcase-copy h2 { margin: 10px 0; }

.sold-showcase {
  padding: clamp(36px, 4vw, 56px) 5vw;
}

.sold-showcase-head { margin-bottom: 26px; }
.sold-showcase-head h2 { margin: 10px 0 8px; }
.sold-showcase-action a { margin-top: 26px; }

@media (max-width: 720px) {
  .catalog-entry { padding: 32px 14px 28px; }
  .catalog-entry .catalog-entry-head { margin-bottom: 22px; }
  .catalog-entry-card { min-height: 190px; padding: 24px; }
  .catalog-entry-card strong { left: 24px; bottom: 20px; }
  .gift-showcase { padding: 28px 14px; }
  .gift-showcase-card { padding: 28px 20px; }
  .sold-showcase { padding: 34px 14px; }
}
