/*
Theme Name: Nephro.blog
Theme URI: https://nephro.blog
Author: Vincent Bourquin
Description: Thème bloc sur mesure pour Nephro.blog (refonte 2026) : bleu nuit, Source Serif 4 et Inter, accueil par guides et chapitres, billets avec sommaire et public visé.
Version: 1.0.23
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nephro-blog
*/

/* ---------- Généralités ---------- */
:root { --nb-radius: 14px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3 { text-wrap: balance; }
a:focus-visible, button:focus-visible, input:focus-visible {
	outline: 3px solid var(--wp--preset--color--orange);
	outline-offset: 2px;
}
.nb-surtitre {
	font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
}

/* ---------- En-tête ---------- */
.nb-entete { border-bottom: 1px solid var(--wp--preset--color--trait); }
.nb-entete .wp-block-site-title a { text-decoration: none; }
.nb-entete .wp-block-navigation a { text-decoration: none; }
.nb-entete .wp-block-navigation a:hover { color: var(--wp--preset--color--bleu); text-decoration: underline; }
.nb-entete .wp-block-search__input { border-radius: 22px; border-color: #D5DDE0; min-height: 44px; }
.nb-entete .wp-block-search__button { border-radius: 22px; }

/* ---------- Boutons ---------- */
.wp-element-button, .wp-block-button__link { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }

/* ---------- Accueil : à la une ---------- */
.nb-glomerule { position: relative; margin: 0; }
.nb-glomerule img { width: 100%; height: auto; aspect-ratio: 16 / 7; object-fit: cover; border-radius: 16px; display: block; background: var(--wp--preset--color--nuit); }
.nb-glomerule figcaption {
	position: absolute; right: 14px; bottom: 10px; margin: 0;
	font-size: 10px; color: rgba(255, 255, 255, 0.8); text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
.nb-une .wp-block-post-title a { text-decoration: none; }
.nb-une .wp-block-read-more { font-weight: 600; }

/* Encart bleu nuit (guides de référence, guide associé) */
.nb-encart-nuit { border-radius: 16px; }
.nb-encart-nuit a { color: #FFFFFF; text-decoration: none; }
.nb-encart-nuit .nb-lien-guide { display: flex; flex-direction: column; gap: 4px; padding: 14px 0; border-top: 1px solid #2B4468; }
.nb-encart-nuit .nb-lien-guide strong { font-size: 17px; }
.nb-encart-nuit .nb-lien-guide span { font-size: 14px; color: #BCCBE0; }
.nb-encart-nuit .nb-lien-guide:hover strong { text-decoration: underline; }

/* ---------- Grille des chapitres ---------- */
.nb-chapitres { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.nb-carte {
	background: #FFFFFF; border: 1px solid var(--wp--preset--color--trait); border-radius: var(--nb-radius);
	padding: 22px; display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: var(--wp--preset--color--nuit);
	transition: border-color .15s ease, transform .15s ease;
}
.nb-carte:hover { border-color: var(--wp--preset--color--bleu); transform: translateY(-2px); }
.nb-carte svg { width: 32px; height: 32px; }
.nb-carte .nb-carte-titre { font-family: var(--wp--preset--font-family--newsreader); font-size: 21px; font-weight: 600; }
.nb-carte .nb-carte-texte { font-size: 15px; line-height: 1.5; color: var(--wp--preset--color--gris); }
.nb-carte .nb-carte-nb { font-size: 13px; color: var(--wp--preset--color--gris-clair); margin-top: auto; }
@media (prefers-reduced-motion: reduce) { .nb-carte { transition: none; } .nb-carte:hover { transform: none; } }

/* ---------- Listes de billets ---------- */
.nb-liste { list-style: none; margin: 0; padding: 0; }
.nb-liste > li { padding: 20px 0; border-bottom: 1px solid var(--wp--preset--color--trait); margin: 0 !important; }
.nb-liste .wp-block-post-title a { text-decoration: none; }
.nb-liste .wp-block-post-title a:hover { color: var(--wp--preset--color--bleu); }
.nb-meta { font-size: 13px; color: var(--wp--preset--color--gris-clair); display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; }
.nb-meta p { margin: 0; }
.nb-rubrique { font-weight: 600; color: var(--wp--preset--color--bleu); text-decoration: none; }
.nb-rubrique:hover { text-decoration: underline; }
.nb-titre-section { border-bottom: 2px solid var(--wp--preset--color--nuit); padding-bottom: 16px; }

/* Je suis… */
.nb-jesuis a {
	display: flex; justify-content: space-between; align-items: center; min-height: 56px; padding: 0 18px;
	border: 1px solid #D5DDE0; border-radius: 12px; font-weight: 600; text-decoration: none; color: var(--wp--preset--color--nuit);
}
.nb-jesuis a:hover { border-color: var(--wp--preset--color--bleu); }
.nb-recherche .wp-block-search__input { min-height: 48px; border-radius: 12px; border: 1px solid #C7D1D5; padding: 0 16px; font-size: 16px; }

/* ---------- Bande 17 ans / abonnement ---------- */
.nb-bande { color: #FFFFFF; }
.nb-bande .nb-chiffre { font-family: var(--wp--preset--font-family--newsreader); font-size: 40px; font-weight: 600; color: var(--wp--preset--color--orange-clair); line-height: 1.1; }
.nb-bande .nb-chiffre-legende { font-size: 14px; color: #BCCBE0; }
.nb-bande .wp-block-jetpack-subscriptions input[type="email"] { min-height: 48px; border-radius: 12px; border: 0; padding: 0 16px; font-size: 16px; }
.nb-bande .wp-block-jetpack-subscriptions button,
.nb-bande .wp-block-jetpack-subscriptions .wp-block-button__link {
	min-height: 48px; border-radius: 12px; background: var(--wp--preset--color--orange-clair) !important; color: var(--wp--preset--color--nuit) !important; font-weight: 600; border: 0;
}

/* ---------- Billet ---------- */
.nb-ariane { font-size: 14px; color: var(--wp--preset--color--gris-clair); }
.nb-ariane p { margin: 0; }
.nb-ariane a { color: var(--wp--preset--color--gris-clair); }
.nb-ligne-meta { border-top: 1px solid var(--wp--preset--color--trait); border-bottom: 1px solid var(--wp--preset--color--trait); font-size: 14px; color: var(--wp--preset--color--gris-clair); }
.nb-ligne-meta p { margin: 0; }
.nb-ligne-meta .wp-block-avatar img { border-radius: 50%; }
.nb-public a {
	display: inline-block; padding: 6px 12px; border-radius: 999px; background: var(--wp--preset--color--bleu-pale);
	color: var(--wp--preset--color--nuit); font-weight: 500; text-decoration: none; font-size: 14px;
}
.nb-public a:hover { background: #DCE7F4; }
.nb-chapeau { font-family: var(--wp--preset--font-family--newsreader); font-size: 22px; line-height: 1.45; color: var(--wp--preset--color--gris); }
.nb-chapeau p { margin: 0; }

.nb-contenu { font-family: var(--wp--preset--font-family--newsreader); font-size: 19px; line-height: 1.65; color: var(--wp--preset--color--encre); }
.nb-contenu h2, .nb-contenu h3, .nb-contenu h4 { font-family: var(--wp--preset--font-family--inter); color: var(--wp--preset--color--nuit); letter-spacing: 0; scroll-margin-top: 24px; }
.nb-contenu h2 { font-size: 24px; line-height: 1.3; margin-top: 2em; }
.nb-contenu h3 { font-size: 20px; line-height: 1.35; margin-top: 1.6em; }
.nb-contenu ul, .nb-contenu ol { padding-left: 1.3em; }
.nb-contenu li + li { margin-top: 0.35em; }
.nb-contenu blockquote, .nb-contenu .wp-block-quote {
	margin: 1.6em 0; padding: 18px 22px; border: 0; border-radius: var(--nb-radius);
	background: var(--wp--preset--color--bleu-pale); font-size: 18px; color: var(--wp--preset--color--nuit);
}
.nb-contenu blockquote p { margin: 0.4em 0; }
.nb-contenu table { font-family: var(--wp--preset--font-family--inter); font-size: 15px; border-collapse: collapse; width: 100%; display: block; overflow-x: auto; }
.nb-contenu th, .nb-contenu td { border-bottom: 1px solid var(--wp--preset--color--trait); padding: 8px 10px; text-align: left; vertical-align: top; }
.nb-contenu th { background: var(--wp--preset--color--pale); font-weight: 600; }
.nb-contenu figure img { border-radius: 10px; }
.nb-contenu code { font-size: 0.85em; }

/* Encarts réutilisables (styles de bloc Groupe) */
.is-style-nb-cave { background: var(--wp--preset--color--peche); border-radius: var(--nb-radius); padding: 22px 24px; color: #3A2A20; font-family: var(--wp--preset--font-family--inter); font-size: 17px; line-height: 1.6; }
.is-style-nb-cave::before { content: "Cave"; display: block; margin-bottom: 8px; font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: #9A3F12; }
.is-style-nb-pratique-suisse { background: var(--wp--preset--color--bleu-pale); border-radius: var(--nb-radius); padding: 22px 24px; color: var(--wp--preset--color--nuit); font-family: var(--wp--preset--font-family--inter); font-size: 17px; line-height: 1.6; }
.is-style-nb-pratique-suisse::before { content: "Pratique suisse"; display: block; margin-bottom: 8px; font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--bleu); }
.is-style-nb-messages-cles { border-top: 2px solid var(--wp--preset--color--nuit); padding-top: 16px; font-family: var(--wp--preset--font-family--inter); font-size: 18px; line-height: 1.6; }
.is-style-nb-messages-cles::before { content: "Messages clés"; display: block; margin-bottom: 8px; font-size: 22px; font-weight: 600; color: var(--wp--preset--color--nuit); }
.is-style-nb-lien-interet { background: #FCE8F0; border-radius: var(--nb-radius); padding: 22px 24px; color: #4A1F33; font-family: var(--wp--preset--font-family--inter); font-size: 17px; line-height: 1.6; }
.is-style-nb-lien-interet::before { content: "Lien d\2019intérêts"; display: block; margin-bottom: 8px; font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: #B0336B; }
.is-style-nb-lien-interet p { margin: 0; }

/* Colonne latérale du billet */
.nb-sommaire { border: 1px solid var(--wp--preset--color--trait); border-radius: var(--nb-radius); padding: 20px; }
.nb-sommaire ol { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.nb-sommaire a { font-size: 15px; color: var(--wp--preset--color--nuit); text-decoration: none; line-height: 1.4; }
.nb-sommaire a:hover { color: var(--wp--preset--color--bleu); text-decoration: underline; }
.nb-aussi ul { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.nb-aussi a { font-size: 16px; font-weight: 500; line-height: 1.4; color: var(--wp--preset--color--nuit); text-decoration: none; }
.nb-aussi a:hover { color: var(--wp--preset--color--bleu); text-decoration: underline; }
@media (min-width: 900px) { .nb-colonne-collante { position: sticky; top: 24px; } }

/* ---------- Pied de page ---------- */
.nb-pied a { color: var(--wp--preset--color--gris); }
.nb-pied a:hover { color: var(--wp--preset--color--bleu); }
.nb-pied .wp-block-avatar img { border-radius: 10px; }
.nb-citation { font-family: var(--wp--preset--font-family--newsreader); font-style: normal; }

/* ---------- Pagination ---------- */
.wp-block-query-pagination { font-weight: 600; }
.wp-block-query-pagination a { text-decoration: none; }

/* ---------- Correctifs 1.0.1 ---------- */
.wp-block-separator { width: 100%; max-width: none; border-width: 1px 0 0; }
.nb-contenu hr, .nb-contenu .wp-block-separator { border-top: 1px solid var(--wp--preset--color--trait); margin: 2em 0; }
.wp-block-avatar:empty { display: none; }
@media (max-width: 781px) {
	.nb-entete > .wp-block-group { flex-wrap: nowrap !important; gap: 12px !important; }
	.nb-entete .nb-marque { margin-right: auto; }
	.nb-entete .wp-block-search { display: none; }
	.nb-entete .wp-block-navigation { order: 3; }
	.nb-entete .wp-block-button__link { padding: 8px 14px; min-height: 40px; font-size: 14px; }
}
.nb-serif { font-family: var(--wp--preset--font-family--newsreader); }
.nb-liens-pied { list-style: none; margin: 0; padding: 0; font-size: 15px; display: flex; flex-direction: column; gap: 6px; }
.nb-editeur-substitut { display: inline-block; padding: 2px 8px; border: 1px dashed var(--wp--preset--color--bleu); border-radius: 6px; font: 500 13px/1.4 var(--wp--preset--font-family--inter); color: var(--wp--preset--color--bleu); }
.nb-marque .wp-block-site-logo img { width: 40px; height: auto; display: block; }
.nb-pied .wp-block-site-logo { margin-bottom: 8px; }
.nb-colonne-collante .nb-sommaire ol { gap: 8px; }
.nb-plus-lus .jetpack-top-posts-wrapper, .nb-plus-lus .wp-block-jetpack-top-posts { margin: 0; }
.nb-plus-lus .jetpack-top-posts-item { padding: 10px 0; border-bottom: 1px solid var(--wp--preset--color--trait); margin: 0 !important; }
.nb-plus-lus .jetpack-top-posts-item:last-child { border-bottom: 0; }
.nb-plus-lus a { font-size: 16px; font-weight: 500; line-height: 1.4; color: var(--wp--preset--color--nuit); text-decoration: none; }
.nb-plus-lus a:hover { color: var(--wp--preset--color--bleu); text-decoration: underline; }
.nb-plus-lus .jetpack-top-posts-thumbnail-link, .nb-plus-lus .jetpack-top-posts-mock-thumbnail { display: none; }
/* Guides du chapitre */
.nb-guides-chapitre { background: var(--wp--preset--color--bleu-pale); border-radius: var(--nb-radius); padding: 20px 22px; margin-top: 24px; }
.nb-guides-chapitre .nb-surtitre { margin: 0 0 10px; color: var(--wp--preset--color--bleu); }
.nb-guides-chapitre ul { list-style: none; margin: 0; padding: 0; columns: 2 260px; column-gap: 28px; }
.nb-guides-chapitre li { break-inside: avoid; padding: 5px 0; }
.nb-guides-chapitre a { font-weight: 600; color: var(--wp--preset--color--nuit); text-decoration: none; }
.nb-guides-chapitre a:hover { color: var(--wp--preset--color--bleu); text-decoration: underline; }
/* Billet : guides du chapitre et étiquette de public */
.nb-guides-billet { padding: 20px; background: var(--wp--preset--color--nuit); color: #FFFFFF; border-radius: var(--nb-radius); }
.nb-guides-billet .nb-surtitre { margin: 0 0 6px; color: #A9C8EA; }
.nb-guides-billet ul { list-style: none; margin: 0; padding: 0; }
.nb-guides-billet li { border-top: 1px solid #2B4468; }
.nb-guides-billet li:first-child { border-top: 0; }
.nb-guides-billet a { display: block; padding: 9px 0; font-size: 15px; font-weight: 600; line-height: 1.35; color: #FFFFFF; text-decoration: none; }
.nb-guides-billet a:hover { text-decoration: underline; }
.nb-ligne-meta .nb-public { margin-left: auto; }
/* ---------- Bas des billets et des pages (1.0.10) ---------- */
/* Note de transparence (dernier paragraphe en italique) */
/* = paragraphe entièrement en italique, sans autre paragraphe rempli après lui */
.nb-contenu > p:has(> em:only-child):not(:has(~ p:not(:empty))) {
	margin-top: 2.4em; padding: 14px 18px; border-left: 3px solid var(--wp--preset--color--bleu); border-radius: 0 8px 8px 0;
	background: var(--wp--preset--color--bleu-pale);
	font-family: var(--wp--preset--font-family--inter); font-size: 14px; line-height: 1.55; color: var(--wp--preset--color--gris);
}
.nb-contenu > p:has(> em:only-child):not(:has(~ p:not(:empty)))::before {
	content: "Transparence"; display: block; margin-bottom: 4px;
	font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--bleu);
}
.nb-contenu > p:has(> em:only-child):not(:has(~ p:not(:empty))) em { font-style: normal; }
.nb-contenu > p:empty { display: none; }
/* Partage Jetpack */
.nb-contenu .sharedaddy, .wp-block-post-content .sharedaddy { margin: 28px 0 0; font-family: var(--wp--preset--font-family--inter); }
.sharedaddy .sd-title { font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--gris-clair) !important; margin: 0 0 10px !important; }
.sharedaddy .sd-title::before { display: none !important; }
.sharedaddy .sd-content ul li a.sd-button { border-radius: 999px !important; box-shadow: none !important; border: 1px solid #D5DDE0 !important; padding: 6px 14px !important; font-size: 14px !important; color: var(--wp--preset--color--nuit) !important; }
.sharedaddy .sd-content ul li a.sd-button:hover { border-color: var(--wp--preset--color--bleu) !important; }
.sharing-hidden + a, .sd-sharing-enabled .sharing-screen-reader-text + a, a.sharing-anchor + .sharing-hidden { font-size: 13px; }
.jp-relatedposts { display: none !important; }
/* Mots-clés */
.nb-mots-cles { color: var(--wp--preset--color--gris-clair); }
.nb-mots-cles a { display: inline-block; margin: 2px 4px 2px 0; padding: 3px 10px; border-radius: 999px; background: var(--wp--preset--color--pale); color: var(--wp--preset--color--nuit); text-decoration: none; font-size: 13px; }
.nb-mots-cles a:hover { background: var(--wp--preset--color--bleu-pale); }
.nb-mots-cles .wp-block-post-terms__separator { display: none; }
/* Commentaires */
.wp-block-comments .comment-reply-title, .wp-block-post-comments-form .comment-reply-title { font-family: var(--wp--preset--font-family--inter); font-size: 20px; font-weight: 600; letter-spacing: 0; }
.wp-block-post-comments-form #respond, .verbum-form, .comment-form { border-color: var(--wp--preset--color--trait) !important; border-width: 1px !important; border-radius: var(--nb-radius); }
.wp-block-post-comments-form textarea, .wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]) { border: 1px solid #C7D1D5; border-radius: 10px; }
/* Fin de page : même chapitre */
.nb-fin-page { margin-top: 40px; padding: 22px 24px; border-radius: var(--nb-radius); background: var(--wp--preset--color--bleu-pale); }
.nb-fin-page .nb-surtitre { margin: 0 0 10px; color: var(--wp--preset--color--bleu); }
.nb-fin-page ul { list-style: none; margin: 0; padding: 0; columns: 2 240px; column-gap: 28px; }
.nb-fin-page li { break-inside: avoid; padding: 5px 0; }
.nb-fin-page a { font-weight: 600; color: var(--wp--preset--color--nuit); text-decoration: none; }
.nb-fin-page a:hover { color: var(--wp--preset--color--bleu); text-decoration: underline; }
.nb-fin-page .nb-fin-lien { margin: 14px 0 0; }
.nb-fin-page .nb-fin-lien a { color: var(--wp--preset--color--bleu); }
.nb-contenu > hr:has(+ p > em:only-child):not(:has(+ p ~ p:not(:empty))) { display: none !important; }
/* Sommaire repliable sous le titre (téléphone et petite tablette) */
.nb-sommaire-mobile { display: none; }
@media (max-width: 781px) {
	.nb-colonne-collante .nb-sommaire { display: none; }
	.nb-sommaire-mobile { display: block; border: 1px solid var(--wp--preset--color--trait); border-radius: var(--nb-radius); }
	.nb-sommaire-mobile summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 16px; cursor: pointer; list-style: none; -webkit-tap-highlight-color: transparent; }
	.nb-sommaire-mobile summary::-webkit-details-marker { display: none; }
	.nb-sommaire-mobile summary::after { content: ""; width: 8px; height: 8px; margin: -3px 3px 0 0; border-right: 2px solid var(--wp--preset--color--bleu); border-bottom: 2px solid var(--wp--preset--color--bleu); transform: rotate(45deg); }
	.nb-sommaire-mobile[open] summary::after { margin-top: 3px; transform: rotate(-135deg); }
	.nb-sommaire-mobile .nb-surtitre { color: #5B6A70; }
	.nb-sommaire-mobile ol { list-style: none; margin: 0; padding: 0 16px 10px; }
	.nb-sommaire-mobile a { display: block; padding: 8px 0; font-size: 16px; line-height: 1.4; color: var(--wp--preset--color--nuit); text-decoration: none; }
}
