/* ════════════════════════════════════════════════════════════════════════
   Espace membres du CVVB — compléments au thème Blocksy
   (couleurs, en-tête et cartes : Apparence → Personnaliser)
   ════════════════════════════════════════════════════════════════════════ */

/* ── Polices hébergées sur le site ─────────────────────────────────────── */
@font-face { font-family: "Outfit"; font-style: normal; font-weight: 300 800; font-display: swap; src: url(fonts/outfit.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 300 800; font-display: swap; src: url(fonts/inter.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-style: italic; font-weight: 300 800; font-display: swap; src: url(fonts/inter-italic.woff2) format("woff2"); }

:root {
	--theme-font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
	--cvvb-titres: "Outfit", ui-sans-serif, system-ui, sans-serif;

	/* Palette « ciel & Beaujolais » — changer ces valeurs suffit à changer de palette
	   (et la palette de Blocksy dans Apparence → Personnaliser → Couleurs) */
	--cvvb-nuit: #12304D;        --cvvb-nuit-rgb: 18 48 77;     /* titres, fonds sombres */
	--cvvb-ciel: #2C6BAA;        --cvvb-ciel-rgb: 44 107 170;   /* liens, boutons */
	--cvvb-ocre: #E3A33B;        /* boutons d'action */
	--cvvb-ocre-clair: #F0BC5E;  /* survol, surtitres sur fond sombre */
	--cvvb-ocre-fonce: #9A6417;  /* surtitres sur fond clair (contraste 5:1) */
	--cvvb-ciel-pale: #E4EFF8;   /* pastilles, icônes */
	--cvvb-ciel-bord: #D5E3F1;
	--cvvb-creme: #FBF5EA;
	--cvvb-filet: #E3E0D8;       /* bordures */
	--cvvb-gris: #56626C;        /* texte secondaire */
	--cvvb-vigne: #4F7A3A;       /* coches */
	--cvvb-texte-clair: #DCE7F2; /* texte sur fond sombre */

	--cvvb-ombre: 0 1px 2px rgb(var(--cvvb-nuit-rgb) / .06), 0 6px 20px rgb(var(--cvvb-nuit-rgb) / .07);
	--cvvb-ombre-forte: 0 4px 10px rgb(var(--cvvb-nuit-rgb) / .08), 0 18px 40px rgb(var(--cvvb-nuit-rgb) / .14);
}
h1, h2, h3, h4, h5, h6, .site-title, .entry-title, .ct-menu-link, .ct-button, .wp-element-button,
.cvvb-bouton, .cvvb-tuile, .page-title {
	--theme-font-family: var(--cvvb-titres) !important;
	font-family: var(--cvvb-titres) !important;
	letter-spacing: -0.01em;
}
h1, h2, h3, h4, .entry-title { font-weight: 600 !important; }

/* ── En-tête : collant, menu lisible ───────────────────────────────────── */
#header { position: sticky; top: 0; z-index: 50; }
.admin-bar #header { top: var(--admin-bar, 32px); }
#header .ct-menu-link { font-size: 15px; font-weight: 500; text-transform: none; }
#header .sub-menu .ct-menu-link { font-family: "Inter", sans-serif !important; font-size: 14.5px; border-radius: 8px; }
#header .site-title { font-weight: 700; }

/* Bouton « + Publier » : réservé à qui peut publier, couleur ocre */
body:not(.cvvb-peut-publier) .ct-header-cta { display: none !important; }
.ct-header-cta .ct-button {
	background: var(--cvvb-ocre) !important; color: var(--cvvb-nuit) !important;
	border-radius: 999px !important; font-weight: 600; padding-inline: 1.2em;
}
.ct-header-cta .ct-button:hover { background: var(--cvvb-ocre-clair) !important; }

/* ── Bandeau d'accueil ─────────────────────────────────────────────────── */
.cvvb-bienvenue {
	color: #fff;
	padding: clamp(2rem, 5vw, 3.5rem) 0;
	background: linear-gradient(120deg, rgb(var(--cvvb-nuit-rgb) / .95) 0%, rgb(var(--cvvb-ciel-rgb) / .85) 100%), url(au-dessus-des-nuages.webp) center / cover;
}
.cvvb-bienvenue h1 { color: #fff; margin: .2rem 0 .5rem; font-size: clamp(2rem, 4vw, 3rem); }
.cvvb-surtitre { margin: 0; color: var(--cvvb-ocre-clair); text-transform: uppercase; letter-spacing: .14em; font-size: .82rem; font-weight: 600; }
.cvvb-sous-titre { margin: 0; max-width: 42rem; font-size: 1.15rem; color: var(--cvvb-texte-clair); }
.cvvb-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1.5rem 0 0; }
.cvvb-bouton {
	display: inline-block; padding: .7rem 1.4rem; border-radius: 999px; font-weight: 600; text-decoration: none;
	color: #fff !important; border: 2px solid rgb(255 255 255 / .85); transition: background .15s, transform .15s;
}
.cvvb-bouton:hover { background: rgb(255 255 255 / .12); transform: translateY(-1px); }
.cvvb-bouton-ocre { background: var(--cvvb-ocre); border-color: var(--cvvb-ocre); color: var(--cvvb-nuit) !important; }
.cvvb-bouton-ocre:hover { background: var(--cvvb-ocre-clair); }

/* ── Accès rapides (bloc de contenu « Accès rapides ») ────────────────── */
.cvvb-titre-section { font-size: 1.6rem; line-height: 2.375rem; margin: 0 0 1rem !important; }
.cvvb-tuiles { gap: .8rem !important; margin-bottom: 2.4rem !important; }
.cvvb-tuile { margin: 0 !important; }
.cvvb-tuile a {
	display: flex; align-items: center; gap: .75rem; height: 100%; padding: .85rem 1rem;
	border-radius: 14px; background: #fff; border: 1px solid var(--cvvb-filet); box-shadow: var(--cvvb-ombre);
	color: var(--cvvb-nuit) !important; font-weight: 600; line-height: 1.25; text-decoration: none !important;
	transition: transform .15s, box-shadow .15s, border-color .15s;
}
.cvvb-tuile a:hover { transform: translateY(-2px); box-shadow: var(--cvvb-ombre-forte); border-color: var(--cvvb-ciel); }
.cvvb-tuile-icone { flex: none; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 10px; background: var(--cvvb-ciel-pale); font-size: 1.2rem; }

/* ── Cartes d'articles ─────────────────────────────────────────────────── */
.entries .entry-card { border: 1px solid var(--cvvb-filet); transition: transform .2s, box-shadow .2s; }
.entries .entry-card:hover { transform: translateY(-3px); box-shadow: var(--cvvb-ombre-forte) !important; }
.entries .entry-title { font-size: 1.2rem !important; line-height: 1.25; }
.entries .entry-title a { color: var(--cvvb-nuit); }
.entries .meta-categories a, .entry-header .meta-categories a {
	display: inline-block; padding: .15rem .6rem; border-radius: 999px; background: var(--cvvb-ciel-pale);
	color: var(--cvvb-ciel) !important; font-weight: 600; text-transform: none; letter-spacing: .01em;
}
.ct-pagination [class*=page-numbers] { border-radius: 999px !important; }

/* ── Colonne latérale : cartes blanches ────────────────────────────────── */
.ct-sidebar .ct-widget, .ct-sidebar > [class*=ct-content-block] {
	background: #fff; border-radius: 16px; padding: 1rem; box-shadow: var(--cvvb-ombre); border: 1px solid var(--cvvb-filet); overflow: hidden;
}
.ct-sidebar img { border-radius: 10px; }

/* ── Page de connexion (et menu masqué tant qu'on n'est pas connecté) ─────── */
body:not(.logged-in) #header [data-id="menu"],
body:not(.logged-in) #header [data-id="trigger"] { display: none !important; }

body:is(.page-id-214, .page-id-1136) #main {
	background: linear-gradient(180deg, rgb(var(--cvvb-nuit-rgb) / .55), rgb(var(--cvvb-nuit-rgb) / .78)), url(au-dessus-des-nuages.webp) center / cover;
	min-height: 75vh; padding: clamp(2rem, 6vw, 4rem) 1rem;
}
body:is(.page-id-214, .page-id-1136) #main article {
	width: min(100%, 480px); margin-inline: auto; background: #fff; border-radius: 22px;
	padding: 2.2rem 2rem 1.6rem; box-shadow: var(--cvvb-ombre-forte);
}
body:is(.page-id-214, .page-id-1136) #main article .hero-section { margin: 0 0 1.2rem; text-align: center; }
body:is(.page-id-214, .page-id-1136) #main article .page-title::after {
	content: "Réservé aux membres du CVVB"; display: block; margin-top: .4rem;
	font: 400 1rem/1.4 "Inter", sans-serif; color: var(--cvvb-gris); letter-spacing: 0;
}
body:is(.page-id-214, .page-id-1136) .um { max-width: none !important; }
body:is(.page-id-214, .page-id-1136) .um :is(.um-button, input[type=submit].um-button, a.um-button) { border-radius: 999px !important; background: var(--cvvb-ciel) !important; }
body:is(.page-id-214, .page-id-1136) .um input { border-radius: 10px !important; }
body:is(.page-id-214, .page-id-1136) [class*=post-views] { display: none; }   /* compteur de vues inutile ici */

