/* VDL : passe mobile commune (loveshortcut et satellites, 23/10/2026).
   Chargé après le CSS additionnel (wp_head 120). Rien au-dessus de 767 px, sauf la barre collante. */

/* Menu ouvert : la barre partenaire (z-index 9990) passait par-dessus le tiroir */
.cs-offcanvas-active .ls-aff-sticky { display: none !important; }

@media (max-width: 767px) {

	/* 1. Tiroir du menu : rubriques seules, cibles de 48 px, plus d'archives ni de catégories en double */
	.cs-offcanvas .widget_block { display: none; }
	.cs-offcanvas .widget_nav_menu ul { margin: 0; padding: 0; }
	.cs-offcanvas .widget_nav_menu li { margin: 0; padding: 0; border-bottom: 1px solid rgba(0, 0, 0, .08); }
	.cs-offcanvas .widget_nav_menu li:last-child { border-bottom: 0; }
	.cs-offcanvas .widget_nav_menu a {
		display: flex; align-items: center; min-height: 52px; padding: 6px 0;
		font-size: 18px; line-height: 1.25; white-space: nowrap;
	}
	.cs-offcanvas .cs-offcanvas__button { width: 100%; justify-content: center; min-height: 48px; margin-top: 20px; }

	/* 2. Échelle des titres : le H1 tenait 4 lignes à 42 px, les H2 33 px */
	.cs-entry__title, h1.cs-entry__title { font-size: 30px !important; line-height: 1.15 !important; }
	.entry-content h2 { font-size: 25px !important; line-height: 1.2 !important; margin-top: 40px !important; margin-bottom: 14px !important; }
	.entry-content h3 { font-size: 20px !important; line-height: 1.25 !important; margin-top: 28px !important; }
	.entry-content h4 { font-size: 18px !important; }
	.cs-entry__header, .cs-entry__header-info { margin-bottom: 20px; }
	.cs-main-content { margin-top: 28px !important; }

	/* citations : 24 px gras sur une colonne de 300 px remplissaient l'écran */
	.entry-content blockquote, .entry-content .wp-block-quote, .entry-content .wp-block-pullquote { padding: 18px 18px 18px 20px !important; margin: 28px 0 !important; }
	.entry-content blockquote p, .entry-content .wp-block-quote p, .entry-content .wp-block-pullquote p { font-size: 18px !important; line-height: 1.45 !important; font-weight: 600 !important; }

	/* l'encart du haut remontait de 48 px (rattrapage d'un paragraphe vide) et chevauchait la citation qui le précède */
	.entry-content .ls-aff-top { margin-top: 24px !important; }

	/* 3. Tableaux de 3 colonnes ou plus : une fiche par ligne, chaque valeur sous le nom de sa colonne
	   (classe et data-label posés par inc/vdl-mobile.php). Les tableaux à 2 colonnes gardent leur forme. */
	.entry-content table { font-size: 15px; }
	.entry-content table th, .entry-content table td { padding: 10px 12px !important; vertical-align: top; }
	.entry-content table.vdl-tstack, .entry-content table.vdl-tstack tbody { display: block; width: 100% !important; min-width: 0 !important; border: 0 !important; background: none !important; }
	.entry-content table.vdl-tstack thead, .entry-content table.vdl-tstack tr.vdl-thead { display: none; }
	.entry-content table.vdl-tstack tr {
		display: block; margin: 0 0 12px; padding: 4px 0; border: 1px solid rgba(0, 0, 0, .1) !important;
		border-radius: 14px; background: #fff !important; overflow: hidden;
	}
	.entry-content table.vdl-tstack td {
		display: block; width: auto !important; min-width: 0 !important; border: 0 !important;
		padding: 6px 16px !important; background: none !important; text-align: left !important;
	}
	.entry-content table.vdl-tstack td:first-child { font-weight: 700; font-size: 16px; padding-top: 10px !important; }
	.entry-content table.vdl-tstack td[data-label]:not(:first-child)::before {
		content: attr(data-label); display: block; margin-bottom: 2px;
		font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .65;
	}
	.entry-content .wp-block-table:has(.vdl-tstack), .entry-content figure:has(> .vdl-tstack) { overflow: visible !important; }
	.vdl-verdict { padding: 18px 16px !important; }
	.vdl-verdict > div, .vdl-verdict > section { padding-left: 14px !important; padding-right: 14px !important; }

	/* 4. Boutons partenaires et d'offre : pleine largeur, 52 px, le pouce les atteint */
	.ls-aff:not(.ls-aff-sticky) .ls-aff-btn, .ls-of__cta, .ls-deck__btn.is-shuffle {
		display: flex !important; width: 100% !important; max-width: none !important; min-height: 52px;
		justify-content: center !important; align-items: center; box-sizing: border-box; text-align: center;
	}
	.ls-of__cta { justify-content: space-between !important; padding-left: 22px !important; }
	.ls-aff-top { flex-wrap: wrap; }
	.ls-aff-top .ls-aff-cta { flex: 1 1 100%; }
	.ls-aff + .ls-aff, .ls-aff { margin-top: 28px !important; margin-bottom: 28px !important; }
	.wp-block-button { width: 100%; }
	.wp-block-button__link { display: flex !important; width: 100%; min-height: 52px; justify-content: center; align-items: center; box-sizing: border-box; }

	/* barre collante : laisse respirer la fin de page */
	.ls-aff-sticky-on .cs-footer { padding-bottom: 96px; }

	/* 5. Rythme vertical des pages vitrines : 64 à 72 px par bande, divisés en deux sur téléphone */
	.ls-ap-band { padding-top: 44px !important; padding-bottom: 44px !important; }
	.ls-home-nl { padding-top: 48px !important; padding-bottom: 48px !important; }
	.ls-ap-band h2 { margin-bottom: 14px !important; }
	.entry-content > .wp-block-group + .wp-block-group { margin-top: 0 !important; }

	/* 6. Colonnes de widgets sous le contenu (satellites) : titres d'articles à taille de liste */
	.cs-sidebar .wp-block-latest-posts__post-title, .cs-sidebar .widget_recent_entries a,
	.cs-sidebar .wp-block-latest-posts a { font-size: 17px !important; line-height: 1.3 !important; }
	.cs-sidebar .widget { margin-bottom: 24px; }

	/* 7. Pied de page : liens légaux séparés et cliquables */
	.cs-footer__copyright a { display: inline-block; padding: 8px 0; margin-right: 16px; }
	.cs-footer__copyright { line-height: 1.6; }
}

@media (max-width: 380px) {
	.cs-entry__title, h1.cs-entry__title { font-size: 27px !important; }
	.entry-content h2 { font-size: 23px !important; }
}
