/* ══════════════════════════════════════════════════════════════════════════
   apple.css — couche « façon Apple » des pages vitrine secondaires
   (FAQ, blog, documentation, API, pages légales, à propos).
   Chargée APRÈS esoter-dark.css : noir net, verre dépoli, boutons pilule,
   titres semi-gras, textes lisibles. Les pages activent la couche via
   <body class="ap ap-…">.
   ══════════════════════════════════════════════════════════════════════════ */
:root{--ap-glass:rgba(255,255,255,.04);--ap-glass-b:rgba(255,255,255,.085);--ap-ink:#f5f5f7;--ap-ink-2:#a1a1a6;--ap-ink-3:#c7c7cc;--ap-line:rgba(255,255,255,.08)}

/* Fond et navigation */
.ap::before{background:#050506!important}
.ap::after{display:none!important}
.ap nav{background:rgba(18,18,20,.72)!important;-webkit-backdrop-filter:saturate(180%) blur(20px)!important;backdrop-filter:saturate(180%) blur(20px)!important;border-bottom:1px solid rgba(255,255,255,.07)!important}
.ap .btn{border-radius:980px!important}
.ap .btn-outline{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.14)!important;color:var(--ap-ink)!important}
.ap .btn-outline:hover{background:rgba(255,255,255,.14)!important}

/* Menu mobile (certaines pages n'en avaient pas les styles) */
.ap .nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none}
.ap .nav-hamburger span{display:block;width:22px;height:1.5px;background:var(--ap-ink);border-radius:1px}
.ap .mobile-menu{display:none;position:fixed;top:60px;left:0;right:0;z-index:99;flex-direction:column;padding:12px 20px 20px!important;background:rgba(18,18,20,.92)!important;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(255,255,255,.07)!important}
.ap .mobile-menu.open{display:flex!important}
.ap .mobile-menu a{display:block;padding:12px 0;font-size:15px;color:var(--ap-ink)!important;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.07)!important}
.ap .mobile-menu-btns{display:flex;gap:10px;padding-top:14px}
.ap .mobile-menu-btns a{flex:1;text-align:center;border-bottom:0!important}
@media(max-width:1100px){.ap .nav-links,.ap .nav-cta,.ap #navCta{display:none!important}.ap .nav-hamburger{display:flex!important}}

/* Halos d'ambiance en haut de page */
.apple-orbs{position:absolute;top:0;left:0;right:0;height:720px;z-index:-1;overflow:hidden;pointer-events:none;filter:blur(80px) saturate(1.2);
  -webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.apple-orbs .orb{position:absolute;border-radius:50%;opacity:.55;mix-blend-mode:screen}
.apple-orbs .o1{width:44vw;height:44vw;max-width:600px;max-height:600px;left:14%;top:-18%;background:radial-gradient(circle,#16a34a,transparent 68%);animation:apDrift1 22s ease-in-out infinite alternate}
.apple-orbs .o2{width:38vw;height:38vw;max-width:520px;max-height:520px;right:12%;top:-10%;background:radial-gradient(circle,#0d9488,transparent 68%);animation:apDrift2 26s ease-in-out infinite alternate}
@keyframes apDrift1{to{transform:translate3d(6%,8%,0) scale(1.08)}}
@keyframes apDrift2{to{transform:translate3d(-8%,10%,0) scale(1.05)}}
@media(prefers-reduced-motion:reduce){.apple-orbs .orb{animation:none}}
@media(max-width:600px){.apple-orbs .o1{width:80vw;height:80vw;left:-10%}.apple-orbs .o2{width:70vw;height:70vw;right:-15%}}

/* Typographie */
.ap h1{font-weight:600!important;letter-spacing:-.04em!important;line-height:1.05!important;background:linear-gradient(180deg,#fff 35%,#b8bcc4);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}
.ap .eyebrow,.ap .section-tag,.ap .doc-section-badge{font-size:13px!important;font-weight:600!important;letter-spacing:.01em!important;text-transform:none!important;color:#86efac!important;margin-bottom:14px!important;font-family:inherit!important}
.ap .ap-lead{font-size:clamp(16px,1.6vw,19px)!important;color:var(--ap-ink-2)!important;line-height:1.55!important;font-weight:400!important}
.ap .ap-meta{font-family:inherit!important;font-size:13px!important;color:var(--ap-ink-2)!important}
.ap footer{background:transparent!important;border-top:1px solid rgba(255,255,255,.07)!important}
.ap footer hr{border-color:rgba(255,255,255,.07)!important}

/* ── Pages légales (CGU, confidentialité, SLA) ── */
.ap .legal-section{margin-bottom:40px}
.ap .legal-section h2{font-size:20px!important;font-weight:600!important;color:var(--ap-ink)!important;letter-spacing:-.02em!important;border-bottom:0!important;padding-bottom:0!important;margin-bottom:12px!important}
.ap .legal-section h3{color:var(--ap-ink)!important;font-weight:600!important}
.ap .legal-section p,.ap .legal-section li{color:var(--ap-ink-3)!important;font-size:15px!important;line-height:1.75!important}
.ap .legal-section a{color:#4ade80!important}
.ap .legal-section strong{color:var(--ap-ink)!important}
.ap .ap-callout{background:var(--ap-glass)!important;border:1px solid var(--ap-glass-b)!important;border-radius:18px!important;padding:18px 22px!important;color:var(--ap-ink-3)!important;font-size:14.5px!important;line-height:1.65!important}
.ap .ap-callout.ok{background:rgba(34,197,94,.07)!important;border-color:rgba(34,197,94,.25)!important}
.ap .ap-toc{background:var(--ap-glass);border:1px solid var(--ap-glass-b);border-radius:18px;padding:18px 22px;margin-bottom:40px}
.ap .ap-toc b{display:block;font-size:13px;color:var(--ap-ink);margin-bottom:10px}
.ap .ap-toc ol{margin:0;padding-left:18px;columns:2;column-gap:28px}
.ap .ap-toc li{font-size:13.5px;margin-bottom:6px;break-inside:avoid}
.ap .ap-toc a{color:var(--ap-ink-2);text-decoration:none}
.ap .ap-toc a:hover{color:var(--ap-ink)}
.ap .legal-section{scroll-margin-top:84px}
@media(max-width:600px){.ap .ap-toc ol{columns:1}}

/* ── FAQ ── */
.ap-faq #filterChips{display:inline-flex;flex-wrap:wrap;gap:2px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:980px;padding:4px}
.ap-faq .category-chip{margin:0!important;border-radius:980px!important;padding:8px 16px!important;font-size:13px!important;letter-spacing:0!important;text-transform:none!important;background:rgba(255,255,255,.14)!important;color:#fff!important;font-weight:600!important}
.ap-faq .category-chip.inactive{background:transparent!important;color:var(--ap-ink-2)!important;font-weight:500!important}
.ap-faq .category-chip.inactive:hover{color:var(--ap-ink)!important}
.ap-faq .faq-cat{font-size:13px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:var(--ap-ink-2)!important;margin:28px 0 10px!important}
.ap-faq details.faq-item{border:1px solid var(--ap-glass-b)!important;background:var(--ap-glass);border-radius:16px;margin-bottom:10px;padding:0 20px;transition:background .2s,border-color .2s}
.ap-faq details.faq-item:hover{border-color:rgba(255,255,255,.14)!important}
.ap-faq details.faq-item[open]{background:rgba(255,255,255,.06)}
.ap-faq details summary{color:var(--ap-ink)!important;font-weight:500!important;padding:18px 0!important}
.ap-faq details summary .ico{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.07);display:inline-flex;align-items:center;justify-content:center;font-size:17px!important;color:var(--ap-ink-3)!important}
.ap-faq details .faq-body{color:var(--ap-ink-3)!important;font-size:15px!important;max-width:none!important}
.ap-faq details .faq-body a{color:#4ade80!important}
.ap-faq details .faq-body code{background:rgba(255,255,255,.08)!important;color:var(--ap-ink)!important;border-radius:6px!important}
.ap-faq .ap-search{display:flex;align-items:center;gap:10px;background:var(--ap-glass);border:1px solid var(--ap-glass-b);border-radius:980px;padding:0 18px;margin:0 0 20px;max-width:520px}
.ap-faq .ap-search input{flex:1;background:transparent;border:0;outline:none;color:var(--ap-ink);font:inherit;font-size:15px;padding:13px 0}
.ap-faq .ap-search:focus-within{border-color:rgba(34,197,94,.45)}
.ap-faq .ap-noresult{display:none;text-align:center;color:var(--ap-ink-2);padding:32px 0;font-size:14px}
.ap .cta-box{background:var(--ap-glass)!important;border:1px solid var(--ap-glass-b)!important;border-radius:28px!important;position:relative;overflow:hidden;isolation:isolate}
.ap .cta-box::before{content:'';position:absolute;inset:-40% -10% auto;height:120%;z-index:-1;background:radial-gradient(closest-side,rgba(34,197,94,.2),transparent 70%);filter:blur(40px)}
.ap .cta-box h2{font-weight:600!important;font-size:28px!important;letter-spacing:-.03em!important;color:var(--ap-ink)!important}
.ap .cta-box p{color:var(--ap-ink-2)!important;font-size:15px!important}

/* ── Blog ── */
.ap-blog .blog-hero h1{font-size:clamp(38px,5.4vw,64px)!important}
.ap-blog .blog-hero p{font-size:17px!important;font-weight:400!important;color:#d1d1d6!important}
.ap-blog .filter-bar{display:inline-flex;gap:2px!important;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:980px;padding:4px}
.ap-blog .filter-btn{border:0!important;background:transparent!important;border-radius:980px!important;padding:8px 16px!important;font-size:13px!important;color:var(--ap-ink-2)!important}
.ap-blog .filter-btn.active{background:rgba(255,255,255,.14)!important;color:#fff!important;font-weight:600!important}
.ap-blog .post-count{font-family:inherit!important;font-size:13px!important;color:var(--ap-ink-2)!important}
.ap-blog .posts-grid{gap:22px!important}
.ap-blog .pc{background:var(--ap-glass)!important;border:1px solid var(--ap-glass-b)!important;border-radius:24px!important;box-shadow:none!important;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s!important}
.ap-blog .pc:hover{transform:translateY(-6px)!important;border-color:rgba(255,255,255,.16)!important;box-shadow:0 40px 80px -40px rgba(0,0,0,.95)!important}
.ap-blog .pc-img-wrap{height:190px!important;margin:8px 8px 0;border-radius:18px}
.ap-blog .pc-img{filter:none!important}
.ap-blog .pc-cat{border-radius:980px!important;font-size:11px!important;letter-spacing:0!important;text-transform:none!important;font-weight:600!important;padding:4px 11px!important}
.ap-blog .pc-body{padding:18px 20px 20px!important}
.ap-blog .pc-date{font-family:inherit!important;font-size:12.5px!important;color:var(--ap-ink-2)!important}
.ap-blog .pc-title{font-size:18px!important;font-weight:600!important;letter-spacing:-.02em!important;color:var(--ap-ink)!important}
.ap-blog .pc-excerpt{font-size:14px!important;color:var(--ap-ink-2)!important}
.ap-blog .pc-readmore{font-size:13px!important;color:#4ade80!important}
.ap-blog .article-title{font-weight:600!important;letter-spacing:-.04em!important;color:var(--ap-ink)!important}
.ap-blog .article-meta{font-family:inherit!important;color:var(--ap-ink-2)!important}
.ap-blog .article-body{color:var(--ap-ink-3)!important}
.ap-blog .article-body .article-h2{color:var(--ap-ink)!important}
.ap-blog .article-stat-num{font-family:inherit!important}

/* ── Documentation ── */
.ap-docs .docs-sidebar{border-right:1px solid var(--ap-line)!important}
.ap-docs .sidebar-section-label{color:var(--ap-ink-2)!important;font-size:12px!important;letter-spacing:0!important;text-transform:none!important}
.ap-docs .sidebar-link{color:var(--ap-ink-2)!important;border-radius:8px!important}
.ap-docs .sidebar-link:hover,.ap-docs .sidebar-link.active{background:rgba(255,255,255,.06)!important;color:var(--ap-ink)!important}
.ap-docs .doc-section h2{font-size:30px!important;font-weight:600!important;letter-spacing:-.03em!important;color:var(--ap-ink)!important}
.ap-docs .section-intro{color:var(--ap-ink-2)!important;font-size:15.5px!important}
.ap-docs .article{background:var(--ap-glass)!important;border:1px solid var(--ap-glass-b)!important;border-radius:16px!important}
.ap-docs .article:hover{border-color:rgba(255,255,255,.14)!important}
.ap-docs .article-title{color:var(--ap-ink)!important;font-weight:500!important;font-size:15px!important;display:flex;align-items:center;gap:10px}
.ap-docs .article-arrow{color:var(--ap-ink-2)!important}
.ap-docs .article-body{border-top-color:var(--ap-line)!important;color:var(--ap-ink-3)!important}
.ap-docs .article-body p,.ap-docs .article-body li{color:var(--ap-ink-3)!important}
.ap-docs .step-num{background:rgba(34,197,94,.16)!important;color:#4ade80!important}
.ap-docs .step-text{color:var(--ap-ink-3)!important;font-size:14px!important}
.ap-docs .step-text strong{color:var(--ap-ink)!important}
.ap-docs .cat-tag{border-radius:980px!important;letter-spacing:0!important;text-transform:none!important;font-size:11px!important;padding:2px 9px!important;margin:0!important}
.ap-docs .cat-start{background:rgba(59,130,246,.16)!important;color:#93c5fd!important}
.ap-docs .cat-server{background:rgba(34,197,94,.14)!important;color:#86efac!important}
.ap-docs .cat-files{background:rgba(234,179,8,.14)!important;color:#fde68a!important}
.ap-docs .cat-billing{background:rgba(168,85,247,.16)!important;color:#d8b4fe!important}
.ap-docs .cat-security{background:rgba(239,68,68,.15)!important;color:#fca5a5!important}
.ap-docs .cat-advanced{background:rgba(148,163,184,.16)!important;color:#cbd5e1!important}
.ap-docs .search-bar input{border-radius:980px!important;background:var(--ap-glass)!important;border:1px solid var(--ap-glass-b)!important;color:var(--ap-ink)!important}
.ap-docs .doc-divider{border-top-color:var(--ap-line)!important}
.ap-docs code{background:rgba(255,255,255,.08)!important;color:var(--ap-ink)!important;border-radius:6px!important}

/* ── API ── */
.ap-api .ap-side-link,.ap-api .sidebar-link{border-radius:8px!important}
.ap-api pre,.ap-api .code-block{border-radius:14px!important}

/* ── Ajustements par page ── */
.ap .ap-callout p{color:inherit!important;font-size:inherit!important;line-height:inherit!important;margin:0!important}
.ap .ap-callout.ok p{color:#bbf7d0!important}
.ap .sla-cards > div{background:var(--ap-glass)!important;border:1px solid var(--ap-glass-b)!important;border-radius:20px!important;padding:22px!important}
.ap .sla-cards > div:nth-child(2){background:rgba(34,197,94,.07)!important;border-color:rgba(34,197,94,.3)!important}
.ap .sla-cards .mono{font-family:inherit!important;font-weight:600!important;font-size:30px!important;color:var(--ap-ink)!important}
.ap .sla-cards > div > div:nth-child(2){text-transform:none!important;letter-spacing:0!important;font-size:13px!important;color:var(--ap-ink-2)!important}
.ap-about section{border-top:0!important;border-bottom:0!important;background:transparent!important}
.ap-about h2,.ap-about h3{color:var(--ap-ink)!important;font-weight:600!important}
.ap-about p{color:var(--ap-ink-3)}
.ap-legal table,.ap-about table{border-radius:14px;overflow:hidden}
.ap-docs .article-body .tip,.ap-docs .article-body .info,.ap-docs .article-body .warn{border-radius:12px!important;font-size:13.5px!important;padding:11px 15px!important}
.ap-docs .article-body .tip{background:rgba(34,197,94,.08)!important;border:1px solid rgba(34,197,94,.25)!important;color:#bbf7d0!important}
.ap-docs .article-body .info{background:rgba(59,130,246,.08)!important;border:1px solid rgba(59,130,246,.25)!important;color:#bfdbfe!important}
.ap-docs .article-body .warn{background:rgba(245,158,11,.08)!important;border:1px solid rgba(245,158,11,.28)!important;color:#fde68a!important}
.ap-docs .article.open .article-arrow,.ap-docs .article-head[aria-expanded=true] .article-arrow{transform:rotate(90deg)}
/* API — lisibilité */
.ap-api .docs-section h2{font-size:26px!important;font-weight:600!important;letter-spacing:-.03em!important;color:var(--ap-ink)!important;border-bottom:0!important;padding-bottom:0!important}
.ap-api .docs-section h3{color:var(--ap-ink)!important;font-weight:600!important;font-size:15px!important}
.ap-api .docs-section p,.ap-api .docs-section li{color:var(--ap-ink-3)!important;font-size:15px!important;line-height:1.7!important}
.ap-api .docs-section strong{color:var(--ap-ink)!important}
.ap-api .docs-nav a{color:var(--ap-ink-2)!important;border-radius:8px!important}
.ap-api .docs-nav a:hover,.ap-api .docs-nav a.active{background:rgba(255,255,255,.06)!important;color:var(--ap-ink)!important}
.ap-api .docs-nav-section{color:var(--ap-ink-2)!important;font-size:12px!important;letter-spacing:0!important;text-transform:none!important;font-weight:600!important}
.ap-api pre{background:#0b0c0f!important;border:1px solid var(--ap-line)!important;border-radius:14px!important;color:#d6dae1!important}
.ap-api code{background:rgba(255,255,255,.08)!important;color:var(--ap-ink)!important;border-radius:6px!important}
.ap-api pre code{background:none!important}
.ap-api .endpoint{color:var(--ap-ink-3)!important}
.ap-api .method{border-radius:6px!important}
.ap-api .m-get{background:rgba(59,130,246,.16)!important;color:#93c5fd!important}
.ap-api .m-post{background:rgba(34,197,94,.15)!important;color:#86efac!important}
.ap-api .m-patch{background:rgba(245,158,11,.15)!important;color:#fcd34d!important}
.ap-api .m-delete{background:rgba(239,68,68,.15)!important;color:#fca5a5!important}
.ap-api .m-put{background:rgba(168,85,247,.16)!important;color:#d8b4fe!important}
.ap-api .param-table{border:1px solid var(--ap-glass-b);border-radius:14px;overflow:hidden;border-collapse:separate;border-spacing:0}
.ap-api .param-table th{background:rgba(255,255,255,.04)!important;color:var(--ap-ink-2)!important;border-bottom:1px solid var(--ap-line)!important;text-transform:none!important;letter-spacing:0!important;font-size:12px!important}
.ap-api .param-table td{border-bottom:1px solid var(--ap-line)!important;color:var(--ap-ink-3)!important}
.ap-api .param-table td:first-child{color:var(--ap-ink)!important}
.ap-api .param-table tr:last-child td{border-bottom:0!important}
.ap-api .tag-required{background:rgba(239,68,68,.12)!important;color:#fca5a5!important;border-color:rgba(239,68,68,.3)!important;border-radius:980px!important}
.ap-api .tag-optional{background:rgba(255,255,255,.06)!important;color:var(--ap-ink-2)!important;border-color:var(--ap-line)!important;border-radius:980px!important}
.ap-api .badge-plan{border-radius:980px!important;background:rgba(34,197,94,.15)!important;color:#86efac!important;letter-spacing:0!important;text-transform:none!important}
.ap-api .docs-section div[style*="border-left"],.ap-api .docs-section div[style*="background:#fef"]{border-radius:14px!important}