@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* ── Webcam dans le bandeau d'accueil ──────────────────────────────────── */
.cvvb-bienvenue-grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 40%); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.cvvb-webcam { margin: 0; padding: .7rem .7rem .8rem; background: #fff; border-radius: 18px; box-shadow: var(--cvvb-ombre-forte); }
.cvvb-webcam > img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 12px; background: var(--cvvb-ciel-pale); }
.cvvb-webcam figcaption { margin: .6rem .3rem 0; color: var(--cvvb-nuit); font-size: .9rem; line-height: 1.4; }
.cvvb-webcam figcaption a { color: var(--cvvb-ciel); }
@media (max-width: 900px) { .cvvb-bienvenue-grille { grid-template-columns: 1fr; } }

/* Webcam et coupe verticale SkySight côte à côte (l'une sous l'autre sur téléphone) */
.cvvb-bienvenue-grille:has(.cvvb-coupe) { grid-template-columns: minmax(0, 1fr) minmax(0, 54%); }
.cvvb-medias { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 1rem; align-items: start; }
/* miniature : les basses couches (sol → ~3 000 m), l'image entière s'ouvre au clic */
.cvvb-coupe img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center 88%; border-radius: 12px; background: var(--cvvb-ciel-pale); cursor: zoom-in; }
@media (max-width: 900px) { .cvvb-bienvenue-grille:has(.cvvb-coupe) { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .cvvb-medias { grid-auto-flow: row; } }

/* 8 accès rapides en tête de la colonne de droite : quatre rangées de deux, sans cadre autour */
.ct-sidebar [class*=ct-content-block]:has(.cvvb-tuiles) { padding: 0; border: 0; background: none; box-shadow: none; overflow: visible; }
.ct-sidebar .cvvb-titre-section { font-size: 1.3rem; line-height: 1.6rem; margin-bottom: .8rem !important; }
.ct-sidebar .cvvb-tuiles { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .6rem !important; margin-bottom: 0 !important; }
.ct-sidebar .cvvb-tuile a { padding: .7rem .75rem; gap: .6rem; font-size: .92rem; }
.ct-sidebar .cvvb-tuile-icone { width: 2rem; height: 2rem; font-size: 1rem; }

/* ── Carte « Bien démarrer au CVVB » (bloc de contenu, colonne de droite) ─ */
.cvvb-carte-info {
	padding: 1.3rem 1.3rem 1.2rem; border-radius: 16px;
	background: linear-gradient(160deg, var(--cvvb-ciel-pale) 0%, #FFFFFF 70%);
	border: 1px solid var(--cvvb-ciel-bord);
}
.cvvb-carte-info > * { margin-block: 0 !important; }
.cvvb-carte-info > * + * { margin-top: .7rem !important; }
.cvvb-carte-info-surtitre { color: var(--cvvb-ciel); font-weight: 600; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; }
.cvvb-carte-info h3 { font-size: 1.3rem; margin-top: .25rem !important; }
.cvvb-carte-info p { font-size: .95rem; line-height: 1.5; }
.cvvb-carte-info-liste { list-style: none; padding: 0; font-size: .92rem; }
.cvvb-carte-info-liste li { position: relative; padding: .45rem 0 .45rem 1.5rem; border-top: 1px solid var(--cvvb-filet); }
.cvvb-carte-info-liste li:first-child { border-top: 0; }
.cvvb-carte-info-liste li::before { content: "✓"; position: absolute; left: 0; color: var(--cvvb-vigne); font-weight: 700; }
.cvvb-carte-info .wp-block-button__link { width: 100%; border-radius: 999px; background: var(--cvvb-ciel); font-weight: 600; }
.cvvb-carte-info .wp-block-button__link:hover { background: var(--cvvb-nuit); }
/* la carte se suffit à elle-même : pas de deuxième cadre autour */
.ct-sidebar [class*=ct-content-block]:has(.cvvb-carte-info) { padding: 0; border: 0; background: none; box-shadow: none; }

/* ── Carte « Album du club » (blocs Partager vos photos) ───────────────── */
.cvvb-carte-photos { border-radius: 16px; overflow: hidden; padding: 1.3rem !important; align-items: flex-end !important; }
.cvvb-carte-photos .wp-block-cover__inner-container > * { margin-block: 0 !important; }
.cvvb-carte-photos .wp-block-cover__inner-container > * + * { margin-top: .6rem !important; }
.cvvb-carte-photos-surtitre { color: var(--cvvb-ocre-clair); font-weight: 600; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; }
.cvvb-carte-photos h3 { color: #fff !important; font-size: 1.3rem; line-height: 1.25; }
.cvvb-carte-photos p { color: var(--cvvb-texte-clair); font-size: .95rem; line-height: 1.5; text-shadow: 0 1px 8px rgb(0 0 0 / .35); }
.cvvb-bouton-album .wp-block-button__link { width: 100%; border-radius: 999px; background: var(--cvvb-ocre) !important; color: var(--cvvb-nuit) !important; font-weight: 600; }
.cvvb-bouton-album .wp-block-button__link:hover { background: var(--cvvb-ocre-clair) !important; }
.ct-sidebar [class*=ct-content-block]:has(.cvvb-carte-photos), [class*=ct-content-block]:has(.cvvb-carte-photos) { padding: 0; border: 0; background: none; box-shadow: none; }
.ct-sidebar > * + * { margin-top: 20px; }   /* espace entre les cartes de la colonne */

/* Accueil : 30 px entre le bandeau bleu et le bloc « Bienvenue sur le site… »,
   et 30 px entre ce bloc et le texte « Accès rapides » (bloc de contenu n° 3142).
   En bas, 20 px de marge + ~14 px entre le haut de la ligne du titre et ses lettres. */
.home [data-block="hook:3142"] { margin-top: 30px; }
.home [data-block="hook:3142"] + .ct-container[data-vertical-spacing] { padding-top: 20px !important; }

/* ── Carte « Bienvenue sur le site des membres » (bloc Message d'accueil V2) ─ */
.cvvb-carte-accueil {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 17rem); gap: 1.5rem 2.5rem; align-items: center;
	padding: 1.8rem 2rem; border-radius: 18px; background: #fff;
	border: 1px solid var(--cvvb-filet); border-left: 6px solid var(--cvvb-ocre); box-shadow: var(--cvvb-ombre);
}
.cvvb-carte-accueil > * { margin: 0 !important; }
.cvvb-carte-accueil-texte > * { margin-block: 0 !important; }
.cvvb-carte-accueil-texte > * + * { margin-top: .55rem !important; }
.cvvb-carte-accueil-surtitre { color: var(--cvvb-ocre-fonce); font-weight: 600; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; }
.cvvb-carte-accueil h2 { font-size: clamp(1.35rem, 2.2vw, 1.7rem); margin-top: .2rem !important; }
.cvvb-carte-accueil p { line-height: 1.6; }
.cvvb-carte-accueil-action {
	padding: 1.2rem; border-radius: 14px; background: var(--cvvb-creme); text-align: center;
}
.cvvb-bouton-lance .wp-block-button__link {
	width: 100%; border-radius: 999px; padding: .85rem 1.2rem; font-size: 1.05rem; font-weight: 600;
	background: var(--cvvb-ocre) !important; color: var(--cvvb-nuit) !important;
}
.cvvb-bouton-lance .wp-block-button__link:hover { background: var(--cvvb-ocre-clair) !important; }
.cvvb-carte-accueil-aide { margin: .7rem 0 0 !important; font-size: .88rem; color: var(--cvvb-gris); line-height: 1.45 !important; }
/* le bloc est en « contenu étroit » : la carte reprend la largeur de la page */
[data-block="hook:3142"] > .ct-container-full[data-content="narrow"] { --theme-block-max-width: var(--theme-normal-container-max-width); }
[data-block="hook:3142"] .entry-content > .cvvb-carte-accueil { max-width: var(--theme-normal-container-max-width, 1290px) !important; width: calc(100% - 2 * var(--theme-content-spacing, 0px)); margin-inline: auto !important; }
@media (max-width: 800px) {
	.cvvb-carte-accueil { grid-template-columns: 1fr; padding: 1.4rem; }
}

/* ── Conditions de vol : baromètre 3 jours + point météo (sous le bandeau) ─ */
.cvvb-point-meteo {
	margin: 1.4rem 0 0; padding: 1.1rem 1.5rem 0; border-radius: 16px; background: #fff;
	border: 1px solid var(--cvvb-filet); box-shadow: var(--cvvb-ombre);
}
.cvvb-point-meteo-surtitre { margin: 0 0 .9rem; color: var(--cvvb-ciel); font-weight: 600; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; }

/* Baromètre : une tuile par jour, couleur selon la distance potentielle */
.cvvb-barometre { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.cvvb-barometre-jour {
	--niveau: #9AA5B1;
	padding: .8rem 1rem 1rem; border-radius: 14px; text-align: center;
	background: color-mix(in srgb, var(--niveau) 9%, #fff); border: 1px solid color-mix(in srgb, var(--niveau) 30%, #fff);
}
.cvvb-niveau-nul { --niveau: #9AA5B1; }
.cvvb-niveau-local { --niveau: #6C8EAD; }
.cvvb-niveau-petit { --niveau: #5B7FE0; }
.cvvb-niveau-bon { --niveau: #3FA66A; }
.cvvb-niveau-tres-bon { --niveau: #E3A33B; }
.cvvb-niveau-exceptionnel { --niveau: #D9534F; }
.cvvb-barometre-date { margin: 0; color: var(--cvvb-nuit); font-family: var(--cvvb-titres); font-weight: 600; font-size: 1.05rem; }
.cvvb-jauge { display: block; width: min(100%, 170px); margin: .2rem auto 0; }
.cvvb-jauge-fond, .cvvb-jauge-valeur { fill: none; stroke-width: 9; stroke-linecap: round; }
.cvvb-jauge-fond { stroke: color-mix(in srgb, var(--niveau) 18%, #fff); }
.cvvb-jauge-valeur { stroke: var(--niveau); }
.cvvb-jauge-nombre { text-anchor: middle; font-family: var(--cvvb-titres); font-weight: 700; font-size: 22px; fill: var(--cvvb-nuit); }
.cvvb-jauge-unite { text-anchor: middle; font-size: 8px; fill: var(--cvvb-gris); }
.cvvb-barometre-libelle { margin: .3rem 0 0; color: color-mix(in srgb, var(--niveau) 75%, #000); font-weight: 700; }
.cvvb-barometre-infos { margin: .25rem 0 0; color: var(--cvvb-gris); font-size: .85rem; line-height: 1.4; }

/* Point météo rédigé : résumé visible, détail au clic */
.cvvb-point-meteo-details { margin-top: 1rem; border-top: 1px solid var(--cvvb-filet); }
.cvvb-point-meteo-details summary {
	display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem 1.5rem; align-items: center;
	padding: 1rem 0; cursor: pointer; list-style: none;
}
.cvvb-point-meteo-details summary::-webkit-details-marker { display: none; }
.cvvb-point-meteo-resume { color: var(--cvvb-nuit); font-weight: 600; line-height: 1.45; }
.cvvb-point-meteo-ouvrir { padding: .45rem 1rem; border-radius: 999px; background: var(--cvvb-ciel-pale); color: var(--cvvb-ciel); font-weight: 600; white-space: nowrap; }
.cvvb-point-meteo-ouvrir::after { content: " ▾"; }
.cvvb-point-meteo-details[open] .cvvb-point-meteo-ouvrir::after { content: " ▴"; }
.cvvb-point-meteo-texte { padding: 0 0 .5rem; }
.cvvb-point-meteo-texte h3 { font-size: 1.1rem; margin: 1.1rem 0 .4rem; color: var(--cvvb-nuit); }
.cvvb-point-meteo-texte p, .cvvb-point-meteo-texte li { line-height: 1.55; }
.cvvb-point-meteo-texte ul { margin: 0 0 .5rem; padding-left: 1.2rem; }
.cvvb-point-meteo-source { margin: 0; padding: .8rem 0 1rem; color: var(--cvvb-gris); font-size: .82rem; border-top: 1px solid var(--cvvb-filet); }
.cvvb-barometre + .cvvb-point-meteo-source { margin-top: 1rem; }
@media (max-width: 700px) {
	.cvvb-barometre { grid-template-columns: 1fr; }
	.cvvb-barometre-jour { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 0 .8rem; align-items: center; text-align: left; }
	.cvvb-barometre-jour .cvvb-jauge { grid-row: 1 / span 3; grid-column: 1; margin: 0; }
	.cvvb-point-meteo-details summary { grid-template-columns: 1fr; }
	.cvvb-point-meteo-ouvrir { justify-self: start; }
}

/* Baromètre : intitulé de la jauge */
.cvvb-barometre-titre { margin: .15rem 0 0; color: var(--cvvb-gris); font-size: .78rem; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; }
.cvvb-jauge-unite { font-size: 10px; }
@media (max-width: 700px) {
	.cvvb-barometre-jour .cvvb-barometre-titre { grid-column: 2; }
	.cvvb-barometre-jour .cvvb-jauge { grid-row: 1 / span 4; }
}

/* Tuiles du baromètre cliquables : ouvrent la visionneuse (carte des distances, coupe) */
.cvvb-barometre-jour[role="button"] { cursor: pointer; transition: transform .15s, box-shadow .15s; }
.cvvb-barometre-jour[role="button"]:hover, .cvvb-barometre-jour[role="button"]:focus-visible { transform: translateY(-2px); box-shadow: var(--cvvb-ombre-forte); outline: none; }
.cvvb-barometre-aide { margin: .6rem 0 0; color: var(--cvvb-gris); font-size: .85rem; }
.cvvb-coupe a[data-visionneuse] img { cursor: zoom-in; }

/* Visionneuse plein écran */
.cvvb-visionneuse {
	width: min(1200px, 96vw); max-height: 94vh; padding: 0; border: 0; border-radius: 16px;
	background: #fff; color: var(--cvvb-nuit); box-shadow: 0 30px 80px rgb(0 0 0 / .45); overflow: hidden;
}
.cvvb-visionneuse::backdrop { background: rgb(var(--cvvb-nuit-rgb) / .75); }
.cvvb-visionneuse-tete { display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; align-items: center; padding: .8rem 1rem; border-bottom: 1px solid var(--cvvb-filet); }
.cvvb-visionneuse-onglets, .cvvb-visionneuse-jours { display: flex; gap: .3rem; padding: .25rem; border-radius: 999px; background: var(--cvvb-ciel-pale); }
.cvvb-visionneuse-tete button {
	border: 0; border-radius: 999px; padding: .45rem .95rem; background: none; color: var(--cvvb-nuit);
	font: inherit; font-weight: 600; cursor: pointer;
}
.cvvb-visionneuse-tete button[aria-selected="true"], .cvvb-visionneuse-tete button[aria-current="true"] { background: var(--cvvb-ciel); color: #fff; }
.cvvb-visionneuse-tete button:disabled { opacity: .4; cursor: default; }
.cvvb-visionneuse-fermer { margin-left: auto; font-size: 1.2rem !important; line-height: 1; }
.cvvb-visionneuse-cadre { margin: 0; padding: .8rem 1rem 1rem; }
.cvvb-visionneuse-image { cursor: zoom-out; display: block; width: 100%; height: auto; max-height: calc(94vh - 9rem); object-fit: contain; border-radius: 10px; background: var(--cvvb-ciel-pale); touch-action: pan-y pinch-zoom; }
.cvvb-visionneuse-legende { margin-top: .6rem; color: var(--cvvb-gris); font-size: .9rem; }
@media (max-width: 700px) {
	.cvvb-visionneuse { width: 100vw; max-width: 100vw; max-height: 100dvh; height: 100dvh; border-radius: 0; }
	.cvvb-visionneuse-tete { padding: .6rem; }
	.cvvb-visionneuse-tete button { padding: .4rem .7rem; font-size: .9rem; }
	.cvvb-visionneuse-image { max-height: calc(100dvh - 10rem); }
}

/* Prévisions périmées (conteneur sans mise à jour depuis plus de 24 h) */
.cvvb-point-meteo-alerte {
	margin: 0 0 1rem; padding: .8rem 1rem; border-radius: 12px; line-height: 1.5;
	background: #FFF4E5; border: 1px solid #F0C27B; color: #7A4A06;
}
.cvvb-coupe.cvvb-perime img { filter: grayscale(.7); opacity: .75; }
.cvvb-coupe.cvvb-perime figcaption { color: #9A5B08; }

/* ── Roue crantée des réglages (en-tête) ─────────────────────────────────── */
.cvvb-reglages-bouton {
	display: inline-grid; place-items: center; width: 2.4rem; height: 2.4rem; margin-right: .6rem; padding: 0;
	border: 1px solid var(--cvvb-filet); border-radius: 999px; background: var(--cvvb-ciel-pale); color: var(--cvvb-nuit);
	cursor: pointer; transition: transform .3s;
}
.cvvb-reglages-bouton:hover { transform: rotate(60deg); }
html.cvvb-sombre .cvvb-reglages-bouton { color: #C0CAF5; border-color: #3B4261; }

/* ── Mode sombre (couleurs Tokyo Night) ──────────────────────────────────
   Généré depuis la palette « tokyo » du sélecteur du site de test (outils/test-ovh) :
   variables de couleur, puis fonds blancs écrits en dur (en-tête, cartes, tuiles…) remplacés */
html.cvvb-sombre { --cvvb-nuit:#16161E; --cvvb-ciel:#7AA2F7; --cvvb-ocre:#FF9E64; --cvvb-ocre-clair:#FFB38A; --cvvb-ocre-fonce:#E0AF68; --cvvb-ciel-pale:#292E42; --cvvb-ciel-bord:#3B4261; --cvvb-creme:#1F2335; --cvvb-filet:#3B4261; --cvvb-gris:#9AA5CE; --cvvb-vigne:#9ECE6A; --cvvb-texte-clair:#C0CAF5; --cvvb-nuit-rgb:22 22 30; --cvvb-ciel-rgb:122 162 247; --theme-palette-color-1:#7AA2F7; --theme-palette-color-2:#16161E; --theme-palette-color-3:#A9B1D6; --theme-palette-color-4:#16161E; --theme-palette-color-5:#3B4261; --theme-palette-color-6:#1A1B26; --theme-palette-color-7:#1F2335; --theme-text-color:#A9B1D6; --theme-link-initial-color:#7AA2F7; --theme-link-hover-color:#16161E; }
html.cvvb-sombre body { background-color:#1A1B26 !important; }
html.cvvb-sombre { --theme-palette-color-2:#7DCFFF !important; --theme-palette-color-4:#C0CAF5 !important; --theme-palette-color-8:#24283B !important; --theme-headings-color:#C0CAF5 !important; --theme-heading-color:#C0CAF5 !important; --theme-border-color:#3B4261 !important; --cvvb-ombre:0 1px 2px rgb(0 0 0/.3),0 6px 20px rgb(0 0 0/.25); --cvvb-ombre-forte:0 4px 10px rgb(0 0 0/.35),0 18px 40px rgb(0 0 0/.4); }
html.cvvb-sombre body { color:#A9B1D6 !important; color-scheme:dark; }
html.cvvb-sombre h1, html.cvvb-sombre h2, html.cvvb-sombre h3, html.cvvb-sombre h4, html.cvvb-sombre h5, html.cvvb-sombre h6, html.cvvb-sombre .site-title, html.cvvb-sombre .site-title a, html.cvvb-sombre .entry-title a, html.cvvb-sombre .cvvb-tuile a, html.cvvb-sombre .cvvb-webcam figcaption, html.cvvb-sombre .page-title, html.cvvb-sombre .ct-sidebar strong { color:#C0CAF5 !important; }
html.cvvb-sombre #header [data-row], html.cvvb-sombre #header [data-row]>div, html.cvvb-sombre .ct-header, html.cvvb-sombre .ct-drawer-canvas .ct-panel-inner, html.cvvb-sombre #offcanvas .ct-panel-inner, html.cvvb-sombre .sub-menu, html.cvvb-sombre .entry-card, html.cvvb-sombre .cvvb-tuile a, html.cvvb-sombre .cvvb-webcam, html.cvvb-sombre .cvvb-carte-accueil, html.cvvb-sombre .ct-sidebar .ct-widget, html.cvvb-sombre .ct-sidebar>[class*=ct-content-block]:not(:has(.cvvb-carte-info,.cvvb-carte-photos,.cvvb-tuiles)), html.cvvb-sombre body:is(.page-id-214,.page-id-1136) #main article, html.cvvb-sombre .ct-footer, html.cvvb-sombre .ct-footer [data-row] { background:#24283B !important; background-color:#24283B !important; }
html.cvvb-sombre .entry-card, html.cvvb-sombre .cvvb-tuile a, html.cvvb-sombre .cvvb-webcam, html.cvvb-sombre .ct-sidebar .ct-widget { border-color:#3B4261 !important; }
html.cvvb-sombre #header [data-row] { border-color:#3B4261 !important; }
html.cvvb-sombre .sub-menu a:hover, html.cvvb-sombre .sub-menu li:hover>a { background:#292E42 !important; }
html.cvvb-sombre .cvvb-carte-info { background:linear-gradient(160deg,#292E42 0%,#24283B 75%) !important; }
html.cvvb-sombre .cvvb-bienvenue { background:linear-gradient(120deg,rgb(22 22 30/.94) 0%,#BB9AF799 100%),url(/wp-content/themes/blocksy-child/cvvb/au-dessus-des-nuages.webp) center/cover !important; }
html.cvvb-sombre .cvvb-point-meteo { background:#24283B !important; border-color:#3B4261 !important; }
html.cvvb-sombre .cvvb-barometre-jour { background:color-mix(in srgb,var(--niveau) 14%,#24283B) !important; border-color:color-mix(in srgb,var(--niveau) 40%,#24283B) !important; }
html.cvvb-sombre .cvvb-jauge-fond { stroke:color-mix(in srgb,var(--niveau) 22%,#24283B) !important; }
html.cvvb-sombre .cvvb-jauge-nombre { fill:#C0CAF5 !important; }
html.cvvb-sombre .cvvb-jauge-unite { fill:#A9B1D6 !important; }
html.cvvb-sombre .cvvb-barometre-date, html.cvvb-sombre .cvvb-point-meteo-resume, html.cvvb-sombre .cvvb-point-meteo-texte h3, html.cvvb-sombre .cvvb-point-meteo-texte strong { color:#C0CAF5 !important; }
html.cvvb-sombre .cvvb-barometre-libelle { color:color-mix(in srgb,var(--niveau) 70%,#fff) !important; }
html.cvvb-sombre .cvvb-barometre-titre, html.cvvb-sombre .cvvb-barometre-infos, html.cvvb-sombre .cvvb-barometre-legende, html.cvvb-sombre .cvvb-barometre-legende small, html.cvvb-sombre .cvvb-point-meteo-source { color:#A9B1D6 !important; }
html.cvvb-sombre .cvvb-point-meteo-details, html.cvvb-sombre .cvvb-point-meteo-source { border-color:#3B4261 !important; }
html.cvvb-sombre .cvvb-visionneuse { background:#24283B !important; color:#C0CAF5 !important; }
html.cvvb-sombre .cvvb-visionneuse-tete { border-color:#3B4261 !important; }
html.cvvb-sombre .cvvb-visionneuse-tete button { color:#C0CAF5 !important; }
html.cvvb-sombre .cvvb-visionneuse-tete button[aria-selected=true], html.cvvb-sombre .cvvb-visionneuse-tete button[aria-current=true] { color:#16161E !important; }
html.cvvb-sombre .cvvb-visionneuse-legende, html.cvvb-sombre .cvvb-barometre-aide { color:#A9B1D6 !important; }
html.cvvb-sombre .wp-element-button, html.cvvb-sombre .ct-button, html.cvvb-sombre input[type=submit], html.cvvb-sombre button[type=submit], html.cvvb-sombre .nf-form-cont input[type=button] { color:#16161E !important; }
html.cvvb-sombre input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]), html.cvvb-sombre textarea, html.cvvb-sombre select { background:#1A1B26 !important; color:#A9B1D6 !important; border-color:#3B4261 !important; }

/* ═══ Version téléphone ═══════════════════════════════════════════════════
   En-tête compact (en-tête mobile de Blocksy, < 1000 px) ; le reste sous 700 px :
   bandeau allégé, baromètre compact, articles en liste, barre de navigation du bas
   et panneau « Accès rapides » (la colonne de droite est masquée par Blocksy). */
.cvvb-court, .cvvb-nav-mobile { display: none; }

@media (max-width: 999px) {
	#header [data-device="mobile"] [data-row="middle"] { --height: 76px; }
	#header [data-device="mobile"] [data-id="logo"] .site-logo-container { --logo-max-height: 54px !important; }
	#header [data-device="mobile"] [data-id="logo"] .site-logo-container img { max-height: 54px !important; width: auto !important; }
	#header [data-device="mobile"] .site-branding { gap: .7rem !important; }
	#header [data-device="mobile"] .site-title { font-size: clamp(.75rem, 3.5vw, .9rem) !important; line-height: 1.2 !important; text-align: left !important; }
	#header [data-device="mobile"] .site-title a { display: block; max-width: 9rem; }   /* « Espace membre du / Planeur Beaujolais » */
}

@media (max-width: 699px) {
	.cvvb-long { display: none; }
	.cvvb-court { display: inline; }

	/* Bandeau : bonjour, une ligne de petits boutons, webcam et coupe côte à côte */
	.cvvb-bienvenue { padding: 1rem 0 1.1rem; }
	.cvvb-bienvenue-grille { gap: .8rem; }
	.cvvb-surtitre, .cvvb-sous-titre { display: none; }
	.cvvb-bienvenue h1 { font-size: 1.55rem; margin: 0; }
	.cvvb-actions { flex-wrap: nowrap; gap: .4rem; margin: .7rem 0 0; }
	.cvvb-actions .cvvb-bouton { padding: .4rem .8rem; font-size: .85rem; white-space: nowrap; }
	.cvvb-medias { grid-auto-flow: column !important; grid-auto-columns: minmax(0, 1fr); gap: .6rem; }
	.cvvb-webcam { padding: .35rem .35rem .4rem; border-radius: 12px; }
	.cvvb-webcam > img, .cvvb-coupe img { border-radius: 8px; }
	.cvvb-webcam figcaption { margin: .3rem .2rem 0; font-size: .8rem; }

	/* Conditions de vol : trois tuiles côte à côte, l'essentiel seulement (détails dans la visionneuse) */
	.cvvb-point-meteo { margin-top: .9rem; padding: .9rem .8rem 0; }
	.cvvb-point-meteo-surtitre { margin-bottom: .6rem; font-size: .78rem; }
	.cvvb-barometre { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: .45rem; }
	.cvvb-barometre-jour { display: block !important; padding: .5rem .3rem .6rem; text-align: center !important; }
	.cvvb-barometre-jour .cvvb-jauge { grid-row: auto !important; width: 100%; max-width: 110px; margin: .1rem auto 0 !important; }
	.cvvb-barometre-titre, .cvvb-barometre-infos, .cvvb-barometre-aide { display: none; }
	.cvvb-barometre-date { font-size: .85rem; }
	.cvvb-barometre-libelle { margin-top: .1rem; font-size: .72rem; line-height: 1.2; }
	.cvvb-point-meteo-details summary { padding: .7rem 0; }
	.cvvb-point-meteo-resume { font-size: .92rem; }
	.cvvb-point-meteo-source { font-size: .75rem; }

	/* Carte « Bienvenue » et album : retirés de la page (le bouton et l'album sont dans le panneau) */
	body.logged-in .ct-container-full:has(.cvvb-carte-accueil),
	body.logged-in .ct-hidden-md.ct-hidden-lg:has(.cvvb-carte-photos) { display: none !important; }

	/* Articles en liste compacte : catégorie, titre, date, petite vignette */
	.entries { gap: .6rem !important; }
	.entries .entry-card { display: grid !important; grid-template-columns: minmax(0, 1fr) 72px; column-gap: .75rem; align-items: start; padding: .75rem .9rem !important; }
	.entries .entry-card > * { grid-column: 1; margin: 0 !important; }
	.entries .entry-card:not(:has(> .ct-media-container)) > * { grid-column: 1 / -1; }   /* sans image : toute la largeur */
	.entries .entry-card > .ct-media-container { grid-column: 2; grid-row: 1 / span 3; width: 72px; height: 72px; border-radius: 10px; overflow: hidden; }
	.entries .entry-card > .ct-media-container img { width: 100%; height: 100%; object-fit: cover; }
	.entries .entry-excerpt, .entries .meta-author, .entries .meta-comments { display: none !important; }
	.entries .entry-title { margin: .25rem 0 !important; font-size: .98rem !important; line-height: 1.3; }
	.entries .entry-meta { font-size: .75rem; }

	/* Barre de navigation du bas */
	body.logged-in { padding-bottom: calc(60px + env(safe-area-inset-bottom)); }
	.cvvb-nav-mobile {
		display: grid; grid-template-columns: repeat(3, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990;
		padding-bottom: env(safe-area-inset-bottom); background: #fff; border-top: 1px solid var(--cvvb-filet); box-shadow: 0 -4px 20px rgb(0 0 0 / .08);
	}
	.cvvb-nav-mobile a {
		display: flex; flex-direction: column; align-items: center; gap: .15rem; padding: .45rem 0 .5rem;
		color: var(--cvvb-gris) !important; font-size: .72rem; font-weight: 600; text-decoration: none !important;
	}
	.cvvb-nav-mobile a span { font-size: 1.25rem; line-height: 1; }
	.cvvb-nav-mobile a.actif { color: var(--cvvb-ciel) !important; }
	#cvvb-meteo, #cvvb-news { scroll-margin-top: 1rem; }
}

/* Panneau « Accès rapides » (monte du bas de l'écran) */
.cvvb-panneau {
	width: 100vw; max-width: 100vw; max-height: 85dvh; margin: auto 0 0; padding: 0; border: 0; border-radius: 20px 20px 0 0;
	background: var(--theme-palette-color-6, #F7F3EC); overflow: auto;
}
.cvvb-panneau::backdrop { background: rgb(var(--cvvb-nuit-rgb) / .55); }
.cvvb-panneau-tete {
	position: sticky; top: 0; z-index: 1; display: flex; justify-content: space-between; align-items: center;
	padding: .8rem 1rem; background: inherit; border-bottom: 1px solid var(--cvvb-filet);
}
.cvvb-panneau-tete p { margin: 0; color: var(--cvvb-nuit); font-family: var(--cvvb-titres); font-weight: 700; }
.cvvb-panneau-fermer { width: 2.2rem; height: 2.2rem; border: 0; border-radius: 999px; background: var(--cvvb-ciel-pale); color: var(--cvvb-nuit); cursor: pointer; }
.cvvb-panneau-contenu { display: grid; gap: 1rem; padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom)); }
.cvvb-panneau .cvvb-tuiles { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .5rem !important; margin: 0 !important; }
.cvvb-panneau .cvvb-tuile a { padding: .6rem .7rem; gap: .5rem; font-size: .9rem; }
.cvvb-panneau .cvvb-tuile-icone { width: 2rem; height: 2rem; font-size: 1rem; }
.cvvb-panneau-lance { margin: 0; }
.cvvb-panneau-lance a {
	display: block; padding: .8rem 1rem; border-radius: 999px; text-align: center;
	background: var(--cvvb-ocre); color: var(--cvvb-nuit) !important; font-weight: 700; text-decoration: none !important;
}
.cvvb-panneau .cvvb-carte-photos { min-height: 220px !important; }

/* Mode sombre : barre et panneau */
html.cvvb-sombre .cvvb-nav-mobile { background: #24283B; border-color: #3B4261; }
html.cvvb-sombre .cvvb-panneau-tete p, html.cvvb-sombre .cvvb-panneau-fermer { color: #C0CAF5; }
html.cvvb-sombre .cvvb-panneau-tete { border-color: #3B4261; }

/* ── Panneau Réglages : menu sous la roue (ordinateur), panneau montant (téléphone) ── */
.cvvb-reglages {
	position: fixed; inset: 84px 24px auto auto; width: min(360px, calc(100vw - 32px)); max-height: calc(100dvh - 110px);
	margin: 0; padding: 0; border: 1px solid var(--cvvb-filet); border-radius: 16px; overflow: auto;
	background: #fff; color: var(--cvvb-nuit); box-shadow: 0 20px 50px rgb(0 0 0 / .25);
}
.cvvb-reglages::backdrop { background: rgb(var(--cvvb-nuit-rgb) / .25); }
.cvvb-reglages-tete { display: flex; justify-content: space-between; align-items: center; padding: .8rem 1rem; border-bottom: 1px solid var(--cvvb-filet); }
.cvvb-reglages-tete p { margin: 0; font-family: var(--cvvb-titres); font-weight: 700; }
.cvvb-reglages-fermer { width: 2.2rem; height: 2.2rem; border: 0; border-radius: 999px; background: var(--cvvb-ciel-pale); color: inherit; cursor: pointer; }
.cvvb-reglages section { padding: .9rem 1rem; }
.cvvb-reglages section + section { border-top: 1px solid var(--cvvb-filet); }
.cvvb-reglages h3 { margin: 0 0 .6rem; color: var(--cvvb-gris); font-size: .75rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.cvvb-reglages-choix { display: grid; grid-template-columns: repeat(3, 1fr); gap: .3rem; padding: .25rem; border-radius: 999px; background: var(--cvvb-ciel-pale); }
.cvvb-reglages-choix button { padding: .45rem .3rem; border: 0; border-radius: 999px; background: none; color: inherit; font: inherit; font-size: .88rem; font-weight: 600; cursor: pointer; }
.cvvb-reglages-choix button[aria-pressed="true"] { background: var(--cvvb-ciel); color: #fff; }
.cvvb-reglages-note { margin: .5rem 0 0; color: var(--cvvb-gris); font-size: .82rem; line-height: 1.4; }
.cvvb-reglages-note:empty { display: none; }
.cvvb-interrupteur { display: flex; justify-content: space-between; align-items: center; gap: 1rem; font-weight: 600; cursor: pointer; }
.cvvb-interrupteur input {
	appearance: none; position: relative; flex: none; width: 2.6rem; height: 1.5rem; margin: 0; border-radius: 999px;
	background: var(--cvvb-filet); cursor: pointer; transition: background .2s;
}
.cvvb-interrupteur input::after { content: ""; position: absolute; top: .15rem; left: .15rem; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgb(0 0 0 / .3); transition: transform .2s; }
.cvvb-interrupteur input:checked { background: var(--cvvb-ciel); }
.cvvb-interrupteur input:checked::after { transform: translateX(1.1rem); }
.cvvb-interrupteur input:disabled { opacity: .5; cursor: default; }
.cvvb-notifs-sujets { display: grid; gap: .45rem; margin-top: .7rem; padding-left: .2rem; }
.cvvb-notifs-sujets[hidden] { display: none; }
.cvvb-notifs-sujets label { display: flex; align-items: center; gap: .5rem; font-size: .92rem; cursor: pointer; }
.cvvb-notifs-sujets input { width: 1.05rem; height: 1.05rem; accent-color: var(--cvvb-ciel); }
.cvvb-notifs-sujets input:disabled + * , .cvvb-notifs-sujets label:has(input:disabled) { opacity: .55; }
.cvvb-notifs-sujets small { color: var(--cvvb-gris); }
.cvvb-app-installer { width: 100%; padding: .65rem 1rem; border: 0; border-radius: 999px; background: var(--cvvb-ocre); color: var(--cvvb-nuit); font: inherit; font-weight: 700; cursor: pointer; }
@media (max-width: 699px) {
	.cvvb-reglages { inset: auto 0 0 0; width: 100vw; max-width: 100vw; max-height: 85dvh; border: 0; border-radius: 20px 20px 0 0; padding-bottom: env(safe-area-inset-bottom); }
	.cvvb-reglages::backdrop { background: rgb(var(--cvvb-nuit-rgb) / .55); }
}

/* Message de découverte des notifications (une seule fois) */
.cvvb-decouverte {
	position: fixed; left: 50%; bottom: 1.2rem; z-index: 9991; transform: translateX(-50%); width: min(560px, calc(100vw - 1.2rem));
	display: flex; align-items: center; gap: .7rem; padding: .7rem .8rem; border-radius: 14px;
	background: var(--cvvb-nuit); color: #fff; box-shadow: 0 10px 30px rgb(0 0 0 / .3); font-size: .88rem; line-height: 1.35;
}
.cvvb-decouverte[hidden] { display: none; }
.cvvb-decouverte p { margin: 0; flex: 1; }
.cvvb-decouverte strong { color: #fff; }
.cvvb-decouverte button { flex: none; border: 0; border-radius: 999px; font: inherit; font-weight: 700; cursor: pointer; }
.cvvb-decouverte-ouvrir { padding: .5rem .9rem; background: var(--cvvb-ocre); color: var(--cvvb-nuit); }
.cvvb-decouverte-non { width: 2rem; height: 2rem; background: rgb(255 255 255 / .12); color: #fff; }
@media (max-width: 699px) { .cvvb-decouverte { bottom: calc(68px + env(safe-area-inset-bottom)); } }

/* Mode sombre : panneau Réglages et message */
html.cvvb-sombre .cvvb-reglages { background: #24283B; color: #C0CAF5; border-color: #3B4261; }
html.cvvb-sombre .cvvb-reglages-tete, html.cvvb-sombre .cvvb-reglages section + section { border-color: #3B4261; }
html.cvvb-sombre .cvvb-reglages-choix button[aria-pressed="true"] { color: #16161E; }
html.cvvb-sombre .cvvb-reglages h3, html.cvvb-sombre .cvvb-reglages-note, html.cvvb-sombre .cvvb-notifs-sujets small { color: #A9B1D6; }
html.cvvb-sombre .cvvb-interrupteur input { background: #3B4261; }
html.cvvb-sombre .cvvb-interrupteur input:checked { background: #7AA2F7; }
html.cvvb-sombre .cvvb-decouverte { background: #24283B; border: 1px solid #3B4261; }
