/* ==========================================================
   RKM Racing – styles complémentaires
   Signature visuelle : le vibreur rouge et blanc de la piste.
   ========================================================== */

:root {
	--rkm-vibreur: repeating-linear-gradient(90deg, #D7141A 0 34px, #FFFFFF 34px 68px);
}

/* ---------- Vibreur (bande rouge/blanche) ---------- */
.rkm-header { position: relative; z-index: 20; }
.rkm-header::after,
.rkm-footer::before,
.rkm-vibreur {
	content: "";
	display: block;
	height: 10px;
	background: var(--rkm-vibreur);
}
.rkm-header::after { margin-inline: calc(var(--wp--style--root--padding-left) * -1) calc(var(--wp--style--root--padding-right) * -1); }
.rkm-footer { position: relative; }
.rkm-footer::before { position: absolute; inset: 0 0 auto 0; }

/* Titre principal souligné d'un vibreur */
.rkm-kerb-titre::after {
	content: "";
	display: block;
	width: min(320px, 60%);
	height: 12px;
	margin-top: 0.35em;
	background: var(--rkm-vibreur);
	transform: skewX(-20deg);
	transform-origin: left;
}

/* ---------- En-tête ---------- */
.rkm-header a:not(.wp-element-button) { color: #fff; }
.rkm-site-title { font-family: var(--wp--preset--font-family--titre); font-style: italic; font-weight: 900; text-transform: uppercase; font-size: 1.5rem; line-height: 1; }
.rkm-site-title a { color: #fff; text-decoration: none; }
.rkm-phone a { color: #fff; text-decoration: none; font-weight: 600; white-space: nowrap; }
.rkm-phone a:hover { color: #D7141A; }
.rkm-nav { padding-bottom: 0.7rem; }
.rkm-nav a { text-decoration: none; }
.rkm-nav .wp-block-navigation-item__content:hover,
.rkm-nav .current-menu-item > .wp-block-navigation-item__content { color: #D7141A; }
@media (max-width: 600px) {
	.rkm-phone { display: none; }
	.rkm-site-title { font-size: 1.15rem; }
}

/* ---------- Boutons en parallélogramme ---------- */
.wp-block-button__link {
	border-radius: 0 !important;
	clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
	transition: background-color .15s ease;
}
.wp-block-button__link:focus-visible { outline: 3px solid #fff; outline-offset: -7px; }
.wp-block-button.is-style-outline > .wp-block-button__link { clip-path: none; border: 2px solid currentColor; }
.has-noir-background-color .wp-block-button__link:hover,
.has-asphalte-background-color .wp-block-button__link:hover { background: #fff; color: #000; }

/* ---------- Hero vidéo ---------- */
.rkm-hero { align-items: flex-end !important; }
.rkm-hero .wp-block-cover__inner-container { width: 100%; max-width: var(--wp--style--global--wide-size); margin-inline: auto; }
.rkm-hero h1 { color: #fff; text-shadow: 0 2px 18px rgba(0, 0, 0, .45); max-width: 18ch; }
.rkm-hero p { font-size: var(--wp--preset--font-size--moyen); max-width: 46ch; }

/* ---------- Sections ---------- */
.rkm-section { padding-block: var(--wp--preset--spacing--60); }
.rkm-section--sombre { background: #24272C; color: #fff; }
.rkm-section--sombre a:not(.wp-element-button) { color: #fff; }
.rkm-section--beton { background: #ECEDEF; }
.rkm-section .wp-block-image img { width: 100%; height: auto; }
.rkm-photo img { aspect-ratio: 3 / 2; object-fit: cover; }

/* Fiche technique (formules, karts) */
.rkm-fiche { border-left: 6px solid #D7141A; padding-left: 1.1rem; }
.rkm-fiche h3 { margin-top: 0; }
.rkm-vitesse { font-family: var(--wp--preset--font-family--titre); font-style: italic; font-weight: 900; font-size: 2.6rem; line-height: 1; color: #D7141A; margin: 0; }

/* Tuiles de l'accueil */
.rkm-tuile { position: relative; }
.rkm-tuile .wp-block-image { margin: 0; overflow: hidden; }
.rkm-tuile .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; transition: transform .35s ease; }
.rkm-tuile:hover .wp-block-image img { transform: scale(1.04); }
.rkm-tuile h3 { margin: .55rem 0 .2rem; }
.rkm-tuile h3 a { color: inherit; text-decoration: none; }
.rkm-tuile h3 a:hover { color: #D7141A; }
.rkm-tuile p { margin: 0; }

/* Niveaux de stage : vraie séquence, donc numérotée */
.rkm-niveau { background: #fff; padding: 1.4rem 1.4rem 1.1rem; border-top: 8px solid #D7141A; }
.rkm-niveau .rkm-niveau__num { font-family: var(--wp--preset--font-family--titre); font-style: italic; font-weight: 900; font-size: 1.1rem; color: #D7141A; margin: 0; }
.rkm-niveau h3 { margin-top: .1rem; }
.rkm-niveau ul { padding-left: 1.1rem; margin: 0; }

/* Tarifs stage adultes */
.rkm-prix { font-family: var(--wp--preset--font-family--titre); font-style: italic; font-weight: 900; font-size: 3.4rem; line-height: 1; margin: 0; }

/* Iframes Apex Timing */
.rkm-iframe { width: 100%; border: 0; background: #fff; }

/* Pied de page */
.rkm-footer a { color: #fff; }
.rkm-footer a:hover { color: #ff5a5f; }
.rkm-footer__titre { font-size: var(--wp--preset--font-size--grand); }
.rkm-liens { list-style: none; padding-left: 0; }
.rkm-liens li { margin-bottom: .35rem; }
.rkm-plan img { max-width: 260px; }
.rkm-credits { opacity: .7; margin-top: var(--wp--preset--spacing--50); }

@media (prefers-reduced-motion: reduce) {
	.rkm-tuile .wp-block-image img { transition: none; }
	.rkm-tuile:hover .wp-block-image img { transform: none; }
}

hr.rkm-vibreur { border: 0; opacity: 1; margin: 0; width: 100%; max-width: none; }
