/* ==========================================================================
   Le Joyau — ouvertures de page et sections
   ========================================================================== */

.joyau-section { position: relative; padding: var(--section) var(--marge); }
.joyau-section + .joyau-section.fond-ivoire, .joyau-section.fond-ivoire + .joyau-section.fond-ivoire { padding-top: calc(var(--section) * .55); }
.joyau-section > * { max-width: var(--largeur); margin-inline: auto; }

/* Cadre « bijou » : filet or décalé à l'intérieur de la photo */
.joyau-cadre { position: relative; margin: 0; overflow: hidden; background: var(--sable-pale); }
.fond-petrole .joyau-cadre { background: #10262e; }
.joyau-cadre img, .joyau-cadre video { width: 100%; height: 100%; object-fit: cover; }
.joyau-cadre figcaption { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 2.5rem 1.1rem 1rem; color: var(--ivoire); font: 400 1.05rem/1.3 var(--titre); background: linear-gradient(0deg, rgba(14, 30, 36, .72), rgba(14, 30, 36, 0)); }

/* ---------- Accueil : triptyque vidéo ---------- */
.joyau-hero { position: relative; height: 100vh; height: 100svh; min-height: 560px; max-height: 1200px; overflow: hidden; background: var(--petrole-nuit); color: var(--ivoire); isolation: isolate; }
.joyau-hero__scene { position: absolute; inset: 0; display: grid; grid-template-columns: 1fr 1.16fr 1fr; gap: 8px; padding: 8px; }
.joyau-hero__volet { position: relative; overflow: hidden; background: #10262e; transform: translateY(calc(var(--p, 0) * var(--vitesse, 0) * 1%)); will-change: transform; }
.joyau-hero__volet:nth-child(1) { --vitesse: -10; }
.joyau-hero__volet:nth-child(2) { --vitesse: 4; }
.joyau-hero__volet:nth-child(3) { --vitesse: -16; }
.joyau-hero__volet img, .joyau-hero__volet video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.joyau-hero__volet video { opacity: 0; transition: opacity 1.2s var(--courbe); }
.joyau-hero__volet video.is-lecture { opacity: 1; }
.joyau-hero__volet--mobile { display: none; }
html.js .joyau-hero__volet { clip-path: inset(50% 0 50% 0); animation: joyau-volet 1.5s var(--courbe) forwards; animation-delay: calc(.15s + var(--ordre, 0) * .16s); }
.joyau-hero__volet:nth-child(2) { --ordre: 0; }
.joyau-hero__volet:nth-child(1) { --ordre: 1; }
.joyau-hero__volet:nth-child(3) { --ordre: 2; }
@keyframes joyau-volet { to { clip-path: inset(0); } }
.joyau-hero::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(0deg, rgba(14, 30, 36, .82) 0%, rgba(14, 30, 36, .25) 42%, rgba(14, 30, 36, 0) 62%); }
.joyau-hero__texte { position: absolute; z-index: 2; left: 50%; bottom: clamp(5.5rem, 13vh, 9rem); width: min(56rem, calc(100% - 2 * var(--marge))); transform: translateX(-50%); text-align: center; }
.joyau-hero__titre { font-size: var(--t-display); line-height: 1.02; text-shadow: 0 2px 30px rgba(0, 0, 0, .35); }
.joyau-hero__accroche { max-width: 36em; margin: 1.25rem auto 2rem; font-size: clamp(1rem, .95rem + .3vw, 1.15rem); color: rgba(250, 247, 241, .9); text-shadow: 0 1px 14px rgba(0, 0, 0, .4); }
html.js .joyau-hero__accroche, html.js .joyau-hero__texte .joyau-bouton { opacity: 0; animation: joyau-apparait 1s var(--courbe) 1.05s forwards; }
html.js .joyau-hero__texte .joyau-bouton { animation-delay: 1.25s; }
@keyframes joyau-apparait { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.joyau-hero__pause { position: absolute; z-index: 3; right: var(--marge); bottom: 1.5rem; display: inline-grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(250, 247, 241, .45); border-radius: 50%; background: rgba(14, 30, 36, .25); color: var(--ivoire); }
.joyau-hero__pause span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.joyau-hero__pause .joyau-icone { width: 18px; height: 18px; }
.joyau-defiler { position: absolute; z-index: 3; left: 50%; bottom: 1.1rem; display: grid; justify-items: center; gap: .55rem; transform: translateX(-50%); color: rgba(250, 247, 241, .85); text-decoration: none; font: 500 10px/1 var(--marque); letter-spacing: .28em; text-transform: uppercase; }

@media (max-width: 899px) {
	.joyau-hero { min-height: 520px; }
	.joyau-hero__scene { grid-template-columns: 1fr; padding: 0; }
	.joyau-hero__volet:not(.joyau-hero__volet--mobile) { display: none; }
	.joyau-hero__volet--mobile { display: block; --vitesse: 6; }
	html.js .joyau-hero__volet--mobile { clip-path: inset(0); animation: joyau-zoom 2.2s var(--courbe) both; }
	.joyau-hero__texte { bottom: 4.75rem; }
	.joyau-hero__pause { bottom: 1rem; }
	.joyau-defiler { display: none; }
}
@keyframes joyau-zoom { from { transform: scale(1.12); } }

/* ---------- Ouverture des autres pages : écran partagé ---------- */
.joyau-ouverture--partage { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 100vh; min-height: 100svh; max-height: 1100px; }
.joyau-ouverture__texte-bloc { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; gap: 1.5rem; padding: calc(var(--entete) + 2rem) var(--marge) clamp(2.5rem, 6vh, 4rem); }
.joyau-ouverture--compacte { min-height: 68vh; min-height: 68svh; max-height: 760px; }
.joyau-ouverture__titre { font-size: var(--t-h1); max-width: 11em; }
.joyau-ouverture__texte { max-width: 30em; margin: 0; font-size: clamp(1rem, .95rem + .3vw, 1.15rem); color: rgba(250, 247, 241, .86); }
html.js .joyau-ouverture__texte, html.js .joyau-ouverture__texte-bloc > .joyau-bouton { opacity: 0; animation: joyau-apparait 1s var(--courbe) .9s forwards; }
.joyau-ouverture__texte-bloc > .joyau-bouton { align-self: flex-start; }
.joyau-ouverture__media { position: relative; overflow: hidden; background: #10262e; }
.joyau-ouverture__media > img, .joyau-ouverture__media > video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
html.js .joyau-ouverture__media { clip-path: inset(0 0 0 100%); animation: joyau-rideau-g 1.4s var(--courbe) .1s forwards; }
html.js .joyau-ouverture__media > * { animation: joyau-zoom 2.4s var(--courbe) both; }
@keyframes joyau-rideau-g { to { clip-path: inset(0); } }
.joyau-ouverture .joyau-defiler { left: 25%; }
@media (max-width: 899px) {
	.joyau-ouverture--partage { grid-template-columns: 1fr; min-height: 0; max-height: none; }
	.joyau-ouverture__media { order: -1; height: 72vh; height: 72svh; min-height: 420px; }
	.joyau-ouverture--compacte .joyau-ouverture__media { height: 52vh; height: 52svh; min-height: 340px; }
	.joyau-ouverture__texte-bloc { padding: 2.5rem var(--marge) 3.5rem; }
	.joyau-ouverture .joyau-defiler { display: none; }
}

.joyau-ouverture--sobre { padding: calc(var(--entete) + clamp(3rem, 8vw, 6.5rem)) var(--marge) clamp(2.5rem, 5vw, 4rem); text-align: center; border-bottom: 1px solid var(--filet); }
.joyau-ouverture--sobre .joyau-ouverture__titre { margin: 0 auto; max-width: 16em; color: var(--petrole); }
.joyau-ouverture--sobre .joyau-ouverture__texte { margin: 1.25rem auto 0; color: var(--encre-douce); }
body.joyau:not(.joyau-immersif) .joyau-ouverture--sobre { padding-top: clamp(3rem, 8vw, 6.5rem); }

/* ---------- Récit : texte et carrousel de photos ---------- */
.joyau-recit__grille { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2.5rem, 7vw, 8rem); align-items: center; }
.joyau-recit--gauche { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
.joyau-recit--gauche .joyau-recit__medias { order: -1; }
.joyau-recit__texte .joyau-prose { margin-bottom: 2rem; }
.joyau-recit__medias { display: flex; justify-content: center; }

.joyau-diapo { position: relative; width: min(100%, 500px); }
.joyau-diapo__vues { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--sable-pale); }
.joyau-diapo__vue { position: absolute; inset: 0; margin: 0; clip-path: inset(0 0 0 100%); transition: clip-path 1.2s var(--courbe); }
[data-sens-vue="prec"] .joyau-diapo__vue { clip-path: inset(0 100% 0 0); }
.joyau-diapo__vue.is-actif { clip-path: inset(0); z-index: 2; }
.joyau-diapo__vue.is-sortant { clip-path: inset(0); z-index: 1; }
.joyau-diapo__vue img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 2.4s var(--courbe); }
.joyau-diapo__vue.is-actif img { transform: none; }
.joyau-diapo__vue figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 2.5rem 1.1rem 1rem; color: var(--ivoire); font: 400 1.05rem/1.3 var(--titre); background: linear-gradient(0deg, rgba(14, 30, 36, .6), rgba(14, 30, 36, 0)); }
.joyau-diapo__commandes { display: flex; align-items: center; gap: .6rem; margin-top: 1.1rem; }
.joyau-diapo__compteur { flex: 1; margin: 0; font: 500 .75rem/1 var(--marque); letter-spacing: .16em; color: var(--encre-douce); font-variant-numeric: tabular-nums; }
.fond-petrole .joyau-diapo__compteur { color: var(--or-clair); }
@media (max-width: 899px) {
	.joyau-recit__grille, .joyau-recit--gauche { grid-template-columns: 1fr; gap: 2.5rem; }
	.joyau-recit--gauche .joyau-recit__medias { order: 0; }
	.joyau-diapo { width: 100%; }
}

