/**
 * Trouver-Avocats : fiche avocat (/avocats/<slug>/) au design ta-v2
 * ----------------------------------------------------------------
 * Version : 1.2 (29/10/2026)
 * Chargé par inc/ta-fiche.php, après tokens.css, ta-layout.css et ta-composants.css.
 * Cartes avocat, cartes d'article, FAQ et puces sont les composants partagés : rien n'est
 * redéfini ici. Échelles --t-* et --e-* uniquement.
 *
 * Mise en page (1.1) : les blocs de la fiche sont la colonne de gauche d'une grille ; la colonne de
 * contact couvre toute la hauteur de la grille et colle sous l'en-tête du site. Les fonds alternés
 * des blocs débordent sur toute la largeur (box-shadow + clip-path), sous la colonne de contact.
 *
 * Changelog
 * 1.2 : formulaire en une étape (compteur du message, bouton d'envoi collé en bas de la carte quand
 *       elle défile) ; règle « élément collant plus haut que la fenêtre ».
 * 1.1 : contact collant sur toute la fiche, barre d'action bureau, chiffres sans case vide, polish.
 * 1.0 : première version.
 */

/* ═══════════════ Grille de la fiche : blocs à gauche, contact collant à droite ═══════════════ */
.ta-v2 .ta-fiche-page{position:relative;isolation:isolate;overflow-x:clip}
.ta-v2 .ta-fiche-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,400px);column-gap:var(--e-5);align-items:start}
.ta-v2 .ta-fiche-grille>*{grid-column:1;order:3;min-width:0}
.ta-v2 .ta-fiche-grille>.ta-fiche-entete{order:1}
.ta-v2 .ta-fiche-grille>section{position:relative;padding-block:var(--e-6)}
/* Fonds pleine largeur : le bloc reste dans sa colonne, son fond déborde jusqu'aux bords de l'écran. */
.ta-v2 .ta-fiche-grille>section.ta-fond--papier,.ta-v2 .ta-fiche-zone-etapes{background:var(--bg);box-shadow:0 0 0 100vmax var(--bg);clip-path:inset(0 -100vmax)}
.ta-v2 .ta-fiche-grille>section.ta-fond--blanc{background:white;box-shadow:0 0 0 100vmax white;clip-path:inset(0 -100vmax)}
.ta-v2 .ta-fiche-grille>section.ta-fiche-entete{padding-block:var(--e-5)}
.ta-v2 .ta-fiche-grille>section.ta-fiche-entete:has(+.ta-fiche-zone-etapes){padding-bottom:0}
.ta-v2 .ta-fiche-zone-etapes{padding:var(--e-3) 0 var(--e-5)}

