/*
Theme Name: Coachmultisport
Theme URI: https://coachmultisport.com
Author: VT INNOV
Description: Thème du site coachmultisport.com : le matériel qui aide les coachs à faire progresser leurs sportifs (FullTalkie, Radspo, chrono connecté, tempo trainer).
Requires at least: 6.4
Tested up to: 6.5
Requires PHP: 7.4
Version: 3.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: coachmultisport
*/

/* ---------- Bases ---------- */
body { -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }
td, .cms-prix, .wp-block-post-date { font-variant-numeric: tabular-nums; }
:where(h1, h2, h3, h4) a { text-decoration: none; }
:where(h1, h2, h3, h4) a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
a { text-underline-offset: 3px; text-decoration-thickness: 1px; }

.cms-etiquette {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	color: var(--wp--preset--color--ardoise);
	margin: 0 0 0.9rem;
}
.cms-etiquette.is-dispo { color: #127A3E; }
.cms-legende {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--ardoise);
	margin-top: 0.6rem;
}
.cms-lien-fleche { font-weight: 600; text-decoration: none; border-bottom: 1.5px solid currentColor; padding-bottom: 2px; }
.cms-lien-fleche:hover { color: var(--wp--preset--color--flotteur); }

/* ---------- En-tête ---------- */
.cms-entete .wp-block-navigation a:hover { color: var(--wp--preset--color--flotteur); }
.cms-entete .wp-block-site-title a { color: #000; }

/* ---------- Photos : jamais d'arrondi, jamais d'ombre ---------- */
.cms-photo { margin: 0; }
.cms-photo img { display: block; width: 100%; height: auto; border-radius: 0; }
.cms-photo--16x9 img { aspect-ratio: 16 / 9; object-fit: cover; }
.cms-photo--3x2 img { aspect-ratio: 3 / 2; object-fit: cover; }
.cms-photo--large img { aspect-ratio: 21 / 9; object-fit: cover; }
@media (max-width: 700px) { .cms-photo--large img { aspect-ratio: 4 / 3; } }

/* ---------- Héros ---------- */
.cms-hero h1 { max-width: 13em; }
.cms-hero__texte { max-width: 26em; }

/* ---------- Section Radspo sur fond noir ---------- */
.cms-noir { background: #000; color: #fff; }
.cms-noir h2, .cms-noir h3 { color: #fff; }
.cms-noir a:not(.wp-block-button__link) { color: #fff; }
.cms-noir .cms-etiquette, .cms-noir .cms-legende { color: #9DA1A6; }
.cms-noir .cms-etiquette.is-dispo { color: #6FD39B; }
.cms-noir .cms-liste li { border-color: #2A2C2E; }
.cms-noir .wp-block-button__link:hover { background: #fff !important; color: #000 !important; }

/* ---------- Listes de bénéfices ---------- */
.cms-liste { list-style: none; padding: 0; margin: 0; }
.cms-liste li { padding: 0.95rem 0; border-top: 1px solid var(--wp--preset--color--joint); }
.cms-liste li:last-child { border-bottom: 1px solid var(--wp--preset--color--joint); }
.cms-liste strong { display: block; font-weight: 600; margin-bottom: 0.15rem; }

/* ---------- Lignes « pour qui » et articles ---------- */
.cms-rangees { border-top: 1px solid #000; }
.cms-rangee { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 24px; padding: 1.4rem 0; border-bottom: 1px solid var(--wp--preset--color--joint); }
.cms-rangee h3 { font-size: 1.35rem; margin: 0; letter-spacing: -0.015em; }
.cms-rangee p { margin: 0; color: #2B2D30; }
@media (max-width: 700px) { .cms-rangee { grid-template-columns: 1fr; gap: 6px; } }

.cms-articles .wp-block-post-template { border-top: 1px solid #000; }
.cms-articles .wp-block-post-template > li { border-bottom: 1px solid var(--wp--preset--color--joint); padding: 1.3rem 0; margin: 0 !important; }
.cms-articles .wp-block-post-title { font-size: 1.5rem; letter-spacing: -0.02em; margin: 0.2rem 0 0.4rem; }
.cms-articles .wp-block-post-excerpt { color: var(--wp--preset--color--ardoise); margin: 0; }
.cms-articles .wp-block-post-excerpt p { margin: 0; }

/* ---------- Statuts ---------- */
.cms-statut { font-size: var(--wp--preset--font-size--small); font-weight: 500; color: var(--wp--preset--color--ardoise); }
.cms-statut.is-dispo, .cms-statut.is-devis { color: #127A3E; }

/* ---------- Fiche technique ---------- */
.wp-block-table.is-style-fiche table { border-collapse: collapse; width: 100%; }
.wp-block-table.is-style-fiche thead { border-bottom: 1px solid #000; }
.wp-block-table.is-style-fiche th { font-size: var(--wp--preset--font-size--small); font-weight: 500; color: var(--wp--preset--color--ardoise); }
.wp-block-table.is-style-fiche td,
.wp-block-table.is-style-fiche th { border: 0; border-bottom: 1px solid var(--wp--preset--color--joint); padding: 0.95rem 1rem 0.95rem 0; text-align: left; vertical-align: top; }
.wp-block-table.is-style-fiche tr td:first-child { font-weight: 600; width: 30%; }

/* ---------- Séparateur ---------- */
.wp-block-separator.is-style-ligne-eau { border: 0 !important; height: 1px !important; width: 100% !important; opacity: 1 !important; background: #000 !important; }
.wp-site-blocks > :last-child { margin-block-start: 0; }

/* ---------- Formulaires ---------- */
.cms-form { display: grid; gap: 16px; max-width: 620px; }
.cms-form label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 0.95rem; }
.cms-form input[type="text"], .cms-form input[type="email"], .cms-form input[type="tel"], .cms-form select, .cms-form textarea {
	width: 100%; box-sizing: border-box; font: inherit; padding: 13px 14px;
	border: 1px solid #A8ACB0; border-radius: 2px; background: #fff; color: #000;
}
.cms-form input:focus, .cms-form select:focus, .cms-form textarea:focus { border-color: #000; outline: none; box-shadow: inset 0 0 0 1px #000; }
.cms-form textarea { min-height: 140px; }
.cms-form .cms-form__consent { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ardoise); }
.cms-form .cms-form__consent input { margin-top: 3px; accent-color: #000; }
.cms-form .cms-form__piege { position: absolute !important; left: -9999px !important; height: 1px; overflow: hidden; }
.cms-form button { justify-self: start; font: inherit; font-weight: 600; padding: 14px 24px; border: 0; border-radius: 2px; background: var(--wp--preset--color--flotteur); color: #fff; cursor: pointer; }
.cms-form button:hover { background: #000; }
.cms-form-message { padding: 14px 16px; margin-bottom: 16px; border-left: 3px solid #127A3E; background: #fff; color: #000; }
.cms-form-message.is-erreur { border-left-color: var(--wp--preset--color--flotteur); }

/* ---------- Articles ---------- */
.single .wp-block-post-content h2,
.page-template-default .wp-block-post-content h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: 2.2em; }

/* ---------- Accessibilité ---------- */
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--wp--preset--color--flotteur); outline-offset: 3px; }
.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

/* Tableaux de tarifs : les prix ne se coupent jamais */
.cms-tarifs td:nth-last-child(-n+2), .cms-tarifs th:nth-last-child(-n+2) { white-space: nowrap; }
.cms-tarifs td:first-child { width: 18%; }

/* En-tête mobile : logo, panier et menu sur une seule ligne */
@media (max-width: 600px) {
	.cms-entete .wp-block-buttons { display: none; }
	.cms-entete > .wp-block-group { flex-wrap: nowrap; }
}
