/* Thème GenRP — charte graphique de la Ville de Gentilly (2022).
   Fond blanc, logotype sans contour ni fond de couleur, couleurs des sept quartiers pour les onglets.
   Les couleurs des quartiers servent d'aplats et de filets ; les textes restent en anthracite
   (contraste AA), les liens et boutons en bleu Gabriel-Péri foncé #0B6FA6. */

:root {
	--q1: #3AAA35; /* Chaperon-Vert */
	--q2: #EB6559; /* Victor-Hugo */
	--q3: #F29100; /* Plateau */
	--q4: #7A8CA5; /* Val-de-Bièvre */
	--q5: #C11C7B; /* Centre-Ville */
	--q6: #0F88CA; /* Gabriel-Péri */
	--q7: #7763A7; /* Reine-Blanche */
	--genrp-ink: #3C3C3B;
	--genrp-line: #DDE1E5;
	--genrp-quartiers: linear-gradient(90deg, var(--q1) 0 14.28%, var(--q2) 14.28% 28.57%, var(--q3) 28.57% 42.85%, var(--q4) 42.85% 57.14%, var(--q5) 57.14% 71.42%, var(--q6) 71.42% 85.71%, var(--q7) 85.71% 100%);
}

body { -webkit-font-smoothing: antialiased; background: #fff; }

/* ---------- Bande des quartiers (haut de page) ---------- */
.genrp-strip { height: 6px; background: var(--genrp-quartiers); margin: 0 !important; }

/* ---------- En-tête : logotype + onglets ---------- */
.genrp-header { background: #fff; padding-top: 4px; padding-bottom: 0; border-bottom: 1px solid var(--genrp-line); }
.genrp-header-in { gap: 8px 24px; align-items: flex-end !important; }
.genrp-brand { gap: 4px 20px; }
.genrp-logo { display: block; line-height: 0; flex: 0 0 auto; }
/* Taille minimale web imposée par la charte : 280 × 224 px (zone de protection comprise). */
.genrp-logo img { width: 280px; height: auto; display: block; }
.genrp-app { padding-bottom: 10px; }
.genrp-app p { margin: 0; }
.genrp-app-name { font-family: var(--wp--preset--font-family--titrage); font-weight: 800; font-size: 2rem; line-height: 1; color: var(--genrp-ink); letter-spacing: -.01em; }
.genrp-app-dir { font-size: .82rem; text-transform: uppercase; letter-spacing: .12em; color: var(--wp--preset--color--muted); margin-top: 6px !important; max-width: 26ch; }

/* Onglets : un quartier par onglet, dans l'ordre de la palette. */
.genrp-tabs { --tab: var(--q6); gap: 4px !important; margin-bottom: -1px; }
.genrp-tabs .wp-block-navigation-item:nth-child(7n+1) { --tab: var(--q6); }
.genrp-tabs .wp-block-navigation-item:nth-child(7n+2) { --tab: var(--q1); }
.genrp-tabs .wp-block-navigation-item:nth-child(7n+3) { --tab: var(--q5); }
.genrp-tabs .wp-block-navigation-item:nth-child(7n+4) { --tab: var(--q3); }
.genrp-tabs .wp-block-navigation-item:nth-child(7n+5) { --tab: var(--q7); }
.genrp-tabs .wp-block-navigation-item:nth-child(7n+6) { --tab: var(--q2); }
.genrp-tabs .wp-block-navigation-item:nth-child(7n+7) { --tab: var(--q4); }
.genrp-tabs .wp-block-navigation-item__content {
	display: block; padding: 12px 18px 11px !important; color: var(--genrp-ink) !important; text-decoration: none;
	font-weight: 600; background: #fff; border: 1px solid var(--genrp-line); border-bottom-color: transparent;
	border-top: 5px solid var(--tab); border-radius: 8px 8px 0 0; transition: background-color .15s;
}
.genrp-tabs .wp-block-navigation-item__content:hover { background: color-mix(in srgb, var(--tab) 10%, #fff); }
.genrp-tabs .current-menu-item > .wp-block-navigation-item__content,
.genrp-tabs .wp-block-navigation-item__content[aria-current="page"] {
	background: color-mix(in srgb, var(--tab) 14%, #fff); border-color: var(--tab); border-bottom: 1px solid #fff; font-weight: 700;
}
.genrp-tabs .wp-block-navigation__responsive-container-open { margin-bottom: 14px; color: var(--genrp-ink); }
/* Menu mobile : onglets verticaux, filet coloré à gauche. */
.genrp-tabs .wp-block-navigation__responsive-container.is-menu-open { background: #fff; color: var(--genrp-ink); padding: 24px; }
.genrp-tabs .is-menu-open .wp-block-navigation__container { gap: 10px !important; width: 100%; }
.genrp-tabs .is-menu-open .wp-block-navigation-item { width: 100%; }
.genrp-tabs .is-menu-open .wp-block-navigation-item__content { width: 100%; border: 0; border-left: 6px solid var(--tab); border-radius: 0 8px 8px 0; background: color-mix(in srgb, var(--tab) 8%, #fff); font-size: 1.1rem; }

/* ---------- Titres (charte : titre en titrage bas-de-casse, intertitres Barlow Bold capitales) ---------- */
.genrp-main { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--60); }
.genrp-page-title { margin-bottom: var(--wp--preset--spacing--30); }
.genrp-page-title::after, .genrp-rule { content: ""; display: block; width: 168px; height: 6px; border-radius: 3px; background: var(--genrp-quartiers); margin-top: .6rem; }
.genrp-content > * + * { margin-block-start: 1.1rem; }

/* ---------- Encarts ---------- */
.genrp-card { background: #fff; border: 1px solid var(--genrp-line); border-top: 5px solid var(--card, var(--q6)); border-radius: 8px; padding: 1.25rem 1.4rem; }
.genrp-card h3 { margin-top: 0; text-transform: uppercase; font-size: 1rem; letter-spacing: .02em; }
.genrp-card > :last-child { margin-bottom: 0; }
.genrp-cards > .genrp-card:nth-child(3n+1) { --card: var(--q1); }
.genrp-cards > .genrp-card:nth-child(3n+2) { --card: var(--q5); }
.genrp-cards > .genrp-card:nth-child(3n+3) { --card: var(--q6); }

/* ---------- Accueil ---------- */
.genrp-main--home { padding-top: 0; }
.genrp-hero { background: #fff; padding: clamp(1.5rem, 4vw, 2.75rem) 0 clamp(1rem, 3vw, 2rem); }
.genrp-hero-title { font-size: var(--wp--preset--font-size--xx-large); margin: 0; max-width: 24ch; }
.genrp-hero .genrp-rule { margin: 1rem 0 1.25rem !important; }
.genrp-hero-lead { font-size: 1.15rem; font-weight: 300; max-width: 64ch; margin: 0 0 1.4rem; }
.genrp-hero .wp-block-button.is-style-outline > .wp-block-button__link { background: #fff; color: var(--wp--preset--color--accent); border: 2px solid currentColor; }
.genrp-hero .wp-block-button.is-style-outline > .wp-block-button__link:hover { color: var(--genrp-ink); }
.genrp-home-content { scroll-margin-top: 1rem; }
.genrp-infos { margin-top: var(--wp--preset--spacing--60); }
.genrp-cards { gap: 1rem; }

/* ---------- Pied de page : fond blanc, filet et mention à la manière de la charte ---------- */
.genrp-footer { background: #fff; color: var(--genrp-ink); padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--40); border-top: 1px solid var(--genrp-ink); font-size: .95rem; margin-top: 0; }
.genrp-footer::before { content: ""; display: block; height: 6px; background: var(--genrp-quartiers); margin: calc(-1 * var(--wp--preset--spacing--50) - 1px) calc(-1 * var(--wp--style--root--padding-left, 1rem)) var(--wp--preset--spacing--50); }
.genrp-footer-title { font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: .85rem; margin-bottom: .5rem; }
.genrp-footer-links { list-style: none; padding: 0; margin: 0; }
.genrp-footer-links li { margin: 0 0 .35rem; }
.genrp-footer-legal { margin-top: var(--wp--preset--spacing--40); padding-top: .8rem; border-top: 1px solid var(--genrp-ink); font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; }

/* ---------- Page plein écran (affichage) ---------- */
.genrp-ecran { min-height: 100vh; padding: 0; }

/* ---------- Accessibilité ---------- */
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

@media (max-width: 600px) {
	.genrp-header-in { align-items: center !important; }
	.genrp-app { padding-bottom: 0; }
}

/* ---------- Impression ---------- */
@media print {
	.genrp-tabs, .genrp-footer, .genrp-hero .wp-block-buttons, .genrp-infos, .genrp-strip { display: none !important; }
	.genrp-header { border: 0; }
	.genrp-main { padding: 0; }
	a { color: #000; text-decoration: none; }
}
