/**
 * Valise de maternité : page annexe du tableau des 15 maternités (raccourci [cp_valise_tableau], thème 1.3.4).
 * Préfixe cpvt- (pas cp- seul : calepin-prenoms l'utilise aussi). Couleurs : tokens --cp-* de style.css.
 * Ordinateur (≥ 900 px) : tableau ; téléphone : liste dépliable. Barre fixe sous la pilule du site (--cp-nav-offset).
 *
 * @package CalepiParentalite
 */

.cpvt {
	--cpvt-coral-texte: #B8442C;
	--cpvt-teal-fonce:  #2F6F68;
	--cpvt-texte-2:     #45433F;
	--cpvt-gris:        #5C5650;
	--cpvt-tiret:       #8A847C;
	--cpvt-filet:       #F0EAE2;
	--cpvt-bord:        #E6DED3;
	--cpvt-vide:        #E6DED3;
	/* Jetons des articles (cp-article.css les pose sur .single-post, absent d'une page). */
	--cp-coral-700:  #B8442C;
	--cp-coral-100:  #FBE3D5;
	--cp-teal-700:   #3F8780;
	--cp-teal-200:   #C8E2DF;
	--cp-teal-100:   #E4F1EF;
	--cp-n-200:      #ECE3D6;
	--cp-n-300:      #D9CFC1;
	--cp-n-500:      #847C72;
	--cp-n-600:      #5C5650;
	--cp-hero-a:     #F7D3C3;
	--cp-hero-b:     #FBE6D3;
	--cp-r-lg:       18px;
	--cp-r-xl:       28px;
	--cp-r-pill:     999px;
	--cp-shadow-sm:  0 2px 6px rgba(44, 44, 42, .06), 0 1px 2px rgba(44, 44, 42, .04);
	--cp-shadow-md:  0 6px 18px rgba(44, 44, 42, .08), 0 2px 4px rgba(44, 44, 42, .04);
	--cp-shadow-lg:  0 10px 30px rgba(59, 42, 36, .07), 0 2px 6px rgba(59, 42, 36, .04);
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 0 64px;
	display: flex;
	flex-direction: column;
	gap: 28px;
	font-family: 'Lato', sans-serif;
	color: var(--cp-graphite);
}

