/* =========================================================================
   Enda Climate Week — Base (reset léger, typo, layout, boutons partagés)
   ========================================================================= */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--ecw-ivoire); color: var(--ecw-encre); font-family: var(--ecw-body); line-height: 1.65; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { font-family: var(--ecw-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; }

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

/* Boutons partagés (réutilisés par les widgets) */
.ecw-btn { display: inline-flex; align-items: center; gap: .6rem; font-family: var(--ecw-sans); font-weight: 600; font-size: .92rem; padding: .95rem 1.7rem; border-radius: 50px; border: 2px solid transparent; cursor: pointer; transition: all .4s var(--ecw-ease); }
.ecw-btn--primary { background: var(--ecw-orange); color: #fff; }
.ecw-btn--primary:hover { background: var(--ecw-orange-d); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(238,113,34,.3); }
.ecw-btn--ghost { background: transparent; border-color: currentColor; }
.ecw-btn--ghost:hover { transform: translateY(-2px); }
.ecw-btn--green { background: var(--ecw-vert); color: #fff; }
.ecw-btn--green:hover { background: var(--ecw-vert-d); transform: translateY(-2px); }

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

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