/* Le livre d’or : un présentoir de mots, ouvert à toutes et tous. */
.legal-page:has(.guestbook-main){--guest-ink:#293b40;--guest-muted:#65716e;--guest-line:#deddd3;--guest-paper:#fffefb;--guest-accent:#61546c;--guest-wash:#f0eaf3;background:radial-gradient(ellipse at 90% 8%,#e9dedc77,transparent 38%),#f7f5f0;color:var(--guest-ink)}
.legal-page:has(.guestbook-main) body{overflow-x:clip}
.guestbook-main{max-width:1380px;padding-top:62px;min-width:0}
.guestbook-main .eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--guest-muted)}
.guestbook-welcome{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.65fr);gap:70px;align-items:center;padding:0 28px 58px;border-bottom:1px solid var(--guest-line);margin-bottom:52px}
.guestbook-welcome h1{font:500 clamp(3rem,6.5vw,5.9rem)/1.03 Georgia,serif;letter-spacing:-.045em;color:var(--guest-ink);margin:25px 0}
.guestbook-welcome h1 em{font-weight:400;color:var(--guest-accent)}
.guestbook-welcome .legal-intro{font-size:1.08rem;max-width:45ch;margin:0 0 15px;line-height:1.8}
.guestbook-welcome>div>p:last-of-type{font-size:.9rem;color:var(--guest-muted);line-height:1.7}
.guestbook-invitation{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;padding:14px 23px;border:1px solid var(--guest-accent);border-radius:99px;background:var(--guest-accent);color:#fff;text-decoration:none;font-size:.9rem;box-shadow:0 7px 20px #61546c16;transition:background .2s,box-shadow .2s}
.guestbook-invitation:hover{background:#4b4055;box-shadow:0 10px 25px #61546c28}
.guestbook-welcome figure{width:min(100%,320px);justify-self:center;margin:0;transform:rotate(2deg)}
.guestbook-welcome img{display:block;width:100%;height:auto;border:9px solid var(--guest-paper);border-radius:26px;box-shadow:0 18px 50px #293b4013,0 2px 8px #293b4010}
.guestbook-welcome figcaption{text-align:center;font-size:.75rem;color:var(--guest-muted);margin-top:18px;line-height:1.5}
.guestbook-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:44px;align-items:start}
.guestbook-layout>*{min-width:0}
.guestbook-published h2,.guestbook-write h2{font:500 clamp(1.65rem,2.5vw,2.15rem)/1.2 Georgia,serif;letter-spacing:-.025em;color:var(--guest-ink);margin:10px 0 14px}
.guestbook-published>p:not(.eyebrow){color:var(--guest-muted);font-size:.88rem;line-height:1.75}
.guestbook-published .guestbook-retention{margin:18px 0 28px;padding:14px 17px;border:1px solid var(--guest-line);border-radius:15px;background:#fffefb70;font-size:.76rem;line-height:1.8}
.guestbook-retention a,.guestbook-info a{color:var(--guest-accent);text-decoration:underline;text-underline-offset:3px}
#guestbook-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.guestbook-entry{position:relative;isolation:isolate;min-width:0;margin:0;padding:26px 25px 29px;border:1px solid var(--guest-line);border-radius:23px;background:var(--guest-paper);box-shadow:0 8px 24px #293b4006;overflow-wrap:anywhere}
.guestbook-entry:nth-child(4n+2){background:#f1f4ef}
.guestbook-entry:nth-child(4n+3){background:#f4eff5}
.guestbook-entry:nth-child(4n+4){background:#fbf2eb}
.guestbook-entry::before{content:'“';position:absolute;right:17px;top:52px;z-index:-1;font:110px/1 Georgia,serif;color:var(--guest-accent);opacity:.065;pointer-events:none}
.guestbook-entry-heading{display:flex;flex-wrap:wrap;gap:7px 12px;align-items:baseline;padding-bottom:17px;border-bottom:1px solid var(--guest-line)}
.guestbook-entry strong{font-size:.85rem;font-weight:700;line-height:1.5;min-width:0}
.guestbook-entry time{display:inline-block;margin:0 0 0 auto;font-size:.68rem;color:var(--guest-muted);white-space:nowrap}
.guestbook-entry p{font:400 1.18rem/1.7 Georgia,serif;letter-spacing:.005em;white-space:pre-wrap;margin:20px 0 0;color:var(--guest-ink)}
.guestbook-entry blockquote{font-size:.8rem;line-height:1.7;margin:22px 0 0;padding:14px 0 0;border:0;border-top:1px solid var(--guest-line);color:var(--guest-muted);white-space:pre-wrap}
.guestbook-empty{grid-column:1/-1;background:var(--guest-paper);border:1px dashed var(--guest-line);border-radius:23px;padding:40px 28px;color:var(--guest-muted);font:1.2rem/1.7 Georgia,serif;text-align:center}
.guestbook-write.legal-card{margin:0;padding:26px;border:1px solid var(--guest-line);border-radius:25px;background:var(--guest-paper);box-shadow:0 14px 40px #293b4008}
.guestbook-write>p:not(.eyebrow){font-size:.86rem;color:var(--guest-muted);line-height:1.8}
.guestbook-main #guestbook-form{display:block;margin-top:23px}
.guestbook-main #guestbook-form label{display:block;font-size:.85rem;margin:23px 0 9px}
.guestbook-write label span{font-weight:400;color:var(--guest-muted);font-size:.75rem}
.guestbook-main #guestbook-form input:not(.guestbook-honeypot),.guestbook-main #guestbook-form textarea{width:100%;font:inherit;font-size:.88rem;padding:13px 14px;border:1px solid var(--guest-line);border-radius:12px;background:#f7f6f3;color:var(--guest-ink);box-sizing:border-box}
.guestbook-main #guestbook-form textarea{resize:vertical;line-height:1.7;min-height:155px}
.guestbook-main #guestbook-form input::placeholder,.guestbook-main #guestbook-form textarea::placeholder{color:var(--guest-muted);opacity:1}
.guestbook-main .guestbook-info{font-size:.71rem;line-height:1.8;color:var(--guest-muted);margin:11px 0}
.guestbook-counter{font-size:.68rem;text-align:right;color:var(--guest-muted);margin:7px 0 16px}
.guestbook-main .guestbook-submit{width:100%;margin:14px 0 0;border:0;border-radius:99px;min-height:48px;padding:12px 16px;font-size:.83rem;background:var(--guest-accent);color:#fff;box-shadow:0 5px 15px #61546c13}
.guestbook-submit:hover{filter:brightness(.92)}
.guestbook-main #guestbook-status{font-size:.85rem;line-height:1.7;margin:15px 0 0;color:var(--guest-ink)}
.guestbook-main :is(a,button,input,textarea):focus-visible{outline:3px solid #bd9b62;outline-offset:4px}
.legal-page[data-theme=dark]:has(.guestbook-main){--guest-ink:#f0eadf;--guest-muted:#b9c7c0;--guest-line:#435859;--guest-paper:#243638;--guest-accent:#dcc6e2;--guest-wash:#354037;background:radial-gradient(ellipse at 90% 8%,#4d3c4c55,transparent 38%),#18282c}
[data-theme=dark] .guestbook-welcome h1,[data-theme=dark] .guestbook-write h2{color:var(--guest-ink)}
[data-theme=dark] .guestbook-entry:nth-child(4n+2){background:#293d36}
[data-theme=dark] .guestbook-entry:nth-child(4n+3){background:#343341}
[data-theme=dark] .guestbook-entry:nth-child(4n+4){background:#3b3533}
[data-theme=dark] .guestbook-published .guestbook-retention{background:#24363870}
[data-theme=dark] .guestbook-invitation,[data-theme=dark] .guestbook-main .guestbook-submit{background:#695372;color:#fff}
[data-theme=dark] .guestbook-main #guestbook-form input:not(.guestbook-honeypot),[data-theme=dark] .guestbook-main #guestbook-form textarea{background:#1c2c30;border-color:var(--guest-line);color:var(--guest-ink)}
[data-theme=dark] .guestbook-main .guestbook-entry time{color:var(--guest-muted)}
@media(max-width:1100px){.guestbook-layout{grid-template-columns:minmax(0,1fr) 320px;gap:28px}#guestbook-list{grid-template-columns:1fr}.guestbook-welcome{gap:40px;padding-inline:0}}
@media(max-width:760px){.guestbook-main{padding-top:32px}.guestbook-welcome{grid-template-columns:minmax(0,1fr) 140px;gap:20px;padding-bottom:33px;margin-bottom:32px}.guestbook-welcome h1{font-size:clamp(2.7rem,7.8vw,4rem);margin:20px 0}.guestbook-welcome figure{align-self:start;margin-top:45px}.guestbook-welcome figcaption{display:none}.guestbook-welcome .legal-intro{font-size:.95rem;line-height:1.8}.guestbook-welcome>div{display:contents}.guestbook-welcome .eyebrow{grid-column:1/-1;margin:0}.guestbook-welcome h1{grid-column:1;grid-row:2;margin:0}.guestbook-welcome figure{grid-column:2;grid-row:2;margin:0}.guestbook-welcome .legal-intro,.guestbook-welcome>div>p:last-of-type{grid-column:1/-1;margin:0}.guestbook-invitation{grid-column:1/-1;justify-self:start;margin:0}.guestbook-welcome img{border-width:5px;border-radius:18px}.guestbook-layout{grid-template-columns:1fr;gap:34px}#guestbook-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.guestbook-entry{padding:22px 20px}.guestbook-entry p{font-size:1.1rem}.guestbook-write.legal-card{padding:25px}.guestbook-write>p{max-width:65ch}}
@media(max-width:540px){#guestbook-list{grid-template-columns:1fr;gap:16px}.guestbook-welcome{grid-template-columns:minmax(0,1fr) 108px;gap:16px}.guestbook-welcome h1{font-size:clamp(2.25rem,9vw,3.7rem)}.guestbook-welcome .eyebrow{font-size:.66rem}.guestbook-entry{padding:23px 24px;border-radius:20px}.guestbook-entry p{font-size:1.18rem}.guestbook-main .guestbook-retention{padding:13px 15px}.guestbook-write.legal-card{padding:23px 20px}}
@media(prefers-reduced-motion:reduce){.guestbook-invitation{transition:none}}
/* Réactions originales : la planche fournie est affichée telle quelle, par fenêtres CSS. */
.guestbook-reactions-picker{margin:14px 0 8px;border:1px solid var(--guest-line);border-radius:14px;background:var(--guest-wash);padding:12px}
.guestbook-reactions-picker summary{cursor:pointer;font-size:.8rem;font-weight:700;line-height:1.5}
.guestbook-reactions-picker summary>span{display:block;font-size:.66rem;font-weight:400;color:var(--guest-muted);margin-top:4px}
#guestbook-reactions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:13px}
.guestbook-reaction-button{display:grid;place-items:center;min-width:0;padding:3px;border:1px solid var(--guest-line);border-radius:13px;background:var(--guest-paper);cursor:pointer;min-height:64px}
.guestbook-reaction-button:hover{border-color:var(--guest-accent);box-shadow:0 0 0 2px #927ca32e}
.guestbook-reaction{display:inline-block;position:relative;width:48px;height:55.2px;vertical-align:middle;margin:0 3px;background:none;overflow:hidden}
.guestbook-reaction::before{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);background-image:url("/assets/echolalie-reactions-transparentes.png");background-repeat:no-repeat}
.guestbook-reaction-button .guestbook-reaction{width:48px;height:55.2px;margin:0}
.guestbook-reaction.EchoHeureux::before{width:44.908475px;height:55.200000px;background-size:193.534140px 145.150605px;background-position:-3.742373px -13.365617px}
.guestbook-reaction.EchoCurieux::before{width:44.373850px;height:55.200000px;background-size:193.534140px 145.150605px;background-position:-53.195157px -13.365617px}
.guestbook-reaction.EchoEmu::before{width:48.000000px;height:54.506024px;background-size:209.349398px 157.012048px;background-position:-107.855422px -19.662651px}
.guestbook-reaction.EchoBravo::before{width:47.352941px;height:55.200000px;background-size:195.905882px 146.929412px;background-position:-146.117647px -14.205882px}
.guestbook-reaction.EchoMalicieux::before{width:45.929771px;height:55.200000px;background-size:203.383206px 152.537405px;background-position:-5.337405px -80.622901px}
.guestbook-reaction.EchoSurpris::before{width:43.818557px;height:55.200000px;background-size:206.004124px 154.503093px;background-position:-57.334021px -82.373196px}
.guestbook-reaction.EchoEndormi::before{width:48.000000px;height:39.000000px;background-size:188.869565px 141.652174px;background-position:-92.608696px -87.130435px}
.guestbook-reaction.EchoCalin::before{width:44.384733px;height:55.200000px;background-size:203.383206px 152.537405px;background-position:-156.470229px -80.622901px}
#guestbook-reaction-status{font-size:.73rem;line-height:1.6;margin:8px 0 0}
#guestbook-reaction-status:empty{display:none}
.guestbook-preview{margin:14px 0;padding:15px;border:1px solid var(--guest-line);border-radius:15px;background:var(--guest-paper)}
.guestbook-preview[hidden]{display:none}
.guestbook-preview .eyebrow{font-size:.62rem;margin:0 0 12px}
#guestbook-preview-text{font:1rem/1.8 Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere}
.guestbook-reaction>.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.guestbook-message-editor{min-height:175px;max-height:420px;overflow:auto;overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;border:1px solid var(--guest-line);border-radius:12px;background:#f7f6f3;color:var(--guest-ink);font-size:.88rem;line-height:1.8;cursor:text}
.guestbook-message-editor:empty::before{content:attr(data-placeholder);color:var(--guest-muted);pointer-events:none}
.guestbook-message-editor:focus-visible{outline:3px solid #bd9b62;outline-offset:4px}
[data-theme=dark] .guestbook-message-editor{background:#1c2c30}
.guestbook-main #guestbook-form textarea[hidden]{display:none}

/* Un espace d'écriture ample, avant le présentoir. */
.guestbook-layout{grid-template-columns:1fr;gap:52px}
.guestbook-write.legal-card{padding:32px;background:linear-gradient(135deg,color-mix(in srgb,var(--guest-wash) 45%,var(--guest-paper)),var(--guest-paper));border-radius:28px}
.guestbook-write>p:not(.eyebrow){max-width:75ch;font-size:.94rem}
.guestbook-main #guestbook-form{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.85fr);gap:32px;align-items:start;margin-top:28px}
.guestbook-composer-message,.guestbook-composer-side{min-width:0}
.guestbook-composer-side{padding-left:28px;border-left:1px solid var(--guest-line)}
.guestbook-main #guestbook-form label{margin:0 0 12px;font-size:.93rem;font-weight:700}
.guestbook-message-editor{min-height:220px;padding:22px;font:1.13rem/1.85 Georgia,serif;background:var(--guest-paper);border-radius:18px;box-shadow:inset 0 2px 5px #293b4005}
[data-theme=dark] .guestbook-message-editor{background:#1c2c30}
.guestbook-message-editor:empty::before{font-style:italic;font-size:1.02rem}
.guestbook-reactions-picker{margin:15px 0 0;padding:15px 16px;background:transparent;border-radius:18px}
.guestbook-reactions-picker summary{font-size:.85rem}
.guestbook-reactions-picker summary>span{font-size:.72rem}
#guestbook-reactions{grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}
.guestbook-reaction-button{border-color:transparent;background:color-mix(in srgb,var(--guest-wash) 45%,var(--guest-paper));border-radius:14px}
.guestbook-main .guestbook-info{font-size:.79rem;line-height:1.8}
.guestbook-composer-side #guestbook-privacy{padding-top:18px;margin-top:20px;border-top:1px solid var(--guest-line)}
.guestbook-main .guestbook-submit{font-size:.92rem;min-height:52px;font-weight:700}
.guestbook-bottom-note{margin-top:48px;padding:22px 0 0;border-top:1px solid var(--guest-line)}
.guestbook-bottom-note .guestbook-retention{font-size:.78rem;color:var(--guest-muted);line-height:1.85;max-width:none;margin:0}
#guestbook-list{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){#guestbook-list{grid-template-columns:repeat(2,minmax(0,1fr))}#guestbook-reactions{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.guestbook-layout{gap:36px}.guestbook-write.legal-card{padding:25px}.guestbook-main #guestbook-form{grid-template-columns:1fr;gap:22px}.guestbook-composer-side{border-left:0;padding:0}.guestbook-message-editor{min-height:210px;padding:18px;font-size:1.09rem}.guestbook-composer-side #guestbook-privacy{margin-top:16px;padding-top:12px}.guestbook-bottom-note{margin-top:30px}}
@media(max-width:540px){.guestbook-write.legal-card{padding:23px 18px}#guestbook-list{grid-template-columns:1fr}.guestbook-reactions-picker{padding:12px}}

/* Nouveaux smileys indépendants, sans arrière-plan. */
.guestbook-reaction.EchoIncognito::before{width:48px;height:55.2px;background-image:url("/assets/echolalie-smiley-incognito.png");background-size:contain;background-position:center bottom}
.guestbook-reaction.EchoBibliophile::before{width:48px;height:55.2px;background-image:url("/assets/echolalie-smiley-bibliophile.png");background-size:contain;background-position:center bottom}
.guestbook-reaction.EchoAcrobate::before{width:48px;height:55.2px;background-image:url("/assets/echolalie-smiley-acrobate.png");background-size:contain;background-position:center bottom}
.guestbook-reaction.EchoCitrouille::before{width:48px;height:55.2px;background-image:url("/assets/echolalie-smiley-citrouille.png");background-size:contain;background-position:center bottom}

.guestbook-refresh-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 24px}.guestbook-refresh-bar button{font:inherit;font-weight:700;min-height:44px;padding:10px 16px;border:1px solid var(--line,#bac7c0);border-radius:14px;background:var(--surface,#fffdf7);color:var(--ink,#285855);box-shadow:0 3px 10px #16383212;cursor:pointer}.guestbook-refresh-bar button:hover{border-color:var(--ink)}.guestbook-refresh-bar button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.guestbook-refresh-bar button:disabled{opacity:.65;cursor:wait}.guestbook-refresh-bar p{margin:0;font-size:.85rem;color:var(--muted)}
.legal-page[data-theme=dark] .guestbook-refresh-bar button{background:#253c40;color:#f4edde;border-color:#64827d}.legal-page[data-theme=dark] .guestbook-refresh-bar button:hover{border-color:#e2be82}.legal-page[data-theme=dark] .guestbook-refresh-bar button:focus-visible{outline-color:#e2be82}