/* Enveloppe GeneratePress neutralisée, comme sur les articles (fond crème du site, pas de cadre blanc). */
.cpvt-page #page.grid-container { max-width: none; padding: 0; }
.cpvt-page .site-content { padding: 0; display: block; }
.cpvt-page .site-main { margin: 0; }
.cpvt-page .inside-article { padding: 0; background: transparent; }
.cpvt-page .entry-content { margin: 0; }
.cpvt p { margin: 0; }
/* Le script replie avec l'attribut hidden : il doit l'emporter sur les display: flex des blocs. */
.cpvt [hidden] { display: none !important; }
.cpvt .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* En-tête au style des articles (classes cp-art__* de cp-article.css) */
.cpvt .cpvt-crumb { margin: 20px 0 -14px; }
.cpvt .cpvt-crumb p { margin: 0; }
.cpvt .cp-art__titre { font-family: 'Caveat', cursive; font-weight: 700; font-size: clamp(38px, 4.6vw, 56px); line-height: 1.05; margin: 12px 0 14px; color: var(--cp-graphite); text-wrap: balance; }
.cpvt .cp-art__lede { margin: 0 0 14px; }
.cpvt-ref { font-size: 15px; font-weight: 700; line-height: 1.45; max-width: 560px; margin: 0 0 20px !important; }
.cpvt-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.cpvt a.cpvt-bouton { display: inline-flex; align-items: center; min-height: 44px; padding: 0 22px; border-radius: 999px; background: #fff; color: var(--cpvt-coral-texte); font-weight: 700; font-size: 15px; text-decoration: none; box-shadow: var(--cp-shadow-sm); transition: background .15s, color .15s; }
.cpvt a.cpvt-bouton--plein { background: var(--cp-coral); color: #fff; box-shadow: 0 6px 18px rgba(212, 85, 58, .25); }
.cpvt a.cpvt-bouton:hover { background: var(--cp-coral); color: #fff; }
.cpvt a.cpvt-bouton--plein:hover { background: var(--cp-orange); }
.cpvt a:focus-visible, .cpvt button:focus-visible, .cpvt input:focus-visible { outline: 3px solid var(--cp-coral); outline-offset: 2px; }

/* Encart de l'article d'origine */
.cpvt a.cpvt-article { position: relative; z-index: 1; display: flex; flex-direction: column; background: #fff; border: 5px solid #fff; border-radius: 26px; overflow: hidden; color: var(--cp-graphite); text-decoration: none; box-shadow: 0 16px 36px rgba(59, 42, 36, .14); transition: transform .2s; }
.cpvt a.cpvt-article:hover { transform: translateY(-2px); }
.cpvt-article__image { position: relative; display: block; aspect-ratio: 16 / 8; border-radius: 20px; overflow: hidden; background: linear-gradient(150deg, #fff 0%, var(--cp-hero-b) 100%); }
.cpvt-article__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cpvt-article__image .cpvt-ballon { position: absolute; width: 54px; height: auto; object-fit: contain; }
.cpvt-ballon--1 { left: 22%; top: 18%; }
.cpvt-article__image .cpvt-ballon--2 { left: 42%; top: 10%; width: 62px; }
.cpvt-ballon--3 { left: 62%; top: 22%; }
.cpvt-article__corps { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 20px; }
.cpvt-article__titre { font-family: 'Caveat', cursive; font-weight: 700; font-size: 30px; line-height: 1.05; }
.cpvt-article__extrait { font-size: 14.5px; line-height: 1.5; color: var(--cp-n-600); }
.cpvt-article__pied { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 6px; font-size: 13.5px; color: var(--cp-n-500); }
.cpvt-article__bouton { display: inline-flex; align-items: center; min-height: 40px; padding: 0 18px; border-radius: 999px; background: var(--cp-graphite); color: #fff; font-size: 14px; font-weight: 700; }
.cpvt a.cpvt-article:hover .cpvt-article__bouton { background: var(--cp-coral); }

/* En bref */
.cpvt .cpvt-facts { margin: 0; }

/* Titres de section, comme les H2 d'article (trait corail au-dessus) */
.cpvt .cpvt-h2::before { content: ""; display: block; width: 36px; height: 4px; border-radius: 2px; background: var(--cp-coral); margin-bottom: 14px; }

/* Barre fixe : recherche, raccourcis, légende */
.cpvt-barre { position: sticky; top: var(--cp-nav-offset, 0px); z-index: 20; display: flex; flex-direction: column; gap: 12px; padding: 14px 20px; background: #fff; border: 1px solid var(--cpvt-bord); border-radius: 14px; box-shadow: 0 6px 18px rgba(44, 44, 42, .08); }
.cpvt-barre__haut { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.cpvt-recherche { display: flex; align-items: center; gap: 10px; flex: 1 1 280px; min-height: 44px; padding: 0 14px; border: 1.5px solid #D9CFC1; border-radius: 999px; background: var(--cp-cream); color: var(--cpvt-gris); }
.cpvt-recherche input { flex: 1; min-width: 0; border: 0; background: transparent; font: inherit; font-size: 16px; color: var(--cp-graphite); padding: 8px 0; }
.cpvt-recherche input:focus { outline: none; }
.cpvt-recherche:focus-within { border-color: var(--cp-coral); }
.cpvt-raccourcis { display: flex; flex-wrap: wrap; gap: 8px; }
.cpvt a.cpvt-puce { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border-radius: 999px; background: var(--cp-peach); color: var(--cp-graphite); font-size: 14px; font-weight: 700; text-decoration: none; }
.cpvt a.cpvt-puce span { font-weight: 400; color: var(--cpvt-gris); }
.cpvt a.cpvt-puce:hover { background: #EDE0D0; }
.cpvt-statut { font-size: 14px; color: var(--cpvt-gris); }
.cpvt-statut:empty { display: none; }
.cpvt-legende { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; padding-top: 12px; border-top: 1px solid var(--cpvt-filet); font-size: 13.5px; }
.cpvt-legende > span { display: inline-flex; align-items: center; gap: 8px; }
.cpvt-legende__titre { font-weight: 700; }

/* Marques de case : demandé (pastille corail), fourni (carré vert foncé F), contradictoire (?), non mentionné (–) */
.cpvt-m { display: inline-grid; place-items: center; font-size: 12px; font-weight: 700; line-height: 1; flex: none; }
.cpvt-m--d { width: 12px; height: 12px; border-radius: 50%; background: var(--cp-coral); }
.cpvt-m--f { width: 20px; height: 20px; border-radius: 5px; background: var(--cpvt-teal-fonce); color: #fff; }
.cpvt-m--q { width: 20px; height: 20px; border-radius: 5px; border: 1.5px solid var(--cp-graphite); box-sizing: border-box; }
.cpvt-m--n { color: var(--cpvt-tiret); }

/* Ordinateur : tableau */
.cpvt-carte { background: #fff; border-radius: 16px; box-shadow: 0 2px 8px rgba(44, 44, 42, .06); }
.cpvt-defile { overflow-x: auto; }
.cpvt-ordi-seul.cpvt-carte { padding: 8px 8px 16px; }
.cpvt-table { border-collapse: collapse; width: 100%; min-width: 1100px; font-size: 14px; margin: 0; border: 0; }
.cpvt-table caption { text-align: left; padding: 16px 16px 8px; font-size: 14px; color: var(--cpvt-gris); }
.cpvt-table th, .cpvt-table td { border: 0; }
.cpvt-table thead th { vertical-align: bottom; padding: 8px 6px; font-size: 13px; font-weight: 700; color: var(--cpvt-texte-2); background: #fff; }
.cpvt-table .cpvt-col-objet { text-align: left; min-width: 300px; padding: 8px 16px; position: sticky; left: 0; background: #fff; z-index: 1; }
.cpvt-table thead .cpvt-col-objet { color: var(--cp-graphite); }
.cpvt-ville { width: 44px; padding: 8px 4px !important; }
.cpvt-ville span { writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; }
.cpvt-sep { border-right: 1px solid var(--cpvt-bord) !important; }
.cpvt-rub__tete th { padding: 10px 8px 0 !important; border-bottom: 1.5px solid var(--cp-coral) !important; background: #fff; text-align: left; scroll-margin-top: calc(var(--cp-nav-offset, 0px) + 170px); }
.cpvt button.cpvt-rub__bouton { all: unset; box-sizing: border-box; width: 100%; min-height: 44px; padding: 0 8px; display: flex; align-items: center; gap: 12px; cursor: pointer; font-family: 'Lato', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cpvt-coral-texte); }
.cpvt-signe { width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid var(--cp-coral); display: inline-grid; place-items: center; flex: none; letter-spacing: 0; font-size: 15px; line-height: 1; }
.cpvt-signe::before { content: "−"; }
[aria-expanded="false"] > .cpvt-signe::before, [aria-expanded="false"] .cpvt-signe::before { content: "+"; }
.cpvt-rub__nb { letter-spacing: 0; text-transform: none; font-weight: 400; color: var(--cpvt-gris); }
.cpvt-ligne > * { padding: 8px 6px; border-bottom: 1px solid var(--cpvt-filet) !important; }
.cpvt-ligne th { font-weight: 400; }
.cpvt-ligne:hover > * { background: #FFF8F1; }
.cpvt-nb { text-align: center; font-weight: 700; font-variant-numeric: tabular-nums; }
.cpvt-nb--f { color: var(--cpvt-teal-fonce); }
.cpvt-case { text-align: center; padding: 6px 2px !important; }

/* Sources */
.cpvt-sources { display: flex; flex-direction: column; gap: 16px; scroll-margin-top: calc(var(--cp-nav-offset, 0px) + 170px); }
.cpvt-sources h2 { margin: 0; font-size: 28px; font-weight: 700; color: var(--cp-graphite); }
.cpvt-sources > p { font-size: 16px; color: var(--cpvt-texte-2); }
.cpvt-table-sources { border-collapse: collapse; width: 100%; font-size: 15px; margin: 0; border: 0; }
.cpvt-table-sources th, .cpvt-table-sources td { border: 0; text-align: left; padding: 12px 20px; border-bottom: 1px solid var(--cpvt-filet); }
.cpvt-table-sources th { font-size: 13px; color: var(--cpvt-gris); border-bottom: 1.5px solid var(--cpvt-bord); }
.cpvt-src-nom { font-weight: 700; }
.cpvt-table-sources a { color: var(--cpvt-coral-texte); font-weight: 700; }

/* Bascule ordinateur / téléphone */
@media (min-width: 900px) {
	.cpvt .cpvt-mobile-seul { display: none !important; }
}
@media (max-width: 899px) {
	.cpvt { padding: 0 0 48px; gap: 22px; }
	.cpvt-ordi-seul { display: none !important; }
	.cpvt-mobile-seul { display: revert; }
	.cpvt-legende > span.cpvt-mobile-seul, .cpvt-legende .cpvt-mobile-seul { display: inline; }
	.cpvt .cpvt-crumb { margin: 16px 0 -10px; }
	.cpvt .cp-art__titre { font-size: 38px; }
	.cpvt-actions { flex-direction: column; align-items: stretch; }
	.cpvt a.cpvt-bouton { justify-content: center; min-height: 48px; }
	.cpvt a.cpvt-article { border: 1px solid var(--cp-n-200); border-radius: 22px; box-shadow: 0 10px 30px rgba(59, 42, 36, .10); }
	.cpvt-article__image { aspect-ratio: 16 / 7; border-radius: 0; }
	.cpvt-article__image .cpvt-ballon { width: 40px; }
	.cpvt-article__image .cpvt-ballon--2 { width: 46px; }
	.cpvt-article__corps { padding: 16px 18px 18px; }
	.cpvt-article__titre { font-size: 27px; }
	.cpvt-article__bouton { min-height: 44px; }
	.cpvt-note-mobile { font-size: 13.5px; line-height: 1.5; color: var(--cpvt-gris); }
	.cpvt-barre { margin: 0 -16px; padding: 10px 16px; border-radius: 0; border-width: 0 0 1px; box-shadow: none; background: var(--cp-cream); gap: 10px; }
	.cpvt-raccourcis { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; width: 100%; }
	.cpvt-recherche { background: #fff; min-height: 46px; flex-basis: 100%; }
	.cpvt-legende { padding-top: 0; border: 0; gap: 4px 14px; font-size: 12.5px; }
	.cpvt-legende .cpvt-m--d, .cpvt-legende .cpvt-m--f, .cpvt-legende .cpvt-m--q, .cpvt-legende .cpvt-m--n { width: 11px; height: 11px; border-radius: 3px; font-size: 0; color: transparent; }
	.cpvt-legende .cpvt-m--n { background: var(--cpvt-vide); }

	.cpvt-liste { display: flex; flex-direction: column; gap: 14px; }
	.cpvt-mrub { display: flex; flex-direction: column; gap: 8px; scroll-margin-top: calc(var(--cp-nav-offset, 0px) + 140px); }
	.cpvt .cpvt-mrub__h { margin: 0; font-size: inherit; }
	.cpvt button.cpvt-mrub__bouton { all: unset; box-sizing: border-box; width: 100%; min-height: 48px; padding: 0 14px; display: flex; justify-content: space-between; align-items: center; background: #fff; border: 1.5px solid var(--cpvt-bord); border-radius: 12px; cursor: pointer; font-family: 'Lato', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cpvt-coral-texte); }
	.cpvt-mrub__corps { background: #fff; border-radius: 12px; box-shadow: 0 1px 4px rgba(44, 44, 42, .06); }
	.cpvt-obj { border-bottom: 1px solid var(--cpvt-filet); }
	.cpvt-obj:last-child { border-bottom: 0; }
	.cpvt button.cpvt-obj__bouton { all: unset; box-sizing: border-box; width: 100%; cursor: pointer; display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; min-height: 44px; font-family: 'Lato', sans-serif; color: var(--cp-graphite); }
	.cpvt-obj__ligne { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
	.cpvt-obj__nom { font-size: 15.5px; font-weight: 700; line-height: 1.35; }
	.cpvt-obj__nb { flex: none; font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
	.cpvt-barre15 { display: grid; grid-template-columns: repeat(15, minmax(0, 1fr)); gap: 2px; }
	.cpvt-b { height: 8px; border-radius: 2px; background: var(--cpvt-vide); }
	.cpvt-b--d { background: var(--cp-coral); }
	.cpvt-b--f { background: var(--cpvt-teal-fonce); }
	.cpvt-b--q { background: #fff; box-shadow: inset 0 0 0 1.5px var(--cp-graphite); }
	.cpvt-obj__resume { font-size: 13px; color: var(--cpvt-gris); }
	.cpvt-obj__detail { padding: 0 16px 16px; display: flex; flex-direction: column; gap: 10px; font-size: 14px; line-height: 1.5; }
	.cpvt-t-d { color: var(--cpvt-coral-texte); }
	.cpvt-t-f { color: var(--cpvt-teal-fonce); }
	.cpvt-t-n { color: var(--cpvt-gris); }

	.cpvt-sources h2 { font-size: 22px; }
	.cpvt-table-sources thead { display: none; }
	.cpvt-table-sources tr { display: flex; flex-wrap: wrap; gap: 2px 8px; padding: 12px 16px; border-bottom: 1px solid var(--cpvt-filet); }
	.cpvt-table-sources td { display: inline; padding: 0; border: 0; font-size: 13.5px; color: var(--cpvt-gris); }
	.cpvt-table-sources td.cpvt-src-nom { flex-basis: 100%; font-size: 15px; color: var(--cp-graphite); }
}

/* Page en pleine largeur (_generate-full-width-content) : le composant pose ses propres marges latérales. */
@media (max-width: 1288px) {
	.cpvt { padding-left: 24px; padding-right: 24px; }
}
@media (max-width: 899px) {
	.cpvt { padding-left: 16px; padding-right: 16px; }
}