/* ---------- Face-à-face : vidéo verticale et texte ---------- */
.joyau-face { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2.5rem, 8vw, 9rem); align-items: center; }
.joyau-face--droite .joyau-face__video { order: 2; }
.joyau-face--droite { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
.joyau-face__video { aspect-ratio: 9 / 14; max-height: 84vh; justify-self: center; width: 100%; }
.joyau-face__texte .joyau-prose { margin-bottom: 2rem; font-size: calc(var(--t-corps) * 1.04); }
.joyau-face .joyau-titre--grand { font-size: clamp(2.2rem, 1.3rem + 3vw, 4rem); }
@media (max-width: 899px) {
	.joyau-face, .joyau-face--droite { grid-template-columns: 1fr; gap: 2.5rem; }
	.joyau-face--droite .joyau-face__video { order: 0; }
	.joyau-face__video { max-height: 78vh; width: min(100%, 460px); }
}

/* ---------- Mosaïque : grille éditoriale décalée, photos entières ---------- */
.joyau-mosaique__grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.2vw, 2rem); align-items: start; }
.joyau-mosaique__entete { padding: 1rem clamp(0rem, 2vw, 2rem) 2rem 0; align-self: center; }
.joyau-mosaique__piece { aspect-ratio: 4 / 5; }
.joyau-mosaique__piece:nth-child(3n + 2) { transform: translateY(clamp(2rem, 7vw, 7rem)); }
html.js .joyau-mosaique__piece:nth-child(3n + 2)[data-revele]:not(.is-vu) { transform: translateY(clamp(2rem, 7vw, 7rem)); }
.joyau-mosaique__grille:has(.joyau-mosaique__piece:nth-child(3n + 2)) { padding-bottom: clamp(2rem, 7vw, 7rem); }
.joyau-mosaique__zoom { position: absolute; inset: 0; transition: transform 1.4s var(--courbe); }
.joyau-mosaique__piece:hover .joyau-mosaique__zoom { transform: scale(1.05); }
.joyau-mosaique__piece figcaption { transform: translateY(100%); transition: transform .7s var(--courbe); }
.joyau-mosaique__piece:hover figcaption, .joyau-mosaique__piece:focus-within figcaption { transform: none; }
@media (hover: none) { .joyau-mosaique__piece figcaption { transform: none; } }
@media (max-width: 899px) {
	.joyau-mosaique__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.joyau-mosaique__entete { grid-column: 1 / -1; padding: 0 0 1rem; }
	.joyau-mosaique__piece:nth-child(3n + 2), html.js .joyau-mosaique__piece:nth-child(3n + 2)[data-revele]:not(.is-vu) { transform: none; }
	.joyau-mosaique__piece:nth-child(2n + 1) { transform: translateY(2.5rem); }
	html.js .joyau-mosaique__piece:nth-child(2n + 1)[data-revele]:not(.is-vu) { transform: translateY(2.5rem); }
	.joyau-mosaique__grille { padding-bottom: 2.5rem; }
	.joyau-cadre figcaption { font-size: .95rem; padding: 2rem .8rem .75rem; }
}

