/* Aparté Émotions – shortcodes [aparte_apropos] et [aparte_services]. Hérite des polices du thème. */
.app-page{--app-ink:#16313A;--app-muted:#5E7279;--app-soft:#EEF4F5;--app-peach:#FFF1E7;--app-line:#E2E8EA;
  max-width:1040px;margin:32px auto;padding:0 16px;color:var(--app-ink);line-height:1.6;box-sizing:border-box;container-type:inline-size}
.app-page *{box-sizing:border-box}
.app-page h2{color:var(--app-brand);font-size:clamp(1.6rem,3.4vw,2.3rem);line-height:1.15;margin:0 0 12px}
.app-page h3{color:var(--app-brand);font-size:1.25rem;line-height:1.25;margin:0 0 10px}
.app-page h4{margin:0 0 8px;font-size:1.05rem}
.app-page section{margin:0 0 36px}
.app-lead{font-size:1.15rem;margin:0 0 14px}
.app-page em{font-style:italic}
.app-ask{background:var(--app-peach);border-radius:20px;padding:22px 24px}
.app-q{font-size:1.2rem;font-weight:600;color:#6b3410;margin:0 0 10px}
.app-qs{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
.app-qs li{position:relative;padding:12px 14px 12px 44px;background:var(--app-soft);border-radius:14px}
.app-qs li::before{content:"?";position:absolute;left:12px;top:11px;width:22px;height:22px;border-radius:50%;background:var(--app-brand);color:#fff;font-weight:700;font-size:.85rem;display:grid;place-items:center;line-height:1}
.app-two,.app-grid{display:grid;grid-template-columns:1fr;gap:14px}
@container (min-width:640px){.app-two{grid-template-columns:1fr 1fr}.app-grid{grid-template-columns:repeat(2,1fr)}}
@container (min-width:900px){.app-grid{grid-template-columns:repeat(3,1fr)}}
.app-card{background:#fff;border:1px solid var(--app-line);border-radius:18px;padding:18px 20px}
.app-card p{margin:0}
.app-card ul{margin:0;padding-left:1.2em}
.app-card li{margin:0 0 6px}
.app-yes{border-top:5px solid var(--app-brand)}
.app-no{border-top:5px solid var(--app-accent)}
.app-steps{counter-reset:s;list-style:none;padding:0;margin:0 0 16px;display:grid;gap:12px}
.app-steps li{counter-increment:s;position:relative;padding:14px 16px 14px 58px;background:#fff;border:1px solid var(--app-line);border-radius:16px}
.app-steps li::before{content:counter(s);position:absolute;left:14px;top:13px;width:30px;height:30px;border-radius:50%;background:var(--app-accent);color:#3A1F0C;font-weight:800;display:grid;place-items:center}
.app-tip{border-left:4px solid var(--app-brand);background:var(--app-soft);border-radius:0 16px 16px 0;padding:14px 18px}
.app-tip p{margin:0}
.app-beta{display:flex;gap:12px;align-items:flex-start;background:var(--app-peach);border-radius:16px;padding:14px 18px;margin:0 0 28px}
.app-beta p{margin:0}
.app-dot{flex:none;width:10px;height:10px;margin-top:8px;border-radius:50%;background:var(--app-accent);box-shadow:0 0 0 4px rgba(253,167,110,.3)}
/* Portrait Haute Sensibilité : noir et blanc, trait fin, en écho au logo */
.app-phs{--phs-ink:#141414;--phs-paper:#FAF8F5;--phs-line:#E6E0D8;background:var(--phs-paper);border:1px solid var(--phs-line);border-radius:22px;padding:26px 24px;display:grid;grid-template-columns:1fr;gap:18px;align-items:center;color:var(--phs-ink)}
.app-phs h2,.app-phs h3{color:var(--phs-ink);font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-weight:600;letter-spacing:-.005em}
.app-phs a:not(.app-btn){color:var(--phs-ink);text-decoration-thickness:1px;text-underline-offset:3px}
.app-phs__logo{margin:0 auto;width:min(170px,52%);position:relative;padding-bottom:18px}
.app-phs__logo::after{content:"";position:absolute;left:8%;right:8%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--phs-ink) 20%,var(--phs-ink) 44%,transparent 44%,transparent 56%,var(--phs-ink) 56%,var(--phs-ink) 80%,transparent)}
.app-phs__logo::before{content:"";position:absolute;left:50%;bottom:-3px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--phs-ink)}
.app-phs__logo img{display:block;width:100%;height:auto;transition:opacity .2s}
.app-phs__logo a:hover img{opacity:.8}
.app-phs__body>:last-child{margin-bottom:0}
.app-phs--services{display:block}
.app-phs--services .app-phs__intro{display:grid;grid-template-columns:1fr;gap:18px;align-items:center;margin-bottom:20px}
.app-phs .app-card{background:#fff;border-color:var(--phs-line);border-radius:14px}
.app-phs .app-card h3{font-size:1.1rem}
.app-phs .app-note{color:#5b5b5b}
@container (min-width:560px){
  .app-phs,.app-phs--services .app-phs__intro{grid-template-columns:170px 1fr;gap:28px}
  .app-phs--services{display:block}
  .app-phs__logo{width:100%;padding:0 26px 0 0;border-right:1px solid var(--phs-line)}
  .app-phs__logo::after,.app-phs__logo::before{display:none}
}
.app-phs .app-btn--ink{background:#141414;border-color:#141414;color:#fff!important}
.app-phs .app-btn--ghost{color:#141414!important;border-color:#141414}
/* Mention « Proposé par » */
.phs-byline{display:inline-flex;align-items:center;gap:8px;color:inherit!important;text-decoration:none!important;font-size:.92rem;line-height:1.25}
.phs-byline img{width:26px;height:auto;flex:none;opacity:.9}
.phs-byline strong{font-weight:600;border-bottom:1px solid currentColor}
/* Demande d'invitation */
.apinv{--app-brand:#014A5D;--app-accent:#FDA76E;max-width:1040px;margin:32px auto;padding:0 16px;box-sizing:border-box;container-type:inline-size;color:#16313A;line-height:1.55}
.apinv__grid{display:grid;grid-template-columns:1fr;gap:18px}
.app-page .apinv{padding:0;margin:0 0 36px}
.apinv *{box-sizing:border-box}
.apinv__head{background:var(--app-brand);color:#fff;border-radius:20px;padding:22px 24px}
.apinv__head h2{color:#fff;margin:6px 0 8px;font-size:clamp(1.35rem,2.6vw,1.8rem);line-height:1.2}
.apinv__head p{margin:0}
.apinv__badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border-radius:99px;padding:4px 12px;font-size:.82rem;font-weight:700}
.apinv__badge span{width:8px;height:8px;border-radius:50%;background:var(--app-accent)}
.apinv__form{background:#fff;border:1px solid #E2E8EA;border-radius:20px;padding:20px 22px}
.apinv__form>label:not(.apinv__chk){display:block;font-weight:600;margin:10px 0 6px}
.apinv__form input[type=email],.apinv__form textarea{width:100%;border:1.5px solid #E2DED8;border-radius:12px;padding:12px 14px;font:inherit;color:inherit;background:#fff}
.apinv__form input:focus,.apinv__form textarea:focus{outline:none;border-color:var(--app-brand)}
.apinv__opt{font-weight:400;color:#5E7279;font-size:.88em}
.apinv__chk{display:flex;gap:10px;align-items:flex-start;margin:12px 0 0;font-size:.95rem;cursor:pointer}
.apinv__chk input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--app-brand)}
.apinv__chk--beta{background:#FFF1E7;border-radius:12px;padding:10px 12px}
.apinv__form .app-btn{margin-top:16px;width:100%;display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:14px;background:var(--app-brand);color:#fff;border:0;font:inherit;font-weight:700;cursor:pointer}
.apinv__form .app-btn:disabled{opacity:.6;cursor:default}
.apinv__msg{margin:12px 0 0;padding:10px 12px;border-radius:12px;font-size:.93rem}
.apinv__msg.is-ok{background:#EAF5F0;color:#1f6b52}.apinv__msg.is-err{background:#FBECE8;color:#9a3422}
.apinv__small{margin:12px 0 0;font-size:.82rem;color:#5E7279}.apinv__small a{color:#B4412E;font-weight:700}
.apinv__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.apinv a:focus-visible,.apinv button:focus-visible,.apinv input:focus-visible{outline:3px solid var(--app-accent);outline-offset:2px}
@container (min-width:760px){.apinv__grid{grid-template-columns:5fr 7fr;align-items:start}}
.app-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0}
.app-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;border-radius:14px;background:var(--app-brand);color:#fff!important;font-weight:700;text-decoration:none!important;border:2px solid var(--app-brand);cursor:pointer;font:inherit;font-weight:700}
.app-btn--ghost{background:transparent;color:var(--app-brand)!important}
.app-btn:hover{filter:brightness(1.08)}
.app-faq details,.app-list,.app-sources{border:1px solid var(--app-line);border-radius:14px;background:#fff;margin:0 0 10px;padding:0 16px}
.app-faq summary,.app-list summary,.app-sources summary{cursor:pointer;font-weight:600;padding:14px 0;color:var(--app-brand)}
.app-faq details p{margin:0 0 14px}
.app-list ul,.app-sources ul{margin:0 0 14px;padding-left:1.2em}
.app-list li{margin:0 0 8px}
.app-urg{border:2px solid #B4412E;border-radius:16px;padding:14px 18px;margin:0 0 20px}
.app-urg p{margin:0}
.app-urg a{color:#B4412E;font-weight:700}
.app-figures{list-style:none;padding:0;margin:18px 0;display:flex;flex-wrap:wrap;gap:10px}
.app-figures li{background:var(--app-soft);border-radius:14px;padding:10px 16px;font-weight:600}
.app-figures b{font-size:1.5rem;color:var(--app-brand);margin-right:4px}
.app-note,.app-small{color:var(--app-muted);font-size:.92rem}
.app-page a:focus-visible,.app-page button:focus-visible,.app-page summary:focus-visible{outline:3px solid var(--app-accent);outline-offset:3px}
@media (prefers-reduced-motion:no-preference){.app-btn{transition:filter .15s}}

/* Page Contact */
.apcf{display:grid;grid-template-columns:1fr;gap:18px;margin:0 0 36px}
.apcf__head h2{margin-bottom:8px}
.apcf__urg{border-left:4px solid #B4412E;background:#FBF1EE;border-radius:0 12px 12px 0;padding:10px 14px;font-size:.92rem}
.apcf__urg a{color:#B4412E;font-weight:700}
.apcf__form{background:#fff;border:1px solid var(--app-line);border-radius:20px;padding:20px 22px}
.apcf__form>label:not(.apinv__chk),.apcf__row label{display:block;font-weight:600;margin:12px 0 6px}
.apcf__form select,.apcf__form input:not([type=checkbox]),.apcf__form textarea{width:100%;border:1.5px solid #E2DED8;border-radius:12px;padding:12px 14px;font:inherit;color:inherit;background:#fff}
.apcf__form select:focus,.apcf__form input:focus,.apcf__form textarea:focus{outline:none;border-color:var(--app-brand)}
.apcf__help{margin:8px 0 0;background:var(--app-soft);border-radius:12px;padding:10px 12px;font-size:.92rem}
.apcf__row{display:grid;grid-template-columns:1fr;gap:0 14px}
.apcf__req{font-weight:400;color:#5E7279;font-size:.88em}
.apcf__small{margin:6px 0 0;font-size:.82rem;color:#5E7279}
.apcf__form .app-btn{margin-top:16px;width:100%}
.apcf__form .app-btn:disabled{opacity:.6}
@container (min-width:720px){.apcf{grid-template-columns:4fr 7fr;align-items:start}.apcf__row{grid-template-columns:1fr 1fr}}

/* Soutien (Stripe) */
.apdon .app-lead{max-width:44em}
.apdon__grid{display:grid;grid-template-columns:1fr;gap:16px;margin:18px 0}
@container (min-width:720px){.apdon__grid{grid-template-columns:7fr 5fr;align-items:stretch}}
.apdon__card{background:#fff;border:1px solid var(--app-line);border-radius:20px;padding:20px 22px;display:flex;flex-direction:column}
.apdon__card h3{margin:0 0 6px}
.apdon__card p{margin:0 0 12px}
.apdon__card--month{background:linear-gradient(160deg,#F2F7F8,#fff 60%);border-color:#D5E4E7}
.apdon__kicker{display:inline-block;align-self:flex-start;background:var(--app-peach);color:#7a3d12;border-radius:99px;padding:3px 10px;font-size:.8rem;font-weight:700;margin:0 0 10px!important}
.apdon__tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;margin:4px 0 12px}
.apdon__tier{display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px 8px;border-radius:16px;border:1.5px solid #CFE0E3;background:#fff;color:var(--app-brand);font:inherit;cursor:pointer;transition:transform .15s,box-shadow .15s}
.apdon__tier b{font-size:1.5rem;line-height:1.1}
.apdon__tier span{font-size:.82rem;color:var(--app-muted)}
.apdon__tier:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(1,74,93,.12)}
.apdon__tier.is-featured{border-color:var(--app-brand);box-shadow:inset 0 0 0 1px var(--app-brand)}
.apdon__tier:disabled{opacity:.6;cursor:default;transform:none}
.apdon__quick{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.apdon__quick button{border:1.5px solid #E2DED8;background:#fff;border-radius:99px;padding:8px 14px;font:inherit;font-weight:600;color:var(--app-ink);cursor:pointer}
.apdon__quick button[aria-pressed=true]{border-color:var(--app-brand);background:var(--app-soft);color:var(--app-brand)}
.apdon__card label{font-weight:600;margin:4px 0 6px}
.apdon__amount{display:flex;align-items:center;border:1.5px solid #E2DED8;border-radius:12px;overflow:hidden;background:#fff}
.apdon__amount:focus-within{border-color:var(--app-brand)}
.apdon__amount input{flex:1;border:0;padding:12px 14px;font:inherit;font-size:1.2rem;font-weight:700;min-width:0;outline:none}
.apdon__amount span{padding:0 14px;font-weight:700;color:var(--app-muted)}
.apdon__card .app-btn{margin-top:14px;width:100%}
.apdon__card .app-btn:disabled{opacity:.6}
.apdon__small{font-size:.84rem;color:var(--app-muted);margin:auto 0 0!important;padding-top:10px}
.apdon__msg{margin:0 0 16px}
.apdon__thanks{background:#EAF5F0;color:#1f4f40;border-radius:16px;padding:14px 18px;margin:14px 0}
.apdon__thanks--soft{background:var(--app-soft);color:var(--app-ink)}
.apdon__thanks p{margin:0 0 8px}.apdon__thanks p:last-child{margin:0}
.apdon__big{font-size:1.3rem;font-weight:700}
.apdon__info{border-top:1px solid var(--app-line);padding-top:16px}
.apdon__facts{margin:12px 0 0;padding-left:1.2em;color:var(--app-muted);font-size:.9rem}
.apdon__facts li{margin:0 0 4px}
.apdon__facts:empty{display:none}
.app-page [hidden],.apinv [hidden]{display:none!important}

/* Pages légales */
.aplegal{max-width:820px}
.aplegal h3{margin-top:28px;scroll-margin-top:80px}
.aplegal ul{padding-left:1.2em}.aplegal li{margin:0 0 6px}
.aplegal__toc{background:var(--app-soft);border-radius:16px;padding:14px 18px;margin:0 0 20px}
.aplegal__toc ol{margin:0;padding-left:1.3em;columns:2 260px;column-gap:24px}
.aplegal__toc a{color:var(--app-brand)}
.aplegal__scroll{overflow-x:auto;margin:0 0 16px}
.aplegal__table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:640px}
.aplegal__table th,.aplegal__table td{border:1px solid var(--app-line);padding:8px 10px;text-align:left;vertical-align:top}
.aplegal__table th{background:var(--app-soft)}
.aplegal__date{margin-top:28px;color:var(--app-muted);font-size:.88rem}
.aplegal__warn{background:#FFF4D6;border-left:4px solid #E9B949;padding:10px 14px;border-radius:0 12px 12px 0}
.aplegal__nav ul{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.88rem}
.aplegal__nav a{color:var(--app-muted)}
.aplegal .app-lead{font-size:1.05rem}
