/* Séparation header / contenu, posée une seule fois ici (au lieu d'une classe
   à répéter dans chaque template) : s'applique donc à toutes les pages,
   y compris les résultats de recherche. */
header{border-bottom:1px solid #e0e2e6;}

/* Retire le margin-bottom:10px du thème (style.css) sur la page d'accueil */
.page-top-formation{margin-bottom:0;}

/* Interventions "Gland" / "Capitaine" dans le contenu des cours (reprend la
   maquette : pastille ronde à cheval sur le bord gauche, surtitre + texte). */
.gland,
.capitaine{
	position:relative;
	display:block;
	margin:24px 0 24px 24px;
	padding:18px 22px 18px 32px;
	border-radius:12px;
	font-style:normal;
	font-size:16px;
	line-height:1.6;
}
.gland{background:#fbf1dc;color:#26282e;}
.capitaine{background:#f2f7fa;color:#3a3d45;}

.gland:before,
.capitaine:before{
	display:block;
	position:static;
	width:auto;
	height:auto;
	background-image:none;
	font-weight:700;
	font-size:11px;
	letter-spacing:.16em;
	text-transform:uppercase;
	margin-bottom:5px;
}
.gland:before{content:"Gland";color:#b98a2e;}
.capitaine:before{content:"Capitaine";color:#317093;}

.gland:after,
.capitaine:after{
	content:"";
	position:absolute;
	left:-24px;
	top:50%;
	transform:translateY(-50%);
	width:48px;
	height:48px;
	border-radius:999px;
	background-color:#fff;
	background-repeat:no-repeat;
	background-position:center;
	background-size:30px 30px;
	z-index:2;
}
.gland:after{
	border:2px solid #d9a441;
	background-image:url('../img/hazelnut.png');
}
.capitaine:after{
	border:2px solid #3d7095;
	background-image:url('../img/boat-captain-hat.png');
}

/* Reading time & course difficulty */
:root{
	--lv-level-filled:#565a64;
	--lv-level-empty:#c3c6cd;
	--lv-ink-900:#1b1c20;
	--lv-ink-500:#747984;
	--lv-brand-strong:#2a5473;
}

/* Séparation header / contenu : posée une seule fois sur le header lui-même
   (voir plus bas "header{...}") plutôt que dupliquée dans chaque template. */
/* Centre verticalement l'illustration Lottie par rapport au texte (colonne
   plus courte que le texte à côté, sinon elle reste collée en haut). */
.page-top-formation .row{display:flex;align-items:center;flex-wrap:wrap;}

/* Section active dans le menu principal */
/* text-decoration (et non border-bottom) pour que le trait ne dépasse pas
   la largeur du texte, même si le lien a du padding horizontal. */
.navbar-default .navbar-nav > li.lv-nav-active > a{
	font-weight:600;
	color:var(--lv-ink-900);
	text-decoration:underline;
	text-decoration-color:#317094;
	text-decoration-thickness:2px;
	text-underline-offset:10px;
}

/* Fil d'ariane (dans le bandeau hero, au-dessus du fil overline / titre) */
.lv-breadcrumbs{
	display:flex;
	align-items:center;
	gap:10px;
	flex-wrap:wrap;
	font-size:13px;
	margin:24px 0 20px;
	font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;
}
.lv-breadcrumbs a{color:var(--lv-ink-500);text-decoration:none;}
.lv-breadcrumbs a:hover{color:var(--lv-ink-900);text-decoration:underline;}
.lv-breadcrumbs__sep{color:var(--lv-level-empty);}
.lv-breadcrumbs__current{color:var(--lv-ink-900);font-weight:600;}

/* En-tête de cours : fil / titre / sous-titre */
/* Spécificité (.page-top-formation p.lv-overline) volontairement élevée :
   la règle .page-top-formation p{font-size:20px} du thème sinon l'emporte. */
.page-top-formation p.lv-overline{
	margin:24px 0 0;
	font-weight:700;
	font-size:11px;
	line-height:1.2;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--lv-brand-strong);
	font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;
}
.page-top-formation h1.lv-course-title{
	font-weight:800;
	line-height:1.05;
	letter-spacing:-0.02em;
	margin-top:0;
}
.lv-course-subtitle{
	margin:16px 0 24px;
	max-width:none;
	width:100%;
	color:#3a3d45;
	line-height:1.6;
}

.lv-meta-row{
	display:flex;
	align-items:center;
	gap:16px;
	flex-wrap:wrap;
	font-size:14px;
	color:var(--lv-ink-500);
	margin:0 0 27px;
	font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;
}
.lv-meta-item{display:inline-flex;align-items:center;gap:6px;}
.lv-course-stats{display:contents;font-weight:600;}

/* Auteur + dates (EEAT) sous la ligne durée/difficulté */
.lv-author-row{
	display:flex;
	align-items:center;
	gap:16px;
	flex-wrap:wrap;
	font-size:14px;
	color:var(--lv-ink-500);
	margin:0 0 24px;
	font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;
}
.lv-author-row__sep{color:var(--lv-level-empty);}
.lv-icon{width:16px;height:16px;flex:0 0 auto;stroke:currentColor;}
.lv-meta-sep{width:4px;height:4px;border-radius:999px;background:#c3c6cd;flex:0 0 auto;}

.lv-difficulty{white-space:nowrap;}
.lv-bars{display:block;flex:0 0 auto;}
.lv-bar--filled{fill:var(--lv-level-filled);}
.lv-bar--empty{fill:var(--lv-level-empty);}

/* Listing cards (blogs.php / formations.php) */
.lv-card-meta{
	display:flex;
	align-items:center;
	gap:12px;
	font-size:12px;
	color:var(--lv-ink-500);
	margin:6px 0 0;
	font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;
}

/* Colonne "Go" de la liste des cours : icône de niveau alignée à droite,
   juste avant le bouton. */
.lv-listing-actions{display:flex;align-items:center;justify-content:flex-end;gap:20px;}
.lv-listing-actions .lv-difficulty{display:inline-flex;}

/* Bas de page de cours : précédent / suivant / partage / commentaires */
.lv-bottom-card{
	background:#f2f2f2;
	border-top:1px solid #e0e2e6;
	border-left:1px solid #e0e2e6;
	border-radius:0;
	overflow:hidden;
	margin-top:32px;
	font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;
}
/* Les cartes doivent occuper 100% du .container (pas les 15px de gouttière
   Bootstrap de chaque côté). */
.lv-bottom-card > .container{padding-left:0;padding-right:0;}
.lv-bottom-grid{
	display:grid;
	grid-template-columns:0.85fr 1.15fr;
	gap:16px;
	padding:32px 0 40px;
	align-items:start;
	width:100%;
}
@media (max-width:900px){
	.lv-bottom-grid{grid-template-columns:1fr;}
}
.lv-bottom-grid__left{display:flex;flex-direction:column;gap:16px;}

.lv-prev-card{
	display:flex;
	flex-direction:column;
	gap:4px;
	justify-content:center;
	background:#fff;
	border:1px solid #e0e2e6;
	border-radius:20px;
	padding:18px 24px;
	text-decoration:none;
	transition:border-color .2s ease, box-shadow .2s ease;
}
.lv-prev-card:hover{border-color:#c0d4e3;box-shadow:0 8px 24px rgba(27,28,32,.08);text-decoration:none;}
.lv-prev-card__eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--lv-ink-500);}
.lv-prev-card__title{font-size:18px;font-weight:700;color:var(--lv-ink-900);}

.lv-share-card{background:#fff;border:1px solid #e0e2e6;border-radius:20px;padding:20px 24px;display:flex;flex-direction:column;gap:12px;}
.lv-share-card__eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#3d7095;}
.lv-share-card__buttons{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
.lv-iconbtn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:32px;
	height:32px;
	border-radius:999px;
	border:1px solid #e0e2e6;
	color:var(--lv-ink-900);
	background:#fff;
	transition:border-color .2s ease, color .2s ease;
}
.lv-iconbtn:hover{border-color:#c0d4e3;color:#3d7095;text-decoration:none;}
.lv-copy-link{
	display:inline-flex;
	align-items:center;
	gap:6px;
	height:36px;
	padding:0 12px;
	border:none;
	background:transparent;
	color:var(--lv-ink-900);
	font-size:13px;
	font-weight:600;
	font-family:inherit;
	cursor:pointer;
	border-radius:6px;
	transition:background .2s ease;
}
.lv-copy-link:hover{background:#f4f1ea;}

.lv-next-card{
	position:relative;
	overflow:hidden;
	background:#3d7095;
	border-radius:20px;
	padding:32px 36px;
	display:flex;
	flex-direction:column;
	gap:20px;
	color:#fff;
}
.lv-next-card__mark{position:absolute;right:-40px;bottom:-70px;width:240px;height:240px;opacity:.1;pointer-events:none;}
.lv-next-card__top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;max-width:320px;position:relative;}
.lv-next-card__eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;white-space:nowrap;}
.lv-next-card__pct{font-size:12px;font-weight:700;color:#fff;}
.lv-progress{width:320px;max-width:100%;height:10px;border-radius:5px;background:#152836;display:block;position:relative;overflow:hidden;}
.lv-progress__fill{position:absolute;top:0;left:0;bottom:0;background:#fff;border-radius:5px;display:block;}
.lv-next-card__title{font-weight:800;font-size:34px;line-height:1.08;letter-spacing:-.02em;color:#fff;position:relative;}
.lv-next-card__duration{display:inline-flex;align-items:center;gap:6px;font-size:14px;line-height:1.5;color:#e3ecf3;position:relative;}
.lv-next-card__actions{position:relative;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.lv-next-card__cta{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	height:48px;
	padding:0 22px;
	border-radius:6px;
	background:#1e3b50;
	color:#fff;
	font-weight:600;
	font-size:16px;
	text-decoration:none;
	white-space:nowrap;
	transition:background .2s ease;
}
.lv-next-card__cta:hover{background:#152836;color:#fff;text-decoration:none;}
.lv-next-card__secondary{font-size:14px;color:#e3ecf3;text-decoration:none;}
.lv-next-card__secondary:hover{color:#fff;text-decoration:underline;}

.lv-comments-section{background:#fff;padding:48px 0;}
.lv-comments-section__eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#3d7095;margin-bottom:8px;}
.lv-comments-section__title{margin:0 0 8px;font-size:30px;font-weight:800;letter-spacing:-.02em;color:var(--lv-ink-900);}
.lv-comments-section__intro{margin:0 0 24px;font-size:16px;line-height:1.65;color:#3a3d45;max-width:66ch;}

.lv-comment-teaser{
	display:flex;
	width:75%;
	max-width:100%;
	gap:16px;
	align-items:flex-start;
	background:#fff;
	border:1px solid #e0e2e6;
	border-radius:12px;
	padding:20px 24px;
	margin-bottom:12px;
	min-height:110px;
	transition:opacity .3s ease, transform .3s ease;
}
@media (max-width:768px){
	.lv-comment-teaser{width:100%;}
}
.lv-comment-teaser.is-fading{opacity:0;transform:translateY(8px);}
.lv-comment-teaser__avatar img{width:44px;height:44px;border-radius:999px;display:block;object-fit:cover;flex:0 0 auto;}
.lv-comment-teaser__body{flex:1;min-width:0;}
.lv-comment-teaser__meta{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.lv-comment-teaser__author{font-weight:600;color:var(--lv-ink-900);}
.lv-comment-teaser__age{font-size:12px;color:var(--lv-ink-500);}
.lv-comment-teaser__text{
	margin:0;
	color:#3a3d45;
	line-height:1.6;
	max-width:62ch;
	height:3.2em;
	max-height:3.2em;
	overflow:hidden;
}
.lv-comment-teaser__reply{display:inline-block;margin-top:8px;font-size:13px;font-weight:600;color:#317094;text-decoration:none;}
.lv-comment-teaser__reply:hover{text-decoration:underline;}

/* Flash temporaire sur le vrai commentaire visé par "Répondre" */
[id^="wpd-comm-"].lv-comment-highlight{background:#fff3cd;transition:background 1.5s ease;}

.lv-comments-toggle{
	display:inline-flex;
	align-items:center;
	gap:6px;
	border:none;
	background:transparent;
	color:#317094;
	font-weight:600;
	font-size:14px;
	font-family:inherit;
	cursor:pointer;
	padding:4px 0;
	margin-bottom:24px;
}
.lv-comments-toggle:hover{text-decoration:underline;}
.lv-comments-toggle svg{flex:0 0 auto;}
.lv-hidden{display:none;}

/* Recherche header : n'affiche que l'icône, le champ se déplie au clic */
#custom-search-input .input-group{display:flex;align-items:center;}
#custom-search-input .form-control{
	width:0;
	min-width:0;
	padding:0;
	border:none;
	opacity:0;
	transition:width .25s ease, opacity .2s ease, padding .25s ease;
}
#custom-search-input.is-open .form-control{
	width:200px;
	padding:6px 12px;
	opacity:1;
	margin-right:6px;
}
/* Pas de bordure au repos, elle apparaît quand la recherche est ouverte */
#custom-search-input{border-color:transparent;transition:border-color .2s ease;}
#custom-search-input.is-open{border-color:#e4e4e4;}
#custom-search-input button{border-left-color:transparent;transition:border-left-color .2s ease;}
#custom-search-input.is-open button{border-left-color:#ccc;}

/* Pied de page (pas de fond, séparé par un filet 1px comme entre le header
   et le contenu) */
.lv-footer2{border-top:1px solid #e0e2e6;}
.lv-footer2__bar{color:var(--lv-ink-500);}
.lv-footer2__inner{
	max-width:1200px;
	margin:0 auto;
	padding:24px 40px 26px;
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:16px 32px;
	font-size:13px;
	font-weight:500;
	font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;
}
.lv-footer2__links{display:flex;align-items:center;flex-wrap:wrap;gap:20px;}
.lv-footer2__links a{color:var(--lv-ink-500);text-decoration:none;white-space:nowrap;}
.lv-footer2__links a:hover{color:var(--lv-ink-900);text-decoration:underline;text-decoration-thickness:2px;}
.lv-footer2__social{display:flex;gap:16px;}
.lv-footer2__social a{display:inline-flex;align-items:center;gap:7px;}
.lv-footer2__icon{width:16px;height:16px;flex:0 0 auto;}

/* Boutons rapides (Théorie / Manœuvres / Navigation) sous l'accroche de la home */
.lv-quicklinks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px;margin-bottom:32px;}
.lv-quicklink{
	display:flex;
	align-items:center;
	gap:16px;
	background:#fff;
	border:1px solid #e0e2e6;
	border-radius:12px;
	padding:24px;
	text-decoration:none;
	color:inherit;
	transition:transform 200ms cubic-bezier(.22,.61,.36,1),box-shadow 200ms cubic-bezier(.22,.61,.36,1),border-color 200ms cubic-bezier(.22,.61,.36,1);
}
.lv-quicklink__icon{
	width:44px;
	height:44px;
	flex:none;
	border-radius:999px;
	background:#e3ecf3;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#3d7095;
}
.lv-quicklink__svg{width:22px;height:22px;flex:0 0 auto;stroke:currentColor;}
.lv-quicklink__text{display:flex;flex-direction:column;gap:2px;}
h6.lv-quicklink__title{font-size:17px;font-weight:700;color:#1b1c20;margin:0;line-height:inherit;}
.lv-quicklink__subtitle{font-size:13px;color:#747984;}
@media (max-width:768px){
	.lv-quicklinks{grid-template-columns:1fr;}
}

/* "Derniers messages à la VHF" — remplace les 3 chapitres à icônes animées
   sur la page d'accueil (liste des derniers cours publiés). */
.lv-vhf__eyebrow{display:block;margin-top:24px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#3d7095;margin-bottom:8px;}
.lv-vhf__title{font-size:30px;line-height:1.15;font-weight:700;letter-spacing:-0.01em;color:#1b1c20;margin:0 0 24px;}
.lv-vhf-list{display:flex;flex-direction:column;gap:12px;margin-bottom:32px;}
.lv-vhf-item{
	display:grid;
	grid-template-columns:120px 1fr auto;
	gap:20px;
	align-items:center;
	background:#fff;
	border:1px solid #e0e2e6;
	border-radius:12px;
	padding:24px;
	text-decoration:none;
	color:inherit;
	transition:transform 200ms cubic-bezier(.22,.61,.36,1),box-shadow 200ms cubic-bezier(.22,.61,.36,1),border-color 200ms cubic-bezier(.22,.61,.36,1);
}
/* Effet de survol partagé par toutes les cartes-liens du même style
   (boutons rapides de la home, cartes "Derniers messages à la VHF"). */
.lv-quicklink:hover,
.lv-quicklink:focus,
.lv-vhf-item:hover,
.lv-vhf-item:focus{
	transform:translateY(-3px);
	box-shadow:0 12px 28px rgba(27,28,32,.10);
	border-color:#c0d4e3;
	color:inherit;
	text-decoration:none;
}
.lv-vhf-item__media{aspect-ratio:4/3;min-height:0;overflow:hidden;border-radius:12px;background:#e3ecf3;display:flex;align-items:center;justify-content:center;}
.lv-vhf-item__media img{height:40px;opacity:.22;}
.lv-vhf-item__body{display:flex;flex-direction:column;gap:8px;align-items:flex-start;min-width:0;}
.lv-vhf-item__meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.lv-vhf-item__date{font-size:13px;color:#747984;white-space:nowrap;}
.lv-vhf-item__title{font-size:18px;line-height:1.3;font-weight:700;letter-spacing:-0.01em;color:#1b1c20;}
.lv-vhf-item__excerpt{font-size:15px;line-height:1.5;color:#3a3d45;}
.lv-vhf-item__chevron{color:#3d7095;flex:none;}
.lv-badge{display:inline-flex;align-items:center;font-family:"Montserrat","Helvetica Neue",Arial,sans-serif;font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;border-radius:4px;line-height:1;}
.lv-badge--brand{background:#e3ecf3;color:#1e3b50;}
.lv-badge--neutral{background:#eff0f2;color:#3a3d45;}
@media (max-width:768px){
	.lv-vhf-item{grid-template-columns:80px 1fr;}
	.lv-vhf-item__chevron{display:none;}
}

/* Boutons du widget de commentaires (wpdiscuz) : reprend le style des CTA du
   site ("Go ›" etc.) au lieu du gris/bleu marine par défaut du plugin. */
.wpd-prim-button{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	background:#317094 !important;
	color:#fff !important;
	border:none !important;
	border-radius:4px !important;
	padding:6px 12px !important;
	height:auto !important;
	line-height:normal !important;
	font-size:14px !important;
	font-weight:400 !important;
	vertical-align:middle !important;
	box-shadow:none !important;
	transition:background-color .2s ease;
}
.wpd-prim-button:hover{background:#00305e !important;color:#fff !important;}

/* Bouton "Envoyer" du formulaire de contact (Contact Form 7) : reprend le
   style des CTA du site (fond bleu #317094) au lieu du gris par défaut. */
.wpcf7-submit{
	background:#317094;
	color:#fff;
	border:1px solid transparent;
	border-radius:4px;
	padding:6px 12px;
	font-size:14px;
	transition:background-color .2s ease;
}
.wpcf7-submit:hover{background:#00305e;color:#fff;}

/* Barre alphabétique du glossaire (extension CM Tooltip Glossary) : les
   lettres sont flottantes à largeur fixe par défaut (tassées à gauche) ;
   on les répartit en flex pour occuper 100% du conteneur. */
.ln-letters{display:flex;flex-wrap:wrap;width:100%;}
.ln-letters a{float:none;flex:1 1 0;text-align:center;}