/* ---------- Carrousels (photos, créations) ---------- */
.joyau-rail__entete { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.joyau-rail__entete .joyau-titre { margin-bottom: 1rem; }
.joyau-rail__entete .joyau-intro { margin: 0; }
.joyau-rail { position: relative; }
.joyau-section > .joyau-rail { max-width: none; margin-inline: calc(var(--marge) * -1); }
.joyau-rail__piste { list-style: none; margin: 0; padding: 0 var(--marge) .5rem; display: grid; grid-auto-flow: column; grid-auto-columns: clamp(232px, 24vw, 380px); gap: clamp(1rem, 2vw, 1.75rem); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--marge); scrollbar-width: none; overscroll-behavior-x: contain; cursor: grab; }
.joyau-rail__piste::-webkit-scrollbar { display: none; }
.joyau-rail__piste.is-glisse { cursor: grabbing; scroll-snap-type: none; }
.joyau-rail__piste.is-glisse * { pointer-events: none; }
.joyau-rail__diapo { scroll-snap-align: start; }
.joyau-rail__diapo .joyau-cadre { aspect-ratio: 4 / 5; }
.joyau-rail__commandes { display: flex; align-items: center; gap: .75rem; max-width: var(--largeur); margin: clamp(1.5rem, 3vw, 2.5rem) auto 0; padding: 0 var(--marge); }
.joyau-rail__progression { flex: 1; height: 1px; background: var(--filet); overflow: hidden; }
.fond-petrole .joyau-rail__progression { background: var(--filet-clair); }
.joyau-rail__progression span { display: block; height: 100%; width: 100%; background: currentColor; transform-origin: left; transform: scaleX(var(--progression, .2)); transition: transform .3s var(--courbe); }
.joyau-rail__fleche { display: inline-grid; place-items: center; width: 48px; height: 48px; border: 1px solid currentColor; border-radius: 50%; background: none; transition: background-color .3s, color .3s, opacity .3s; }
.joyau-rail__fleche:hover { background: var(--petrole); border-color: var(--petrole); color: var(--ivoire); }
.fond-petrole .joyau-rail__fleche:hover { background: var(--ivoire); border-color: var(--ivoire); color: var(--petrole-nuit); }
.joyau-rail__fleche[disabled] { opacity: .3; pointer-events: none; }
.joyau-rail__fleche .joyau-icone { width: 18px; height: 18px; }
@media (max-width: 899px) {
	.joyau-rail__entete { flex-direction: column; align-items: flex-start; gap: 1.25rem; }
	.joyau-rail__piste { grid-auto-columns: 68%; }
	.joyau-rail--produits .joyau-rail__piste { grid-auto-columns: 62%; }
	.joyau-rail__fleche { width: 44px; height: 44px; }
}

