/*
Theme Name: Autotrans Export
Description: Thème Autotrans Export. À l'activation, crée l'en-tête, le pied de page et la page d'accueil, modifiables avec Elementor (version gratuite).
Version: 1.4.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: autotrans
*/

:root {
	--at-navy: #0D0D0D;
	--at-navy-2: #000000;
	--at-accent: #B71C1C;
	--at-accent-on-dark: #EF5350;
	--at-accent-dark: #B71C1C;
	--at-bg: #F4F4F5;
	--at-body: #3A3A3D;
	--at-muted: #5C5C61;
	--at-light: #CFCFD3;
	--at-border: #E4E4E7;
}

*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	background: #FFFFFF;
	color: var(--at-navy);
	font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.6;
}

h1, h2, h3, h4 { font-family: Archivo, Inter, sans-serif; line-height: 1.15; }
a { color: var(--at-accent-dark); }
a:hover { color: var(--at-navy); }
img { max-width: 100%; height: auto; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.skip-link:focus {
	position: fixed; top: 8px; left: 8px; z-index: 100000; width: auto; height: auto; clip: auto;
	background: #FFFFFF; color: var(--at-navy); padding: 12px 16px; border-radius: 8px;
}

.at-wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; }

/* Contenu des pages classiques (hors Elementor) */
.site-main { padding: 56px 0 80px; }
.site-main .entry { margin-bottom: 56px; }
.site-main .entry-title { font-size: 40px; margin: 0 0 16px; }
.site-main .entry-title a { color: var(--at-navy); text-decoration: none; }
.site-main .entry-thumb img { border-radius: 14px; margin-bottom: 24px; }
.site-main .entry-content { font-size: 17px; color: var(--at-body); }
.pagination { display: flex; gap: 12px; }
.page .site-main .entry { max-width: 820px; }
.site-main .entry-content h2 { font-size: 24px; margin: 40px 0 12px; color: var(--at-navy); }
.site-main .entry-content li { margin-bottom: 6px; }
.site-main .entry-content strong { color: var(--at-navy); }

/* Pages construites avec Elementor : pleine largeur */
body.elementor-page .site-main,
body.page-template-elementor_header_footer .site-main { padding: 0; }

/* En-tête et pied de page de secours (si Elementor est désactivé) */
.at-topbar { background: var(--at-navy-2); color: var(--at-light); font-size: 13px; }
.at-topbar .at-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; padding-top: 10px; padding-bottom: 10px; }
.at-topbar a { color: var(--at-light); }
.at-header { background: var(--at-navy); border-bottom: 1px solid #26262A; }
.at-header .at-wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-top: 18px; padding-bottom: 18px; }
.at-logo { font-family: Archivo, sans-serif; font-weight: 800; font-size: 24px; color: var(--at-navy); text-decoration: none; }
.at-logo span { color: var(--at-accent-dark); }
.at-logo img { max-height: 64px; width: auto; display: block; }
.at-brand img { max-width: 260px; height: auto; display: block; }
.at-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 28px; }
.at-nav a { color: #FFFFFF; text-decoration: none; font-weight: 500; font-size: 15px; }
.at-nav a:hover { color: var(--at-accent-on-dark); }
.at-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.at-btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 8px; font-weight: 600; font-size: 14px; text-decoration: none; }
.at-btn--ghost { border: 2px solid #FFFFFF; color: #FFFFFF; }
.at-btn--accent { background: var(--at-accent); color: #FFFFFF; }
.at-btn:hover { background: #FFFFFF; color: var(--at-navy); }
.at-footer { background: var(--at-navy-2); color: var(--at-light); font-size: 14px; }
.at-footer .at-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px; padding-top: 56px; padding-bottom: 40px; }
.at-footer h2 { font-size: 16px; color: #FFFFFF; margin: 0 0 12px; }
.at-footer .at-brand { font-family: Archivo, sans-serif; font-weight: 800; font-size: 22px; color: #FFFFFF; margin: 0 0 12px; }
.at-footer .at-brand span { color: var(--at-accent-on-dark); }
.at-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.at-footer a { color: var(--at-light); text-decoration: none; }
.at-footer a:hover { color: var(--at-accent-on-dark); }
.at-footer .at-legal { border-top: 1px solid #26262A; padding-top: 20px; padding-bottom: 24px; color: #8E8E93; font-size: 13px; }

@media (max-width: 760px) {
	.at-topbar .at-hide-sm { display: none; }
	.site-main .entry-title { font-size: 30px; }
}
