/*
Theme Name:   ADNSP
Theme URI:    https://adnsp.fr
Description:  Thème enfant Kadence de l'ADNSP — Agence du Numérique dans le Secteur Public (Guadeloupe). Page d'accueil sur mesure d'après la maquette validée ; pages intérieures Kadence aux couleurs du logo.
Author:       ADNSP
Template:     kadence
Version:      2.6.4
Requires at least: 6.5
Requires PHP: 7.4
License:      GPL-2.0-or-later
Text Domain:  adnsp
*/

/* -------------------------------------------------------------------------
 * Pages intérieures : palette Kadence alignée sur le logo (#4482AC)
 * ---------------------------------------------------------------------- */
:root {
	--global-palette1: #2F6690; /* accent */
	--global-palette2: #1E4A6B; /* accent survol */
	--global-palette3: #0E2A44; /* titres */
	--global-palette4: #16384F;
	--global-palette5: #43526B; /* texte */
	--global-palette6: #4482AC;
	--global-palette7: #EAF0F8; /* fond doux */
	--global-palette8: #F4F7FB; /* fond */
	--global-palette9: #FFFFFF;
	--global-body-font-family: "Public Sans", system-ui, sans-serif;
	--global-heading-font-family: "Space Grotesk", system-ui, sans-serif;
}

