/* AstroAlma 9.80 : pages « À propos » et « Notice » (palette « ciel de nuit » du site) */
body.aa-page-site #page, body.aa-page-site .site-content, body.aa-page-site .ast-container, body.aa-page-site .ast-article-single, body.aa-page-site .entry-content,
body.aa-page-site .ast-separate-container .ast-article-single { background: transparent !important; color: #EDE9FF; }
body.aa-page-site .site-main { max-width: 1040px; margin: 0 auto; padding: 18px 18px 56px; box-sizing: border-box; }
body.aa-page-site .entry-header { display: none; }
body.aa-page-site .ast-article-single { padding: 0 !important; }

.aa-ps { color: #EDE9FF; font-family: Manrope, "Segoe UI", system-ui, sans-serif; font-size: 1.02rem; line-height: 1.7; }
.aa-ps *, .aa-ps *::before, .aa-ps *::after { box-sizing: border-box; }
.aa-ps ul, .aa-ps ol { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0; }
.aa-ps h1, .aa-ps h2, .aa-ps h3 { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 500; line-height: 1.15; margin: 0; text-transform: none; letter-spacing: 0; }
.aa-ps h1 { font-size: clamp(2.1rem, 5.4vw, 3.3rem); color: #F6DFA8; }
.aa-ps h2 { font-size: clamp(1.6rem, 3.8vw, 2.15rem); color: #F6DFA8; margin-bottom: .7rem; }
.aa-ps h3 { font-size: 1.32rem; color: #EDE9FF; margin-bottom: .35rem; }
.aa-ps p { margin: 0 0 .9rem; color: #D9D4F5; }
.aa-ps strong { color: #fff; }
.aa-ps a { color: #E8C27A; text-decoration: underline; text-underline-offset: 3px; }
.aa-ps a:hover { color: #F6DFA8; }
.aa-ps-kicker { margin: 0 0 .45rem !important; color: #E8C27A !important; font: 800 .74rem/1.2 Manrope, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.aa-ps-lead { font-size: 1.12rem; color: #D9D4F5 !important; max-width: 40em; margin-top: 1rem !important; }

/* Boutons */
.aa-ps-cta { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1.3rem 0 0 !important; }
.aa-ps a.aa-ps-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 1.4rem; border-radius: 999px; background: #E8C27A; color: #1A1530; font-weight: 800; font-size: .95rem; text-decoration: none; border: 1px solid #E8C27A; transition: transform .15s, background .15s; }
.aa-ps a.aa-ps-btn:hover { background: #F6DFA8; color: #1A1530; transform: translateY(-1px); }
.aa-ps a.aa-ps-btn--ligne { background: transparent; color: #E8C27A; border-color: rgba(232, 194, 122, .55); }
.aa-ps a.aa-ps-btn--ligne:hover { background: rgba(232, 194, 122, .1); color: #F6DFA8; }

/* En-tête */
.aa-ps-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 2.2rem; align-items: center; padding: 2.4rem 0 1.6rem; }
.aa-ps-hero--simple { grid-template-columns: 1fr; max-width: 820px; }
.aa-ps-hero-media { margin: 0; border-radius: 26px; overflow: hidden; border: 1px solid rgba(232, 194, 122, .28); box-shadow: 0 30px 80px -30px rgba(120, 110, 220, .55); background: #0B0B22; aspect-ratio: 16 / 9; }
.aa-ps-hero-media video { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.aa-ps-sommaire { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.4rem; }
.aa-ps .aa-ps-sommaire a { padding: .45rem .9rem; border-radius: 999px; border: 1px solid #2E3A72; background: rgba(27, 34, 80, .7); color: #D9D4F5; font-size: .88rem; font-weight: 700; text-decoration: none; }
.aa-ps .aa-ps-sommaire a:hover { border-color: #E8C27A; color: #E8C27A; }

/* Sections */
.aa-ps-section { margin: 0 0 1.4rem; padding: 1.8rem 1.9rem; border-radius: 26px; background: rgba(27, 34, 80, .78); border: 1px solid #2E3A72; scroll-margin-top: 90px; }
.aa-ps-section > :last-child { margin-bottom: 0 !important; }
.aa-ps-encadre { background: radial-gradient(120% 90% at 100% 0%, rgba(169, 155, 255, .14), transparent 60%), rgba(27, 34, 80, .78); border-color: rgba(232, 194, 122, .35); }

/* Cartes */
.aa-ps-cartes { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.aa-ps-cartes--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aa-ps-cartes li { margin: 0; padding: 1.2rem 1.25rem; border-radius: 20px; background: #0F0F29; border: 1px solid #2E3A72; }
.aa-ps-cartes p { font-size: .95rem; margin: 0; }
.aa-ps-ico { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-bottom: .7rem; border-radius: 50%; background: rgba(232, 194, 122, .1); color: #E8C27A; flex: 0 0 auto; }

/* Méthode : étapes numérotées */
.aa-ps-etapes { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; counter-reset: aaps; }
.aa-ps-etapes li { counter-increment: aaps; margin: 0; padding: 1.2rem 1.25rem; border-radius: 20px; background: #0F0F29; border: 1px solid #2E3A72; }
.aa-ps-etapes li::before { content: "0" counter(aaps); display: block; margin-bottom: .4rem; color: #E8C27A; font: 600 1.6rem/1 "Cormorant Garamond", Georgia, serif; }
.aa-ps-etapes p { font-size: .95rem; margin: 0; }

/* Notice : pas à pas */
.aa-ps-pas { list-style: none; margin: 1.1rem 0 0; padding: 0; display: grid; gap: .7rem; position: relative; }
.aa-ps-pas li { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 1rem; align-items: start; margin: 0; padding: 1.1rem 1.2rem; border-radius: 20px; background: #0F0F29; border: 1px solid #2E3A72; }
.aa-ps-pas-n { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: #E8C27A; color: #1A1530; font: 800 1.05rem/1 Manrope, sans-serif; }
.aa-ps-pas p { margin: 0; font-size: .96rem; }
.aa-ps-pas-ico { color: rgba(232, 194, 122, .55); padding-top: .2rem; }
.aa-ps-astuce { margin: 1rem 0 0 !important; padding: .8rem 1rem; border-left: 3px solid #E8C27A; border-radius: 0 12px 12px 0; background: rgba(232, 194, 122, .07); font-size: .94rem; }
.aa-ps-puces { margin: .4rem 0 0; padding: 0; list-style: none; display: grid; gap: .45rem; }
.aa-ps-puces li { position: relative; margin: 0; padding-left: 1.4rem; color: #D9D4F5; }
.aa-ps-puces li::before { content: "✦"; position: absolute; left: 0; top: 0; color: #E8C27A; font-size: .8rem; line-height: 1.9; }
.aa-ps-liste-ico { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .8rem; }
.aa-ps-liste-ico li { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 1rem; margin: 0; }
.aa-ps-liste-ico .aa-ps-ico { margin: 0; }
.aa-ps-liste-ico p { margin: 0; font-size: .96rem; }

/* FAQ */
.aa-ps-q { border-top: 1px solid #2E3A72; }
.aa-ps-q:last-child { border-bottom: 1px solid #2E3A72; }
.aa-ps-q summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; font-weight: 700; color: #EDE9FF; }
.aa-ps-q summary::-webkit-details-marker { display: none; }
.aa-ps-q summary::after { content: "+"; color: #E8C27A; font-size: 1.4rem; line-height: 1; transition: transform .2s; }
.aa-ps-q[open] summary::after { transform: rotate(45deg); }
.aa-ps-q p { margin: 0 0 1rem !important; font-size: .97rem; }

/* Fin de page */
.aa-ps-fin { margin: 1.8rem 0 0; padding: 2.2rem 1.6rem; border-radius: 26px; text-align: center; border: 1px solid rgba(232, 194, 122, .4);
    background: radial-gradient(80% 120% at 50% 0%, rgba(232, 194, 122, .14), transparent 70%), #1B2250; }
.aa-ps-fin-titre { font: 500 clamp(1.6rem, 4vw, 2.1rem)/1.2 "Cormorant Garamond", Georgia, serif; color: #F6DFA8 !important; margin: 0 !important; }
.aa-ps-fin .aa-ps-cta { justify-content: center; }

@media (max-width: 860px) {
    .aa-ps-hero { grid-template-columns: 1fr; gap: 1.4rem; padding-top: 1.4rem; }
    .aa-ps-etapes, .aa-ps-cartes--3 { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    body.aa-page-site .site-main { padding: 8px 14px 40px; }
    .aa-ps { font-size: .98rem; }
    .aa-ps-section { padding: 1.3rem 1.1rem; border-radius: 22px; }
    .aa-ps-cartes { grid-template-columns: 1fr; }
    .aa-ps-pas li { grid-template-columns: 40px minmax(0, 1fr); padding: 1rem; gap: .8rem; }
    .aa-ps-pas-n { width: 40px; height: 40px; font-size: .98rem; }
    .aa-ps-pas-ico { display: none; }
    .aa-ps-cta { flex-direction: column; }
    .aa-ps a.aa-ps-btn { width: 100%; }
}

/* ═══ 9.81 : Contact, Mentions légales, Confidentialité, CGU-CGV (pages Elementor) ═══ */
body.aa-page-texte #page, body.aa-page-texte .site-content, body.aa-page-texte .ast-container { background: transparent !important; }
body.aa-page-texte [data-elementor-type="wp-page"] > .e-con, body.aa-page-texte [data-elementor-type="wp-page"] > .elementor-section { background: transparent !important; }
body.aa-page-texte [data-elementor-type="wp-page"] .e-con::before, body.aa-page-texte [data-elementor-type="wp-page"] .elementor-background-overlay { display: none !important; }
body.aa-page-texte [data-elementor-type="wp-page"] > .e-con > .e-con-inner, body.aa-page-texte [data-elementor-type="wp-page"] > .e-con { max-width: 860px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 16px !important; padding-right: 16px !important; box-sizing: border-box; }
body.aa-page-texte .elementor-widget-spacer .elementor-spacer-inner { height: 24px !important; }
body.aa-page-texte h1, body.aa-page-texte .elementor-heading-title {
    font-family: "Cormorant Garamond", Georgia, serif !important; font-weight: 500 !important; color: #F6DFA8 !important; text-transform: none !important; letter-spacing: 0 !important;
    font-size: clamp(2rem, 5.4vw, 3rem) !important; line-height: 1.15 !important; margin: 0 0 .8rem !important; text-align: left;
}
/* Textes légaux : une carte lisible */
body.aa-page-texte-legal .elementor-widget-text-editor { padding: 1.8rem 1.9rem; border-radius: 26px; background: rgba(27, 34, 80, .82); border: 1px solid #2E3A72; color: #D9D4F5 !important; font-family: Manrope, "Segoe UI", sans-serif; font-size: 1rem; line-height: 1.75; }
body.aa-page-texte-legal .elementor-widget-text-editor p, body.aa-page-texte-legal .elementor-widget-text-editor li { color: #D9D4F5 !important; margin: 0 0 .8rem; }
body.aa-page-texte-legal .elementor-widget-text-editor p > strong:only-child, body.aa-page-texte-legal .elementor-widget-text-editor h2, body.aa-page-texte-legal .elementor-widget-text-editor h3 {
    display: block; margin: 1.6rem 0 .2rem; padding-top: 1.1rem; border-top: 1px solid #2E3A72;
    font: 600 1.35rem/1.25 "Cormorant Garamond", Georgia, serif !important; color: #E8C27A !important; letter-spacing: .01em;
}
body.aa-page-texte-legal .elementor-widget-text-editor h1 + p, body.aa-page-texte-legal .elementor-widget-text-editor h1 + p + p > strong:only-child { border-top: 0; padding-top: 0; }
body.aa-page-texte-legal .elementor-widget-text-editor strong { color: #fff; }
body.aa-page-texte-legal .elementor-widget-text-editor a { color: #E8C27A !important; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
body.aa-page-texte-legal .elementor-widget-text-editor ul { padding-left: 1.2rem; }
/* Contact : formulaire en carte */
body.aa-page-texte-contact .elementor-widget-heading::after { content: "Une question, une idée, un souci avec ton compte ou tes crédits ? Écris-nous : nous répondons à chaque message, en général sous 48 heures."; display: block; margin: 0 0 1.2rem; color: #D9D4F5; font: 400 1.02rem/1.6 Manrope, sans-serif; }
body.aa-page-texte-contact .wpcf7-form { padding: 1.5rem 1.5rem 1.2rem; border-radius: 24px; background: rgba(27, 34, 80, .85); border: 1px solid #2E3A72; }
body.aa-page-texte-contact .wpcf7-form p { margin: 0 0 .9rem; }
body.aa-page-texte-contact .wpcf7-form label { display: block; color: #EDE9FF !important; font: 700 .88rem/1.4 Manrope, sans-serif; }
body.aa-page-texte-contact .wpcf7-form .wpcf7-form-control-wrap { display: block; margin-top: .35rem; }
body.aa-page-texte-contact .wpcf7-form input[type="text"], body.aa-page-texte-contact .wpcf7-form input[type="email"], body.aa-page-texte-contact .wpcf7-form input[type="tel"], body.aa-page-texte-contact .wpcf7-form textarea {
    width: 100% !important; box-sizing: border-box; min-height: 46px; padding: .65rem .9rem !important; border-radius: 12px !important;
    background: #0F0F29 !important; border: 1px solid #2E3A72 !important; color: #EDE9FF !important; font: 400 1rem/1.5 Manrope, sans-serif !important; box-shadow: none !important;
}
body.aa-page-texte-contact .wpcf7-form textarea { min-height: 160px; height: 180px; resize: vertical; }
body.aa-page-texte-contact .wpcf7-form input:focus, body.aa-page-texte-contact .wpcf7-form textarea:focus { border-color: #E8C27A !important; outline: 0; box-shadow: 0 0 0 3px rgba(232, 194, 122, .18) !important; }
body.aa-page-texte-contact .wpcf7-form .wpcf7-submit { min-height: 48px; padding: 0 1.6rem !important; border: 0 !important; border-radius: 999px !important; background: #E8C27A !important; color: #1A1530 !important; font: 800 .95rem/1 Manrope, sans-serif !important; cursor: pointer; margin-top: .4rem; }
body.aa-page-texte-contact .wpcf7-form .wpcf7-submit:hover { background: #F6DFA8 !important; }
body.aa-page-texte-contact .wpcf7-not-valid-tip { color: #FF9A8A; font-size: .82rem; margin-top: .3rem; }
body.aa-page-texte-contact .wpcf7 form .wpcf7-response-output { margin: 1rem 0 0; padding: .7rem 1rem; border-radius: 12px; color: #EDE9FF; }
body.aa-page-texte-contact .h-captcha, body.aa-page-texte-contact .wpcf7-form iframe { max-width: 100%; }
@media (max-width: 600px) {
    body.aa-page-texte-legal .elementor-widget-text-editor { padding: 1.2rem 1.05rem; border-radius: 20px; font-size: .96rem; }
    body.aa-page-texte-contact .wpcf7-form { padding: 1.1rem 1rem 1rem; border-radius: 20px; }
    body.aa-page-texte-contact .wpcf7-form .wpcf7-submit { width: 100%; }
}