/* ---------- Chapitres : photo fixe, textes qui défilent ---------- */
.joyau-chapitres__titre { max-width: 18em; }
.joyau-chapitres__scene { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(3rem, 8vw, 9rem); margin-top: clamp(2rem, 5vw, 4rem); }
.joyau-chapitres__images { position: sticky; top: calc(var(--entete) + 2rem); height: min(78vh, 760px); }
.joyau-chapitres__images figure { position: absolute; inset: 0; clip-path: inset(100% 0 0 0); transition: clip-path 1.1s var(--courbe); }
.joyau-chapitres__images figure.is-actif { clip-path: inset(0); z-index: 2; }
.joyau-chapitres__images figure.is-sortant { z-index: 1; clip-path: inset(0); }
.joyau-chapitres__images img { transform: scale(1.08); transition: transform 2s var(--courbe); }
.joyau-chapitres__images figure.is-actif img { transform: none; }
.joyau-chapitres__textes { list-style: none; margin: 0; padding: 0; }
.joyau-chapitre { min-height: min(78vh, 760px); display: flex; flex-direction: column; justify-content: center; padding: 2rem 0; }
.joyau-chapitre:first-child { border-top: 0; }
.joyau-chapitre h3 { font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.75rem); margin-bottom: 1.25rem; }
.joyau-chapitre__image-mobile { display: none; }
@media (max-width: 899px) {
	.joyau-chapitres__scene { grid-template-columns: 1fr; gap: 0; }
	.joyau-chapitres__images { display: none; }
	.joyau-chapitre { min-height: 0; padding: 2.5rem 0; }
	.joyau-chapitre__image-mobile { display: block; aspect-ratio: 4 / 5; margin-bottom: 1.75rem; }
}

