/* urneanimal.fr — L'ATELIER DE GRAVURE (Mot Doux) et le bloc « Sa gravure » de la fiche.
   Chargé seulement par les fiches d'urnes gravées, après commun.css et fiche.css. Le comportement est
   dans js/atelier.js. Une scène sombre et chaude (l'urne sous une lumière douce), le panneau des choix
   à côté (dessous sur téléphone).
   ⚠ Quand on modifie ce fichier : changer le ?v= dans TOUTES les pages. */

/* Les 14 écritures du graveur, rendues par des polices libres (polices/LISEZMOI.txt). Hébergées ici,
   jamais chez Google. Le navigateur ne les télécharge que lorsqu'elles servent (dans l'atelier). */
@font-face{font-family:"UA Carlito";font-weight:400;font-display:swap;src:url(/polices/carlito.woff2) format("woff2")}
@font-face{font-family:"UA STIX Two";font-weight:400 700;font-display:swap;src:url(/polices/stix-two-text.woff2) format("woff2")}
@font-face{font-family:"UA STIX Two";font-style:italic;font-weight:700;font-display:swap;src:url(/polices/stix-two-text-italique.woff2) format("woff2")}
@font-face{font-family:"UA Mali";font-weight:600;font-display:swap;src:url(/polices/mali.woff2) format("woff2")}
@font-face{font-family:"UA Caveat Brush";font-weight:400;font-display:swap;src:url(/polices/caveat-brush.woff2) format("woff2")}
@font-face{font-family:"UA Cookie";font-weight:400;font-display:swap;src:url(/polices/cookie.woff2) format("woff2")}
@font-face{font-family:"UA Kaushan";font-weight:400;font-display:swap;src:url(/polices/kaushan-script.woff2) format("woff2")}
@font-face{font-family:"UA Grandstander";font-weight:700;font-display:swap;src:url(/polices/grandstander.woff2) format("woff2")}
@font-face{font-family:"UA Norican";font-weight:400;font-display:swap;src:url(/polices/norican.woff2) format("woff2")}
@font-face{font-family:"UA Amatic SC";font-weight:400;font-display:swap;src:url(/polices/amatic-sc.woff2) format("woff2")}
@font-face{font-family:"UA Amatic SC";font-weight:700;font-display:swap;src:url(/polices/amatic-sc-gras.woff2) format("woff2")}
@font-face{font-family:"UA Sacramento";font-weight:400;font-display:swap;src:url(/polices/sacramento.woff2) format("woff2")}

:root{
  --or:#CFA878;          /* l'accent de l'atelier : un or de laiton, sur le brun sombre */
  --or-fonce:#B08656;
  --nuit:#18110C;        /* le fond de la scène */
}

/* ───────────── Sur la fiche : le bloc « Sa gravure » ───────────── */
.grav{position:relative;margin-top:24px;padding:22px 22px 18px;border-radius:22px;overflow:hidden;isolation:isolate;
  color:var(--creme);background:radial-gradient(120% 140% at 85% 0%, #4A3423 0%, #2E2119 55%, #231812 100%);
  box-shadow:0 24px 44px -30px rgba(46,33,25,.9), inset 0 1px 0 rgba(255,236,210,.08)}
/* un fin trait d'or qui traverse le bloc de temps en temps (le passage du laser) */
.grav::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg, transparent 40%, rgba(255,214,160,.13) 50%, transparent 60%);
  transform:translateX(-100%);animation:grav-reflet 7s cubic-bezier(.4,0,.2,1) 2.5s infinite}
@keyframes grav-reflet{0%{transform:translateX(-100%)}25%,100%{transform:translateX(100%)}}
.grav.grave::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  box-shadow:inset 0 0 0 1.5px var(--or);animation:grav-grave 1.4s ease-out forwards}
@keyframes grav-grave{0%{opacity:1}100%{opacity:0}}
.grav-tete{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.grav-tete h2{font:600 11.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--or)}
.grav-comprise{font:italic 500 16px/1 var(--serif);color:rgba(246,237,223,.72)}
.grav-vide p{margin-top:12px;font-size:15.5px;line-height:1.55;color:rgba(246,237,223,.86)}
.grav-ouvrir{position:relative;display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:14px 22px 14px 18px;
  border-radius:999px;background:var(--or);color:#24180F;font:650 15.5px/1 var(--sans);letter-spacing:.01em;
  box-shadow:0 12px 24px -14px rgba(207,168,120,.9), inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .25s cubic-bezier(.2,.7,.2,1), background-color .25s, box-shadow .25s}
