/* FinitoApp — styles partages des pages interieures (guides, articles, aide, ressources)
   Extrait des <style> inline dupliques (9 pages) pour beneficier du cache immutable 1 an.
   Charge APRES main.css : il en override html/body background et .bg-orb. */
/* Fond clair identique au site de base (reprend le degrade de .bg-wrap), car html/body sont fonces dans main.css */
html { background: #f8f9ff; }
body { background: #f8f9ff; }
.bg-orb { display: none; }  /* fond bleute + grille du bg-wrap, sans halos */
.legal-page { padding: 2.5rem 0 4rem; position: relative; z-index: 1; }
.legal-content { max-width: 760px; margin: 0 auto; }
.legal-content h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.9rem,4vw,2.6rem); color:#0f2a5e; line-height:1.15; margin:0 0 0.6rem; }
.legal-content h2 { font-family:'DM Sans',sans-serif; font-size:1.3rem; color:#0f2a5e; margin:2.2rem 0 0.8rem; padding-bottom:0.4rem; border-bottom:1px solid rgba(37,99,235,0.1); }
.legal-content h3 { font-family:'DM Sans',sans-serif; font-size:1.05rem; color:#1d4ed8; margin:1.6rem 0 0.5rem; }
.legal-content p, .legal-content li { font-size:0.96rem; color:#2d5494; line-height:1.75; }
.legal-content ul { padding-left:1.4rem; margin:0.5rem 0 1rem; }
.legal-content li { margin-bottom:0.35rem; }
.legal-content a { color:#1d4ed8; text-decoration:underline; }
.legal-content strong { color:#0f2a5e; }
.legal-content em { color:#3b62a0; }
.legal-content blockquote { margin:1.2rem 0; padding:0.9rem 1.2rem; background:linear-gradient(135deg,rgba(37,99,235,0.06),rgba(124,58,237,0.05)); border-left:4px solid #2563eb; border-radius:10px; font-size:0.95rem; color:#1a2f5a; }
.legal-content table { width:100%; border-collapse:collapse; margin:1.4rem 0; font-size:0.9rem; background:rgba(255,255,255,0.55); border:1px solid rgba(37,99,235,0.14); border-radius:12px; overflow:hidden; }
.legal-content thead th { background:rgba(37,99,235,0.07); color:#0f2a5e; font-family:'DM Sans',sans-serif; font-weight:700; font-size:0.8rem; text-align:left; }
.legal-content th, .legal-content td { padding:0.6rem 0.85rem; border-bottom:1px solid rgba(37,99,235,0.1); text-align:left; vertical-align:top; }
.legal-content tbody tr:last-child td { border-bottom:none; }
.legal-content td strong, .legal-content th[scope="row"] { color:#0f2a5e; }
.guide-intro { font-size:1.08rem; color:#2d5494; line-height:1.65; margin:0 0 1.8rem; max-width:640px; }
.bubble-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; margin:0 0 2.2rem; }
.bubble { background:linear-gradient(140deg, rgba(255,255,255,0.6), rgba(219,234,254,0.32)); backdrop-filter:blur(22px) saturate(1.6); -webkit-backdrop-filter:blur(22px) saturate(1.6); border:0.5px solid rgba(255,255,255,0.7); border-radius:20px; padding:1.5rem 1.6rem; box-shadow:0 2px 0 rgba(255,255,255,0.78) inset, 0 10px 30px rgba(37,99,235,0.08); }
.bubble h3 { font-family:'DM Sans',sans-serif; font-size:1.05rem; font-weight:700; color:#0f2a5e; margin:0 0 0.4rem; border:none; padding:0; }
.bubble p { font-size:0.94rem; color:#2d5494; line-height:1.6; margin:0; }
@media(max-width:600px){ .bubble-grid{ grid-template-columns:1fr; } }
.guide-table-wrap { margin:0 0 2.2rem; }
.guide-table-wrap h2 { font-size:1.1rem; }
.guide-highlight { display:flex; gap:0.8rem; align-items:flex-start; background:linear-gradient(135deg,rgba(37,99,235,0.08),rgba(124,58,237,0.06)); border:1px solid rgba(37,99,235,0.2); border-left:4px solid #2563eb; border-radius:14px; padding:1rem 1.2rem; margin:0 0 2.2rem; }
.guide-highlight .emo { font-size:1.4rem; line-height:1; flex-shrink:0; }
.guide-highlight p { margin:0; font-size:0.95rem; color:#1a2f5a; font-weight:500; line-height:1.5; }
.guide-chapter { margin:2.8rem 0 0; }
.chapter-label { font-family:'DM Sans',sans-serif; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.12em; color:#2563eb; margin:0 0 0.4rem; }
.legal-content .chapter-title { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:clamp(1.75rem,3.6vw,2.6rem); color:#0f2a5e; line-height:1.18; letter-spacing:-0.01em; margin:0 0 0.5rem; border:none; padding:0; }
.legal-content .chapter-title em { color:#2563eb; font-style:italic; }
.legal-content .chapter-intro { font-size:1.02rem; color:#2d5494; line-height:1.65; margin:0 0 1.3rem; max-width:660px; }
.law-block { background:rgba(15,42,94,0.04); border:1px solid rgba(37,99,235,0.16); border-left:4px solid #2563eb; border-radius:14px; padding:1.1rem 1.4rem; margin:1.4rem 0; }
.law-ref { font-family:'DM Sans',sans-serif; font-size:0.74rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:#1d4ed8; margin:0 0 0.55rem; }
.law-text { font-size:0.92rem; color:#1a2f5a; line-height:1.7; font-style:italic; white-space:pre-line; margin:0; }
.law-src { font-size:0.72rem; color:#94a3b8; margin:0.5rem 0 0; font-style:normal; }
.guide-cta { text-align:center; background:linear-gradient(140deg, rgba(219,234,254,0.95) 0%, rgba(191,219,254,0.9) 50%, rgba(147,197,253,0.85) 100%); backdrop-filter:blur(24px) saturate(1.7); -webkit-backdrop-filter:blur(24px) saturate(1.7); border:1.5px solid rgba(96,165,250,0.5); border-radius:24px; padding:2.4rem 1.7rem; margin:2.8rem 0 1rem; box-shadow:0 1px 0 rgba(255,255,255,0.9) inset, 0 16px 44px rgba(37,99,235,0.22); }
.guide-cta h2 { color:#0f2a5e; border:none; padding:0; margin:0 0 0.5rem; font-family:'Cormorant Garamond',serif; font-weight:600; font-size:clamp(1.5rem,3vw,2.1rem); line-height:1.2; }
.guide-cta p { color:#2d5494; margin:0 auto 1.4rem; font-size:0.95rem; max-width:470px; line-height:1.6; }
.legal-content .guide-cta-btn { position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; background:linear-gradient(155deg,#1e3a8a 0%,#1d4ed8 30%,#2563eb 60%,#60a5fa 82%,#93c5fd 100%); color:#fff; text-decoration:none; padding:0.95rem 2.1rem; border-radius:16px; border:1px solid rgba(255,255,255,0.3); font-family:'DM Sans',sans-serif; font-weight:600; font-size:0.98rem; box-shadow:0 8px 32px rgba(37,99,235,0.22), 0 2px 8px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,0.45); backdrop-filter:blur(20px) saturate(200%); -webkit-backdrop-filter:blur(20px) saturate(200%); text-shadow:0 1px 2px rgba(0,0,0,0.15); transition:box-shadow .2s ease, transform .2s ease; }
.guide-cta-btn::before { content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(160deg, rgba(255,255,255,0.38) 0%, rgba(255,255,255,0.15) 40%, rgba(255,255,255,0.05) 60%, rgba(255,255,255,0.18) 100%); }
.guide-cta-btn:hover { box-shadow:0 12px 40px rgba(37,99,235,0.3), 0 3px 10px rgba(0,0,0,0.07), inset 0 1px 0 rgba(255,255,255,0.5); transform:translateY(-1px); }
.legal-content .guide-cta-btn, .legal-content .guide-cta-btn span { color:#fff !important; }
.guide-cta-btn span { position:relative; }
.res-crumb { margin-bottom:1.5rem; }
.res-crumb a { display:inline-flex; align-items:center; gap:0.25rem; font-family:'Cormorant Garamond',serif; font-weight:600; font-size:clamp(1.2rem,2.4vw,1.5rem); letter-spacing:-0.01em; color:#2563eb; text-decoration:none; padding:0.45rem 1.2rem; border-radius:14px; background:linear-gradient(135deg, rgba(255,255,255,0.72), rgba(219,234,254,0.45)); border:1px solid rgba(255,255,255,0.7); box-shadow:0 2px 12px rgba(37,99,235,0.09), inset 0 1px 0 rgba(255,255,255,0.75); backdrop-filter:blur(14px) saturate(1.5); -webkit-backdrop-filter:blur(14px) saturate(1.5); transition:box-shadow .2s ease, transform .2s ease, color .2s ease; }
.res-crumb a:hover { color:#1d4ed8; box-shadow:0 5px 18px rgba(37,99,235,0.16), inset 0 1px 0 rgba(255,255,255,0.85); transform:translateY(-1px); }
.res-meta { font-size:0.8rem; color:#94a3b8; margin:0 0 1.6rem; }
.res-takeaways { background:rgba(37,99,235,0.05); border:1px solid rgba(37,99,235,0.15); border-radius:14px; padding:1.1rem 1.3rem; margin:0 0 2rem; }
.res-takeaways h2 { border:none; margin:0 0 0.5rem; padding:0; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.08em; color:#1d4ed8; }
.res-takeaways ul { margin:0; }
.res-faq { margin-top:2.5rem; }
.res-faq .q { font-family:'DM Sans',sans-serif; font-weight:600; color:#0f2a5e; margin:1.1rem 0 0.3rem; }
.res-faq .a { font-size:0.92rem; color:#2d5494; line-height:1.7; }
.res-prevnext { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:2.4rem; }
.res-prevnext a { display:inline-flex; align-items:center; gap:0.3rem; font-family:'Cormorant Garamond',serif; font-weight:600; font-size:clamp(1.1rem,2.2vw,1.4rem); letter-spacing:-0.01em; color:#2563eb; text-decoration:none; padding:0.5rem 1.25rem; border-radius:14px; background:linear-gradient(135deg, rgba(255,255,255,0.72), rgba(219,234,254,0.45)); border:1px solid rgba(255,255,255,0.7); box-shadow:0 2px 12px rgba(37,99,235,0.09), inset 0 1px 0 rgba(255,255,255,0.75); backdrop-filter:blur(14px) saturate(1.5); -webkit-backdrop-filter:blur(14px) saturate(1.5); transition:box-shadow .2s ease, transform .2s ease, color .2s ease; }
.res-prevnext a:hover { color:#1d4ed8; box-shadow:0 5px 18px rgba(37,99,235,0.16); transform:translateY(-1px); }
.modeles-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(340px,1fr)); gap:1.6rem; margin:2.4rem 0 1rem; }
.legal-content > .chapter-title { margin-top:5rem; }
.doc-card { display:flex; flex-direction:column; background:linear-gradient(140deg, rgba(255,255,255,0.6), rgba(219,234,254,0.32)); backdrop-filter:blur(22px) saturate(1.6); -webkit-backdrop-filter:blur(22px) saturate(1.6); border:0.5px solid rgba(255,255,255,0.7); border-radius:20px; overflow:hidden; box-shadow:0 2px 0 rgba(255,255,255,0.78) inset, 0 12px 34px rgba(37,99,235,0.09); }
.doc-body { padding:1.2rem 1.3rem 1.4rem; display:flex; flex-direction:column; flex:1; }
.doc-format { font-family:'DM Sans',sans-serif; font-size:0.66rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:#2563eb; margin-bottom:0.35rem; }
.doc-body h3 { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:1.4rem; color:#0f2a5e; margin:0 0 0.35rem; line-height:1.2; border:none; padding:0; }
.doc-body p { font-size:0.9rem; color:#2d5494; line-height:1.55; margin:0 0 1rem; flex:1; }
.doc-dl { position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; gap:0.4rem; background:linear-gradient(155deg,#1e3a8a 0%,#1d4ed8 30%,#2563eb 60%,#60a5fa 82%,#93c5fd 100%); color:#fff; text-decoration:none; padding:0.7rem 1.2rem; border-radius:13px; border:1px solid rgba(255,255,255,0.3); font-family:'DM Sans',sans-serif; font-weight:600; font-size:0.9rem; box-shadow:0 8px 26px rgba(37,99,235,0.22), inset 0 1px 0 rgba(255,255,255,0.45); text-shadow:0 1px 2px rgba(0,0,0,0.15); transition:box-shadow .2s ease, transform .2s ease; }
.doc-dl::before { content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(160deg, rgba(255,255,255,0.38) 0%, rgba(255,255,255,0.15) 40%, rgba(255,255,255,0.05) 60%, rgba(255,255,255,0.18) 100%); }
.doc-dl span { position:relative; }
.doc-dl:hover { box-shadow:0 12px 32px rgba(37,99,235,0.3), inset 0 1px 0 rgba(255,255,255,0.5); transform:translateY(-1px); }
.legal-content .doc-dl, .legal-content .doc-dl span { color:#fff !important; text-decoration:none !important; }
.doc-featured { display:flex; flex-direction:column; margin:2.8rem 0 2.2rem; position:relative; background:linear-gradient(140deg, rgba(219,234,254,0.92) 0%, rgba(199,222,255,0.78) 55%, rgba(174,204,255,0.68) 100%); border:1.5px solid rgba(96,165,250,0.55); box-shadow:0 1px 0 rgba(255,255,255,0.9) inset, 0 18px 52px rgba(37,99,235,0.24); }
.doc-featured .doc-body { padding:1.7rem 1.8rem 1.8rem; }
.doc-featured .doc-body h3 { font-size:1.75rem; }
.doc-featured .doc-body p { flex:0 0 auto; max-width:560px; }
.doc-featured .doc-dl { align-self:flex-start; font-size:0.95rem; padding:0.8rem 1.6rem; }
.doc-free-badge { position:absolute; top:16px; right:16px; background:linear-gradient(135deg,#16a34a,#22c55e); color:#fff; font-family:'DM Sans',sans-serif; font-size:0.66rem; font-weight:800; text-transform:uppercase; letter-spacing:0.1em; padding:5px 12px; border-radius:100px; box-shadow:0 4px 14px rgba(22,163,74,0.35); }
.pv-pages { display:grid; grid-template-columns:repeat(3,1fr); gap:0.9rem; margin-top:1.5rem; }
.pv-pages a { display:block; }
.pv-pages img { width:100%; height:auto; display:block; border-radius:10px; border:1px solid rgba(37,99,235,0.2); box-shadow:0 8px 22px rgba(15,42,94,0.1); background:#fff; transition:transform .2s ease, box-shadow .2s ease; }
.pv-pages a:hover img { transform:translateY(-3px) scale(1.02); box-shadow:0 14px 30px rgba(37,99,235,0.22); }
.pv-pages.two { grid-template-columns:repeat(2,1fr); max-width:640px; }
@media (max-width: 640px) {
  .doc-featured .doc-dl { align-self:stretch; }
  .pv-pages { gap:0.55rem; }
  .legal-content > .chapter-title { margin-top:3rem; }
  .legal-content .aide-faq { margin-top:3rem; }
  .doc-featured { margin-top:2rem; }
}
.modeles-note { font-size:0.85rem; color:#94a3b8; font-style:italic; text-align:center; margin:1.8rem auto 0; max-width:560px; }
.res-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.2rem; margin-top:2rem; }
.res-card { display:block; text-decoration:none; padding:1.4rem 1.5rem; background:rgba(255,255,255,0.6); border:1px solid rgba(37,99,235,0.14); border-radius:18px; box-shadow:0 6px 24px rgba(37,99,235,0.05); transition:transform .2s ease, box-shadow .2s ease; }
.res-card:hover { transform:translateY(-2px); box-shadow:0 12px 32px rgba(37,99,235,0.12); }
.res-card h2 { font-family:'Cormorant Garamond',serif; font-size:1.3rem; color:#0f2a5e; margin:0 0 0.5rem; border:none; padding:0; }
.res-card p { font-size:0.9rem; color:#2d5494; line-height:1.6; margin:0; }
.res-card .more { display:inline-block; margin-top:0.7rem; color:#1d4ed8; font-weight:600; font-size:0.85rem; }
.aide-faq { margin-top:5rem; }
.aide-faq > p { font-size:0.95rem; }
.aide-theme { font-family:'DM Sans',sans-serif; font-size:1.12rem; font-weight:700; color:#0f2a5e; margin:2rem 0 0.8rem; }
.aide-faq .faq-item { margin-bottom:0.85rem; }
.aide-faq .faq-q { font-family:'DM Sans',sans-serif; font-weight:700; font-size:0.95rem; }
.aide-faq .faq-item.open .faq-a { max-height:6000px; }
.aide-faq .faq-item:not(.open) .faq-a { content-visibility:hidden; }
.aide-plat { display:block; font-family:'DM Sans',sans-serif; color:#0f2a5e; margin:0.9rem 0 0.25rem; font-size:0.86rem; }
.aide-faq .faq-a ol { padding-left:1.3rem; margin:0.15rem 0 0.5rem; }
.aide-faq .faq-a li { font-size:0.87rem; color:#2d5494; line-height:1.55; margin-bottom:0.28rem; }
.aide-note { background:rgba(37,99,235,0.05); border-left:3px solid #93c5fd; border-radius:8px; padding:0.6rem 0.9rem; font-size:0.83rem; color:#3b62a0; margin-top:0.7rem; line-height:1.55; }
.aide-badge { display:inline-block; font-family:'DM Sans',sans-serif; font-size:0.6rem; font-weight:800; letter-spacing:0.08em; padding:2px 8px; border-radius:100px; vertical-align:middle; margin-left:0.45rem; }
.aide-badge.pro { background:rgba(37,99,235,0.1); color:#1d4ed8; border:1px solid rgba(37,99,235,0.25); }
.aide-badge.max { background:rgba(124,58,237,0.1); color:#6d28d9; border:1px solid rgba(124,58,237,0.25); }
.aide-badge.lite { background:rgba(22,163,74,0.08); color:#16a34a; border:1px solid rgba(22,163,74,0.22); }