/* ---------- Engagements : liste éditoriale ---------- */
.joyau-engagements { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2.5rem, 7vw, 8rem); align-items: start; }
.joyau-engagements__tete { position: sticky; top: calc(var(--entete) + 2rem); }
.joyau-engagements__tete .joyau-cadre { aspect-ratio: 4 / 5; margin-top: 2.5rem; max-width: 420px; }
.joyau-engagements__liste { margin: 0; }
.joyau-engagement { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 1rem 2.5rem; padding: 2rem 0; border-top: 1px solid var(--filet); }
.fond-petrole .joyau-engagement { border-color: var(--filet-clair); }
.joyau-engagement:last-child { border-bottom: 1px solid var(--filet); }
.joyau-engagement dt { font: 400 clamp(1.35rem, 1.1rem + .8vw, 1.8rem)/1.2 var(--titre); }
.joyau-engagement dd { margin: 0; color: var(--encre-douce); }
.fond-petrole .joyau-engagement dd { color: rgba(250, 247, 241, .8); }
@media (max-width: 899px) {
	.joyau-engagements { grid-template-columns: 1fr; }
	.joyau-engagements__tete { position: static; }
	.joyau-engagement { grid-template-columns: 1fr; padding: 1.5rem 0; }
}

/* ---------- Citation ---------- */
.joyau-citation { margin: 0 auto; max-width: 64rem; text-align: center; }
.joyau-citation--image { max-width: var(--largeur); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2.5rem, 7vw, 8rem); align-items: center; text-align: left; }
.joyau-citation--image blockquote p { font-size: clamp(1.8rem, 1.1rem + 2.6vw, 3.4rem); }
.joyau-citation--image > .joyau-cadre { aspect-ratio: 4 / 5; }
.joyau-citation blockquote { margin: 0; padding: 0; border: 0; background: none; }
.joyau-citation blockquote p { margin: 0; font: 400 clamp(1.6rem, 1.1rem + 2vw, 2.75rem)/1.28 var(--titre); color: var(--petrole); }
.fond-petrole .joyau-citation blockquote p { color: var(--ivoire); }
.joyau-citation blockquote p::before { content: "“"; display: block; height: .55em; margin-bottom: .2em; font-size: 2.6em; line-height: 1; color: var(--or); }
.joyau-citation figcaption { margin-top: 2rem; font: 500 var(--t-label)/1.4 var(--marque); letter-spacing: .2em; text-transform: uppercase; color: var(--encre-douce); }
.fond-petrole .joyau-citation figcaption { color: var(--or-clair); }
@media (max-width: 899px) { .joyau-citation--image { grid-template-columns: 1fr; text-align: center; } .joyau-citation--image > .joyau-cadre { width: min(70%, 320px); margin: 0 auto; } }