/* ═══════════════ Identité ═══════════════ */
.ta-v2 .ta-fiche-gauche{display:grid;gap:var(--e-3);min-width:0}
.ta-v2 .ta-fiche-identite,.ta-v2 .ta-fiche-etapes,.ta-v2 .ta-fiche-carte{background:white;border:1px solid #e3e7ee;border-radius:20px;box-shadow:0 24px 60px -36px #0f172a40}
.ta-v2 .ta-fiche-identite{padding:var(--e-4)}
.ta-v2 .ta-fiche-id{display:flex;align-items:center;gap:var(--e-3)}
.ta-v2 .ta-fiche-photo{position:relative;flex:none;width:120px;height:120px;border-radius:24px;overflow:hidden;background:linear-gradient(150deg,var(--navy),var(--ink));display:grid;place-items:center;font-family:var(--serif);font-size:var(--t-h2);color:white;box-shadow:0 12px 30px -16px #0f172a80}
.ta-v2 .ta-fiche-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%}
.ta-v2 .ta-fiche h1{font-size:var(--t-h2);line-height:1.08;letter-spacing:-.02em;color:var(--ink)}
.ta-v2 .ta-fiche-sous-titre{margin-top:var(--e-1);font-size:var(--t-base);color:var(--muted)}

.ta-v2 .ta-fiche-badges{display:flex;flex-wrap:wrap;gap:var(--e-1);margin:var(--e-3) 0 0;padding:0;list-style:none}
.ta-v2 .ta-fiche-badge{display:inline-flex;align-items:center;gap:var(--e-1);padding:var(--e-1) var(--e-2);border:1px solid var(--line);border-radius:999px;background:white;font-size:var(--t-sm);font-weight:600;color:#3d4757}
.ta-v2 .ta-fiche-badge .ta-icon{width:16px;height:16px;color:#7b8594}
.ta-v2 .ta-fiche-badge--vert{background:#edf6f1;border-color:#d6ebdf;color:var(--green-ink)}
.ta-v2 .ta-fiche-badge--vert .ta-icon{color:var(--green-ink)}
.ta-v2 .ta-fiche-badge--or{background:#fbf8ee;border-color:#e9dcb5;color:#6f5717}
.ta-v2 .ta-fiche-badge--or .ta-icon{color:#8b6d22}
.ta-v2 .ta-fiche-specialites{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e-1);margin-top:var(--e-2)}
.ta-v2 .ta-fiche-specialites .ta-tag{padding:var(--e-1) var(--e-2);border-radius:999px;background:var(--ink);color:white;font-size:var(--t-sm);font-weight:600}
.ta-v2 .ta-fiche-specialites .ta-text-link{color:var(--green-ink)}

.ta-v2 .ta-fiche-chiffres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:var(--e-3) 0 0;padding-top:var(--e-3);border-top:1px solid var(--line)}
.ta-v2 .ta-fiche-chiffres>div{padding:0 var(--e-2);text-align:center;border-left:1px solid var(--line)}
.ta-v2 .ta-fiche-chiffres>div:first-child{border-left:0}
/* Une colonne par chiffre réellement renseigné (fiche pauvre : pas de cases vides). */
.ta-v2 .ta-fiche-chiffres--1{grid-template-columns:minmax(0,1fr)}
.ta-v2 .ta-fiche-chiffres--1>div{text-align:left;padding:0}
.ta-v2 .ta-fiche-chiffres--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ta-v2 .ta-fiche-chiffres dt{font-family:var(--serif);font-size:var(--t-h3);line-height:1.2;color:var(--ink)}
.ta-v2 .ta-fiche-chiffres dd{margin:4px 0 0;font-size:var(--t-sm);color:var(--muted)}

.ta-v2 .ta-fiche-etapes{padding:var(--e-4)}
.ta-v2 .ta-fiche-etapes .ta-eyebrow{margin-bottom:var(--e-2)}
.ta-v2 .ta-fiche-etapes ol{display:grid;margin:0 0 var(--e-4);padding:0;list-style:none}
.ta-v2 .ta-fiche-etapes li{display:flex;gap:var(--e-2);align-items:flex-start;padding:var(--e-2) 0;border-top:1px solid var(--line)}
.ta-v2 .ta-fiche-etapes li:first-child{border-top:0;padding-top:0}
.ta-v2 .ta-fiche-etapes li>span{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#edf6f1;color:var(--green-ink);font-size:var(--t-sm);font-weight:700}
.ta-v2 .ta-fiche-etapes li p{display:flex;flex-direction:column;gap:2px;font-size:var(--t-sm);color:var(--muted)}
.ta-v2 .ta-fiche-etapes li strong{font-size:var(--t-base);color:var(--ink)}
.ta-v2 .ta-fiche-etapes .ta-faq-list summary{font-size:var(--t-base)}

/* Colonne contact : sur toute la hauteur de la grille, collante sous l'en-tête du site. La carte ne
   dépasse jamais l'écran (formulaire en deux étapes ; défilement interne en dernier recours). */
.ta-v2 .ta-fiche-grille>.ta-fiche-contact{grid-column:2;grid-row:1 / span 12;order:2;position:sticky;z-index:2;top:calc(var(--wp-admin--admin-bar--height,0px) + 108px);margin-block:var(--e-5);scroll-margin-top:120px}
.ta-v2 .ta-fiche-carte{max-height:calc(100vh - var(--wp-admin--admin-bar--height,0px) - 124px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.ta-v2 .ta-fiche-carte{box-shadow:0 30px 70px -34px #0f172a66}
.ta-v2 .ta-fiche-carte-tete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--e-1) var(--e-2);padding:var(--e-3);background:linear-gradient(140deg,var(--ink),var(--navy))}
.ta-v2 .ta-fiche-carte-tete h2{font-family:var(--serif);font-size:var(--t-h3);line-height:1.25;color:white}
.ta-v2 .ta-fiche-carte-tete .ta-pill{background:#53c59826;color:#bfeed9}
.ta-v2 .ta-fiche-live{display:flex;align-items:center;gap:var(--e-1);padding:var(--e-1) var(--e-3);background:#edf6f1;font-size:var(--t-sm);font-weight:600;color:var(--green-ink)}
.ta-v2 .ta-fiche-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--e-1);padding:var(--e-3) var(--e-3) 0}
.ta-v2 .ta-fiche-form{padding:var(--e-2) var(--e-3) 0}
.ta-v2 .ta-fiche-note{padding:var(--e-2) var(--e-3) 0;font-size:var(--t-sm);line-height:1.6;color:var(--muted);text-align:center}
.ta-v2 .ta-fiche-garanties{display:flex;justify-content:center;gap:var(--e-3);padding:var(--e-2) var(--e-3) var(--e-3);font-size:var(--t-sm);font-weight:600;color:var(--ink)}
.ta-v2 .ta-fiche-garanties span{display:inline-flex;align-items:center;gap:var(--e-1)}
.ta-v2 .ta-fiche-garanties .ta-icon{width:16px;height:16px;color:var(--green-ink)}

/* Carte « fiche gratuite » (visiteur : dépôt ; propriétaire : réactivation) */
.ta-v2 .ta-fiche-carte--gratuit{display:flex;flex-direction:column;align-items:flex-start;gap:var(--e-2);padding:var(--e-4) var(--e-3);border-top:3px solid var(--gold)}
.ta-v2 .ta-fiche-carte--gratuit h2{font-family:var(--serif);font-size:var(--t-h3);color:var(--ink)}
.ta-v2 .ta-fiche-carte--gratuit p{font-size:var(--t-base);line-height:var(--lh-lecture);color:var(--muted)}
.ta-v2 .ta-fiche-carte--gratuit .ta-btn{width:100%;justify-content:space-between}
.ta-v2 .ta-fiche-stat{padding:var(--e-1) var(--e-2);border-radius:10px;background:#fbf8ee;border:1px solid #efe0b8;color:#6f5717!important;font-weight:600}
.ta-v2 .ta-fiche-espace{align-self:center;display:inline-flex;align-items:center;min-height:44px;font-size:var(--t-sm);color:var(--muted);text-decoration:underline;text-underline-offset:3px}

/* ═══════════════ Sections ═══════════════ */
.ta-v2 .ta-fiche-lecture>*{max-width:760px}
.ta-v2 .ta-fiche-lecture>p{font-size:var(--t-lg);line-height:var(--lh-lecture);color:#3d4757}
.ta-v2 .ta-fiche-lecture>p+p{margin-top:var(--e-2)}
.ta-v2 .ta-fiche-lecture>.ta-titre-section{margin-bottom:var(--e-3)}
.ta-v2 .ta-fiche-lecture h3{margin:var(--e-4) 0 var(--e-2);font-family:var(--serif);font-size:var(--t-h3);font-weight:500}
.ta-v2 .ta-fiche-parcours{display:grid;gap:var(--e-2);margin:var(--e-4) 0 0}
.ta-v2 .ta-fiche-parcours>div{padding:var(--e-2) var(--e-3);border-left:3px solid var(--gold);background:var(--bg);border-radius:0 12px 12px 0}
.ta-v2 .ta-fiche-parcours dt,.ta-v2 .ta-fiche-info dt{font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8b6d22}
.ta-v2 .ta-fiche-parcours dd{margin:4px 0 0;font-size:var(--t-base);color:var(--ink)}

.ta-v2 .ta-titre-section+.ta-fiche-puces,.ta-v2 .ta-titre-section+.ta-fiche-guides-grille,.ta-v2 .ta-titre-section+.ta-fiche-infos-grille,.ta-v2 .ta-titre-section+.ta-fiche-guides-grille,.ta-v2 .ta-titre-section+.ta-r-grille{margin-top:var(--e-4)}
.ta-v2 .ta-fiche-puces{display:flex;flex-wrap:wrap;gap:var(--e-1);margin:0;padding:0;list-style:none}
.ta-v2 .ta-fiche-puces a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--e-2);border:1px solid var(--line);border-radius:999px;background:white;font-size:var(--t-sm);font-weight:550;color:#3d4757;transition:border-color .2s,color .2s}
.ta-v2 .ta-fiche-puces a:hover{border-color:var(--green);color:var(--green-ink)}
.ta-v2 .ta-fond--papier .ta-fiche-puces a{border-color:#e3e7ee}
.ta-v2 .ta-fiche-plus{margin-top:var(--e-2)}
.ta-v2 .ta-fiche-plus summary{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--e-2);border:1px solid #b9dcc8;border-radius:999px;font-size:var(--t-sm);font-weight:650;color:var(--green-ink);cursor:pointer;list-style:none}
.ta-v2 .ta-fiche-plus summary::-webkit-details-marker{display:none}
.ta-v2 .ta-fiche-plus[open] summary{display:none}

.ta-v2 .ta-fiche-infos-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e-2);margin:0}
.ta-v2 .ta-fiche-info{padding:var(--e-3);background:white;border:1px solid var(--line);border-radius:14px}
.ta-v2 .ta-fond--papier .ta-fiche-info{border-color:#e3e7ee;box-shadow:0 10px 28px -14px #0f172a29}
.ta-v2 .ta-fiche-info dd{margin:var(--e-1) 0 0;font-size:var(--t-base);font-weight:600;line-height:1.5;color:var(--ink)}
.ta-v2 .ta-fiche-info .ta-text-link{color:var(--green-ink);font-weight:650}
.ta-v2 .ta-fiche-info--horaires ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.ta-v2 .ta-fiche-info--horaires li{display:flex;justify-content:space-between;gap:var(--e-2);font-size:var(--t-sm);font-weight:500}
.ta-v2 .ta-fiche-info--horaires li span{color:var(--muted)}

.ta-v2 .ta-fiche-guides-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--e-3)}
.ta-v2 .ta-fiche-similaires .ta-titre-section+.ta-r-grille{margin-top:var(--e-4)}

/* ═══════════════ Barre d'action ═══════════════
   Bureau : pastille en bas à droite, seulement quand la carte de contact n'est plus à l'écran (sous la
   grille, profils similaires). Mobile : barre pleine largeur une fois l'identité passée. ta-fiche.js. */
.ta-v2 .ta-fiche-dock{position:fixed;z-index:90;right:var(--e-3);bottom:var(--e-3);display:flex;gap:var(--e-1);padding:var(--e-1);border:1px solid #e3e7ee;border-radius:999px;background:white;box-shadow:0 20px 50px -18px #0f172a59;transform:translateY(160%);transition:transform .3s ease}
.ta-v2 .ta-fiche-dock.est-visible{transform:none}
.ta-v2 .ta-fiche-dock .ta-btn{min-height:48px;border-radius:999px}
@media(prefers-reduced-motion:reduce){ .ta-v2 .ta-fiche-dock{transition:none} }
@media(max-width:1024px){
	.ta-v2 .ta-fiche-dock{left:0;right:0;bottom:0;padding:var(--e-1) var(--e-2) calc(var(--e-1) + env(safe-area-inset-bottom));border:0;border-radius:0;background:#0f172af2;backdrop-filter:blur(8px);box-shadow:0 -10px 30px -12px #0f172a59;transform:translateY(110%)}
	.ta-v2 .ta-fiche-dock .ta-btn{flex:1;border-radius:10px}
	.ta-v2 .ta-fiche-dock .ta-btn-outline{background:transparent;border-color:#ffffff40;color:white}
	.ta-v2:has(.ta-fiche-dock) .ta-footer{padding-bottom:var(--e-6)}
}

/* ═══════════════ Points de rupture ═══════════════ */
@media(max-width:1100px){
	.ta-v2 .ta-fiche-infos-grille,.ta-v2 .ta-fiche-guides-grille{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1024px){
	.ta-v2 .ta-fiche-grille{grid-template-columns:minmax(0,1fr)}
	/* Mobile : le contact passe juste sous l'identité (order 2), avant « Comment ça marche ». */
	.ta-v2 .ta-fiche-grille>.ta-fiche-contact{grid-column:1;grid-row:auto;position:static;margin:0;padding-bottom:var(--e-3);background:var(--bg);box-shadow:0 0 0 100vmax var(--bg);clip-path:inset(0 -100vmax)}
	.ta-v2 .ta-fiche-grille>section.ta-fiche-entete{padding-bottom:var(--e-3)}
	.ta-v2 .ta-fiche-zone-etapes{padding-top:0}
	.ta-v2 .ta-fiche-carte{max-height:none;overflow:visible}
	.ta-v2 .ta-fiche-grille>section{padding-block:var(--e-5)}
}
@media(max-width:760px){
	.ta-v2 .ta-fiche-grille>section{padding-block:var(--e-4)}
	.ta-v2 .ta-fiche-grille>section.ta-fiche-entete{padding-top:var(--e-3)}
	.ta-v2 .ta-fiche-identite,.ta-v2 .ta-fiche-etapes{padding:var(--e-3) var(--e-2)}
	.ta-v2 .ta-fiche-id{flex-direction:column;align-items:flex-start;gap:var(--e-2)}
	.ta-v2 .ta-fiche-photo{width:96px;height:96px;border-radius:20px}
	.ta-v2 .ta-fiche-chiffres>div{padding:0 var(--e-1)}
	.ta-v2 .ta-fiche-chiffres dt{font-size:var(--t-lg)}
	.ta-v2 .ta-fiche-infos-grille,.ta-v2 .ta-fiche-guides-grille{grid-template-columns:1fr}
	.ta-v2 .ta-fiche-carte-tete,.ta-v2 .ta-fiche-form,.ta-v2 .ta-fiche-actions{padding-inline:var(--e-2)}
}

/* ═══════════════ Formulaire de la carte (deux étapes) : alignements ═══════════════ */
.ta-v2 .ta-fiche-form{padding-top:var(--e-2)}
.ta-v2 .ta-fiche-form .gfield{max-width:none!important;padding-right:0!important}
.ta-v2 .ta-fiche-form input[type=text],.ta-v2 .ta-fiche-form input[type=email],.ta-v2 .ta-fiche-form input[type=tel],.ta-v2 .ta-fiche-form textarea{width:100%!important;max-width:none!important}
.ta-v2 .ta-fiche-note{padding-top:var(--e-2)}
/* La carte tient dans l'écran à chaque étape : espacements resserrés, titre et pastille sur une ligne. */
.ta-v2 .ta-fiche-carte-tete{padding:var(--e-2) var(--e-3)}
.ta-v2 .ta-fiche-live{padding-block:6px}
.ta-v2 .ta-fiche-actions{padding-top:var(--e-2)}
.ta-v2 .ta-fiche-form .gform_fields{row-gap:var(--e-2)!important}
.ta-v2 .ta-fiche-form .gfield{margin:0!important}
.ta-v2 .ta-fiche-form .gfield_label{margin-bottom:4px!important}
.ta-v2 .ta-fiche-form .gform_body,.ta-v2 .ta-fiche-form .gform_page{margin:0!important;padding:0!important}
.ta-v2 .ta-fiche-form textarea{height:112px!important;min-height:96px}
.ta-v2 .ta-fiche-note{font-size:var(--t-xs)!important;line-height:1.5}
.ta-v2 .ta-fiche-garanties{padding-top:var(--e-1)}
.ta-v2 .ta-fiche-form .gfield--type-hidden,.ta-v2 .ta-fiche-form .gform_validation_container,.ta-v2 .ta-fiche-form .gfield_visibility_hidden{display:none!important} /* sinon chaque champ invisible ajoute un écart de grille */
.ta-v2 .ta-fiche-form input[type=text],.ta-v2 .ta-fiche-form input[type=email],.ta-v2 .ta-fiche-form input[type=tel]{min-height:44px!important;height:44px}
.ta-v2 .ta-fiche-form .gfield--type-captcha>.gfield_label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)} /* libellé lu par les lecteurs d'écran, sans hauteur */
.ta-v2 .ta-fiche-carte-tete .ta-pill{padding:4px 10px}
.ta-v2 .ta-fiche-note{padding-top:var(--e-1)}
.ta-v2 .ta-fiche-garanties{padding-bottom:var(--e-2)}
.ta-v2 .ta-fiche-form .gform_hidden,.ta-v2 .ta-fiche-form .gfield.gform_hidden{display:none!important}
.ta-v2 .ta-fiche-form .gfield_label{line-height:1.3!important}
@media(min-width:1025px){ .ta-v2 .ta-fiche-carte{max-height:calc(100vh - var(--wp-admin--admin-bar--height,0px) - 116px)} }
.ta-v2 .ta-fiche-espace{text-align:center}
.ta-v2 .ta-fiche-chiffres.ta-fiche-chiffres--1>div{padding:0}

/* ═══════════════ Carte plus haute que la fenêtre (charte §4 ter) ═══════════════
   La carte défile de l'intérieur (barre fine) ; le bouton d'envoi reste collé en bas de la carte,
   sous un léger fondu, pour rester atteignable à toute hauteur d'écran. Bureau seulement : en
   mobile, la carte est dans le flux (max-height: none) et le bouton reprend sa place. */
.ta-v2 .ta-fiche-carte{scrollbar-width:thin;scrollbar-color:#cfd6e2 transparent}
.ta-v2 .ta-fiche-form .gform_footer{position:sticky;bottom:0;z-index:2;margin:var(--e-2) 0 0!important;padding:var(--e-1) 0!important;background:white}
.ta-v2 .ta-fiche-form .gform_footer::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:var(--e-3);background:linear-gradient(to bottom,#fff0,#fff);pointer-events:none}
@media(max-width:1024px){ .ta-v2 .ta-fiche-form .gform_footer{position:static}.ta-v2 .ta-fiche-form .gform_footer::before{display:none} }

/* Compteur du message */
.ta-v2 .ta-fiche-compteur{margin:6px 0 0;font-size:var(--t-xs);font-weight:600;color:var(--muted)}
.ta-v2 .ta-fiche-compteur.est-ok{color:var(--green-ink)}
.ta-v2 .ta-fiche-form input,.ta-v2 .ta-fiche-form textarea{box-sizing:border-box}
