/*
Theme Name: Suivi Complet 2026
Theme URI: https://suivicomplet.com/
Author: Suivi Complet
Author URI: https://suivicomplet.com/
Description: Thème bloc léger et responsive conçu pour le site Suivi Complet 2026. Identité visuelle inspirée du tableau de bord de l'outil, typographie fluide et mise en page optimisée pour smartphone, tablette et ordinateur.
Version: 1.1.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: suivi-complet-2026
Tags: block-patterns, full-site-editing, accessibility-ready, custom-logo, editor-style, wide-blocks
*/

/* ==========================================================
   Suivi Complet 2026 — styles complémentaires
   ========================================================== */

:root {
	--sc-ink: #17384a;
	--sc-deep: #244d63;
	--sc-blue: #356c8c;
	--sc-blue-soft: #e5f0f6;
	--sc-cream: #f6f0e5;
	--sc-yellow: #f8e8b5;
	--sc-green: #e0ead8;
	--sc-peach: #f4d2a3;
	--sc-red: #d85c5c;
	--sc-line: #d8e2e8;
	--sc-paper: #ffffff;
	--sc-bg: #f5f8fa;
	--sc-radius: 18px;
	--sc-shadow: 0 18px 48px rgba(23, 56, 74, .10);
}

html {
	scroll-behavior: smooth;
}

body {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

a {
	text-underline-offset: .16em;
	text-decoration-thickness: .08em;
}

.sc-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(36, 77, 99, .12);
}

.admin-bar .sc-site-header {
	top: 32px;
}

.sc-brand-row {
	min-height: 76px;
}

.sc-hero {
	position: relative;
	overflow: hidden;
	border-radius: 0 0 34px 34px;
}

.sc-hero::after {
	content: "";
	position: absolute;
	width: 34rem;
	height: 34rem;
	border-radius: 50%;
	right: -15rem;
	top: -17rem;
	background: rgba(255,255,255,.07);
	pointer-events: none;
}

.sc-hero > * {
	position: relative;
	z-index: 1;
}

.sc-eyebrow {
	display: inline-block;
	padding: .42rem .78rem;
	border: 1px solid rgba(255,255,255,.34);
	border-radius: 999px;
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.sc-card {
	height: 100%;
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	background: var(--sc-paper);
	box-shadow: 0 8px 24px rgba(23, 56, 74, .05);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.sc-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--sc-shadow);
	border-color: rgba(53,108,140,.28);
}

.sc-card h3 {
	margin-top: .2rem;
}

.sc-card-icon {
	display: inline-grid;
	place-items: center;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 12px;
	background: var(--sc-blue-soft);
	color: var(--sc-deep);
	font-weight: 800;
}

.sc-panel {
	border: 1px solid var(--sc-line);
	border-radius: var(--sc-radius);
	background: var(--sc-paper);
	box-shadow: var(--sc-shadow);
}

.sc-alert {
	border-left: 5px solid #d6a72d;
	border-radius: 12px;
	background: #fff8e8;
}

.sc-kicker {
	color: var(--sc-blue);
	font-weight: 750;
	letter-spacing: .035em;
	text-transform: uppercase;
	font-size: .86rem;
}

.sc-section {
	padding-top: clamp(3.2rem, 7vw, 6rem);
	padding-bottom: clamp(3.2rem, 7vw, 6rem);
}

.sc-tight {
	padding-top: clamp(2.2rem, 5vw, 4rem);
	padding-bottom: clamp(2.2rem, 5vw, 4rem);
}

.sc-rounded {
	border-radius: var(--sc-radius);
	overflow: hidden;
}

.sc-download-box {
	border-radius: 26px;
	box-shadow: var(--sc-shadow);
	overflow: hidden;
}

.wp-block-button__link {
	transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.wp-block-button__link:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(23, 56, 74, .16);
}

.wp-block-navigation-item__content {
	font-weight: 650;
}

.wp-block-post-title a {
	text-decoration: none;
}

.wp-block-post-featured-image img,
.wp-block-image img {
	border-radius: 14px;
}

input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
textarea,
select {
	border: 1px solid var(--sc-line);
	border-radius: 10px;
	padding: .78rem .9rem;
	background: #fff;
	color: var(--sc-ink);
}

input:focus,
textarea:focus,
select:focus {
	outline: 3px solid rgba(53,108,140,.20);
	outline-offset: 1px;
	border-color: var(--sc-blue);
}

/* Responsive : évite les titres disproportionnés sur smartphone */
@media (max-width: 782px) {
	.admin-bar .sc-site-header {
		top: 46px;
	}

	h1, .wp-block-post-title {
		font-size: clamp(2.15rem, 10vw, 3.2rem) !important;
		line-height: 1.04 !important;
		letter-spacing: -.025em;
	}

	h2 {
		font-size: clamp(1.72rem, 7.2vw, 2.35rem) !important;
		line-height: 1.12 !important;
	}

	h3 {
		font-size: clamp(1.25rem, 5vw, 1.6rem) !important;
		line-height: 1.2 !important;
	}

	.sc-hero {
		border-radius: 0 0 24px 24px;
	}

	.sc-brand-row {
		min-height: 66px;
	}

	.sc-site-header .wp-block-site-title {
		font-size: 1.05rem !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open {
		padding: 1.5rem;
	}

	.sc-mobile-stack {
		flex-direction: column !important;
		align-items: stretch !important;
	}
}

@media (max-width: 480px) {
	.sc-section {
		padding-top: 2.6rem;
		padding-bottom: 2.6rem;
	}

	.wp-block-button,
	.wp-block-button__link {
		width: 100%;
		text-align: center;
	}

	.sc-hero .wp-block-buttons {
		width: 100%;
	}

	.sc-hero .wp-block-button {
		flex: 1 1 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.sc-card,
	.wp-block-button__link {
		transition: none;
	}
}