.grav-ouvrir svg,.grav-modifier svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media (hover:hover){ .grav-ouvrir:hover{background:#DDB88A;transform:translateY(-2px)} }
.grav-ouvrir:active{transform:scale(.98)}
.grav-pleine{display:flex;align-items:center;gap:16px;margin-top:14px}
.grav-vignette{width:96px;height:96px;flex:none;border-radius:50%;overflow:hidden;background:var(--scene);
  box-shadow:0 0 0 1px rgba(255,236,210,.18), 0 10px 22px -12px rgba(0,0,0,.8)}
.grav-vignette img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transform:scale(1.45) translateY(3%)}
.grav-texte{min-width:0;flex:1}
.grav-prenom{display:block;font-size:30px;line-height:1.1;color:#FFF7EA;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grav-details{margin-top:5px;font-size:13.5px;line-height:1.45;color:rgba(246,237,223,.72)}
.grav-actions{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:9px}
.grav-modifier,.grav-retirer{display:inline-flex;align-items:center;gap:6px;font:600 13.5px/1.3 var(--sans);color:var(--or);
  text-decoration:underline;text-decoration-color:rgba(207,168,120,.4);text-underline-offset:3px}
.grav-retirer{color:rgba(246,237,223,.55);text-decoration-color:rgba(246,237,223,.25)}
.grav-note{margin-top:16px;padding-top:13px;border-top:1px solid rgba(255,236,210,.1);font-size:12.5px;line-height:1.55;color:rgba(246,237,223,.62)}
.grav-note strong{color:rgba(246,237,223,.9);font-weight:600}

/* Le bouton du panier, tant que la gravure n'est pas faite : il ouvre l'atelier (plume au lieu du panier) */
.btn-panier .ico-plume{display:none}
.btn-panier.a-graver .ico-plume{display:block}
.btn-panier.a-graver .ico-panier{display:none}

/* ───────────── L'atelier ───────────── */
html.at-ouvert,html.at-ouvert body{overflow:hidden}
.at{position:fixed;inset:0;z-index:90;display:grid;grid-template-columns:minmax(0, 1.12fr) minmax(390px, .88fr);
  color:var(--creme);background:var(--nuit);
  /* il s'ouvre comme un diaphragme, depuis le bouton */
  clip-path:circle(0 at var(--ox, 50%) var(--oy, 50%));transition:clip-path .75s cubic-bezier(.65,0,.25,1)}
.at.visible{clip-path:circle(150% at var(--ox, 50%) var(--oy, 50%))}
.at :focus-visible{outline:2px solid var(--or);outline-offset:3px}

/* La scène : une lumière douce tombe sur l'urne, posée sur un socle de pierre sombre */
.at-scene{position:relative;overflow:hidden;display:grid;place-items:center;min-height:0;
  background:radial-gradient(70% 62% at 50% 44%, #3B2A1E 0%, #22170F 58%, #140E0A 100%)}
.at-halo{position:absolute;left:50%;top:44%;width:min(92%, 900px);aspect-ratio:1;transform:translate(-50%, -50%);pointer-events:none;
  background:radial-gradient(closest-side, rgba(255,226,186,.16), rgba(255,226,186,.05) 55%, transparent);
  transition:opacity .8s, background .8s}
.at-socle{position:absolute;left:50%;bottom:-38%;width:150%;height:62%;transform:translateX(-50%);border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side, #3A2A1F 0%, #231811 70%, transparent 100%);opacity:.85}
.at-toile{position:relative;z-index:1;display:block;touch-action:none;cursor:grab;-webkit-tap-highlight-color:transparent;
  transform:translateY(-2%);transition:filter .8s}
.at-toile:active{cursor:grabbing}
.at-toile:focus-visible{outline-offset:-6px;border-radius:50%}
/* À la bougie : la pièce s'assombrit, une flamme éclaire l'urne par la gauche, en vacillant */
.at-bougie{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 1s;
  background:radial-gradient(55% 60% at 16% 72%, rgba(255,150,60,.34), rgba(255,120,40,.1) 45%, transparent 70%)}
.at.soir .at-scene{background:radial-gradient(70% 62% at 50% 44%, #2A1C12 0%, #150D08 60%, #0B0705 100%)}
.at.soir .at-halo{opacity:.35}
.at.soir .at-bougie{opacity:1;animation:vacille 3.2s steps(1) infinite, vacille-doux 1.7s ease-in-out infinite alternate}
.at.soir .at-toile{filter:brightness(.8) sepia(.22) saturate(1.15) contrast(1.06)}
@keyframes vacille{0%{opacity:1}23%{opacity:.86}31%{opacity:1}58%{opacity:.9}64%{opacity:.97}81%{opacity:.84}88%{opacity:1}}
@keyframes vacille-doux{from{transform:translate(0, 0) scale(1)}to{transform:translate(.6%, -.8%) scale(1.02)}}

.at-tourner{position:absolute;left:50%;bottom:calc(9% + 18px);z-index:2;display:flex;align-items:center;gap:8px;transform:translateX(-50%);
  font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(246,237,223,.55);pointer-events:none;white-space:nowrap;
  transition:opacity .6s}
.at-tourner svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
  animation:va-vient 2.4s ease-in-out infinite}
@keyframes va-vient{0%,100%{transform:translateX(-3px)}50%{transform:translateX(3px)}}
.at-tourner.vu{opacity:0}
.at-lumiere{position:absolute;left:20px;bottom:18px;z-index:2;display:flex;padding:4px;border-radius:999px;
  background:rgba(255,236,210,.07);box-shadow:inset 0 0 0 1px rgba(255,236,210,.1)}
.at-lumiere button{display:flex;align-items:center;gap:6px;padding:8px 13px;border-radius:999px;font:600 12.5px/1 var(--sans);
  color:rgba(246,237,223,.62);transition:background-color .3s, color .3s}
.at-lumiere button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.at-lumiere button[aria-pressed="true"]{background:rgba(255,236,210,.14);color:#FFF4E2}
.at-apercu{position:absolute;right:22px;bottom:20px;z-index:2;max-width:300px;text-align:right;
  font-size:11.5px;line-height:1.45;color:rgba(246,237,223,.45)}

/* Le panneau des choix */
.at-panneau{position:relative;display:flex;flex-direction:column;min-height:0;min-width:0;
  background:linear-gradient(180deg, #221710, #1B120C);box-shadow:inset 1px 0 0 rgba(255,236,210,.07)}
.at-tete{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:26px 30px 14px}
.at-sur{display:flex;align-items:center;gap:10px;font:600 10.5px/1.3 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--or)}
.at-sur::before{content:"";width:22px;height:1px;background:currentColor;opacity:.7}
.at-tete h2{margin-top:8px;font:600 40px/.95 var(--serif);color:#FFF4E2}
.at-tete h2 em{font-style:italic;font-weight:500;color:var(--or)}
.at-fermer{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:50%;color:var(--creme);
  box-shadow:inset 0 0 0 1px rgba(255,236,210,.18);transition:background-color .25s, transform .25s}
.at-fermer svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
@media (hover:hover){ .at-fermer:hover{background:rgba(255,236,210,.1);transform:rotate(90deg)} }

.at-onglets{position:relative;display:flex;gap:4px;padding:0 24px;overflow-x:auto;scrollbar-width:none;
  box-shadow:inset 0 -1px 0 rgba(255,236,210,.09)}
.at-onglets::-webkit-scrollbar{display:none}
.at-onglet{display:flex;align-items:center;gap:8px;flex:none;padding:14px 8px 15px;font:600 13.5px/1 var(--sans);
  color:rgba(246,237,223,.5);white-space:nowrap;transition:color .3s}
.at-onglet-n{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;font-size:11px;
  box-shadow:inset 0 0 0 1px rgba(246,237,223,.3);transition:background-color .3s, color .3s, box-shadow .3s}
.at-onglet[aria-selected="true"]{color:#FFF4E2}
.at-onglet[aria-selected="true"] .at-onglet-n{background:var(--or);color:#24180F;box-shadow:none}
.at-onglet.fait{color:rgba(246,237,223,.78)}
.at-onglet.fait .at-onglet-n{color:var(--or);box-shadow:inset 0 0 0 1px var(--or)}
@media (hover:hover){ .at-onglet:hover{color:#FFF4E2} }
.at-onglets-trait{position:absolute;left:0;bottom:0;height:2px;border-radius:2px;background:var(--or);width:0;
  transition:transform .45s cubic-bezier(.3,1.2,.4,1), width .45s cubic-bezier(.3,1.2,.4,1)}

.at-contenu{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:26px 30px 30px;scrollbar-color:rgba(255,236,210,.2) transparent}
@keyframes at-monte{from{transform:translateY(10px)}}
.at-page{animation:at-monte .45s cubic-bezier(.2,.7,.2,1)}
.at-q{font:italic 500 30px/1.1 var(--serif);color:#FFF4E2}
.at-aide{margin-top:8px;font-size:14.5px;line-height:1.55;color:rgba(246,237,223,.68)}
.at-petit{margin-top:7px;font-size:12.5px;color:rgba(246,237,223,.5)}

/* Couleurs */
.at-couleurs{display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:10px;margin-top:22px}
.at-couleur{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;cursor:pointer}
.at-couleur input,.at-ecriture input,.at-motif input{position:absolute;left:50%;top:50%;width:1px;height:1px;opacity:0;margin:0}
.at-couleur-rond{display:block;width:100%;max-width:74px;aspect-ratio:1;border-radius:50%;overflow:hidden;background:#F3EBDF;
  box-shadow:0 0 0 1px rgba(255,236,210,.12);transition:transform .35s cubic-bezier(.3,1.4,.5,1), box-shadow .3s}
.at-couleur-rond img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transform:scale(1.3) translateY(4%)}
.at-couleur-nom{font:600 13px/1.2 var(--sans);color:rgba(246,237,223,.85)}
.at-couleur-ton{font-size:11px;line-height:1.25;color:rgba(246,237,223,.45)}
.at-couleur input:checked + .at-couleur-rond{transform:translateY(-3px) scale(1.04);box-shadow:0 0 0 2px var(--nuit), 0 0 0 3.5px var(--or), 0 14px 22px -12px #000}
.at-couleur input:checked ~ .at-couleur-nom{color:#FFF4E2}
.at-couleur input:focus-visible + .at-couleur-rond{outline:2px solid var(--or);outline-offset:6px}

/* Champs */
.at-champ{margin-top:22px}
.at-champ > label,.at-etiq{display:flex;align-items:baseline;gap:9px;font:600 11px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(246,237,223,.72)}
.at-oblig,.at-fac{font:italic 500 14px/1 var(--serif);letter-spacing:0;text-transform:none;color:var(--or)}
.at-fac{color:rgba(246,237,223,.45)}
.at-saisie{position:relative;margin-top:9px}
.at input[type="text"]{width:100%;height:54px;padding:0 60px 0 18px;border-radius:14px;border:1px solid rgba(255,236,210,.16);
  background:rgba(255,236,210,.05);color:#FFF7EA;font:500 18px/1 var(--sans);caret-color:var(--or);
  transition:border-color .25s, background-color .25s, box-shadow .25s}
.at input[type="text"]::placeholder{color:rgba(246,237,223,.28)}
.at input[type="text"]:focus{outline:none;border-color:var(--or);background:rgba(255,236,210,.08);box-shadow:0 0 0 4px rgba(207,168,120,.16)}
#at-prenom{font:600 26px/1 var(--serif);letter-spacing:.01em}
.at-compte{position:absolute;right:16px;top:50%;transform:translateY(-50%);font:500 12px/1 var(--sans);color:rgba(246,237,223,.38);
  font-variant-numeric:tabular-nums;pointer-events:none}
.at-dates{display:flex;align-items:center;gap:12px;margin-top:9px;color:rgba(246,237,223,.45)}
.at-dates input[type="text"]{padding:0 16px;text-align:center;font-variant-numeric:tabular-nums}
.at-idees{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.at-idee{padding:8px 12px;border-radius:999px;font:500 13px/1.1 var(--sans);color:rgba(246,237,223,.78);
  box-shadow:inset 0 0 0 1px rgba(255,236,210,.16);transition:background-color .25s, color .25s, box-shadow .25s}
@media (hover:hover){ .at-idee:hover{background:rgba(255,236,210,.08);color:#FFF4E2;box-shadow:inset 0 0 0 1px rgba(207,168,120,.6)} }
.at-bascule{display:flex;margin-top:12px;padding:4px;border-radius:14px;background:rgba(255,236,210,.05);box-shadow:inset 0 0 0 1px rgba(255,236,210,.1)}
.at-bascule button{flex:1 1 0;min-width:0;padding:10px 8px;border-radius:10px;font:600 13px/1.25 var(--sans);color:rgba(246,237,223,.6);
  transition:background-color .3s, color .3s}
.at-bascule button[aria-pressed="true"]{background:rgba(255,236,210,.13);color:#FFF4E2;box-shadow:0 6px 14px -10px #000}
.at-serre{margin-top:16px;font-size:13px;line-height:1.5;color:var(--or)}
.at-serre:empty{display:none}
.secoue{animation:secoue .45s cubic-bezier(.36,.07,.19,.97)}
@keyframes secoue{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(3px)}30%,50%,70%{transform:translateX(-6px)}40%,60%{transform:translateX(6px)}}

/* Écritures : son prénom, dans chacune des 14 */
.at-ecritures{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px;margin-top:20px}
.at-ecriture{position:relative;cursor:pointer;min-width:0}
.at-ecriture-carte{position:relative;display:flex;align-items:center;justify-content:center;height:78px;padding:0 14px;border-radius:16px;
  background:rgba(255,236,210,.045);box-shadow:inset 0 0 0 1px rgba(255,236,210,.1);overflow:hidden;
  transition:background-color .3s, box-shadow .3s, transform .3s cubic-bezier(.2,.7,.2,1)}
.at-ecriture-n{position:absolute;left:10px;top:8px;font:600 10.5px/1 var(--sans);color:rgba(246,237,223,.38);font-variant-numeric:tabular-nums}
.at-ecriture-ex{display:block;max-width:100%;font-size:calc(var(--e, 1) * 26px);line-height:1.25;color:#FFF4E2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.at-ecriture input:checked + .at-ecriture-carte{background:rgba(207,168,120,.14);box-shadow:inset 0 0 0 1.5px var(--or)}
.at-ecriture input:checked + .at-ecriture-carte .at-ecriture-n{color:var(--or)}
.at-ecriture input:focus-visible + .at-ecriture-carte{outline:2px solid var(--or);outline-offset:3px}
@media (hover:hover){ .at-ecriture:hover .at-ecriture-carte{transform:translateY(-2px);background:rgba(255,236,210,.08)} }

/* Motifs */
.at-motifs{display:grid;grid-template-columns:repeat(6, minmax(0, 1fr));gap:8px;margin-top:20px}
.at-motif{position:relative;cursor:pointer}
.at-motif-carte{display:grid;place-items:center;aspect-ratio:1;border-radius:14px;color:rgba(246,237,223,.86);
  background:rgba(255,236,210,.045);box-shadow:inset 0 0 0 1px rgba(255,236,210,.1);
  transition:background-color .3s, box-shadow .3s, color .3s, transform .3s cubic-bezier(.2,.7,.2,1)}
.at-motif-carte svg{width:62%;height:62%}
.at-motif-sans{font:italic 500 17px/1 var(--serif);color:rgba(246,237,223,.62)}
.at-motif input:checked + .at-motif-carte{background:rgba(207,168,120,.16);box-shadow:inset 0 0 0 1.5px var(--or);color:#FFF4E2}
.at-motif input:focus-visible + .at-motif-carte{outline:2px solid var(--or);outline-offset:3px}
@media (hover:hover){ .at-motif:hover .at-motif-carte{transform:translateY(-2px);color:#FFF4E2} }
#at-motif-pos{margin-top:18px}

/* Relire */
.at-resume{display:grid;grid-template-columns:auto 1fr;margin-top:18px;font-size:14.5px}
.at-resume dt,.at-resume dd{padding:11px 0;border-bottom:1px solid rgba(255,236,210,.08)}
.at-resume dt{padding-right:20px;color:rgba(246,237,223,.55)}
.at-resume dd{text-align:right;font-weight:600;color:#FFF4E2;overflow-wrap:anywhere}
.at-relu{display:flex;align-items:flex-start;gap:12px;margin-top:22px;cursor:pointer;font-size:15px;line-height:1.45;color:#FFF4E2}
.at-relu input{position:absolute;opacity:0;width:1px;height:1px}
.at-relu-case{display:grid;place-items:center;width:24px;height:24px;flex:none;margin-top:-1px;border-radius:7px;
  box-shadow:inset 0 0 0 1.5px rgba(246,237,223,.45);transition:background-color .25s, box-shadow .25s}
.at-relu-case svg{width:17px;height:17px;fill:none;stroke:#24180F;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .3s ease-out}
.at-relu input:checked + .at-relu-case{background:var(--or);box-shadow:none}
.at-relu input:checked + .at-relu-case svg{stroke-dashoffset:0}
.at-relu input:focus-visible + .at-relu-case{outline:2px solid var(--or);outline-offset:3px}
.at-loi{margin-top:18px;padding-left:14px;border-left:2px solid rgba(207,168,120,.5);font-size:12.5px;line-height:1.6;color:rgba(246,237,223,.6)}

/* Le pied du panneau : le prix, Retour, Suivant / Valider */
.at-pied{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 30px calc(18px + env(safe-area-inset-bottom));
  box-shadow:inset 0 1px 0 rgba(255,236,210,.09);background:rgba(20,13,9,.6)}
.at-prix{font-size:13px;line-height:1.2;color:rgba(246,237,223,.6)}
.at-prix b{display:block;font:600 24px/1 var(--serif);color:#FFF4E2}
.at-boutons{display:flex;align-items:center;gap:8px}
.at-retour{padding:14px 14px;font:600 14px/1 var(--sans);color:rgba(246,237,223,.7)}
@media (hover:hover){ .at-retour:hover{color:#FFF4E2} }
.at-suivant{display:inline-flex;align-items:center;gap:9px;padding:15px 20px 15px 22px;border-radius:999px;background:#F3E6D2;color:#24180F;
  font:650 14.5px/1 var(--sans);white-space:nowrap;box-shadow:0 12px 24px -14px rgba(0,0,0,.9);
  transition:background-color .25s, transform .25s cubic-bezier(.2,.7,.2,1), opacity .25s}
.at-suivant svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.at-suivant.final{background:var(--or)}
@media (hover:hover){ .at-suivant:not(:disabled):hover{transform:translateY(-2px);background:#FFF4E2} .at-suivant.final:not(:disabled):hover{background:#DDB88A} }
.at-suivant:disabled{opacity:.42;cursor:not-allowed}

/* Panneau étroit (ordinateur moyen, téléphone) : les onglets ne montrent que le nom de l'étape en
   cours, les autres par leur numéro (sinon ils débordent). */
@media (max-width:1100px) and (min-width:900px), (max-width:599px){
  .at-onglets{gap:2px}
  .at-onglet:not([aria-selected="true"]) .at-onglet-t{display:none}
  .at-onglet{padding-inline:7px}
}
/* ── Tablette et téléphone : la scène en haut, les choix dessous ── */
@media (max-width:899px){
  .at{grid-template-columns:minmax(0, 1fr);grid-template-rows:minmax(250px, 43svh) minmax(0, 1fr)}
  .at-tete{padding:16px 18px 8px}
  .at-tete h2{font-size:30px;margin-top:6px}
  .at-onglets{padding:0 12px}
  .at-contenu{padding:20px 18px 24px}
  .at-pied{padding:12px 18px calc(12px + env(safe-area-inset-bottom))}
  .at-apercu{display:none}
  .at-lumiere{left:12px;bottom:12px}
  .at-lumiere button{padding:7px 10px;font-size:12px}
  .at-tourner{bottom:16px;left:auto;right:14px;transform:none;font-size:10px}
}
/* téléphone court (ou tenu en largeur) : scène un peu plus basse, en-tête sur une ligne */
@media (max-width:899px) and (max-height:760px){
  .at{grid-template-rows:minmax(200px, 37svh) minmax(0, 1fr)}
  .at-sur{display:none}
  .at-tete{align-items:center;padding:10px 16px 2px}
  .at-tete h2{font-size:25px;margin-top:0}
  .at-fermer{width:38px;height:38px}
  .at-contenu{padding-top:16px}
}
@media (max-width:599px){
  .at-q{font-size:26px}
  .at-couleurs{gap:6px}
  .at-couleur-ton{display:none}
  .at-motifs{grid-template-columns:repeat(5, minmax(0, 1fr))}
  .at-ecriture-carte{height:70px}
  .at-ecriture-ex{font-size:calc(var(--e, 1) * 22px)}
  .at-prix{display:none}
  .at-boutons{flex:1}
  .at-retour{flex:none;padding:14px 10px}
  .at-suivant{flex:1;justify-content:center}

  .grav{padding:18px 16px 15px}
  .grav-vignette{width:80px;height:80px}
  .grav-prenom{font-size:26px}
}
@media (max-width:374px){
  .at-onglet{font-size:12.5px;padding:13px 5px 14px;gap:6px}
  .at-ecritures{grid-template-columns:minmax(0, 1fr)}
  .at-suivant{padding:14px 16px}
  .at-lumiere button svg{display:none}
}

@media (prefers-reduced-motion:reduce){
  .at{transition:none}
  .at-page,.secoue,.grav::before,.grav.grave::after,.at-tourner svg,.at.soir .at-bougie{animation:none}
  .at-onglets-trait,.at-couleur-rond,.at-ecriture-carte,.at-motif-carte,.grav-ouvrir{transition:none}
}
