/* Africa Europe Dating — base : jetons de design, mise en page, composants partagés */
:root{
	--c-ink:#17202a; --c-ink-soft:#44505c; --c-muted:#6b7580;
	--c-paper:#faf8f4; --c-surface:#fff; --c-stone:#ece6dc; --c-line:#e4ded3;
	--c-accent:#a85a3a; --c-accent-dark:#8c4527; --c-accent-soft:#f4e6dd;
	--c-green:#1f4d45; --c-green-soft:#e1eeea; --c-gold:#b08d4f; --c-gold-soft:#f5edda;
	--font-body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
	--font-display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
	--radius:16px; --radius-sm:10px;
	--shadow:0 1px 2px rgba(23,32,42,.05),0 10px 30px rgba(23,32,42,.07);
	--shadow-lg:0 2px 4px rgba(23,32,42,.06),0 24px 60px rgba(23,32,42,.12);
	--max:1180px; --gutter:clamp(1rem,4vw,2rem);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--c-paper);color:var(--c-ink);font-family:var(--font-body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.15;letter-spacing:-.01em;margin:0 0 .5em}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;border-radius:4px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.aed-skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--c-ink);color:#fff;padding:.75rem 1rem}
.aed-skip:focus{left:0}
.aed-container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.aed-icon{flex:none;vertical-align:middle}

/* Boutons et liens */
.aed-btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.25rem;border-radius:999px;border:1.5px solid transparent;font-weight:600;font-size:.95rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}
.aed-btn:active{transform:translateY(1px)}
.aed-btn--primary{background:var(--c-accent);color:#fff}
.aed-btn--primary:hover{background:var(--c-accent-dark)}
.aed-btn--dark{background:var(--c-ink);color:#fff}
.aed-btn--dark:hover{background:#0c1218}
.aed-btn--accent{background:var(--c-accent);color:#fff}
.aed-btn--accent:hover{background:var(--c-accent-dark)}
.aed-btn--ghost{background:transparent;border-color:var(--c-ink);color:var(--c-ink)}
.aed-btn--ghost:hover{background:var(--c-ink);color:#fff}
.aed-btn--block{display:flex;width:100%}
.aed-btn--lg{padding:.9rem 1.6rem;font-size:1rem}
.aed-btn--sm{padding:.5rem 1rem;font-size:.875rem}
.aed-btn[disabled]{opacity:.6;cursor:default}
.aed-link{text-decoration:none;font-weight:600;color:var(--c-ink)}
.aed-link:hover{color:var(--c-accent)}
.aed-link--arrow{display:inline-flex;align-items:center;gap:.4rem}

/* En-tête */
.aed-header{position:sticky;top:0;z-index:50;background:rgba(250,248,244,.94);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--c-line)}
.aed-header__inner{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:1rem}
.aed-brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--c-ink)}
.aed-brand__name{font-family:var(--font-display);font-size:1.25rem;font-weight:600;letter-spacing:-.01em}
.aed-brand .custom-logo{max-height:44px;width:auto}
.aed-burger{display:inline-flex;background:none;border:0;padding:.5rem;margin-right:-.5rem;cursor:pointer;color:var(--c-ink)}
.aed-burger__close{display:none}
.aed-burger[aria-expanded="true"] .aed-burger__open{display:none}
.aed-burger[aria-expanded="true"] .aed-burger__close{display:inline-flex}
.aed-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--c-paper);border-bottom:1px solid var(--c-line);padding:1rem var(--gutter) 1.5rem;box-shadow:var(--shadow)}
.aed-nav.is-open{display:block}
.aed-nav__list{list-style:none;display:grid;gap:.25rem;margin-bottom:1rem}
.aed-nav__list a{display:block;padding:.7rem 0;text-decoration:none;font-weight:500;border-bottom:1px solid var(--c-line)}
.aed-nav__list a[aria-current="page"]{color:var(--c-accent)}
.aed-nav__actions{display:grid;gap:.75rem}
.aed-nav__actions .aed-link{text-align:center;padding:.5rem}
@media (min-width:1080px){
	.aed-burger{display:none}
	.aed-nav{display:flex;position:static;align-items:center;gap:2rem;padding:0;border:0;background:none;box-shadow:none}
	.aed-nav{gap:1.25rem}
	.aed-nav__list{display:flex;gap:1.1rem;margin:0}
	.aed-nav__list a{padding:.4rem 0;border:0;font-size:.9rem;position:relative;white-space:nowrap}
	.aed-nav__list a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--c-accent)}
	.aed-nav__actions{display:flex;align-items:center;gap:1rem;white-space:nowrap}
}
@media (min-width:1100px){
	.aed-nav{gap:2rem}
	.aed-nav__list{gap:1.75rem}
	.aed-nav__list a{font-size:.95rem}
}