/* ---------- Almanach des collections ---------- */
.joyau-almanach__tete { margin-bottom: clamp(2rem, 4vw, 3rem); }
.joyau-almanach__liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); border-top: 1px solid var(--filet); }
.joyau-almanach__fete { display: grid; grid-template-columns: 4.5rem 1fr auto; gap: 1.25rem; align-items: center; padding: 1.4rem 1.25rem 1.4rem 0; border-bottom: 1px solid var(--filet); }
.joyau-almanach__mois { font: 400 1.65rem/1 var(--titre); color: var(--or); text-transform: capitalize; }
.joyau-almanach__corps { display: grid; gap: .2rem; }
.joyau-almanach__corps strong { font: 400 1.3rem/1.2 var(--titre); }
.joyau-almanach__corps span { font-size: .875rem; color: var(--encre-douce); }
.joyau-almanach__etat { font: 500 .6875rem/1.2 var(--marque); letter-spacing: .14em; text-transform: uppercase; color: var(--encre-douce); text-align: right; }
.joyau-almanach__commander { display: inline-flex; align-items: center; min-height: 40px; padding: 0 1rem; background: var(--petrole); color: var(--ivoire); text-decoration: none; }
.joyau-almanach__fete.is-ouverte { background: linear-gradient(90deg, rgba(185, 150, 91, .14), rgba(185, 150, 91, 0) 70%); }
.joyau-almanach__fete.is-ouverte .joyau-almanach__mois { color: var(--petrole); }

/* ---------- Nous rendre visite ---------- */
.joyau-visite { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2.5rem, 7vw, 8rem); align-items: stretch; }
.joyau-visite__liste { display: grid; gap: 1.5rem; margin: 2rem 0 2.25rem; }
.joyau-visite__liste > div { display: grid; grid-template-columns: 9.5rem 1fr; gap: 1rem; padding-top: 1.25rem; border-top: 1px solid var(--filet); }
.joyau-visite__liste dt { display: flex; align-items: center; gap: .6rem; font: 500 var(--t-label)/1.4 var(--marque); letter-spacing: .16em; text-transform: uppercase; color: var(--petrole); }
.joyau-visite__liste dt .joyau-icone { width: 18px; height: 18px; color: var(--or); }
.joyau-visite__liste dd { margin: 0; }
.joyau-visite__carte { min-height: 520px; }
.joyau-plan { position: relative; height: 100%; min-height: inherit; overflow: hidden; background: var(--petrole-nuit); color: var(--ivoire); }
.joyau-plan > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .38; }
.joyau-plan iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.joyau-plan__voile { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 1.25rem; padding: 2rem; text-align: center; }
.joyau-plan__monogramme { color: var(--or-clair); }
.joyau-plan__monogramme svg { width: 64px; height: auto; }
.joyau-plan__coord { margin: 0; font: 400 1.35rem/1.3 var(--titre); }
.joyau-plan__note { max-width: 26em; margin: 0; font-size: .8125rem; color: rgba(250, 247, 241, .75); }
.joyau-plan.is-chargee .joyau-plan__voile, .joyau-plan.is-chargee > img { display: none; }
@media (max-width: 899px) {
	.joyau-visite { grid-template-columns: 1fr; }
	.joyau-visite__liste > div { grid-template-columns: 1fr; gap: .35rem; }
	.joyau-visite__carte { min-height: 420px; }
}

