@charset "UTF-8";
/* =====================================================================
   PENALEX — socle graphique refonte 2026 (penalex-ux.css)
   Préfixe unique .pnx-* — à combiner avec les utilitaires natifs Flatsome.
   Toute la mise en page est dans UX Builder ; ici : tokens, typographie,
   motifs que le builder ne sait pas produire, header/footer.
   ===================================================================== */

/* ---------- 1. Tokens ------------------------------------------------ */
:root {
	--pnx-bordeaux: #7A1730;
	--pnx-bordeaux-2: #7A1730;   /* un seul bordeaux partout (demande 14.09) */
	--pnx-rose: #e08b9c;      /* teinte bordeaux sur fond sombre (AA : ~6:1 sur pétrole) */
	--pnx-rose-2: #e08b9c;
	--pnx-petrole: #12292E;
	--pnx-petrole-deep: #0C1C20;
	--pnx-ivoire: #F8F8F8;
	--pnx-blanc: #FFFFFF;
	--pnx-gris: #4A5A5C;
	--pnx-gris-2: #556466;
	--pnx-border: #E6E6E6;
	--pnx-border-2: #E0E0E0;
	--pnx-sans: "Jost", "Helvetica Neue", Arial, sans-serif;
	--pnx-serif: "Newsreader", Georgia, "Times New Roman", serif;
	--pnx-gutter: 72px;      /* marge latérale desktop des sections */
	--pnx-ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- 2. Base --------------------------------------------------- */
body {
	background: var(--pnx-ivoire);
	color: var(--pnx-petrole);
	font-family: var(--pnx-sans);
	font-weight: 300;
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
p { color: var(--pnx-gris-2); }
a { color: var(--pnx-bordeaux); }
a:hover { color: #631226; }
strong, b { font-weight: 600; }

h1, h2, h3, h4, h5, h6, .heading-font {
	font-family: var(--pnx-serif);
	font-weight: 300;
	color: var(--pnx-petrole);
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	margin-top: 0;
}
h1 { font-size: 62px; line-height: 1.1; }
h2 { font-size: 34px; line-height: 1.35; margin-bottom: 26px; }
h3 { font-size: 26px; font-weight: 400; line-height: 1.3; }
h4 { font-size: 22px; font-weight: 400; }
h5 { font-size: 18px; font-weight: 500; }
.uppercase { letter-spacing: .06em; }

/* Corps de texte : 17–18.5px, interligne 1.7–1.9 */
.pnx-lead      { font-size: 18px;   line-height: 1.85; color: var(--pnx-gris); }
.pnx-lead-lg   { font-size: 18.5px; line-height: 1.9;  color: var(--pnx-gris); }
.pnx-lead p, .pnx-lead-lg p { font-size: inherit; line-height: inherit; color: inherit; }
.pnx-light, .pnx-light p, .pnx-light h1, .pnx-light h2, .pnx-light h3, .pnx-light h4, .pnx-light li { color: var(--pnx-ivoire); }
.pnx-light p { color: rgba(248,248,248,.82); }
.pnx-light a:not(.button) { color: var(--pnx-rose); }
.pnx-muted { color: var(--pnx-gris-2); }

/* ---------- 3. Motif titre en contour + sous-titre chevauchant -------- */
.pnx-contour {
	font-family: var(--pnx-sans);
	font-weight: 300;
	font-size: clamp(42px, 7vw, 104px);
	line-height: 1;
	letter-spacing: .16em;
	text-indent: .2em;
	text-transform: uppercase;
	text-align: center;
	color: transparent !important;
	-webkit-text-stroke: 1.4px rgba(18,41,46,.7);
	white-space: nowrap;
	margin: 0;
	overflow: visible;
}
.pnx-contour--thick  { -webkit-text-stroke-width: 1.8px; -webkit-text-stroke-color: rgba(18,41,46,.78); }
.pnx-contour--soft   { -webkit-text-stroke-color: rgba(18,41,46,.62); }
.pnx-contour--light  { -webkit-text-stroke: 1.4px rgba(250,250,250,.9); }
.pnx-contour--light.pnx-contour--soft { -webkit-text-stroke-color: rgba(250,250,250,.85); }
.pnx-contour--hero {                       /* H1 du hero d'accueil */
	font-size: clamp(52px, 6.6vw, 92px);
	line-height: 1.06;
	letter-spacing: .14em;
	text-indent: .14em;
	-webkit-text-stroke: 1px rgba(250,250,250,.9);
	white-space: normal;
}
.pnx-contour--page {                       /* H1 des pages intérieures */
	font-size: clamp(44px, 5.6vw, 82px);
	letter-spacing: .16em;
	text-indent: .16em;
	-webkit-text-stroke: 1.4px rgba(250,250,250,.9);
}
/* Titres longs (pages légales) : autorise le retour à la ligne. */
.pnx-contour--long {
	font-size: clamp(28px, 3.4vw, 52px);
	letter-spacing: .14em;
	text-indent: .14em;
	line-height: 1.25;
	white-space: normal;
	max-width: 20ch;
	margin-left: auto;
	margin-right: auto;
}
.pnx-contour--md { font-size: clamp(42px, 6.4vw, 86px); }
.pnx-contour--sm { font-size: clamp(44px, 6vw, 84px); text-indent: .16em; }
.pnx-contour--left {                       /* titre de bloc, aligné à gauche */
	font-size: clamp(38px, 4.6vw, 62px);
	line-height: 1.1;
	letter-spacing: .1em;
	text-indent: 0;
	text-align: left;
	white-space: normal;
	-webkit-text-stroke: 1.6px rgba(18,41,46,.72);
}
.pnx-contour--left.pnx-contour--light { -webkit-text-stroke: 1.6px rgba(248,248,248,.9); }

.pnx-sub {                                 /* sous-titre chevauchant le contour */
	position: relative;
	display: block;
	margin: 14px auto 0;
	max-width: 1200px;
	font-family: var(--pnx-sans);
	font-size: 18px;
	font-weight: 300;
	line-height: 1.35;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-align: center;
	color: var(--pnx-bordeaux);
}
.pnx-sub--light { color: var(--pnx-rose); }
.pnx-sub--pale  { color: var(--pnx-rose-2); }
.pnx-sub--tight { margin-top: 10px; }
.pnx-sub--left  { text-align: left; margin-left: 0; }

.pnx-eyebrow {                             /* surtitre / label bordeaux */
	display: block;
	margin: 14px 0 30px;
	font-family: var(--pnx-sans);
	font-size: 16px;
	font-weight: 300;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--pnx-bordeaux);
}
.pnx-eyebrow--light { color: var(--pnx-rose); }
.pnx-eyebrow--sm { font-size: 11px; font-weight: 700; letter-spacing: .2em; margin: 0 0 8px; }
.pnx-label {                               /* petit label uppercase */
	font-family: var(--pnx-sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.pnx-date { font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: #8a8574; }

/* Titres éditoriaux Newsreader */
.pnx-serif       { font-family: var(--pnx-serif); font-weight: 300; }
.pnx-serif-lg    { font-family: var(--pnx-serif); font-weight: 300; font-size: 38px; line-height: 1.2; }
.pnx-serif-xl    { font-family: var(--pnx-serif); font-weight: 300; font-size: 62px; line-height: 1.1; }
.pnx-serif-quote { font-family: var(--pnx-serif); font-weight: 300; font-size: 26px; line-height: 1.4; }
.pnx-serif-i     { font-family: var(--pnx-serif); font-style: italic; font-weight: 300; font-size: 27px; }

/* Ligne titre encadrée par deux filets bordeaux (hero accueil) */
.pnx-rule-title {
	display: flex;
	align-items: center;
	gap: 26px;
	width: 100%;
	margin: 34px 0 0;
}
.pnx-rule-title::before, .pnx-rule-title::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--pnx-bordeaux);
}
.pnx-rule-title h2, .pnx-rule-title h3 {
	margin: 0;
	flex: 0 0 auto;
	width: auto;
	font-family: var(--pnx-serif);
	font-size: 38px;
	font-weight: 300;
	color: var(--pnx-ivoire);
	white-space: nowrap;
}
.pnx-hours { display: block; margin-top: 26px; font-size: 22px; letter-spacing: .06em; font-weight: 400; color: var(--pnx-rose); }

/* ---------- 4. Boutons (surcharge Flatsome) -------------------------- */
.button, button, input[type="submit"], .woocommerce a.button, .woocommerce button.button {
	font-family: var(--pnx-sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	border-radius: 0;
	border-width: 1px;
	min-height: 48px;
	line-height: 46px;
	padding: 0 30px;
	margin: 0;
	box-shadow: none;
}
.button.primary, .button.primary:hover { background-color: var(--pnx-bordeaux); border-color: var(--pnx-bordeaux); color: var(--pnx-ivoire); }
.button.primary:hover { background-color: #631226; border-color: #631226; }
.button.is-outline { border: 1px solid var(--pnx-petrole); color: var(--pnx-petrole); background: transparent; }
.button.is-outline:hover { background: var(--pnx-petrole); color: var(--pnx-ivoire); }
.pnx-light .button.is-outline, .button.is-outline.pnx-btn-light { border-color: rgba(250,250,250,.45); color: var(--pnx-ivoire); }
.pnx-light .button.is-outline:hover, .button.is-outline.pnx-btn-light:hover { background: rgba(250,250,250,.12); }
.button.pnx-btn-pill { border-radius: 999px; background: var(--pnx-ivoire); color: var(--pnx-bordeaux); font-size: 15.5px; letter-spacing: .06em; text-transform: none; padding: 0 46px; min-height: 52px; line-height: 50px; }
.pnx-btn-row { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 44px; }
.pnx-btn-row--left { justify-content: flex-start; }
.pnx-btn-row .button { margin: 0; }
.button + .button { margin-left: 14px; }

/* Lien-flèche uppercase (cartes) */
.pnx-more, .pnx-more a { font-family: var(--pnx-sans); font-size: 13.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pnx-bordeaux); }
.pnx-more::after, .pnx-more a::after { content: " \2192"; }

/* ---------- 5. Sections & grilles ------------------------------------ */
/* Marges latérales des sections : 72px desktop (maquette 1440px) */
.pnx-pad .section-content, .pnx-pad > .row, .pnx-pad { padding-left: var(--pnx-gutter); padding-right: var(--pnx-gutter); }
.pnx-pad-sm { padding-left: 40px; padding-right: 40px; }
.pnx-narrow { max-width: 1080px; }
.pnx-center { margin-left: auto; margin-right: auto; }
.pnx-hero .section-content { padding-left: var(--pnx-gutter); padding-right: var(--pnx-gutter); }

/* Ligne fine sous le hero / au-dessus des sections claires */
.pnx-border-top { border-top: 1px solid var(--pnx-border-2); }
.pnx-border-bottom { border-bottom: 1px solid var(--pnx-border); }

/* Cartes blanches à liseré bordeaux (Défendre / Conseiller / Informer) */
.pnx-card .col-inner {
	background: var(--pnx-blanc);
	border: 1px solid var(--pnx-border);
	border-top: 3px solid var(--pnx-bordeaux);
	padding: 38px 32px;
	height: 100%;
}
.pnx-card h3 { margin: 0 0 14px; font-family: var(--pnx-serif); font-size: 34px; font-weight: 400; color: var(--pnx-petrole); }
.pnx-card p  { margin: 0 0 24px; font-size: 17px; line-height: 1.7; color: var(--pnx-gris-2); }
.pnx-card p:last-child { margin-bottom: 0; }

/* Grille de cases séparées par un filet gris (Domaines fiche avocat) */
.pnx-cells { background: var(--pnx-border); border-top: 1px solid var(--pnx-border); border-bottom: 1px solid var(--pnx-border); }
.pnx-cells .col { padding: 0 1px 1px 0; }
.pnx-cells .col-inner { background: var(--pnx-blanc); padding: 30px 26px; height: 100%; }
.pnx-cells h3 { margin: 0 0 10px; font-family: var(--pnx-serif); font-size: 23px; font-weight: 400; }
.pnx-cells p  { margin: 0; font-size: 16px; line-height: 1.7; }

/* Tuiles image sombres (grille Compétences, Thématiques) — sur [ux_banner] */
.pnx-tile { background: var(--pnx-petrole); }
.pnx-tile .bg { opacity: .62; }
.pnx-tile .banner-bg::after, .pnx-tile .overlay {
	background: linear-gradient(180deg, rgba(18,41,46,.04) 0%, rgba(18,41,46,.18) 55%, rgba(18,41,46,.82) 100%) !important;
}
.pnx-tile .banner-layers .text-box { padding: 26px 24px 24px; }
.pnx-tile .pnx-eyebrow--sm { color: var(--pnx-rose); }
.pnx-tile h3 { margin: 0; font-family: var(--pnx-serif); font-size: 23px; font-weight: 400; line-height: 1.25; color: var(--pnx-ivoire); }
.pnx-tile .pnx-tile-more { display: block; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(248,248,248,.25); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(248,248,248,.75); }
.pnx-tile .pnx-tile-more::after { content: " \2192"; }
.pnx-tile:hover .bg { opacity: .78; }

/* Bande de chiffres clés sur fond pétrole */
.pnx-stats { background: var(--pnx-petrole); }
.pnx-stats .col { padding: 0; }
.pnx-stats .col-inner { padding: 34px 40px; border-left: 1px solid rgba(248,248,248,.16); text-align: center; }
.pnx-stats .col:first-child .col-inner { border-left: 0; }
.pnx-stats .pnx-stat-value { display: block; font-family: var(--pnx-serif); font-size: 38px; font-weight: 300; line-height: 1.2; color: var(--pnx-ivoire); }
.pnx-stats .pnx-stat-label { display: block; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--pnx-rose); }

/* Blocs alternés texte / photo (Connaissance, Droit pénal) */
.pnx-split .col { padding: 0; }
.pnx-split .col-inner { height: 100%; }
.pnx-split .col-inner > .banner { height: 100% !important; min-height: 520px; }
@media (max-width: 849px) { .pnx-split .col-inner > .banner { min-height: 320px; height: 320px !important; } }
.pnx-split-text .col-inner { padding: 88px 64px; display: flex; flex-direction: column; justify-content: center; }
.pnx-split-text.pnx-dark .col-inner { background: var(--pnx-petrole); }
.pnx-split-text.pnx-dark p { color: rgba(248,248,248,.82); }
.pnx-split-text.pnx-dark h3 { color: var(--pnx-ivoire); }
.pnx-split-text .pnx-serif-quote { margin: 0 0 24px; }
.pnx-split-text .button { align-self: flex-start; }

/* Bandeau photo assombri avec titre centré (Dynamique, CTA) */
.pnx-photo-band .overlay { background: linear-gradient(180deg, rgba(18,41,46,.6), rgba(18,41,46,.5)) !important; }
.pnx-photo-band--deep .overlay { background: rgba(18,41,46,.75) !important; }

/* Aplat bordeaux dégradé (entête fiche avocat) */
.pnx-bordeaux-grad { background: linear-gradient(160deg, #7a1730 0%, #4d0f1e 55%, #200710 100%); }
.pnx-vline .col-inner { border-left: 1px solid rgba(248,248,248,.35); padding-left: 72px; }
.pnx-portrait { width: 300px; height: 300px; border-radius: 50%; overflow: hidden; margin: 0 auto; background: #2b1219; }
.pnx-portrait img { width: 100%; height: 100%; object-fit: cover; }

/* Encart Prendre RDV (aside Bookly) */
.pnx-aside { background: #f1edee; border-top: 3px solid var(--pnx-bordeaux); padding: 34px 34px 38px; box-shadow: 0 1px 0 #e4dcde; }
.pnx-aside h2 { margin: 0 0 12px; font-family: var(--pnx-sans); font-size: 26px; letter-spacing: .02em; text-transform: uppercase; font-weight: 700; color: var(--pnx-bordeaux); }
.pnx-aside .pnx-aside-rule { height: 3px; width: 180px; background: var(--pnx-bordeaux); margin-bottom: 34px; }

/* Accordéons Flatsome habillés */
.pnx-acc .accordion-title { border: 0; border-bottom: 1px solid var(--pnx-border); padding: 22px 0 22px 64px; font-family: var(--pnx-sans); font-size: 21px; font-weight: 600; color: var(--pnx-petrole); }
.pnx-acc .accordion-title .toggle { left: 0; width: 42px; height: 42px; border-radius: 50%; background: #f1eaec; color: var(--pnx-bordeaux); margin: 0; top: 22px; }
.pnx-acc .accordion-title .toggle i { font-size: 16.5px; }
.pnx-acc .accordion-inner { padding: 0 0 26px 64px; }
.pnx-acc .accordion-inner ul { list-style: none; margin: 0; padding: 0; }
.pnx-acc .accordion-inner li { display: flex; gap: 14px; padding: 7px 0; font-size: 16.5px; line-height: 1.7; color: var(--pnx-gris); }
.pnx-acc .accordion-inner li::before { content: "\2014"; color: var(--pnx-bordeaux-2); }

/* Liste de publications / références (année + titre) */
.pnx-pubs { list-style: none; margin: 0; padding: 0; }
.pnx-pubs li { display: flex; align-items: baseline; gap: 24px; padding: 18px 0; border-top: 1px solid var(--pnx-border); font-size: 18px; line-height: 1.6; color: var(--pnx-gris); }
.pnx-pubs li span:first-child { min-width: 60px; font-size: 12.5px; font-weight: 800; letter-spacing: .16em; color: var(--pnx-bordeaux-2); }

/* Tableaux denses (sanctions, casier, alcoolémie) */
.pnx-table table { width: 100%; border-collapse: collapse; font-size: 15.5px; line-height: 1.55; }
.pnx-table th { background: var(--pnx-petrole); color: var(--pnx-ivoire); font-family: var(--pnx-sans); font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 14px 16px; text-align: left; }
.pnx-table td { padding: 14px 16px; border-bottom: 1px solid var(--pnx-border); color: var(--pnx-gris); vertical-align: top; }
.pnx-table tr:nth-child(even) td { background: var(--pnx-blanc); }
.pnx-table td strong { color: var(--pnx-bordeaux); }
.pnx-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Sommaire aside (pages contenu) */
.pnx-toc { border-left: 1px solid var(--pnx-border); padding-left: 28px; }
.pnx-toc h2, .pnx-toc h3 { font-family: var(--pnx-sans); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--pnx-bordeaux); margin: 0 0 16px; }
.pnx-toc ul { list-style: none; margin: 0; padding: 0; }
.pnx-toc li { padding: 8px 0; border-bottom: 1px solid var(--pnx-border); font-size: 15.5px; line-height: 1.45; }
.pnx-toc li a { color: var(--pnx-petrole); }
.pnx-toc li a:hover { color: var(--pnx-bordeaux); }

/* Encadré "À retenir" */
.pnx-note { background: var(--pnx-blanc); border: 1px solid var(--pnx-border); border-left: 3px solid var(--pnx-bordeaux); padding: 28px 30px; }
.pnx-note h2, .pnx-note h3 { font-family: var(--pnx-sans); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--pnx-bordeaux); margin: 0 0 14px; }

/* Article blog : contenu 18px */
.pnx-article p, .pnx-article li { font-size: 18px; line-height: 1.85; color: var(--pnx-gris); }
.pnx-article h2 { font-size: 30px; margin: 40px 0 18px; }
.pnx-article h3 { font-size: 24px; margin: 30px 0 14px; }
.pnx-article blockquote { border-left: 3px solid var(--pnx-bordeaux); padding-left: 24px; font-family: var(--pnx-serif); font-size: 24px; font-style: italic; color: var(--pnx-petrole); }

/* ---------- 6. Révélation au scroll ----------------------------------- */
@keyframes pnxReveal { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
@keyframes pnxZoom   { from { transform: scale(1.06); } to { transform: scale(1.16); } }
html.pnx-js .pnx-reveal { opacity: 0; }
html.pnx-js .pnx-reveal.is-in { opacity: 1; animation: pnxReveal .8s var(--pnx-ease) both; }
@media (prefers-reduced-motion: reduce) {
	html.pnx-js .pnx-reveal { opacity: 1; animation: none; }
}
/* Zoom lent du fond de hero (sur [ux_banner class="pnx-zoom"]) */
.pnx-zoom, .pnx-zoom .banner-bg, .pnx-zoom .section-bg-wrapper { overflow: hidden; }
.pnx-zoom .bg, .pnx-zoom .section-bg, .pnx-zoom .video-bg video { animation: pnxZoom 30s ease-in-out infinite alternate; }
.pnx-zoom .bg, .pnx-zoom .section-bg { opacity: .32; }
.pnx-zoom.has-video .bg, .pnx-zoom.has-video .section-bg { opacity: 1; }
.pnx-zoom .overlay, .pnx-zoom .section-bg-overlay { background: linear-gradient(180deg, rgba(18,41,46,.92) 0%, rgba(18,41,46,.6) 50%, rgba(12,28,32,.97) 100%) !important; }
@media (prefers-reduced-motion: reduce) { .pnx-zoom, .pnx-zoom .banner-bg, .pnx-zoom .section-bg-wrapper { overflow: hidden; }
.pnx-zoom .bg, .pnx-zoom .section-bg, .pnx-zoom .video-bg video { animation: none; } }

/* ---------- 7. Header ------------------------------------------------- */
#header, .header-wrapper, .header-main, .header-bg-color, .header-bg-image { background-color: var(--pnx-petrole) !important; }
.header-main { border-bottom: 1px solid rgba(255,255,255,.14); }
/* Gabarit "Transparent Header" : la nav se pose sur le hero (accueil) */
#header.transparent .header-wrapper:not(.stuck), #header.transparent .header-wrapper:not(.stuck) .header-main,
#header.transparent .header-wrapper:not(.stuck) .header-bg-color { background-color: transparent !important; }
#header.transparent .header-wrapper.stuck .header-main { background-color: var(--pnx-petrole) !important; }
.header .header-inner { padding-left: 0; padding-right: 0; }
.header-main .flex-row, .header-bottom .flex-row { padding-left: var(--pnx-gutter); padding-right: var(--pnx-gutter); }
.header-wrapper.stuck .header-main { box-shadow: none; }

/* Logo typographique [penalex] */
#logo a { font-family: var(--pnx-serif); font-size: 30px; font-weight: 400; color: var(--pnx-ivoire) !important; letter-spacing: 0; text-transform: lowercase; line-height: 1; display: inline-flex; align-items: center; gap: 10px; }
#logo a::before { content: "["; color: var(--pnx-bordeaux-2); font-weight: 300; }
#logo a::after  { content: "]"; color: var(--pnx-bordeaux-2); font-weight: 300; }
#logo a img { display: none; }
#logo a:has(img)::before, #logo a:has(img)::after { content: none; }
#logo a:has(img) img { display: block; }

/* Navigation Newsreader 15.5px, sans capitales */
.header-nav > li > a {
	font-family: var(--pnx-serif);
	font-size: 15.5px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: rgba(250,250,250,.82);
	padding: 0 13px;
}
.header-nav > li > a:hover, .header-nav > li.active > a, .header-nav > li.current-menu-item > a, .header-nav > li.current-menu-parent > a {
	color: #fff;
}
.header-nav > li.current-menu-item > a > span, .header-nav > li.current-menu-parent > a > span, .header-nav > li.active > a > span {
	border-bottom: 1px solid var(--pnx-bordeaux-2);
	padding-bottom: 2px;
}
.header-nav.nav-divided > li + li > a::before { display: none; }
.header-nav > li > a i.icon-angle-down, .header-nav > li > a .icon-angle-down { display: none; }
.nav-dropdown { border: 1px solid rgba(255,255,255,.14); background: var(--pnx-petrole); box-shadow: 0 10px 30px rgba(0,0,0,.25); padding: 12px 0; }
.nav-dropdown > li > a { font-family: var(--pnx-serif); font-size: 15.5px; color: rgba(250,250,250,.82) !important; padding: 8px 22px; border: 0; }
.nav-dropdown > li > a:hover { color: #fff !important; background: rgba(255,255,255,.05); }
.nav-dropdown-default { border-top: 0; }

/* CTA Rendez-vous dans le header */
.header-button-1 .button, .header-button-1 .button.primary {
	font-size: 12.5px;
	min-height: 40px;
	line-height: 38px;
	padding: 0 20px;
	margin: 0 0 0 13px;
	background: var(--pnx-bordeaux);
	border: 1px solid var(--pnx-bordeaux-2);
	color: var(--pnx-ivoire);
	border-radius: 0 !important;
	text-transform: uppercase;
	letter-spacing: .1em;
}
.header-button-1 .button:hover { background: #631226; }

/* Mobile */
.header-main .nav-icon .icon-menu, .header-main .header-search .icon-search { color: var(--pnx-ivoire); }
.mobile-sidebar .nav > li > a { font-family: var(--pnx-serif); font-size: 18px; text-transform: none; letter-spacing: 0; }
.off-canvas .mfp-content, .mobile-sidebar { background: var(--pnx-petrole); }
.mobile-sidebar .nav > li > a, .mobile-sidebar .nav > li > a i { color: rgba(250,250,250,.85); }
.mobile-sidebar .nav > li { border-color: rgba(255,255,255,.1); }

/* ---------- 8. Footer ------------------------------------------------- */
.absolute-footer, .absolute-footer.dark { background: var(--pnx-petrole-deep); color: rgba(250,250,250,.55); font-size: 13px; padding: 34px 0; border-top: 1px solid rgba(255,255,255,.12); }
.absolute-footer .container { padding-left: var(--pnx-gutter); padding-right: var(--pnx-gutter); }
.absolute-footer .footer-primary { float: none; width: 100%; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px 24px; padding: 0; text-align: left; }
.absolute-footer .footer-primary > .footer-nav { grid-column: 2; grid-row: 1; justify-self: end; }
.absolute-footer .footer-primary > .copyright-footer { grid-column: 1; grid-row: 1; justify-self: start; }
.absolute-footer .footer-primary > * { flex: 0 1 auto; width: auto; max-width: none; margin: 0; border: 0; }
.absolute-footer .footer-primary > div[class*="menu"] { display: inline-flex; }
.absolute-footer .footer-nav, .absolute-footer .footer-nav > li, .absolute-footer .footer-primary > div[class*="menu"] { border: 0 !important; box-shadow: none; }
.absolute-footer .footer-nav { display: inline-flex; width: auto; }
.absolute-footer .footer-nav { white-space: nowrap; margin: 0; }
.absolute-footer .footer-nav > li > a, .absolute-footer .footer-nav > li > a:hover { font-family: var(--pnx-sans); font-size: 13px; font-weight: 300; letter-spacing: 0; text-transform: none; color: rgba(250,250,250,.55); padding: 0; line-height: 1.6; }
.absolute-footer .footer-nav > li { margin: 0; }
.absolute-footer .footer-nav > li + li::before { content: "\00b7"; margin: 0 8px; color: rgba(250,250,250,.55); }
.absolute-footer .footer-nav > li > a:hover { color: #fff; }
.absolute-footer .footer-primary .menu-footer-container, .absolute-footer .footer-primary .menu-footer-menu-container { margin: 0; }
.absolute-footer .footer-secondary, .absolute-footer .payment-icons { display: none; }
.absolute-footer .copyright-footer { padding: 0; }
.absolute-footer.dark .copyright-footer { color: rgba(250,250,250,.55); }
.absolute-footer .atn-backlink { display: inline; margin-left: 18px; }
.absolute-footer .atn-backlink p { display: inline; margin: 0; color: rgba(250,250,250,.4); font-size: 12px; }
.absolute-footer .atn-backlink a { color: rgba(250,250,250,.55); }
.back-to-top { display: none !important; }

/* ---------- 9. WooCommerce / formulaires ------------------------------ */
.woocommerce-Price-amount, .price { font-family: var(--pnx-serif); color: var(--pnx-petrole); }
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], select, textarea, .select2-container .select2-selection--single {
	border-radius: 0; border: 1px solid #d9cfd2; background: #fff; font-family: var(--pnx-sans); font-size: 16.5px; color: var(--pnx-gris-2); box-shadow: none;
}
.bookly-form .bookly-btn, .bookly-form .bookly-round, .bookly-form .bookly-square { background: var(--pnx-bordeaux-2) !important; border-color: var(--pnx-bordeaux-2) !important; border-radius: 0 !important; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
.bookly-form .bookly-form-group > label { color: var(--pnx-bordeaux-2); font-weight: 700; }

/* ---------- 10. Responsive ------------------------------------------- */
@media (max-width: 1100px) {
	:root { --pnx-gutter: 40px; }
	.pnx-split-text .col-inner { padding: 64px 40px; }
	.pnx-vline .col-inner { padding-left: 40px; }
}
@media (max-width: 849px) {
	:root { --pnx-gutter: 24px; }
	body { font-size: 16px; }
	h1 { font-size: 40px; }
	h2 { font-size: 28px; }
	.pnx-contour, .pnx-contour--page, .pnx-contour--md, .pnx-contour--sm {
		font-size: clamp(34px, 9.5vw, 56px);
		letter-spacing: .1em;
		text-indent: .1em;
		white-space: normal;
		line-height: 1.05;
	}
	.pnx-contour--hero { font-size: clamp(34px, 9vw, 52px); letter-spacing: .1em; }
	.pnx-contour--left { font-size: clamp(30px, 8vw, 44px); }
	.pnx-sub { margin-top: 10px; font-size: 15px; }
	.pnx-rule-title h2, .pnx-rule-title h3 { font-size: 24px; white-space: normal; text-align: center; }
	.pnx-rule-title { gap: 14px; }
	.pnx-stats .col-inner { border-left: 0; border-top: 1px solid rgba(248,248,248,.16); padding: 24px 20px; }
	.pnx-split-text .col-inner { padding: 56px 24px; }
	.pnx-card .col-inner { padding: 30px 24px; }
	.pnx-card h3 { font-size: 28px; }
	.pnx-vline .col-inner { border-left: 0; border-top: 1px solid rgba(248,248,248,.35); padding: 40px 0 0; }
	.pnx-portrait { width: 220px; height: 220px; }
	.pnx-aside { padding: 26px 22px 30px; }
	.pnx-acc .accordion-title { font-size: 18px; padding-left: 56px; }
	.pnx-acc .accordion-inner { padding-left: 0; }
	.pnx-toc { border-left: 0; padding-left: 0; border-top: 1px solid var(--pnx-border); padding-top: 24px; }
	.button + .button { margin-left: 0; }
	.pnx-btn-row { gap: 12px; }
	.absolute-footer { text-align: center; }
	.absolute-footer .footer-primary { grid-template-columns: 1fr; }
	.absolute-footer .footer-primary > .footer-nav { grid-column: 1; grid-row: 2; justify-self: center; }
	.absolute-footer .footer-primary > .copyright-footer { justify-self: center; }
	.absolute-footer .footer-nav { white-space: normal; text-align: center; }
	.absolute-footer .atn-backlink { display: block; margin: 8px 0 0; }
	/* Fiche avocat : bloc booking en premier (déjà en tête dans le DOM) */
	.pnx-booking-first { background: #f1edee; }
}
@media (max-width: 549px) {
	.pnx-contour, .pnx-contour--page, .pnx-contour--md, .pnx-contour--sm, .pnx-contour--hero { font-size: clamp(28px, 10vw, 40px); letter-spacing: .08em; }
	.pnx-contour--left { font-size: clamp(26px, 8vw, 36px); }
	.pnx-hours { font-size: 18px; }
	.pnx-table table { font-size: 14px; }
	.pnx-table th, .pnx-table td { padding: 10px 12px; }
}

/* ---------- 11. Grille d'actualités ([blog_posts class="pnx-posts"]) -- */
.pnx-posts .box-image { background: var(--pnx-border); }
.pnx-posts .box-text { padding: 16px 0 0; text-align: left; display: flex; flex-direction: column; }
.pnx-posts .box-text .post-meta, .pnx-posts .box-text .is-xsmall { order: -1; }
.pnx-posts .box-text .blog-post-inner, .pnx-posts .box-text .box-text-inner { display: flex; flex-direction: column; }
.pnx-posts .post-meta, .pnx-posts .is-xsmall, .pnx-posts .box-text .is-small { font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: #8a8574; opacity: 1; margin: 0; }
.pnx-posts .post-title { font-family: var(--pnx-serif); font-size: 22px; font-weight: 400; line-height: 1.3; margin: 10px 0 0; color: var(--pnx-petrole); }
.pnx-posts .post-title:hover { color: var(--pnx-bordeaux); }
.pnx-posts .box-image .image-cover { padding-top: 0 !important; height: 180px; }

/* ---------- 12. Hero des pages intérieures ([section class="pnx-hero"]) */
.pnx-hero .section-bg-overlay { background: linear-gradient(180deg, rgba(18,41,46,.92) 0%, rgba(18,41,46,.7) 55%, rgba(12,28,32,.95) 100%) !important; }
.pnx-hero--flat .section-bg-overlay { background: transparent !important; }   /* image en opacité, sans dégradé */
.pnx-hero--op28 .section-bg { opacity: .28; }
.pnx-hero--op35 .section-bg { opacity: .35; }
.pnx-hero--op40 .section-bg { opacity: .4; }
.pnx-hero--op50 .section-bg { opacity: .5; }
.pnx-hero .pnx-contour--page { margin: 0; }
.pnx-hero .pnx-sub { margin-top: 14px; }

/* ---------- 13. Tuiles portfolio ([col class="pnx-tiles-wrap"] > [ux_portfolio class="pnx-tiles"]) ---- */
.pnx-tiles-wrap .portfolio-element-wrapper > .container { padding: 0; max-width: none; }
.pnx-tiles-wrap .filter-nav { margin: 0 0 34px; padding: 0; border: 0; }
.pnx-tiles-wrap .filter-nav > li { margin: 0 12px 0 0; }
.pnx-tiles-wrap .filter-nav > li > a { font-family: var(--pnx-sans); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--pnx-petrole); border: 1px solid #c9cfcf; padding: 13px 30px; line-height: 1.2; background: transparent; opacity: 1; }
.pnx-tiles-wrap .filter-nav > li > a::after, .pnx-tiles-wrap .filter-nav > li > a::before { display: none; }
.pnx-tiles-wrap .filter-nav > li.active > a, .pnx-tiles-wrap .filter-nav > li > a:hover { background: var(--pnx-bordeaux); border-color: var(--pnx-bordeaux); color: var(--pnx-ivoire); }
.pnx-tiles .portfolio-box { background: var(--pnx-petrole); }
.pnx-tiles .portfolio-box .box-image img { opacity: .62; transition: opacity .3s; }
.pnx-tiles .portfolio-box:hover .box-image img { opacity: .78; }
.pnx-tiles .portfolio-box .box-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,41,46,.04) 0%, rgba(18,41,46,.18) 55%, rgba(18,41,46,.82) 100%); pointer-events: none; }
.pnx-tiles .portfolio-box .box-text { padding: 26px 24px 24px; text-align: left; display: flex; flex-direction: column; justify-content: flex-end; }
.pnx-tiles .portfolio-box .box-text .show-on-hover { opacity: 1 !important; }
.pnx-tiles .portfolio-box .box-text .portfolio-box-category, .pnx-tiles .portfolio-box .box-text .is-xsmall { font-family: var(--pnx-sans); font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--pnx-rose); opacity: 1; margin: 0 0 8px; }
.pnx-tiles .portfolio-box .box-text .portfolio-box-title { font-family: var(--pnx-serif); font-size: 23px; font-weight: 400; line-height: 1.25; text-transform: none; letter-spacing: 0; color: var(--pnx-ivoire); margin: 0; }
.pnx-tiles .portfolio-box .box-text .portfolio-box-title::after { content: "En savoir plus \2192"; display: block; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(248,248,248,.25); font-family: var(--pnx-sans); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(248,248,248,.75); }
.pnx-tiles .portfolio-box .box-text-inner { width: 100%; }
.pnx-tiles .portfolio-box .is-divider, .pnx-tiles .portfolio-box .box-text .portfolio-box-excerpt { display: none; }
.pnx-tiles .box-overlay .box-text, .pnx-tiles .box-shade .box-text { position: absolute; bottom: 0; }
.pnx-tiles .box-overlay .box-image, .pnx-tiles .box-shade .box-image { position: static; }
.pnx-tiles .box-overlay .box-text { top: 0; }
.pnx-tiles .portfolio-box .box-text .box-text-inner > * { order: 1; }
.pnx-tiles .portfolio-box .box-text .box-text-inner > .portfolio-box-category { order: 0; margin-bottom: auto; }
.pnx-tiles .portfolio-box .box-text .box-text-inner { display: flex; flex-direction: column; height: 100%; }
.pnx-posts .is-divider { display: none; }

/* ---------- 14. Compléments Notre étude ------------------------------- */
.button.is-small, .button.is-smaller { font-size: 12.5px; padding: 0 26px; min-height: 44px; line-height: 42px; }
.button.is-outline.pnx-btn-bordeaux { border-color: var(--pnx-bordeaux); color: var(--pnx-bordeaux); }
.button.is-outline.pnx-btn-bordeaux:hover { background: var(--pnx-bordeaux); color: var(--pnx-ivoire); }
.button.pnx-video-cta, .button.pnx-video-cta:hover { display: inline-flex; flex-direction: column; align-items: center; gap: 22px; min-height: 0; line-height: 1.3; padding: 0; margin: 0; border: 0; background: transparent; text-transform: none; letter-spacing: 0; font-family: var(--pnx-serif); font-size: 28px; font-weight: 300; color: var(--pnx-ivoire); }
.button.pnx-video-cta i { display: flex; align-items: center; justify-content: center; width: 86px; height: 86px; border-radius: 50%; background: rgba(248,248,248,.92); color: var(--pnx-bordeaux); font-size: 26px; padding-left: 6px; margin: 0; transition: transform .3s; }
.button.pnx-video-cta:hover i { transform: scale(1.06); }
.pnx-acc--lg .accordion-title { border-top: 1px solid var(--pnx-border-2); border-bottom: 0; padding: 26px 0 26px 66px; font-size: 23px; font-weight: 600; line-height: 1.3; }
.pnx-acc--lg .accordion-title .toggle { top: 26px; font-size: 18px; }
.pnx-acc--lg .accordion-inner { padding: 0 0 30px 66px; max-width: 1066px; }
.pnx-acc--lg .accordion-inner p { font-size: 18.5px; line-height: 1.9; color: var(--pnx-gris); }
.pnx-acc--lg .accordion-inner .pnx-more { font-size: 12.5px; }
.pnx-acc--lg { border-bottom: 1px solid var(--pnx-border-2); }
.pnx-acc .accordion-title.active { color: var(--pnx-petrole); }
.pnx-duo-left > .col-inner { border-right: 1px solid rgba(255,255,255,.14); }
@media (max-width: 849px) { .pnx-duo-left > .col-inner { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); } .pnx-acc--lg .accordion-title { padding-left: 56px; font-size: 19px; } .pnx-acc--lg .accordion-inner { padding-left: 0; } }
.button.pnx-video-cta, .button.pnx-video-cta:hover { flex-direction: column-reverse; }
.pnx-acc .accordion-title .toggle i::before { content: "+"; font-family: var(--pnx-sans); font-style: normal; font-size: 20px; line-height: 1; }
.pnx-acc .accordion-title.active .toggle i::before { content: "\2212"; }
.pnx-acc .accordion-title .toggle i { transform: none !important; }

/* ---------- 15. Équipe ([team_member] dans [row class="pnx-team"]) ---- */
.pnx-team-heading { font-family: var(--pnx-sans); font-size: 20px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; color: var(--pnx-bordeaux); margin: 0; padding-bottom: 14px; border-bottom: 1px solid #d9c2c8; }
.pnx-team .col { padding-top: 28px; padding-bottom: 52px; }
.pnx-team .box, .pnx-team .box { text-align: center; }
.pnx-team .box .box-image { max-width: 236px; margin: 0 auto; position: relative; }
.pnx-team .box .box-image img { border-radius: 50%; }
.pnx-team .box .box-image::after { content: "+"; position: absolute; right: 6px; bottom: 10px; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--pnx-bordeaux); color: #fff; font-family: var(--pnx-sans); font-size: 22px; font-weight: 300; line-height: 1; pointer-events: none; }
.pnx-team .box .box-text { padding: 24px 0 0; }
.pnx-team .box .box-text h4, .pnx-team .box .box-text .team-name, .pnx-team .box .box-text p:first-child { font-family: var(--pnx-serif); font-size: 21px; font-weight: 400; letter-spacing: .04em; text-transform: uppercase; line-height: 1.25; color: var(--pnx-petrole); margin: 0 0 8px; }
.pnx-team .box .box-text p, .pnx-team .box .box-text .team-title { font-family: var(--pnx-serif); font-size: 17px; letter-spacing: .04em; text-transform: uppercase; line-height: 1.4; color: #8a9694; margin: 0; opacity: 1; }
.pnx-team .box .box-text .is-divider, .pnx-team .box .box-text .social-icons { display: none; }
.pnx-team .box .box-image { overflow: visible; }
.pnx-team .box .box-image .image-cover { border-radius: 50%; overflow: hidden; }
.pnx-team .box .box-text-inner > p:first-child, .pnx-team .box .box-text-inner > h4 { font-family: var(--pnx-serif); font-size: 21px; font-weight: 400; letter-spacing: .04em; text-transform: uppercase; line-height: 1.25; color: var(--pnx-petrole); margin: 0 0 8px; }

/* ---------- 16. Fiche avocat ------------------------------------------ */
.pnx-hero-avocat { background: linear-gradient(160deg, #7a1730 0%, #4d0f1e 55%, #200710 100%) !important; }
.pnx-hero-avocat .pnx-serif-i { margin: 0 0 34px; color: var(--pnx-ivoire); }
.pnx-portrait { width: 300px; height: 300px; margin: 0 auto; }
.pnx-portrait .img, .pnx-portrait .img-inner, .pnx-portrait img { width: 300px !important; height: 300px !important; border-radius: 50% !important; object-fit: cover; margin: 0 auto; overflow: hidden; }
.pnx-hero-avocat .pnx-serif-xl { margin: 0; color: var(--pnx-ivoire); }
.pnx-avocat-title { font-family: var(--pnx-sans); font-size: 22px; letter-spacing: .02em; text-transform: uppercase; font-weight: 700; color: var(--pnx-ivoire); margin: 26px 0 30px; }
.pnx-titres { list-style: disc; margin: 0 0 26px; padding-left: 22px; }
.pnx-titres li { font-size: 19px; line-height: 1.55; color: rgba(248,248,248,.92); margin-bottom: 16px; }
.pnx-langues { font-size: 19px; color: rgba(248,248,248,.92) !important; margin: 0 0 32px; }
.pnx-contact-links { display: flex; flex-wrap: wrap; gap: 22px; }
.pnx-contact-links a { padding-bottom: 4px; border-bottom: 1px solid rgba(248,248,248,.4); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(248,248,248,.8) !important; }
.pnx-contact-links a:hover { color: #fff !important; border-color: #fff; }
.pnx-aside-name { font-size: 20px; font-weight: 600; color: var(--pnx-bordeaux-2) !important; margin: 0 0 4px; }
.pnx-aside-title { font-size: 19px; font-weight: 600; color: var(--pnx-petrole) !important; margin: 0 0 26px; }
.pnx-aside .bookly-form { margin-top: 8px; }
.pnx-cells h3 { margin: 0; }
@media (max-width: 849px) {
	.pnx-portrait, .pnx-portrait .img, .pnx-portrait .img-inner, .pnx-portrait img { width: 220px !important; height: 220px !important; }
	.pnx-hero-avocat .pnx-serif-xl { font-size: 42px; }
	.pnx-booking-first { margin-bottom: 30px; }
}
.scroll-to-bullets { display: none !important; }

/* ---------- 17. Vos droits (carrefour) ------------------------------- */
.pnx-rule-heading { font-family: var(--pnx-sans); font-size: 20px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; color: var(--pnx-bordeaux); margin: 0; padding-bottom: 14px; border-bottom: 1px solid #d9c2c8; }
.pnx-kicker { display: block; font-family: var(--pnx-sans); font-size: 12px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--pnx-bordeaux-2); }
.pnx-serif-i-sm { font-family: var(--pnx-serif); font-size: 20px; font-style: italic; font-weight: 400; color: var(--pnx-gris-2); margin: 14px 0 10px; }
.pnx-card-link p { font-size: 16.5px; line-height: 1.65; margin: 0 0 16px; }
.pnx-card-link .pnx-more { font-size: 12.5px; }
.pnx-tile--hub .text-box { padding: 24px 22px 22px; height: 100%; display: flex; flex-direction: column; }
.pnx-tile--hub .text-box .text-box-content, .pnx-tile--hub .text-box .text-inner { display: flex; flex-direction: column; height: 100%; }
.pnx-tile--hub h3 { margin-top: auto; font-size: 22px; }
.pnx-tile--hub .banner-bg::after { background: linear-gradient(180deg, rgba(18,41,46,.5) 0%, rgba(18,41,46,.9) 100%) !important; }
.pnx-tile--faq .text-box { padding: 16px; }
.pnx-tile--faq h3 { font-family: var(--pnx-sans); font-size: 15px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pnx-ivoire); margin: 0; }
.pnx-tile .banner-layers.container { max-width: none; padding: 0; }
.pnx-tile .text-box { margin: 0 !important; }
.pnx-delais .col { padding: 0; }
.pnx-delais .col-inner { display: flex; align-items: baseline; gap: 14px; border-left: 1px solid rgba(248,248,248,.28); padding-left: 32px; }
.pnx-delais .ux-text { display: flex; align-items: baseline; gap: 14px; }
.pnx-delai-val { font-family: var(--pnx-serif); font-size: 42px; font-weight: 300; line-height: 1; color: var(--pnx-ivoire); }
.pnx-delai-txt { font-size: 14px; line-height: 1.4; color: rgba(248,248,248,.82); }
@media (max-width: 849px) { .pnx-delais .col-inner { border-left: 0; border-top: 1px solid rgba(248,248,248,.28); padding: 14px 0 0; margin-bottom: 14px; } }

/* Boutons : texte toujours centré verticalement (flex), quelle que soit la variante Flatsome */
.button, .button.is-outline, .button.is-link, .button.primary, .button.secondary {
	display: inline-flex; align-items: center; justify-content: center;
	line-height: 1.2; text-align: center; vertical-align: middle;
}
.button > span, .button > i { line-height: inherit; display: inline-block; vertical-align: baseline; }
.button.pnx-video-cta, .button.pnx-video-cta:hover { line-height: 1.3; }

/* ---------- 18. Revue frontend (14.09) --------------------------------- */
/* Boutons : padding vertical quand le libellé passe sur deux lignes */
.button, .button.is-outline, .button.primary { padding-top: 8px; padding-bottom: 8px; }
/* Focus clavier visible (socle accessibilité) */
a:focus-visible, .button:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, .accordion-title:focus-visible {
	outline: 2px solid var(--pnx-bordeaux-2); outline-offset: 3px; box-shadow: none;
}
.pnx-light a:focus-visible, .pnx-light .button:focus-visible { outline-color: var(--pnx-ivoire); }
/* Mobile : CTA header sur une ligne, titre du hero qui replie */
@media (max-width: 849px) {
	.header-button-1 .button, .header-button-1 .button.primary { white-space: nowrap; font-size: 11px; letter-spacing: .08em; padding: 0 12px; min-height: 36px; margin: 0; }
	.header-main .flex-row { padding-left: 16px; padding-right: 16px; }
	.pnx-rule-title { gap: 12px; }
	.pnx-rule-title h2, .pnx-rule-title h3 { flex: 1 1 auto; min-width: 0; white-space: normal; font-size: 24px; line-height: 1.25; }
	.pnx-rule-title::before, .pnx-rule-title::after { flex: 0 0 18px; }
	.pnx-hours { font-size: 18px; }
	.pnx-contour--hero { font-size: clamp(30px, 9vw, 44px); letter-spacing: .1em; }
}

/* ---------- 19. Verrouillage des formes + libellés (revue 14.09) ------- */
/* Règle : les photos (portraits) sont rondes, toute l'interface est carrée. */
.button.pnx-btn-pill { border-radius: 0; }
.pnx-acc .accordion-title .toggle { border-radius: 0; }
.pnx-team .box .box-image::after { border-radius: 0; }
.button.pnx-btn-pill { text-transform: uppercase; font-size: 13px; letter-spacing: .1em; padding: 8px 30px; min-height: 48px; line-height: 1.2; }

/* ---------- 20. Pages de contenu (Vos droits, dossiers, compétences) --- */
.pnx-hero--content .section-bg-overlay { background: transparent !important; }
.pnx-hero--content .section-content { position: relative; }
.pnx-kicker--light { color: var(--pnx-rose); }
.pnx-h1-content { font-family: var(--pnx-serif); font-size: 56px; line-height: 1.12; font-weight: 300; color: var(--pnx-ivoire); margin: 20px 0 22px; }
.pnx-lead--hero { max-width: 760px; font-size: 18.5px; line-height: 1.75; color: rgba(250,250,250,.78) !important; margin: 0; }
.pnx-aside-col > .col-inner { position: sticky; top: 100px; }
.pnx-toc .pnx-kicker { margin: 0 0 16px; }
.pnx-toc-list { list-style: none; margin: 0 0 30px; padding: 0; }
.pnx-toc-list li { padding: 13px 0; border-top: 1px solid var(--pnx-border); font-size: 16.5px; line-height: 1.5; }
.pnx-toc-list li a { color: var(--pnx-gris); }
.pnx-toc-list li a:hover, .pnx-toc-list li.is-current a { color: var(--pnx-petrole); }
.pnx-toc-list li.is-current a { font-weight: 600; }
.pnx-note-box { background: #f1edee; border-top: 3px solid var(--pnx-bordeaux); padding: 24px 22px; }
.pnx-note-box p { margin: 0 0 18px; font-size: 16.5px; line-height: 1.65; color: var(--pnx-gris); }
.pnx-note-box .button { margin: 0; }
.pnx-article { max-width: 860px; }
.pnx-article > h2, .pnx-article h2 { font-size: 34px; line-height: 1.25; margin: 44px 0 22px; }
.pnx-article h2:first-child { margin-top: 0; }
.pnx-article h3 { font-size: 26px; margin: 34px 0 14px; }
.pnx-article h4 { font-size: 21px; font-weight: 600; font-family: var(--pnx-sans); margin: 28px 0 12px; }
.pnx-article p, .pnx-article li { font-size: 18.5px; line-height: 1.9; color: var(--pnx-gris); }
.pnx-article ul, .pnx-article ol { margin: 0 0 24px 22px; }
.pnx-article li { margin-bottom: 8px; }
.pnx-article strong { color: var(--pnx-petrole); font-weight: 600; }
.pnx-article .accordion { margin: 10px 0 34px; }
.pnx-acc--content .accordion-title { padding: 24px 0 24px 60px; font-size: 21px; font-weight: 600; line-height: 1.35; border-top: 1px solid var(--pnx-border-2); border-bottom: 0; }
.pnx-acc--content .accordion-title .toggle { top: 24px; width: 40px; height: 40px; }
.pnx-acc--content .accordion-inner { padding: 0 0 30px 60px; }
.pnx-acc--content .accordion-inner p { font-size: 17.5px; }
.pnx-acc--content { border-bottom: 1px solid var(--pnx-border-2); }
.pnx-tabs .nav-tabs > li > a { font-family: var(--pnx-sans); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--pnx-gris-2); padding: 12px 22px 12px 0; }
.pnx-tabs .nav-tabs > li.active > a, .pnx-tabs .nav-tabs > li > a:hover { color: var(--pnx-bordeaux); }
.pnx-tabs .nav-line > li > a::after, .pnx-tabs .nav-line-bottom > li > a::after { background: var(--pnx-bordeaux); height: 2px; }
.pnx-tabs .tab-panels { padding-top: 26px; }
.pnx-grid-2, .pnx-grid-3 { display: grid; gap: 20px; margin: 0 0 34px; }
.pnx-grid-2 { grid-template-columns: 1fr 1fr; }
.pnx-grid-3 { grid-template-columns: repeat(3, 1fr); }
.pnx-card-sm { background: var(--pnx-blanc); border: 1px solid var(--pnx-border); border-top: 3px solid var(--pnx-bordeaux); padding: 24px 22px; height: 100%; }
.pnx-card-sm h3 { margin: 0 0 8px; font-size: 24px; }
.pnx-card-sm p { margin: 0; font-size: 16px; line-height: 1.6; }
.pnx-dark-box { background: var(--pnx-petrole); color: var(--pnx-ivoire); padding: 26px 24px; height: 100%; }
.pnx-dark-box h3 { color: var(--pnx-ivoire); margin: 0 0 10px; font-size: 24px; }
.pnx-dark-box p { color: rgba(250,250,250,.78); margin: 0; font-size: 16.5px; line-height: 1.7; }
.pnx-dash { list-style: none; margin: 0 0 24px; padding: 0; }
.pnx-dash li { display: flex; gap: 14px; padding: 11px 0; border-top: 1px solid var(--pnx-border); font-size: 17px; line-height: 1.6; margin: 0; }
.pnx-dash li::before { content: "\2014"; color: var(--pnx-bordeaux-2); }
.pnx-related { list-style: none; margin: 0; padding: 0; }
.pnx-related li { padding: 15px 0; border-top: 1px solid rgba(255,255,255,.18); font-size: 17px; line-height: 1.55; }
.pnx-related li a { color: rgba(250,250,250,.88); }
.pnx-related li a:hover { color: #fff; }
.pnx-related-col .box-blog-post, .pnx-related-col .box { border-top: 1px solid rgba(255,255,255,.18); padding: 15px 0; margin: 0; }
.pnx-related-col .box-text { padding: 0; }
.pnx-related-col .post-title { font-family: var(--pnx-sans); font-size: 17px; font-weight: 300; line-height: 1.55; color: rgba(250,250,250,.88); margin: 0; }
.pnx-related-col .post-title:hover { color: #fff; }
.pnx-related-col .is-divider, .pnx-related-col .post-meta, .pnx-related-col .box-image { display: none; }
.pnx-related-col .row { margin: 0; }
.pnx-related-col .col { padding: 0; }
@media (max-width: 1100px) { .pnx-aside-col > .col-inner { position: static; } }
@media (max-width: 849px) {
	.pnx-h1-content { font-size: 36px; }
	.pnx-grid-2, .pnx-grid-3 { grid-template-columns: 1fr; }
	.pnx-acc--content .accordion-title { padding-left: 52px; font-size: 18px; }
	.pnx-acc--content .accordion-inner { padding-left: 0; }
	.pnx-article p, .pnx-article li { font-size: 17px; }
}
.pnx-related-col a, .pnx-related-col .post-title a { color: rgba(250,250,250,.88) !important; font-family: var(--pnx-sans); font-size: 17px; font-weight: 300; line-height: 1.55; }
.pnx-related-col a:hover { color: #fff !important; }
.pnx-related-col .box-blog-post:first-child, .pnx-related-col .box:first-child { border-top: 0; padding-top: 0; }
.pnx-toc { border-left: 0; padding-left: 0; }

/* Bordeaux unique #7a1730 : gradient fiche avocat aligné, Bookly, liens */
.pnx-hero-avocat { background: linear-gradient(160deg, #7a1730 0%, #56111f 55%, #2b0810 100%) !important; }
.bookly-form .bookly-btn, .bookly-form .bookly-round, .bookly-form .bookly-square, .bookly-form .bookly-btn:hover { background: #7a1730 !important; border-color: #7a1730 !important; }
.bookly-form .bookly-progress-tracker > div.active, .bookly-form .bookly-progress-tracker .active .step { background: #7a1730 !important; }
/* Boutons rectangulaires partout, y compris les anciens [button radius="99"] (style inline) */
.button, .button.primary, .button.is-outline, .button.is-link, .header-button-1 .button, .bookly-form .bookly-btn { border-radius: 0 !important; }

/* ---------- 21. Sous-menu déroulant (revue 14.09) ---------------------- */
.nav-dropdown {
	min-width: 268px;
	margin: 0;
	padding: 10px 0;
	background: var(--pnx-petrole-deep);
	border: 0;
	border-top: 2px solid var(--pnx-bordeaux);
	border-radius: 0;
	box-shadow: 0 18px 40px rgba(0,0,0,.35);
}
.nav-dropdown::before, .nav-dropdown::after { display: none; }   /* flèche Flatsome */
.nav-dropdown > li { border: 0; margin: 0; }
.nav-dropdown > li > a {
	display: block;
	border: 0 !important;
	padding: 9px 26px;
	font-family: var(--pnx-serif);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.35;
	text-transform: none;
	letter-spacing: 0;
	color: rgba(248,248,248,.78) !important;
	transition: color .18s, background .18s;
}
.nav-dropdown > li > a:hover, .nav-dropdown > li.current-menu-item > a {
	color: #fff !important;
	background: rgba(255,255,255,.04);
	box-shadow: inset 2px 0 0 var(--pnx-bordeaux);
}
.nav-dropdown li.html { padding: 0; }
.nav-dropdown-has-border .nav-dropdown, .nav-dropdown-has-shadow .nav-dropdown { border: 0; border-top: 2px solid var(--pnx-bordeaux); }
.nav-dropdown-has-arrow li.has-dropdown::after, .nav-dropdown-has-arrow li.has-dropdown::before { display: none; }

/* Ancres de sommaire in-page (scroll_to) : décalage sous le header collant */
.pnx-article .scroll-to-bullets, .pnx-article .scroll-to-row > a { display: none; }
.pnx-article [id] { scroll-margin-top: 110px; }

/* ---------- 22. Dossiers thématiques (carrefour) ---------------------- */
.pnx-dossier > .col-inner { background: var(--pnx-blanc); border: 1px solid var(--pnx-border); height: 100%; display: flex; flex-direction: column; }
.pnx-dossier .img, .pnx-dossier-img { margin: 0 !important; }
.pnx-dossier .ux-text { padding: 30px 28px 32px; border-top: 3px solid var(--pnx-bordeaux); flex: 1; display: flex; flex-direction: column; }
.pnx-dossier .pnx-kicker { font-size: 11.5px; }
.pnx-dossier h3 { margin: 14px 0 12px; font-family: var(--pnx-serif); font-size: 27px; font-weight: 400; line-height: 1.25; }
.pnx-dossier h3 a { color: var(--pnx-petrole); }
.pnx-dossier h3 a:hover { color: var(--pnx-bordeaux); }
.pnx-dossier p { margin: 0 0 26px; font-size: 16.5px; line-height: 1.7; }
.pnx-dossier .pnx-more { margin-top: auto; font-size: 12.5px; }

/* ---------- 23. Base de connaissances --------------------------------- */
.pnx-faq-card > .col-inner { background: var(--pnx-blanc); border: 1px solid var(--pnx-border); border-top: 3px solid var(--pnx-bordeaux); padding: 32px 30px 30px; height: 100%; display: flex; flex-direction: column; }
.pnx-faq-card h3 { margin: 0 0 6px; font-family: var(--pnx-serif); font-size: 27px; font-weight: 400; }
.pnx-faq-card .pnx-more { display: inline-block; margin-top: 12px; font-size: 12.5px; }
.pnx-faq-card > .col-inner > .ux-text:last-of-type { margin-top: auto; }
.pnx-faq-list .row { margin: 0; }
.pnx-faq-list .col { padding: 0; }
.pnx-faq-list .box-blog-post, .pnx-faq-list .box { margin: 0; }
.pnx-faq-list .box-text { padding: 14px 0; border-top: 1px solid #ededed; }
.pnx-faq-list .post-title, .pnx-faq-list .post-title a { font-family: var(--pnx-sans); font-size: 16.5px; font-weight: 300; line-height: 1.55; color: var(--pnx-gris); margin: 0; }
.pnx-faq-list .post-title a:hover { color: var(--pnx-bordeaux); }
.pnx-faq-list .is-divider, .pnx-faq-list .post-meta, .pnx-faq-list .box-image { display: none; }
.pnx-search { max-width: 760px; margin: 0 auto; }
form.pnx-search, .pnx-search form, .pnx-search .searchform { display: flex; align-items: stretch; border: 1px solid #d2d7d7; background: #fff; max-width: 760px; margin: 0 auto; }
.pnx-search input[type="search"], .pnx-search .search-field { border: 0; padding: 18px 22px; font-size: 17px; height: auto; margin: 0; flex: 1; box-shadow: none; }
.pnx-search button, .pnx-search .submit-button { background: var(--pnx-bordeaux); color: #fff; border: 0; padding: 0 30px; margin: 0; min-height: 0; height: auto; font-family: var(--pnx-sans); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; border-radius: 0 !important; flex: 0 0 auto; }
.pnx-search input[type="search"]:focus { outline-offset: -3px; }
@media (max-width: 849px) { .pnx-dossier .ux-text { padding: 24px 22px 26px; } .pnx-dossier h3 { font-size: 23px; } }
/* Cartes dossiers : visuel plein cadre + colonnes internes neutres */
.pnx-dossier .col-inner .col-inner, .pnx-faq-card .col-inner .col-inner { background: transparent; border: 0; padding: 0; }
.pnx-dossier .img, .pnx-dossier .img-inner { width: 100% !important; margin: 0 !important; }
.pnx-dossier .img-inner img, .pnx-dossier img { width: 100%; height: 230px; object-fit: cover; display: block; }
.pnx-faq-list .col-inner { border: 0 !important; background: transparent !important; padding: 0 !important; }
.pnx-faq-card .pnx-more { color: var(--pnx-bordeaux); }

/* ---------- 24. E-Services -------------------------------------------- */
.pnx-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 16px; padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.2); }
.pnx-price-val { font-family: var(--pnx-serif); font-size: 56px; font-weight: 300; color: var(--pnx-ivoire); line-height: 1; }
.pnx-price-note { font-size: 14px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--pnx-rose); }
.pnx-included { list-style: none; counter-reset: pnx; margin: 0; padding: 0; }
.pnx-included li { display: flex; gap: 16px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 18px; color: rgba(250,250,250,.88); }
.pnx-included li::before { counter-increment: pnx; content: counter(pnx); color: var(--pnx-rose); font-weight: 700; }
.pnx-pills { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 28px; }
.pnx-pills span { padding: 12px 20px; border: 1px solid #c9cfcf; font-family: var(--pnx-sans); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pnx-petrole); }
.pnx-cat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pnx-cat-grid a { display: block; background: var(--pnx-blanc); border: 1px solid var(--pnx-border); padding: 22px 20px; color: inherit; }
.pnx-cat-grid a:hover { border-color: var(--pnx-bordeaux); }
.pnx-cat-grid h3 { margin: 0 0 6px; font-family: var(--pnx-sans); font-size: 18px; font-weight: 600; color: var(--pnx-petrole); }
.pnx-cat-grid span { font-size: 15.5px; color: var(--pnx-gris-2); }
.pnx-products .product-small .box-text { padding: 26px 24px; border-top: 3px solid var(--pnx-bordeaux); text-align: left; }
.pnx-products .product-small .col-inner { background: var(--pnx-blanc); border: 1px solid var(--pnx-border); height: 100%; }
.pnx-products .product-title, .pnx-products .product-title a { font-family: var(--pnx-serif); font-size: 24px; font-weight: 400; line-height: 1.25; color: var(--pnx-petrole); }
.pnx-products .price, .pnx-products .woocommerce-Price-amount { font-family: var(--pnx-sans); font-size: 20px; font-weight: 600; color: var(--pnx-petrole); }
.pnx-products .box-image img { height: 200px; object-fit: cover; width: 100%; }
.pnx-products .add-to-cart-button, .pnx-products .category-name, .pnx-products .star-rating { display: none; }
@media (max-width: 849px) { .pnx-cat-grid { grid-template-columns: 1fr; } .pnx-price-val { font-size: 42px; } }

/* ---------- 25. Rendez-vous en ligne ---------------------------------- */
.pnx-booking-box { max-width: 900px; margin: 0 auto; }
.pnx-booking-box .bookly-form { margin-top: 10px; }
.pnx-article--light p, .pnx-article--light li { color: rgba(250,250,250,.82); }
.pnx-article--light h2, .pnx-article--light h3 { color: var(--pnx-ivoire); }
.pnx-article--light h3 { font-family: var(--pnx-sans); font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pnx-rose); margin: 36px 0 16px; }
.pnx-article--light h3:first-child { margin-top: 0; }
.pnx-article--light strong { color: var(--pnx-ivoire); }
.pnx-article--light li p { margin: 0 0 8px; }

/* ---------- 26. Actualités (liste et article) -------------------------- */
.pnx-blog-hero {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-top: -30px;
	margin-bottom: 60px;
	padding: 150px var(--pnx-gutter) 66px;
	background: var(--pnx-petrole) url('https://alpha.penalex.ch/wp-content/uploads/2022/04/Penalex_220425_259_Philippe-Weissbrodt-1-1067x800.jpg') center 35% / cover no-repeat;
}
.pnx-blog-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,41,46,.92) 0%, rgba(18,41,46,.7) 55%, rgba(12,28,32,.95) 100%); }
.pnx-blog-hero-inner { position: relative; max-width: 1296px; margin: 0 auto; }
.pnx-blog-hero .pnx-contour { text-align: center; }
.pnx-blog-hero .pnx-sub { text-align: center; }
.pnx-blog-hero--single { padding-top: 140px; padding-bottom: 60px; }
.pnx-blog-hero--single .pnx-h1-content { max-width: 1000px; margin: 18px 0 0; }
.blog-wrapper .page-title, .blog-archive .page-title { display: none; }

/* Cartes d'article */
.blog-archive .post-item { padding-bottom: 34px; }
.blog-archive .post-item .col-inner, .blog-archive .box-blog-post { background: var(--pnx-blanc); border: 1px solid var(--pnx-border); height: 100%; }
.blog-archive .box-blog-post .box-image { border-bottom: 3px solid var(--pnx-bordeaux); }
.blog-archive .box-blog-post .box-image img { width: 100%; height: 210px; object-fit: cover; }
.blog-archive .box-blog-post .box-text { padding: 26px 26px 28px; text-align: left; }
.blog-archive .post-title, .blog-archive .entry-title { font-family: var(--pnx-serif); font-size: 23px; font-weight: 400; line-height: 1.3; margin: 14px 0 0; }
.blog-archive .post-title a, .blog-archive .entry-title a { color: var(--pnx-petrole); }
.blog-archive .post-title a:hover, .blog-archive .entry-title a:hover { color: var(--pnx-bordeaux); }
.blog-archive .post-meta, .blog-archive .from_the_blog_comments { font-family: var(--pnx-sans); font-size: 11.5px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--pnx-bordeaux-2); opacity: 1; margin: 0; }
.blog-archive .is-divider { display: none; }
.blog-archive .read-more, .blog-archive .more-link { font-family: var(--pnx-sans); font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pnx-bordeaux); }

/* Pagination */
.page-numbers li a, .page-numbers li span { min-width: 46px; height: 46px; line-height: 44px; padding: 0 14px; border: 1px solid var(--pnx-border-2); border-radius: 0 !important; font-size: 15.5px; font-weight: 600; color: var(--pnx-gris); background: transparent; }
.page-numbers li .current, .page-numbers li a:hover { background: var(--pnx-bordeaux); border-color: var(--pnx-bordeaux); color: #fff; }

/* Colonne latérale */
.post-sidebar .widget { margin-bottom: 36px; }
.post-sidebar .widget-title { display: block; border-top: 2px solid var(--pnx-bordeaux); padding-top: 20px; font-family: var(--pnx-sans); font-size: 12px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--pnx-bordeaux-2); margin: 0 0 14px; }
.post-sidebar .widget .widget-title span { display: inline; border: 0; padding: 0; margin: 0; font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; }
/* Bandeau image à la une natif Flatsome : neutralisé, le hero Penalex le remplace. */
.blog-single .page-title.blog-featured-title,
.blog-wrapper > .page-title.featured-title,
body.single-post .page-title.blog-featured-title { display: none !important; }
.post-sidebar .is-divider, .post-sidebar .widget-title + .is-divider { display: none !important; }
/* Couleurs en ligne héritées de l'ancien éditeur : on rend la main à la charte. */
.blog-single .entry-content p[style*="color"], .blog-single .entry-content span[style*="color"],
.blog-single .entry-content p font, .blog-single .entry-content span font { color: var(--pnx-gris) !important; }
.post-sidebar .textwidget p { font-size: 16.5px; line-height: 1.7; color: var(--pnx-gris); margin: 0; }
.post-sidebar ul { list-style: none; margin: 0; padding: 0; }
.post-sidebar ul li { padding: 12px 0; border-bottom: 1px solid var(--pnx-border); font-size: 16.5px; }
.post-sidebar ul li a { color: var(--pnx-gris); }
.post-sidebar ul li a:hover { color: var(--pnx-bordeaux); }
.pnx-side-cta { background: var(--pnx-petrole); color: var(--pnx-ivoire); padding: 28px 26px; }
.pnx-side-cta h3 { font-family: var(--pnx-serif); font-size: 24px; font-weight: 300; color: var(--pnx-ivoire); margin: 0 0 12px; }
.pnx-side-cta p { font-size: 16.5px; line-height: 1.7; color: rgba(250,250,250,.75); margin: 0 0 20px; }
.pnx-side-cta a { display: inline-block; padding: 13px 22px; background: var(--pnx-bordeaux); color: var(--pnx-ivoire) !important; font-family: var(--pnx-sans); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

/* Article */
.blog-single .entry-content { max-width: 860px; }
.blog-single .entry-content p, .blog-single .entry-content li { font-size: 18.5px; line-height: 1.9; color: var(--pnx-gris); }
.blog-single .entry-content h2 { font-size: 30px; margin: 44px 0 18px; }
.blog-single .entry-content h3 { font-size: 24px; margin: 34px 0 14px; }
.blog-single .entry-content blockquote { border-left: 3px solid var(--pnx-bordeaux); padding-left: 24px; font-family: var(--pnx-serif); font-size: 24px; font-style: italic; color: var(--pnx-petrole); }
.blog-single .entry-header, .blog-single .entry-meta.text-center { text-align: left; }
.blog-single .blog-share { text-align: left !important; }
@media (max-width: 849px) {
	.pnx-blog-hero { padding: 110px 24px 46px; margin-bottom: 40px; }
	.pnx-blog-hero--single { padding-top: 104px; }
	.blog-archive .box-blog-post .box-text { padding: 22px 22px 24px; }
}
/* Encart CTA de la colonne latérale (widget HTML) */
.post-sidebar .widget_custom_html { background: var(--pnx-petrole); padding: 28px 26px; }
.post-sidebar .widget_custom_html .widget-title, .post-sidebar .widget_custom_html .widget-title span { border-top: 0; padding-top: 0; font-family: var(--pnx-serif); font-size: 24px; font-weight: 300; letter-spacing: 0; text-transform: none; color: var(--pnx-ivoire); margin: 0 0 12px; }
.post-sidebar .widget_custom_html p { font-size: 16.5px; line-height: 1.7; color: rgba(250,250,250,.75); margin: 0 0 20px; }
.post-sidebar .widget_custom_html a { display: inline-block; padding: 13px 22px; background: var(--pnx-bordeaux); color: var(--pnx-ivoire) !important; font-family: var(--pnx-sans); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.post-sidebar .widget_custom_html a:hover { background: #631226; }
/* Badge date des cartes d'article */
.blog-archive .badge-inner { background: var(--pnx-bordeaux); border-radius: 0; }

/* =====================================================================
   27. Fiches produit WooCommerce (gabarits blocks : Formation, Services,
   Honoraires, Questions en ligne). Un seul <h1> : [ux_product_title].
   ===================================================================== */

/* Titre produit : même traitement que les H1 de contenu. */
.product-title-container .product-title {
	font-family: var(--pnx-serif);
	font-size: clamp(34px, 4.2vw, 52px);
	font-weight: 300;
	line-height: 1.12;
	color: var(--pnx-petrole);
	margin: 0 0 18px;
}
.product-title-container .is-divider { display: none; }

/* Chapô produit. */
.product-short-description p {
	font-size: 19px;
	line-height: 1.65;
	color: var(--pnx-gris);
	margin: 0 0 14px;
}
.product-short-description strong span[style*="color"],
.product-short-description span[style*="color"] { color: var(--pnx-bordeaux) !important; }

/* Fil d'Ariane. */
.product-breadcrumb-container .woocommerce-breadcrumb {
	font-family: var(--pnx-sans);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--pnx-gris-2);
	margin: 0 0 26px;
}
.product-breadcrumb-container .woocommerce-breadcrumb a { color: var(--pnx-gris-2); }
.product-breadcrumb-container .woocommerce-breadcrumb a:hover { color: var(--pnx-bordeaux); }
.product-breadcrumb-container .divider { color: var(--pnx-border-2); margin: 0 8px; }

/* Bloc d'achat : encadré pétrole, aligné en haut de colonne. */
.pnx-prod-buy > .col-inner {
	background: var(--pnx-petrole) !important;
	color: var(--pnx-ivoire);
	padding: 32px 30px 30px !important;
}
.pnx-prod-buy .woocommerce-Price-amount,
.pnx-prod-buy .woocommerce-Price-amount bdi,
.pnx-prod-buy .price-wrapper .price,
.pnx-prod-buy .product-page-price {
	font-family: var(--pnx-serif);
	font-size: 44px;
	font-weight: 300;
	line-height: 1;
	color: var(--pnx-ivoire);
	margin: 0 0 22px;
}
.pnx-prod-buy .woocommerce-Price-currencySymbol {
	font-family: var(--pnx-sans);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .08em;
	vertical-align: .45em;
	margin-right: 4px;
	color: var(--pnx-rose);
}
.pnx-prod-buy del { opacity: .55; font-size: .6em; }
.pnx-prod-buy ins { text-decoration: none; }

/* Quantité + bouton. */
.pnx-prod-buy form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin: 0; }
.pnx-prod-buy .ux-quantity { background: transparent; border: 1px solid rgba(248,248,248,.3); }
.pnx-prod-buy .ux-quantity input.qty,
.pnx-prod-buy .ux-quantity__button {
	background: transparent;
	border: 0;
	color: var(--pnx-ivoire);
	box-shadow: none;
	height: 48px;
}
.pnx-prod-buy .ux-quantity__button:hover { background: rgba(248,248,248,.1); }
.pnx-prod-buy .single_add_to_cart_button {
	flex: 1 1 auto;
	min-height: 48px;
	background: var(--pnx-bordeaux);
	border: 0;
	color: #fff;
	font-family: var(--pnx-sans);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	border-radius: 0 !important;
}
.pnx-prod-buy .single_add_to_cart_button:hover { background: #631226; }
.pnx-prod-buy .pnx-prod-note {
	margin: 20px 0 0;
	font-family: var(--pnx-sans);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(250,250,250,.6);
}
.pnx-prod-buy #wc-stripe-express-checkout-element { margin-top: 16px !important; }

/* Onglets : filet bordeaux, pas de fond. */
.pnx-prod-tabs .wc-tabs, .woocommerce-tabs .wc-tabs { border-bottom: 1px solid var(--pnx-border); margin: 0 0 30px; }
.pnx-prod-tabs .wc-tabs li a, .woocommerce-tabs .wc-tabs li a {
	font-family: var(--pnx-sans);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--pnx-gris-2);
	padding: 0 0 14px;
}
.pnx-prod-tabs .wc-tabs li.active a, .woocommerce-tabs .wc-tabs li.active a { color: var(--pnx-bordeaux); border-bottom: 2px solid var(--pnx-bordeaux); }
.woocommerce-Tabs-panel { font-size: 17.5px; line-height: 1.75; color: var(--pnx-gris); }
.woocommerce-Tabs-panel p { margin: 0 0 14px; }
.woocommerce-Tabs-panel strong { color: var(--pnx-petrole); }
.woocommerce-Tabs-panel span[style*="color"] strong,
.woocommerce-Tabs-panel span[style*="color"] { color: var(--pnx-bordeaux) !important; }

@media (max-width: 849px) {
	.pnx-prod-buy > .col-inner { padding: 26px 22px; }
	.pnx-prod-buy .price-wrapper .price, .pnx-prod-buy .product-page-price { font-size: 36px; }
}

/* Bandeau produit : libellé de catégorie lisible sur photo. */
.custom-product-page .banner .pnx-eyebrow--light {
	font-size: 13px;
	letter-spacing: .3em;
	color: #fff;
}
/* Paiement express Stripe : même largeur que le bouton panier. */
.pnx-prod-buy #wc-stripe-express-checkout-element { max-width: 100%; }
.pnx-prod-buy #wc-stripe-express-checkout-element button { border-radius: 0 !important; }

/* =====================================================================
   28. Page Contact
   ===================================================================== */

/* Titre de bloc avec filet bordeaux (Coordonnées, Formulaire, Urgence). */
.pnx-rule-h {
	font-family: var(--pnx-sans);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--pnx-bordeaux);
	border-top: 2px solid var(--pnx-bordeaux);
	padding-top: 18px;
	margin: 0 0 26px;
}

/* Coordonnées. */
.pnx-contact-list h3 {
	font-family: var(--pnx-sans);
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--pnx-gris-2);
	margin: 0 0 6px;
}
.pnx-contact-list p {
	font-family: var(--pnx-serif);
	font-size: 22px;
	font-weight: 300;
	line-height: 1.45;
	color: var(--pnx-petrole);
	margin: 0 0 26px;
}
.pnx-contact-list a { color: var(--pnx-petrole); border-bottom: 1px solid var(--pnx-border-2); }
.pnx-contact-list a:hover { color: var(--pnx-bordeaux); border-bottom-color: var(--pnx-bordeaux); }

/* Encadré urgence : pétrole, pas de rose. */
.pnx-urgence {
	background: var(--pnx-petrole);
	color: var(--pnx-ivoire);
	padding: 28px 26px 24px;
	border-left: 3px solid var(--pnx-bordeaux);
}
.pnx-urgence-label {
	font-family: var(--pnx-sans);
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--pnx-rose);
	margin: 0 0 12px;
}
.pnx-urgence-tel { margin: 0 0 14px; }
.pnx-urgence-tel a {
	font-family: var(--pnx-serif);
	font-size: 30px;
	font-weight: 300;
	color: var(--pnx-ivoire) !important;
	line-height: 1.1;
}
.pnx-urgence-tel a:hover { color: var(--pnx-rose) !important; }
.pnx-urgence-note { font-size: 15.5px; line-height: 1.6; color: rgba(250,250,250,.7); margin: 0; }
.pnx-btn-urgence.button, a.pnx-btn-urgence {
	margin-top: 0 !important;
	width: 100%;
	background: var(--pnx-bordeaux) !important;
	border-color: var(--pnx-bordeaux) !important;
	color: #fff !important;
}
.pnx-btn-urgence.button:hover { background: #631226 !important; border-color: #631226 !important; }

/* Formulaire wpforms. */
.pnx-form-card > .col-inner { background: var(--pnx-ivoire); padding: 38px 36px 30px; }
.pnx-form-card .wpforms-field-label,
.pnx-form-card .wpforms-field-sublabel {
	font-family: var(--pnx-sans);
	font-size: 11.5px !important;
	font-weight: 800 !important;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--pnx-gris-2) !important;
}
.pnx-form-card .wpforms-required-label { color: var(--pnx-bordeaux) !important; }
.pnx-form-card input[type=text],
.pnx-form-card input[type=email],
.pnx-form-card input[type=tel],
.pnx-form-card textarea {
	background: #fff;
	border: 1px solid var(--pnx-border-2);
	border-radius: 0 !important;
	box-shadow: none;
	font-family: var(--pnx-sans);
	font-size: 16px;
	color: var(--pnx-petrole);
	padding: 12px 14px;
	height: auto;
}
.pnx-form-card input:focus, .pnx-form-card textarea:focus {
	border-color: var(--pnx-bordeaux);
	box-shadow: none;
	outline: 2px solid rgba(122,23,48,.18);
	outline-offset: 0;
}
.pnx-form-card .wpforms-submit,
.pnx-form-card button[type=submit] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 8px 34px !important;
	background: var(--pnx-bordeaux) !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: #fff !important;
	font-family: var(--pnx-sans) !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.pnx-form-card .wpforms-submit:hover { background: #631226 !important; }

@media (max-width: 849px) {
	.pnx-form-card > .col-inner { padding: 28px 22px 24px; }
	.pnx-urgence-tel a { font-size: 26px; }
}

/* Badge reCAPTCHA : ne doit jamais élargir la page. */
.grecaptcha-badge { visibility: hidden; }
/* Mention légale reCAPTCHA obligatoire quand le badge est masqué. */
.pnx-form-card .wpforms-form::after {
	content: "Protégé par reCAPTCHA — Politique de confidentialité et Conditions d'utilisation de Google s'appliquent.";
	display: block;
	margin-top: 18px;
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--pnx-gris-2);
}

/* =====================================================================
   29. Pages transactionnelles Woo (panier, commande, mon compte)
   ===================================================================== */

/* Le pied de page reste en bas même quand le contenu est court. */
#wrapper { display: flex; flex-direction: column; min-height: 100vh; }
#wrapper > #main { flex: 1 0 auto; }
#wrapper > footer, #wrapper > .footer-wrapper { flex: 0 0 auto; }

/* Pleine largeur même à l'intérieur du conteneur de la page. */
/* Le conteneur qui accueille le bandeau ne doit pas laisser d'espace au-dessus. */
div:has(> .pnx-shop-hero) { padding-top: 0 !important; }
.page-wrapper:has(.pnx-shop-hero) { padding-top: 0 !important; }
.pnx-shop-hero {
	margin-top: 0;
	margin-bottom: 56px;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}
.woocommerce-cart .cart-empty,
.woocommerce-cart .wc-empty-cart-message p {
	font-family: var(--pnx-serif);
	font-size: 24px;
	font-weight: 300;
	color: var(--pnx-petrole);
	text-align: center;
	margin: 0 0 26px;
}
.woocommerce-cart .return-to-shop { text-align: center; margin-bottom: 70px; }

/* Tableau du panier. */
.woocommerce-cart table.shop_table { border: 0; }
.woocommerce-cart table.shop_table th {
	font-family: var(--pnx-sans);
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--pnx-gris-2);
	border-bottom: 2px solid var(--pnx-bordeaux);
	padding: 0 14px 14px;
}
.woocommerce-cart table.shop_table td { border-bottom: 1px solid var(--pnx-border); padding: 20px 14px; }
.woocommerce-cart .product-name a { font-family: var(--pnx-serif); font-size: 20px; color: var(--pnx-petrole); }
.woocommerce-cart .product-name a:hover { color: var(--pnx-bordeaux); }
.cart_totals h2, .woocommerce-billing-fields h3, .woocommerce-checkout-review-order h3,
.woocommerce-order-details h2, .woocommerce-column h2, .woocommerce-MyAccount-content h2 {
	font-family: var(--pnx-sans);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--pnx-bordeaux);
	border-top: 2px solid var(--pnx-bordeaux);
	padding-top: 18px;
	margin: 0 0 22px;
}
.cart_totals .order-total .amount { font-family: var(--pnx-serif); font-size: 30px; font-weight: 300; color: var(--pnx-petrole); }

/* Mon compte : navigation latérale. */
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--pnx-border); }
.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 14px 0;
	font-family: var(--pnx-sans);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--pnx-gris);
}
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover { color: var(--pnx-bordeaux); }

/* Champs de formulaire Woo alignés sur la charte. */
.woocommerce form .input-text, .woocommerce form select, .woocommerce-checkout .input-text {
	border: 1px solid var(--pnx-border-2);
	border-radius: 0 !important;
	box-shadow: none;
	font-family: var(--pnx-sans);
	color: var(--pnx-petrole);
}
.woocommerce form .input-text:focus { border-color: var(--pnx-bordeaux); box-shadow: none; }