body:not(.adnsp-front) {
	font-family: "Public Sans", system-ui, sans-serif;
	-webkit-font-smoothing: antialiased;
}
body:not(.adnsp-front) h1,
body:not(.adnsp-front) h2,
body:not(.adnsp-front) h3,
body:not(.adnsp-front) h4,
body:not(.adnsp-front) .site-title {
	font-family: "Space Grotesk", system-ui, sans-serif;
	letter-spacing: -0.02em;
}
body:not(.adnsp-front) .entry-hero-container-inner {
	background: linear-gradient(110deg, #FFFFFF 0%, #EEF5FA 55%, #D3E5F1 100%);
}
body:not(.adnsp-front) .button,
body:not(.adnsp-front) .wp-block-button__link,
body:not(.adnsp-front) button[type="submit"],
body:not(.adnsp-front) input[type="submit"] {
	border-radius: 12px;
	font-weight: 600;
}
body:not(.adnsp-front) .site-footer {
	background: #16384F;
	color: #E6F0F7;
}
body:not(.adnsp-front) .site-footer a { color: #fff; }

/* =========================================================================
 * Système de pages intérieures (classes posées sur des blocs WordPress)
 *   .adn-hero · .adn-section(.is-alt) · .adn-cards · .adn-card · .adn-table
 *   .adn-steps · .adn-checks · .adn-cta · .adn-faq · .adn-kicker · .adn-lead
 * ====================================================================== */
.adn-inner .entry-content-wrap { padding: 0 !important; }
.adn-inner .content-container.site-container { max-width: none; padding: 0; }
.adn-inner .entry.single-entry { box-shadow: none; background: transparent; }

.adn-hero,
.adn-section {
	--wrap: 1140px;
	padding: 88px max(24px, calc((100% - var(--wrap)) / 2)) !important;
	margin: 0 !important;
}
.adn-hero {
	background: linear-gradient(120deg, #FFFFFF, #EAF3FA 45%, #FFFFFF 70%, #DCEBF6) !important;
	border-bottom: 1px solid #E3EDF5;
	padding-top: 72px !important;
	padding-bottom: 64px !important;
}
.adn-section.is-alt { background: #F6FAFD; border-top: 1px solid #E3EDF5; border-bottom: 1px solid #E3EDF5; }
.adn-section + .adn-section.is-alt, .adn-hero + .adn-section.is-alt { border-top: 0; }
.adn-hero > *, .adn-section > * { max-width: var(--wrap); margin-left: 0; margin-right: 0; }

.adn-kicker {
	font-size: 12px !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: #2F6690 !important; margin: 0 0 10px !important;
}
.adn-hero h1 {
	font-size: clamp(38px, 5.2vw, 64px) !important; line-height: 1.05; letter-spacing: -.03em;
	color: #16384F; margin: 0 0 18px !important;
}
.adn-lead { font-size: clamp(17px, 1.6vw, 19px); color: #3D5468; max-width: 760px; }
.adn-section h2 {
	font-size: clamp(28px, 3.2vw, 40px) !important; line-height: 1.1; letter-spacing: -.025em;
	color: #16384F; margin: 0 0 16px !important;
}
.adn-section h3 { font-size: 22px; color: #16384F; letter-spacing: -.01em; }
.adn-inner .entry-content p, .adn-inner .entry-content li { color: #3D5468; }
.adn-inner .entry-content strong { color: #16384F; }

/* Cartes (bloc Colonnes avec la classe adn-cards) */
.adn-cards { gap: 20px !important; margin-top: 28px !important; }
.adn-cards > .wp-block-column {
	background: #fff; border: 1px solid #DCEBF6; border-radius: 20px; padding: 26px;
	transition: transform .25s, box-shadow .25s, border-color .25s;
}
.adn-cards > .wp-block-column:hover { transform: translateY(-3px); box-shadow: 0 24px 48px -28px rgba(22,56,79,.35); border-color: #4482AC; }
.adn-section.is-alt .adn-cards > .wp-block-column { background: #fff; }
.adn-cards h3 { font-size: 20px; margin: 0 0 8px !important; }
.adn-cards p { font-size: 15px; margin: 0 0 8px; }
.adn-cards .adn-num { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 14px; color: #2F6690; margin: 0 0 8px; }
.adn-cards .adn-big { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 34px; color: #2F6690; line-height: 1.1; margin: 0 0 6px; }

/* Tableaux */
.adn-table { margin: 24px 0 !important; }
.adn-table table { border-collapse: separate; border-spacing: 0; width: 100%; border: 1px solid #DCEBF6; border-radius: 16px; overflow: hidden; background: #fff; font-size: 15px; }
.adn-table th { background: #16384F; color: #fff; text-align: left; font-weight: 600; padding: 14px 16px; border: 0; }
.adn-table td { padding: 13px 16px; border: 0; border-top: 1px solid #E3EDF5; color: #3D5468; vertical-align: top; }
.adn-table tr:nth-child(even) td { background: #F6FAFD; }
.adn-table td:first-child { font-weight: 600; color: #16384F; }
.adn-table figcaption { font-size: 13px; color: #2F6690; margin-top: 8px; }
@media (max-width: 640px) {
	.adn-table { overflow-x: auto; }
	.adn-table table { min-width: 560px; }
}

/* Étapes numérotées (liste ordonnée) */
ol.adn-steps { list-style: none; counter-reset: s; padding: 0 !important; margin: 24px 0 !important; display: grid; gap: 16px; }
ol.adn-steps > li { counter-increment: s; position: relative; padding: 4px 0 4px 56px; min-height: 40px; }
ol.adn-steps > li::before {
	content: counter(s); position: absolute; left: 0; top: 0; width: 40px; height: 40px; border-radius: 50%;
	background: #2F6690; color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 15px;
}

/* Liste à coches */
ul.adn-checks { list-style: none; padding: 0 !important; margin: 20px 0 !important; display: grid; gap: 12px; }
ul.adn-checks > li { position: relative; padding-left: 34px; }
ul.adn-checks > li::before {
	content: ""; position: absolute; left: 0; top: 3px; width: 22px; height: 22px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234482AC' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / contain;
}
@media (min-width: 782px) { ul.adn-checks.is-2col { grid-template-columns: 1fr 1fr; column-gap: 32px; } }

/* Encadré d'appel à l'action */
.adn-cta {
	background: linear-gradient(135deg, #1E4A6B, #2F6690 55%, #4482AC) !important;
	color: #fff; border-radius: 26px; padding: clamp(28px, 4vw, 48px) !important; margin-top: 12px !important;
}
.adn-cta h2, .adn-cta h3, .adn-cta p, .adn-cta strong { color: #fff !important; }
.adn-cta p { color: #EAF3FA !important; }
.adn-cta .wp-block-button__link { background: #fff !important; color: #16384F !important; }
.adn-cta .is-style-outline .wp-block-button__link { background: transparent !important; color: #fff !important; border: 1.5px solid #fff !important; }

/* Boutons */
.adn-inner .wp-block-button__link { border-radius: 12px; font-weight: 600; padding: 14px 24px; }
.adn-inner .wp-block-button.is-style-outline .wp-block-button__link { border: 1.5px solid #4482AC; color: #2F6690; background: #fff; }

/* Accordéons (blocs Détails) — statuts, FAQ */
.adn-faq.wp-block-details {
	border: 1px solid #DCEBF6; border-radius: 16px; background: #fff; padding: 0; margin: 0 0 12px !important;
}
.adn-faq.wp-block-details summary {
	cursor: pointer; padding: 18px 22px; font-family: "Space Grotesk", sans-serif; font-weight: 700;
	font-size: 18px; color: #16384F; list-style: none; position: relative; padding-right: 52px;
}
.adn-faq.wp-block-details summary::-webkit-details-marker { display: none; }
.adn-faq.wp-block-details summary::after {
	content: "+"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%);
	font-size: 24px; font-weight: 500; color: #4482AC; transition: transform .2s;
}
.adn-faq.wp-block-details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.adn-faq.wp-block-details[open] { border-color: #BBD5E8; box-shadow: 0 20px 40px -32px rgba(22,56,79,.35); }
.adn-faq.wp-block-details > :not(summary) { padding: 0 22px; }
.adn-faq.wp-block-details > :last-child { padding-bottom: 18px; }
.adn-faq h4 { font-size: 16px; color: #2F6690; margin: 14px 0 6px; }

/* Encadré note / à compléter */
.adn-note { border-left: 4px solid #4482AC; background: #F3F8FC; padding: 14px 18px !important; border-radius: 0 12px 12px 0; font-size: 15px; }

@media (max-width: 640px) {
	.adn-hero, .adn-section { padding: 56px 16px !important; }
	.adn-hero { padding-top: 44px !important; padding-bottom: 44px !important; }
	.adn-cards > .wp-block-column { padding: 20px; }
}

/* Équipe (Colonnes avec la classe adn-team) */
.adn-team { gap: 22px !important; margin-top: 28px !important; flex-wrap: wrap !important; }
.adn-team > .wp-block-column {
	flex: 1 1 220px !important; max-width: 100%; background: #fff; border: 1px solid #DCEBF6;
	border-radius: 22px; padding: 14px 14px 22px; text-align: left;
}
.adn-team figure { margin: 0 0 14px !important; }
.adn-team img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; border-radius: 16px; background: #EAF3FA; }
.adn-team h3 { font-size: 19px !important; margin: 0 6px 2px !important; }
.adn-team .adn-role { margin: 0 6px 10px !important; font-size: 13px !important; font-weight: 700; color: #2F6690 !important; text-transform: uppercase; letter-spacing: .06em; }
.adn-team .adn-quote { margin: 0 6px !important; font-size: 14.5px; font-style: italic; }
@media (min-width: 1100px) { .adn-team > .wp-block-column { flex: 0 0 calc(25% - 17px) !important; } }

/* Articles (single) : lecture confortable */
.adn-article .entry-content { font-size: 17.5px; line-height: 1.75; }
.adn-article .entry-content > p:first-of-type { font-size: 19px; color: #16384F; }
.adn-article .entry-content h2 { font-size: clamp(24px, 2.6vw, 30px); color: #16384F; margin-top: 1.6em; letter-spacing: -.02em; }
.adn-article .entry-content h3 { font-size: 21px; color: #16384F; margin-top: 1.4em; }
.adn-article .entry-content blockquote { border-left: 4px solid #4482AC; background: #F3F8FC; padding: 16px 20px; border-radius: 0 14px 14px 0; font-style: normal; }
.adn-article .entry-content a { color: #2F6690; text-decoration: underline; text-underline-offset: 3px; }
.adn-article .entry-content .adn-after a { text-decoration: none; }
.adn-article .entry-header .entry-meta, .adn-article .entry-taxonomies a { color: #2F6690; }
