/*
Theme Name:        Sky Child
Theme URI:         https://github.com/Floyd973/sky-academy
Description:       Thème enfant Kadence de Sky Academy v2 — « le ciel comme plafond » : bleu ciel profond, blanc lumineux, accent ambre réservé aux appels à l'action. Identité portée par des tokens (theme.json + variables CSS), polices auto-hébergées, trois patterns pour Shameeza.
Author:            Yukigen
Template:          kadence
Version:           0.1.0
Requires at least: 6.5
Requires PHP:      8.1
License:           GNU General Public License v2 or later
Text Domain:       sky-child
*/

/* ---------------------------------------------------------------------------
   Tokens — la source de vérité de l'identité visuelle (CdC §07).
   Les mêmes valeurs sont poussées dans la palette Kadence (scripts/configure-kadence.php)
   pour que l'éditeur et le site parlent la même langue.
--------------------------------------------------------------------------- */
:root {
	--sky-blue:        #0E67B4; /* bleu ciel profond — confiance, sérieux scolaire */
	--sky-blue-deep:   #0B4F8A;
	--sky-ink:         #17222E; /* titres */
	--sky-text:        #2E3D4D; /* corps */
	--sky-muted:       #5A6B7D;
	--sky-line:        #D9E2EC;
	--sky-blue-soft:   #E3EEF7;
	--sky-paper:       #F6F8FB;
	--sky-white:       #FFFFFF;
	--sky-sun:         #F2A93B; /* ambre/soleil — appels à l'action uniquement */
	--sky-sun-deep:    #D98C12;

	--global-palette1: var(--sky-blue);
	--global-palette2: var(--sky-blue-deep);
	--global-palette3: var(--sky-ink);
	--global-palette4: var(--sky-text);
	--global-palette5: var(--sky-muted);
	--global-palette6: var(--sky-line);
	--global-palette7: var(--sky-blue-soft);
	--global-palette8: var(--sky-paper);
	--global-palette9: var(--sky-white);

	--global-heading-font-family: 'Sora', 'Avenir Next', 'Trebuchet MS', system-ui, sans-serif;
	--global-body-font-family:    'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

body {
	font-family: var(--global-body-font-family);
	color: var(--sky-text);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6, .site-title, .wp-block-button__link {
	font-family: var(--global-heading-font-family);
	letter-spacing: -0.01em;
	text-wrap: balance;
}
h1, h2, h3 { color: var(--sky-ink); }
h1 { font-weight: 700; }
h2, h3 { font-weight: 600; }

/* Cibles tactiles ≥ 44 px, focus visible (accessibilité, CdC §07) */
a:focus-visible, button:focus-visible, .wp-block-button__link:focus-visible {
	outline: 3px solid var(--sky-sun);
	outline-offset: 2px;
}
.wp-block-button__link { min-height: 44px; padding: 0.8em 1.6em; border-radius: 999px; font-weight: 600; }

/* Bouton d'action principal : ambre, texte encre (contraste AA large) */
.sky-cta .wp-block-button__link,
.wp-block-button.sky-cta .wp-block-button__link {
	background: var(--sky-sun);
	color: var(--sky-ink);
	box-shadow: 0 6px 18px rgba(242, 169, 59, 0.35);
	transition: transform 120ms ease, background 120ms ease;
}
.sky-cta .wp-block-button__link:hover { background: var(--sky-sun-deep); color: var(--sky-ink); transform: translateY(-1px); }
.sky-cta-secondary .wp-block-button__link {
	background: transparent;
	color: var(--sky-blue);
	border: 2px solid var(--sky-blue);
}
.sky-cta-secondary .wp-block-button__link:hover { background: var(--sky-blue-soft); color: var(--sky-blue-deep); }

/* Bandeau d'accueil — dégradé ciel, prêt à recevoir une photo réelle en fond */
.sky-hero {
	background:
		radial-gradient(1200px 500px at 85% -10%, rgba(255, 255, 255, 0.35), transparent 60%),
		linear-gradient(160deg, var(--sky-blue) 0%, var(--sky-blue-deep) 100%);
	color: var(--sky-white);
	padding: clamp(3rem, 8vw, 6rem) 1.25rem;
	border-radius: 0 0 2rem 2rem;
}
.sky-hero h1, .sky-hero h2, .sky-hero p { color: var(--sky-white); }
.sky-hero h1 { font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.1; margin-bottom: 0.5em; }
.sky-hero .sky-kicker { text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.85rem; font-weight: 600; opacity: 0.9; }
.sky-hero .sky-lead { font-size: clamp(1.1rem, 2vw, 1.35rem); max-width: 40rem; opacity: 0.95; }
.sky-hero .sky-lead:not(.has-text-align-center) { margin-left: 0 !important; } /* Kadence centre les enfants des groupes contraints en !important */
.sky-hero .sky-cta-secondary .wp-block-button__link { color: var(--sky-white); border-color: rgba(255, 255, 255, 0.75); }
.sky-hero .sky-cta-secondary .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.15); color: var(--sky-white); }

/* Cartes d'offres */
.sky-cards { gap: 1.5rem; }
.sky-card {
	background: var(--sky-white);
	border: 1px solid var(--sky-line);
	border-radius: 1.25rem;
	padding: 1.75rem;
	height: 100%;
	box-shadow: 0 10px 30px rgba(23, 34, 46, 0.06);
}
.sky-card h3 { margin-top: 0; font-size: 1.35rem; }
.sky-card .sky-price { color: var(--sky-blue-deep); font-weight: 600; font-family: var(--global-heading-font-family); }
.sky-card .sky-price small { color: var(--sky-muted); font-weight: 400; font-family: var(--global-body-font-family); }

/* Sections alternées */
.sky-section-soft { background: var(--sky-paper); padding: clamp(2rem, 5vw, 4rem) 1.25rem; border-radius: 1.5rem; }
.sky-eyebrow { color: var(--sky-blue); text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.8rem; font-weight: 600; margin-bottom: 0.25rem; }

/* Encadré « à retenir » (pattern Article conseil) */
.sky-callout {
	border-left: 4px solid var(--sky-sun);
	background: var(--sky-blue-soft);
	padding: 1.25rem 1.5rem;
	border-radius: 0 1rem 1rem 0;
}
.sky-callout > :first-child { margin-top: 0; }
.sky-callout > :last-child { margin-bottom: 0; }

/* Grille tarifaire */
.sky-price-table td, .sky-price-table th { padding: 0.75rem 1rem; border-bottom: 1px solid var(--sky-line); }
.sky-price-table th { color: var(--sky-ink); font-family: var(--global-heading-font-family); font-weight: 600; text-align: left; }
.sky-note { color: var(--sky-muted); font-size: 0.9rem; }

/* Bandeau d'environnement (sky-ops) — jamais en production */
.sky-env-banner {
	background: var(--sky-ink);
	color: var(--sky-white);
	text-align: center;
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	padding: 0.35rem 1rem;
}
.sky-env-banner span { color: var(--sky-sun); font-weight: 600; }

@media (max-width: 719px) {
	.sky-hero { border-radius: 0 0 1.25rem 1.25rem; }
	.sky-card { padding: 1.25rem; }
}
