/**
 * SW Médias — Energy News — Styles spécifiques.
 */

/* Buttons */
.sw-button { display: inline-block; padding: .75rem 1.5rem; border-radius: .375rem; font-weight: 600; text-decoration: none; transition: all .15s ease; cursor: pointer; border: 0; line-height: 1.4; }
.sw-button--primary { background: #DC2626; color: #fff; }
.sw-button--primary:hover { background: #B91C1C; color: #fff; transform: translateY(-1px); }

/* Section title XL */
.sw-section-title--xl { font-size: clamp(1.75rem, 3vw, 2.25rem); margin-bottom: 1.5rem; padding-bottom: 0; border: 0; }

/* News grid */
.sw-news-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: auto auto auto; gap: 1.5rem; margin-bottom: 3rem; }
.sw-news-grid .sw-card--featured { grid-column: 1 / 2; grid-row: 1 / 4; }
.sw-news-grid .sw-card--news { grid-column: span 1; }

@media (max-width: 900px) {
	.sw-news-grid { grid-template-columns: 1fr 1fr; }
	.sw-news-grid .sw-card--featured { grid-column: 1 / 3; grid-row: auto; }
}
@media (max-width: 600px) {
	.sw-news-grid { grid-template-columns: 1fr; }
	.sw-news-grid .sw-card--featured { grid-column: 1 / 2; }
}

/* Card featured */
.sw-card--featured { background: #0F172A; color: #fff; border: 0; overflow: hidden; position: relative; }
.sw-card--featured .sw-card__media { display: block; }
.sw-card--featured .sw-card__media img { aspect-ratio: 16/9; object-fit: cover; }
.sw-card--featured .sw-card__body { padding: 1.5rem; }
.sw-card--featured .sw-card__title { font-size: clamp(1.25rem, 2.2vw, 1.75rem); margin: .5rem 0; color: #fff; }
.sw-card--featured .sw-card__title a { color: #fff; }
.sw-card--featured .sw-card__title a:hover { color: #FCA5A5; text-decoration: none; }
.sw-card--featured .sw-card__excerpt { color: rgba(255,255,255,.85); font-size: 1rem; }
.sw-card--featured .sw-card__date { color: rgba(255,255,255,.7); }

/* Card news */
.sw-card--news { background: #fff; border: 1px solid #E2E8F0; border-radius: .5rem; overflow: hidden; }
.sw-card--news .sw-card__media img { aspect-ratio: 16/9; object-fit: cover; }
.sw-card--news .sw-card__body { padding: 1rem 1.25rem 1.25rem; }
.sw-card--news .sw-card__title { font-size: 1rem; margin: .375rem 0; line-height: 1.35; }
.sw-card--news .sw-card__title a { color: #0F172A; }
.sw-card--news .sw-card__title a:hover { color: #DC2626; text-decoration: none; }
.sw-card--news .sw-card__excerpt { font-size: .9375rem; color: #475569; margin-bottom: .75rem; }
.sw-card--news .sw-card__date { color: #94A3B8; font-size: .8125rem; }

/* Tags topic */
.sw-tag { display: inline-block; background: #F1F5F9; color: #475569; padding: .25rem .625rem; border-radius: 999px; font-size: .8125rem; margin: 0 .25rem .25rem 0; font-weight: 500; }
.sw-tag:hover { background: #E2E8F0; text-decoration: none; }
.sw-tag--topic { background: #FEE2E2; color: #B91C1C; text-transform: uppercase; letter-spacing: .04em; font-size: .75rem; font-weight: 700; }
.sw-tag--topic:hover { background: #FECACA; color: #991B1B; }

/* Topic grid */
.sw-front__topics { margin-bottom: 3rem; }
.sw-topic-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1rem; }
.sw-topic-card { display: flex; flex-direction: column; padding: 1.25rem; background: #fff; border: 1px solid #E2E8F0; border-radius: .5rem; text-align: left; transition: all .15s ease; color: #0F172A; }
.sw-topic-card:hover { background: #FEF2F2; border-color: #DC2626; transform: translateY(-2px); text-decoration: none; color: #0F172A; }
.sw-topic-card__name { font-size: 1.0625rem; font-weight: 700; margin-bottom: .25rem; }
.sw-topic-card__count { font-size: .8125rem; color: #64748B; }

/* News single */
.sw-news { max-width: 800px; padding-top: 1.5rem; }
.sw-news__topics { margin-bottom: 1rem; }
.sw-news__title { font-size: clamp(1.75rem, 3vw, 2.25rem); line-height: 1.2; margin-bottom: 1rem; }
.sw-news__meta { display: flex; gap: 1rem; color: #64748B; font-size: .875rem; margin-bottom: 1.5rem; }
.sw-news__hero { margin: 0 0 1.5rem; border-radius: .5rem; overflow: hidden; }
.sw-news__hero img { aspect-ratio: 16/9; object-fit: cover; }
.sw-news__key-figures { background: #FEF2F2; border-left: 4px solid #DC2626; padding: 1rem 1.25rem; margin: 0 0 1.5rem; }
.sw-news__key-figures-title { font-size: .9375rem; text-transform: uppercase; letter-spacing: .04em; color: #B91C1C; margin: 0 0 .5rem; }
.sw-news__key-figures p { margin: 0; font-weight: 500; }
.sw-news__content { font-size: 1.0625rem; line-height: 1.7; }
.sw-news__footer { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #E2E8F0; font-size: .9375rem; }
.sw-news__source { color: #475569; font-style: italic; padding: .75rem 1rem; background: #F8FAFC; border-radius: .375rem; }
.sw-news__source-date { color: #94A3B8; }
.sw-news__regions, .sw-news__companies { margin-top: 1rem; }
.sw-news__regions strong, .sw-news__companies strong { margin-right: .5rem; color: #64748B; font-weight: 600; font-size: .875rem; text-transform: uppercase; letter-spacing: .04em; }

/* Newsletter CTA */
.sw-newsletter { margin: 3rem 0; padding: 3rem 1.5rem; background: linear-gradient(135deg, #DC2626 0%, #991B1B 100%); border-radius: .75rem; color: #fff; }
.sw-newsletter__inner { max-width: 640px; margin: 0 auto; text-align: center; }
.sw-newsletter__title { color: #fff; margin: 0 0 .5rem; font-size: 1.5rem; }
.sw-newsletter__lead { color: rgba(255,255,255,.92); margin: 0 0 1.5rem; font-size: 1.0625rem; }
.sw-newsletter .sw-button--primary { background: #fff; color: #DC2626; }
.sw-newsletter .sw-button--primary:hover { background: #FEF2F2; color: #991B1B; }
