/*! Codeine Oracle — Célinergie Edition : application installable (PWA). */
.co-pwa,.co-pwa-net,.co-pwa-banner,.co-pwa-dlg{--k:#231B19;--o:#FF6A29;--y:#FFCE32;--c:#FFF8F0;--r:#F48BC4;font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--k);line-height:1.5;box-sizing:border-box}
.co-pwa *,.co-pwa-banner *,.co-pwa-dlg *{box-sizing:border-box}

/* Boutons */
.co-pwa-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:46px;padding:.5em 1.3em;border:3px solid var(--k);border-radius:999px;background:var(--c);color:var(--k);font:600 1rem/1.2 "Fredoka",system-ui,sans-serif;text-decoration:none;cursor:pointer;box-shadow:3px 4px 0 var(--k);transition:transform .16s cubic-bezier(.2,.75,.25,1),box-shadow .16s}
.co-pwa-btn--main{background:var(--y)}
.co-pwa-btn--ghost{background:transparent;box-shadow:none;border-width:2px}
.co-pwa-btn:hover{transform:translate(-1px,-2px);box-shadow:4px 6px 0 var(--k)}
.co-pwa-btn:active{transform:translate(2px,3px);box-shadow:1px 1px 0 var(--k)}
.co-pwa-btn--ghost:hover{box-shadow:none;background:rgba(35,27,25,.06)}
.co-pwa-btn:focus-visible,.co-pwa__link:focus-visible{outline:3px solid var(--k);outline-offset:3px}
.co-pwa-btn[disabled]{opacity:.55;cursor:default}

/* Encart « Emportez l'Oracle avec vous » */
.co-pwa{max-width:720px;margin:2.6em auto 0;padding:22px 24px;border:3px solid var(--k);border-radius:24px;background:#fff;box-shadow:5px 6px 0 var(--k);text-align:center;position:relative}
.co-pwa[hidden]{display:none}
.co-pwa__t{margin:0 0 .3em;font:600 clamp(22px,3.4vw,28px)/1.15 "Fredoka",system-ui,sans-serif;color:var(--k)}
.co-pwa__p{margin:0 auto 1.1em;max-width:520px;font-size:.98rem}
.co-pwa__row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.co-pwa__row [hidden]{display:none}
.co-pwa__bar{display:block;width:min(420px,100%);height:14px;margin:16px auto 0;border:2px solid var(--k);border-radius:999px;background:var(--c);overflow:hidden;appearance:none;-webkit-appearance:none}
.co-pwa__bar::-webkit-progress-bar{background:var(--c)}
.co-pwa__bar::-webkit-progress-value{background:var(--o);border-radius:999px;transition:width .2s}
.co-pwa__bar::-moz-progress-bar{background:var(--o);border-radius:999px}
.co-pwa__bar[hidden]{display:none}
.co-pwa__st{margin:.7em 0 0;min-height:1.4em;font-size:.88rem;opacity:.85}
.co-pwa__link{margin:.2em 0 0;padding:4px 6px;background:none;border:0;color:inherit;font:inherit;font-size:.82rem;text-decoration:underline;cursor:pointer;opacity:.7}
.co-pwa__link[hidden]{display:none}

/* Bandeau de connexion (haut de l'écran) */
.co-pwa-net{position:fixed;left:50%;top:calc(10px + env(safe-area-inset-top,0px));z-index:100000;max-width:min(92vw,520px);padding:9px 18px;border:3px solid var(--k);border-radius:999px;background:var(--y);box-shadow:3px 4px 0 var(--k);font-size:.9rem;font-weight:600;text-align:center;transform:translate(-50%,-160%);opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.2,.75,.25,1),opacity .25s}
.co-pwa-net.is-on{transform:translate(-50%,0);opacity:1}
.co-pwa-net.is-ok{background:#B9D98F}

/* Invitation à installer / mise à jour (bas de l'écran) */
.co-pwa-banner{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:100000;display:flex;align-items:center;flex-wrap:wrap;gap:12px 14px;width:min(94vw,560px);padding:14px 16px;border:3px solid var(--k);border-radius:22px;background:var(--c);box-shadow:4px 6px 0 var(--k);transform:translateX(-50%);animation:co-pwa-up .45s cubic-bezier(.2,.75,.25,1) both}
.co-pwa-banner__ico{width:56px;height:56px;border-radius:14px;border:2px solid var(--k);flex:none}
.co-pwa-banner__tx{flex:1 1 180px;display:flex;flex-direction:column;font-size:.92rem;line-height:1.35}
.co-pwa-banner__tx strong{font:600 1.08rem "Fredoka",system-ui,sans-serif}
.co-pwa-banner .co-pwa-btn{min-height:42px;padding:.35em 1.1em;font-size:.95rem}
.co-pwa-banner--update{background:var(--y)}
.co-pwa-banner--update .co-pwa-btn--main{background:#fff}
@keyframes co-pwa-up{from{transform:translate(-50%,40px);opacity:0}to{transform:translate(-50%,0);opacity:1}}

/* Aide à l'installation manuelle */
.co-pwa-dlg{position:fixed;inset:0;z-index:100001;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(35,27,25,.55)}
.co-pwa-dlg__box{width:min(100%,460px);max-height:92vh;overflow:auto;padding:24px 24px 22px;border:3px solid var(--k);border-radius:24px;background:var(--c);box-shadow:6px 8px 0 var(--k)}
.co-pwa-dlg__t{margin:0 0 .6em;font:600 1.5rem/1.15 "Fredoka",system-ui,sans-serif}
.co-pwa-dlg__steps{margin:0 0 1em;padding-left:1.3em}
.co-pwa-dlg__steps li{margin:0 0 .55em}
.co-pwa-dlg__ico{display:flex;align-items:center;gap:6px;margin:0 0 .8em;font-size:.9rem}
.co-pwa-dlg__ico svg{flex:none;padding:5px;border:2px solid var(--k);border-radius:10px;background:#fff;width:34px;height:34px}
.co-pwa-dlg__note{margin:0 0 1em;font-size:.85rem;opacity:.8}

/* Application installée : plein écran, zones sûres, pas de sélection parasite */
html.co-standalone body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}
html.co-standalone .co-app{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
html.co-standalone .co-app .co-btn,html.co-standalone .co-app .co-mode{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
html.co-standalone .co-hero{padding-top:calc(8px + env(safe-area-inset-top,0px))}

@media (max-width:480px){.co-pwa{margin-inline:12px;padding:18px 16px}.co-pwa-banner .co-pwa-btn{flex:1 1 40%}}
@media (prefers-reduced-motion:reduce){.co-pwa-banner{animation:none}.co-pwa-net,.co-pwa-btn{transition:none}}
@media print{.co-pwa,.co-pwa-net,.co-pwa-banner,.co-pwa-dlg{display:none!important}}