/* ---------- Contact ---------- */
.joyau-contact { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(2.5rem, 7vw, 8rem); align-items: start; scroll-margin-top: calc(var(--entete) + 1rem); }
.joyau-formulaire__ligne { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
.joyau-formulaire__envoi { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin: 0; }
.joyau-formulaire__obligatoire { font-size: .8125rem; color: var(--encre-douce); }
.joyau-formulaire__message { padding: 1rem 1.25rem; margin-bottom: 1.75rem; border-left: 1px solid; font-size: .95rem; }
.joyau-formulaire__message--succes { background: #eaf3ee; border-color: #1f6b45; color: #17462f; }
.joyau-formulaire__message--erreur { background: #fbecea; border-color: #a3271d; color: #7c1d15; }
.joyau-champ.is-invalide input, .joyau-champ.is-invalide textarea { border-color: #a3271d; }
.joyau-champ__erreur { font-size: .8125rem; color: #a3271d; }
@media (max-width: 899px) {
	.joyau-contact, .joyau-formulaire__ligne { grid-template-columns: 1fr; }
}

/* ---------- Questions fréquentes (et accordéons de fiche) ---------- */
.joyau-faq { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 7rem); scroll-margin-top: calc(var(--entete) + 1rem); }
.joyau-faq__liste { border-top: 1px solid var(--filet); }
.joyau-faq__item { border-bottom: 1px solid var(--filet); }
.joyau-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 64px; padding: 1.1rem 0; cursor: pointer; list-style: none; font: 400 clamp(1.15rem, 1rem + .5vw, 1.4rem)/1.3 var(--titre); }
.joyau-faq__item summary::-webkit-details-marker { display: none; }
.joyau-faq__item summary .joyau-icone { width: 20px; height: 20px; color: var(--or); transition: transform .5s var(--courbe); }
.joyau-faq__item[open] summary .joyau-icone { transform: rotate(45deg); }
.joyau-faq__item .joyau-prose { padding: 0 0 1.5rem; color: var(--encre-douce); }
.joyau-faq__item[open] .joyau-prose { animation: joyau-entree .6s var(--courbe); }
@media (max-width: 899px) { .joyau-faq { grid-template-columns: 1fr; } }

/* ---------- Instagram ---------- */
.joyau-insta__tete { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; margin-bottom: 2.5rem; }
.joyau-insta__grille { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(.5rem, 1vw, 1rem); }
.joyau-insta__grille a { display: block; aspect-ratio: 4 / 5; }
.joyau-insta__survol { position: absolute; inset: 0; z-index: 2; display: grid; place-items: center; background: rgba(23, 49, 58, .55); color: var(--ivoire); opacity: 0; transition: opacity .5s var(--courbe); }
.joyau-insta__grille a:hover .joyau-insta__survol, .joyau-insta__grille a:focus-visible .joyau-insta__survol { opacity: 1; }
.joyau-insta__grille img { transition: transform 1.2s var(--courbe); }
.joyau-insta__grille a:hover img { transform: scale(1.06); }
@media (max-width: 899px) {
	.joyau-insta__grille { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.joyau-insta__tete { flex-direction: column; align-items: flex-start; }
}

/* ---------- Texte libre ---------- */
.joyau-texte-libre { max-width: 46rem; text-align: center; }
.joyau-texte-libre .joyau-prose { margin: 0 auto; font-size: calc(var(--t-corps) * 1.06); }
