/* Modale « Espace Parents » : code secret à 4 chiffres */
html.pg-lock main{filter:blur(9px);pointer-events:none;user-select:none}
html.pg-open{overflow:hidden}
.pg-ov{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(14,18,44,.58);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;transition:opacity .22s}
.pg-ov.on{opacity:1}
.pg-ov[hidden]{display:none}
.pg-m{--mw:min(520px,calc(100vw - 32px));--u:calc(var(--mw) / 432);position:relative;width:var(--mw);height:calc(387 * var(--u));flex:none;border-radius:calc(15 * var(--u));background:#fbf8f4 url(p/parent-gate/bg.jpg) center/100% 100% no-repeat;box-shadow:0 24px 70px rgba(5,8,30,.5);color:#0d1445;font-family:"Source Sans 3","Segoe UI",Roboto,Arial,sans-serif;transform:translateY(10px) scale(.98);transition:transform .25s}
.pg-ov.on .pg-m{transform:none}
.pg-m>*{position:absolute;margin:0}
.pg-x{right:calc(6 * var(--u));top:calc(6 * var(--u));width:max(36px,calc(36 * var(--u)));height:max(36px,calc(36 * var(--u)));display:grid;place-items:center;border:0;background:none;color:#0d1445;cursor:pointer;border-radius:50%}
.pg-x svg{width:max(14px,calc(15 * var(--u)));height:max(14px,calc(15 * var(--u)))}
.pg-x:hover{background:rgba(13,20,69,.07)}
.pg-lock-ic{left:calc(200 * var(--u));top:calc(28 * var(--u));width:calc(33 * var(--u));height:calc(39 * var(--u))}
.pg-t{left:0;right:0;top:calc(71 * var(--u));text-align:center;font-family:"Playfair Display",Georgia,serif;font-weight:800;font-size:max(24px,calc(31 * var(--u)));line-height:calc(40 * var(--u));letter-spacing:-.005em;color:#0d1445}
.pg-s{left:0;right:0;top:calc(125 * var(--u));text-align:center;font-size:max(13.5px,calc(12.6 * var(--u)));line-height:calc(18.6 * var(--u));color:#34407a}
.pg-s b{font-weight:700;color:#0d1445}
.pg-d{left:calc(105 * var(--u));top:calc(172 * var(--u));width:calc(222 * var(--u));height:calc(53 * var(--u));display:grid;grid-template-columns:repeat(4,1fr);gap:calc(7.5 * var(--u))}
.pg-d input{width:100%;height:100%;min-width:0;padding:0;text-align:center;font:500 max(22px,calc(23 * var(--u))) "Source Sans 3","Segoe UI",Roboto,Arial,sans-serif;color:#0d1445;background:rgba(255,255,255,.7);border:1px solid #c6ccdb;border-radius:calc(8 * var(--u));outline:0;caret-color:#b8101f;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.pg-d input::placeholder{color:#9aa3b6;opacity:1}
.pg-d input:focus{border-color:#c8102e;box-shadow:0 0 0 3px rgba(200,16,46,.14);background:#fff}
.pg-d.err input{border-color:#c8102e;background:#fff5f5}
.pg-d.err{animation:pg-shake .38s}
@keyframes pg-shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.pg-msg{left:0;right:0;top:calc(227 * var(--u));text-align:center;font-size:max(12px,calc(10.4 * var(--u)));line-height:calc(14 * var(--u));min-height:calc(14 * var(--u));color:#c8102e;font-weight:600}
.pg-go{left:calc(110 * var(--u));top:calc(242 * var(--u));width:calc(212 * var(--u));height:max(42px,calc(38 * var(--u)));display:flex;align-items:center;justify-content:center;gap:calc(8 * var(--u));border:0;border-radius:calc(5.5 * var(--u));cursor:pointer;color:#fff;font:600 max(14px,calc(13.2 * var(--u))) "Source Sans 3","Segoe UI",Roboto,Arial,sans-serif;text-decoration:none;white-space:nowrap;background:linear-gradient(180deg,#c3121f,#9a0a15);box-shadow:0 4px 10px rgba(150,10,22,.3),inset 0 1px 0 rgba(255,255,255,.22);transition:filter .15s,transform .15s}
.pg-go:hover{filter:brightness(1.08)}
.pg-go:active{transform:translateY(1px)}
.pg-go:disabled{filter:grayscale(.6) brightness(1.1);cursor:not-allowed}
.pg-go svg{width:max(10px,calc(9 * var(--u)));height:max(10px,calc(9 * var(--u)));flex:none}
.pg-fg{left:calc(116 * var(--u));width:calc(200 * var(--u));top:calc(291 * var(--u));height:max(24px,calc(15 * var(--u)));display:flex;align-items:center;justify-content:center;padding:0;border:0;background:none;cursor:pointer;color:#0d1445;font:500 max(12.5px,calc(11 * var(--u))) "Source Sans 3","Segoe UI",Roboto,Arial,sans-serif;text-decoration:underline;text-underline-offset:2px}
.pg-fg:hover{color:#c8102e}
.pg-sig{left:calc(32 * var(--u));right:calc(35 * var(--u));top:calc(341 * var(--u));height:calc(22 * var(--u));display:flex;align-items:center;gap:calc(10 * var(--u));pointer-events:none}
.pg-sig i{flex:1;height:1px;background:linear-gradient(90deg,rgba(211,166,90,0),#d3a65a)}
.pg-sig i:last-child{background:linear-gradient(90deg,#d3a65a,rgba(211,166,90,0))}
.pg-sig svg{width:calc(15 * var(--u));height:calc(18 * var(--u));flex:none;color:#7a4320}
.pg-sig span{flex:none;font-family:"Dancing Script","Segoe Script",cursive;font-weight:700;font-size:max(12.5px,calc(13.4 * var(--u)));color:#6b3a1e;white-space:nowrap}
.pg-m.fgt .pg-d,.pg-m.fgt .pg-msg{visibility:hidden}
@media (max-width:420px){.pg-sig span{font-size:max(11.5px,calc(12.2 * var(--u)))}.pg-sig i{min-width:6px}}
@media (prefers-reduced-motion:reduce){.pg-ov,.pg-m{transition:none}.pg-d.err{animation:none}}
