/* =========================================================================
   AJE International — Base (reset léger, typo, layout, boutons partagés)
   ========================================================================= */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--aje-ivoire); color: var(--aje-encre); font-family: var(--aje-body); line-height: 1.65; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { font-family: var(--aje-display); font-weight: 500; line-height: 1.05; letter-spacing: -.02em; margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }

.aje-container { max-width: var(--aje-maxw); margin-inline: auto; padding-inline: 40px; }
@media (max-width: 600px) { .aje-container { padding-inline: 22px; } }

/* Boutons partagés (réutilisés par les widgets) */
.aje-btn { display: inline-flex; align-items: center; gap: .6rem; font-family: var(--aje-display); font-weight: 700; font-size: .9rem; letter-spacing: .03em; padding: .95rem 1.75rem; border-radius: 50px; border: 1.5px solid transparent; cursor: pointer; transition: all .35s var(--aje-ease); }
.aje-btn--primary { background: var(--aje-vert); color: #fff; }
.aje-btn--primary:hover { background: var(--aje-vert-d); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(95,151,57,.3); }
.aje-btn--ghost { background: transparent; border-color: rgba(255,255,255,.45); color: #fff; }
.aje-btn--ghost:hover { border-color: var(--aje-orange); color: var(--aje-orange-l); transform: translateY(-2px); }
.aje-btn--green { background: var(--aje-vert); color: #fff; }
.aje-btn--green:hover { background: var(--aje-vert-d); transform: translateY(-2px); }

/* Soleil du logo (motif CSS réutilisable) */
.aje-sun { display: inline-block; width: 20px; height: 11px; position: relative; vertical-align: middle; flex: none; }
.aje-sun::before { content: ""; position: absolute; inset: 0; border-radius: 40px 40px 0 0; background: var(--aje-orange); border: 2.5px solid var(--aje-vert); border-bottom: none; }

/* Utilitaires d'accessibilité */
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
