/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* =========================================================================
   TCRV — Composants des shortcodes
   Les couleurs sont regroupées ici : ajustez ces six variables et tout suit.
   ====================================================================== */

:root {
	--tcrv-vert: #003b3b;
	--tcrv-vert-doux: #336262;
	--tcrv-orange: #dd5400;
	--tcrv-bordure: #46655f;
	--tcrv-bordure-claire: #d5e0dd;
	--tcrv-fond-doux: #edf3f1;

	--tcrv-rayon: 6px;
	--tcrv-jour-largeur: 5.5rem;
}

/* -------------------------------------------------------------------------
   [tcrv_creneaux] — pastilles de plages horaires
   ---------------------------------------------------------------------- */

.tcrv-creneaux {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.tcrv-creneaux__jour {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

/* Largeur fixe pour que « Mercredi » et « Vendredi » alignent leurs pastilles. */
.tcrv-creneaux__nom {
	flex: 0 0 var(--tcrv-jour-largeur);
	color: var(--tcrv-vert);
	font-size: 0.9375rem;
	line-height: 1.2;
}

.tcrv-creneaux__liste {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Neutralise la puce que le thème ou Elementor réinjecte parfois. */
.tcrv-creneaux__liste > li::marker {
	content: none;
}

.tcrv-creneaux__item {
	display: inline-flex;
	align-items: center;
	padding: 0.4rem 0.85rem;
	border: 1px solid var(--tcrv-bordure);
	border-radius: var(--tcrv-rayon);
	color: var(--tcrv-vert);
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.3;
	white-space: nowrap; /* « 17h30-18h30 » ne doit jamais se couper. */
}

/* Variante « liste » : une ligne par créneau plutôt que des pastilles. */
.tcrv-creneaux--liste .tcrv-creneaux__liste {
	flex-direction: column;
	gap: 0.25rem;
}

.tcrv-creneaux--liste .tcrv-creneaux__item {
	padding: 0;
	border: 0;
}

@media (max-width: 767px) {
	.tcrv-creneaux__jour {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.35rem;
	}

	.tcrv-creneaux__nom {
		flex-basis: auto;
		font-weight: 600;
	}
}

/* -------------------------------------------------------------------------
   [tcrv_date] — pastille de calendrier
   ---------------------------------------------------------------------- */

.tcrv-date-pastille {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 3.5rem;
	border-radius: var(--tcrv-rayon);
	background: #fff;
	line-height: 1.1;
	text-align: center;
}

.tcrv-date-pastille__jour {
	color: var(--tcrv-vert);
	font-size: 1.5rem;
	font-weight: 700;
}

.tcrv-date-pastille__mois {
	margin-top: 0.15rem;
	color: var(--tcrv-vert-doux);
	font-size: 0.8125rem;
}

/* Posée sur une image (carte « Les prochains rendez-vous »). */
.tcrv-date-pastille--sur-image {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	box-shadow: 0 2px 8px rgb(0 0 0 / 15%);
}

/* -------------------------------------------------------------------------
   [tcrv_sommaire] — « Dans cet article »
   ---------------------------------------------------------------------- */

.tcrv-sommaire__titre {
	margin: 0 0 0.75rem;
	color: var(--tcrv-vert);
	font-size: 1.0625rem;
	font-weight: 600;
}

.tcrv-sommaire__liste {
	margin: 0;
	padding: 0 0 0 1rem;
	border-left: 2px solid var(--tcrv-bordure-claire);
	list-style: none;
}

.tcrv-sommaire__liste > li + li {
	margin-top: 0.6rem;
}

.tcrv-sommaire__liste a {
	color: var(--tcrv-vert-doux);
	font-size: 0.9375rem;
	text-decoration: none;
}

.tcrv-sommaire__liste a:hover,
.tcrv-sommaire__liste a:focus-visible {
	color: var(--tcrv-orange);
	text-decoration: underline;
}

/* Le titre visé ne doit pas se coller sous l'en-tête fixe au clic d'ancre. */
.single-post .entry-content h2[id] {
	scroll-margin-top: 6rem;
}

/* -------------------------------------------------------------------------
   Encadré « Bon à savoir » des articles (bloc Groupe, classe encadre-info)
   ---------------------------------------------------------------------- */

.encadre-info {
	padding: 1.25rem 1.5rem;
	border-left: 3px solid var(--tcrv-orange);
	border-radius: var(--tcrv-rayon);
	background: var(--tcrv-fond-doux);
}

.encadre-info > :first-child {
	margin-top: 0;
}

.encadre-info > :last-child {
	margin-bottom: 0;
}

.encadre-info h3 {
	color: var(--tcrv-orange);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