/* Sections */
.aed-main{min-height:60vh}
.aed-section{padding:clamp(3rem,7vw,5.5rem) 0}
.aed-section--tint{background:var(--c-stone)}
.aed-section--dark{background:var(--c-ink);color:#f3efe8}
.aed-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}
.aed-section__head--center{display:block;text-align:center;max-width:680px;margin-inline:auto;margin-bottom:2.5rem}
.aed-section__title{font-size:clamp(1.7rem,3.4vw,2.4rem);margin:0}
.aed-section__lead{color:var(--c-ink-soft);margin:.75rem 0 0}
.aed-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--c-accent);margin:0 0 .75rem}
.aed-eyebrow--light{color:#e2b9a4}

/* Formulaires */
.aed-field{display:grid;gap:.35rem;font-size:.82rem;font-weight:600;color:var(--c-ink-soft);min-width:0}
.aed-field select,.aed-field input,.aed-field textarea{width:100%;padding:.65rem .8rem;border:1.5px solid var(--c-line);border-radius:var(--radius-sm);background:#fff;color:var(--c-ink);font-weight:400;font-size:.95rem}
.aed-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2344505c' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:2.2rem}
.aed-field select:hover,.aed-field input:hover,.aed-field textarea:hover{border-color:#cfc7b9}
.aed-field select:focus,.aed-field input:focus,.aed-field textarea:focus{border-color:var(--c-accent);outline:none;box-shadow:0 0 0 3px var(--c-accent-soft)}
.aed-field textarea{resize:vertical;min-height:7rem}
.aed-check{display:flex;align-items:center;gap:.6rem;font-size:.92rem;font-weight:500;align-self:end;padding-bottom:.6rem}
.aed-check input{width:1.1rem;height:1.1rem;accent-color:var(--c-accent)}
.aed-hint{font-size:.85rem;color:var(--c-muted);margin:.5rem 0 0}

/* Grille et cartes de profils */
.aed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
@media (min-width:720px){.aed-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}}
@media (min-width:1100px){.aed-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.aed-grid--featured{grid-template-columns:repeat(3,minmax(0,1fr))}}
.aed-pcard{background:var(--c-surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.aed-pcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.aed-pcard__media{position:relative;aspect-ratio:4/5;background:var(--c-stone);overflow:hidden}
.aed-pcard__link{display:block;height:100%}
.aed-pcard__media img{width:100%;height:100%;object-fit:cover}
.aed-pcard__body{padding:.9rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.25rem;flex:1}
.aed-pcard__name{font-size:1.2rem;margin:0}
.aed-pcard__name a{text-decoration:none}
.aed-pcard__age{font-weight:400;color:var(--c-ink-soft)}
.aed-pcard__loc{display:flex;align-items:center;gap:.3rem;font-size:.88rem;color:var(--c-ink-soft);margin:0}
.aed-pcard__headline{font-size:.9rem;color:var(--c-ink-soft);margin:.15rem 0 .6rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.aed-pcard .aed-btn{padding:.55rem .9rem;font-size:.88rem}
@media (max-width:719px){.aed-pcard__name{font-size:1.05rem}.aed-pcard__headline{display:none}.aed-pcard__body{padding:.7rem .75rem .85rem}}
.aed-badge{position:absolute;left:.7rem;top:.7rem;display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;background:rgba(255,255,255,.95);color:var(--c-green);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.aed-fav{position:absolute;right:.7rem;top:.7rem;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.95);color:var(--c-ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.14);transition:background .15s,color .15s}
.aed-fav:hover{background:#fff;color:var(--c-accent)}
.aed-fav[aria-pressed="true"]{background:var(--c-accent);color:#fff}
.aed-fav[aria-pressed="true"] svg{fill:currentColor}
.aed-ph{height:100%;display:grid;place-items:center;font-family:var(--font-display);font-size:4rem;color:rgba(255,255,255,.9)}
.aed-ph--1{background:linear-gradient(135deg,#c98a68,#8c4527)}
.aed-ph--2{background:linear-gradient(135deg,#6e9a8f,#1f4d45)}
.aed-ph--3{background:linear-gradient(135deg,#d3b27a,#8f6d34)}
.aed-ph--4{background:linear-gradient(135deg,#8d97a3,#3a4655)}

/* Formules (accueil + page Abonnements) */
.aed-plans{display:grid;gap:1.25rem;grid-template-columns:1fr}
@media (min-width:900px){.aed-plans{grid-template-columns:repeat(3,1fr);align-items:stretch}}
.aed-plan{background:var(--c-surface);border:1.5px solid var(--c-line);border-radius:var(--radius);padding:1.75rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem;position:relative}
.aed-plan header{min-height:9rem}
.aed-plan__name{font-size:1.5rem;margin:0 0 .25rem;letter-spacing:.02em}
.aed-plan__desc{color:var(--c-ink-soft);font-size:.92rem;margin:0 0 1rem}
.aed-plan__price{margin:0;display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}
.aed-plan__amount{font-family:var(--font-display);font-size:2.2rem;line-height:1}
.aed-plan__amount--soft{font-size:1.3rem;color:var(--c-ink-soft)}
.aed-plan__cur{color:var(--c-muted);font-size:.9rem}
.aed-plan__features{list-style:none;display:grid;gap:.6rem;flex:1;font-size:.93rem}
.aed-plan__features li{display:flex;gap:.6rem;align-items:flex-start}
.aed-plan__features .is-on svg{color:var(--c-green)}
.aed-plan__features .is-off{color:var(--c-muted)}
.aed-plan--vip{border-color:var(--c-accent)}
.aed-plan--vip_caviar{background:linear-gradient(180deg,#1b242e,#121a22);color:#f3efe8;border-color:var(--c-gold)}
.aed-plan--vip_caviar .aed-plan__desc,.aed-plan--vip_caviar .aed-plan__cur,.aed-plan--vip_caviar .aed-plan__amount--soft{color:#c9c2b4}
.aed-plan--vip_caviar .aed-plan__name{color:var(--c-gold)}
.aed-plan--vip_caviar .aed-plan__features .is-on svg{color:var(--c-gold)}
.aed-plan--vip_caviar .aed-plan__features .is-off{color:#8c8f93}
.aed-plan--vip_caviar .aed-btn--ghost{border-color:var(--c-gold);color:var(--c-gold)}
.aed-plan--vip_caviar .aed-btn--ghost:hover{background:var(--c-gold);color:#17202a}
.aed-plan.is-highlight{box-shadow:0 0 0 3px var(--c-accent-soft),var(--shadow-lg)}
.aed-plan.is-current{border-color:var(--c-green)}
.aed-plan__current{margin:0;text-align:center;font-weight:700;color:var(--c-green)}

/* Fenêtre « fonctionnalité réservée » + bloc verrouillé */
.aed-lock{display:flex;gap:.9rem;align-items:flex-start;padding:1rem 1.1rem;background:var(--c-gold-soft);border:1px solid #e6d6b0;border-radius:var(--radius-sm)}
.aed-lock__icon{color:var(--c-gold);flex:none;margin-top:.15rem}
.aed-lock__title{font-weight:700;margin:0 0 .25rem}
.aed-lock__msg{margin:0 0 .75rem;font-size:.95rem}
.aed-dialog{border:0;border-radius:var(--radius);padding:0;max-width:min(520px,calc(100vw - 2rem));width:100%;box-shadow:var(--shadow-lg);color:var(--c-ink)}
.aed-dialog::backdrop{background:rgba(23,32,42,.55);backdrop-filter:blur(2px)}
.aed-dialog__form,.aed-dialog__body{padding:1.5rem}
.aed-dialog h2{font-size:1.35rem}
.aed-dialog__actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem;flex-wrap:wrap}
.aed-dialog__error{color:#8a1f1f;background:#fbe9e9;border-radius:var(--radius-sm);padding:.6rem .8rem;font-size:.9rem;margin:.75rem 0 0}
.aed-dialog--lock .aed-dialog__body{display:grid;gap:1rem;text-align:center;justify-items:center}
.aed-dialog--lock .aed-lock__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--c-gold-soft)}
.aed-dialog--lock p{margin:0;font-size:1.05rem}
.aed-toast{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%);background:var(--c-ink);color:#fff;padding:.75rem 1.25rem;border-radius:999px;font-size:.92rem;z-index:200;box-shadow:var(--shadow-lg);max-width:calc(100vw - 2rem)}

/* Pagination */
.aed-pagination ul{list-style:none;display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}
.aed-pagination a{display:grid;place-items:center;min-width:2.5rem;height:2.5rem;padding:0 .6rem;border-radius:999px;border:1.5px solid var(--c-line);text-decoration:none;font-weight:600;background:#fff}
.aed-pagination a:hover{border-color:var(--c-ink)}
.aed-pagination a.is-current{background:var(--c-ink);border-color:var(--c-ink);color:#fff}
.aed-pagination__gap{display:grid;place-items:center;color:var(--c-muted)}

/* Pied de page */
.aed-footer{background:var(--c-ink);color:#cfc9bd;margin-top:0;padding-top:3.5rem}
.aed-footer__grid{display:grid;gap:2rem;padding-bottom:2.5rem}
@media (min-width:760px){.aed-footer__grid{grid-template-columns:1.6fr 1fr 1fr}}
.aed-footer__name{font-family:var(--font-display);font-size:1.4rem;color:#fff;margin:0 0 .5rem}
.aed-footer__text{max-width:34ch;font-size:.92rem;margin:0}
.aed-footer__title{color:#fff;font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .9rem}
.aed-footer ul{list-style:none;display:grid;gap:.5rem;font-size:.92rem}
.aed-footer a{text-decoration:none}
.aed-footer a:hover{color:#fff;text-decoration:underline}
.aed-footer__bar{border-top:1px solid rgba(255,255,255,.12);padding-block:1.25rem;font-size:.82rem;color:#9aa3ad}
.aed-footer__bar p{margin:0}
