/* ==========================================================================
   Visa J-1 — pages intérieures. La maquette ne dessine que l'accueil ; ces
   règles en reprennent les valeurs (couleurs, rayons, tailles, ombres) pour
   les pages, les articles, le blog, et le contenu WPBakery / Liviza existant.
   Les !important l'emportent sur les styles générés par les réglages Liviza.
   ========================================================================== */

:root {
	--j1-encre: #16151a; --j1-encre-fonce: #0e0d12; --j1-texte: #4a4954; --j1-gris: #6a6874; --j1-gris-clair: #716e7c; --j1-marque-texte: #CC2670;
	--j1-filet: rgba(150,150,190,.16); --j1-filet-plein: #e2e0e8; --j1-marque: #E0327E; --j1-rose: #FF65A5;
	--j1-rose-voile: #FF65A522; --j1-rose-doux: #fef3f7; --j1-fond-doux: #F7F7FB;
	--j1-titre: 'Poppins', sans-serif; --j1-corps: 'DM Sans', sans-serif;
}

/* Conteneur : la largeur de la maquette */
.j1-conteneur { max-width: 1180px; margin: 0 auto; padding: 0 32px; }

/* Bandeau de titre ------------------------------------------------------------ */
.j1-entete-page { padding: 52px 0 40px; }
.j1-fil ol { list-style: none; margin: 0 0 26px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; color: #6a6874; }
.j1-fil li + li:before { content: "›"; margin-right: 6px; color: #c3c0cc; }
.j1-fil a { color: var(--j1-gris-clair); }
.j1-fil a:hover { color: var(--j1-marque); }
.j1-surtitre { font-weight: 600; font-size: 12.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--j1-marque-texte); margin-bottom: 10px; font-family: var(--j1-corps); }
.j1-titre-page { font-size: 48px; line-height: 1.05; font-weight: 700; letter-spacing: -1.6px; margin: 0 0 16px; max-width: 900px; color: var(--j1-encre); }
.j1-chapo { font-size: 17.5px; line-height: 1.55; color: var(--j1-texte); max-width: 680px; margin: 0; }
.j1-infos-article { font-size: 13.5px; color: var(--j1-gris-clair); margin: 4px 0 0; }
.j1-titre-section { font-size: 34px; font-weight: 700; letter-spacing: -0.9px; margin-bottom: 30px; }
.j1-titre-carte { font-size: 22px; font-weight: 700; letter-spacing: -0.5px; margin-bottom: 16px; }
.j1-visuel-cache { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Pastilles de filtre (catégories du blog, onglets des tarifs) */
.j1-filtres { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.j1-filtres a { display: inline-flex; align-items: center; padding: 8px 16px; border-radius: 999px; background: #fff; border: 1px solid #e7e6f0; font-size: 13.5px; font-weight: 600; color: var(--j1-encre); transition: border-color .18s ease, color .18s ease; }
.j1-filtres a:hover, .j1-filtres a[aria-current] { border-color: var(--j1-marque); color: var(--j1-marque); }
.j1-onglets { margin: 0 0 30px; }
.j1-pastille { display: inline-flex; align-self: flex-start; font-size: 11px; font-weight: 600; color: var(--j1-marque-texte); background: var(--j1-rose-voile); padding: 3px 9px; border-radius: 999px; }

/* Cartes, listes, encarts --------------------------------------------------------- */
.j1-carte { background: rgba(255,255,255,.9); border: 1px solid var(--j1-filet); border-radius: 20px; padding: 28px; }
.j1-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.j1-liste li { position: relative; padding-left: 24px; font-size: 14.5px; line-height: 1.5; color: var(--j1-texte); }
.j1-liste li:before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--j1-marque); font-weight: 700; }
.j1-liste--sans li:before { content: "✕"; color: #a9a6b5; }
.j1-mention { font-size: 12.5px; color: #716e7c; margin: 16px 0 0; line-height: 1.5; }
.j1-encart { background: linear-gradient(90deg, #fef3f7, #fff); border: 1px solid #eceaf1; border-left: 3px solid var(--j1-rose); border-radius: 16px; padding: 22px 26px; }
.j1-encart p { font-size: 15px; line-height: 1.6; color: var(--j1-texte); margin: 0 0 10px; }
.j1-encart p:last-child { margin: 0; }
.j1-vide { font-size: 16px; color: var(--j1-texte); padding: 40px 0; }

/* Boutons pleine largeur, dans les cartes */
.j1-btn-plein { display: block; text-align: center; padding: 12px; border-radius: 999px; font-size: 14px; font-weight: 600; margin-top: auto; }
a.j1-btn-noir.j1-btn-plein { background: var(--j1-encre); color: #fff; }
a.j1-btn-blanc.j1-btn-plein { background: #fff; color: var(--j1-encre); }

/* Tarifs --------------------------------------------------------------------------- */
.j1-grille-tarifs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; align-items: start; }
.j1-tarif { position: relative; display: flex; flex-direction: column; gap: 0; background: rgba(255,255,255,.9); color: var(--j1-encre); border: 1px solid var(--j1-filet); border-radius: 22px; padding: 30px; scroll-margin-top: 110px; }
.j1-tarif--sombre { background: var(--j1-encre-fonce); color: #fff; border-color: var(--j1-encre-fonce); }
.j1-tarif-an { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--j1-marque-texte); margin: 0 0 8px; }
.j1-tarif--sombre .j1-tarif-an { color: var(--j1-rose); }
.j1-tarif-nom { font-size: 21px; font-weight: 700; letter-spacing: -0.4px; margin: 0 0 4px; color: inherit; }
.j1-tarif-sous { font-size: 13.5px; color: var(--j1-gris-clair); margin: 0 0 16px; }
.j1-tarif--sombre .j1-tarif-sous { color: #9b98a8; }
.j1-tarif-prix { font-family: var(--j1-titre); font-size: 26px; font-weight: 700; letter-spacing: -0.8px; margin: 6px 0 18px; }
.j1-tarif-texte { font-size: 14px; line-height: 1.6; color: var(--j1-texte); margin: 0 0 20px; }
.j1-tarif-badge { position: absolute; top: -11px; left: 30px; background: var(--j1-marque-texte); color: #fff; font-size: 11.5px; font-weight: 700; padding: 4px 12px; border-radius: 999px; }
.j1-tarif--sombre .j1-liste li { color: #cfccda; }
.j1-tarif--sombre .j1-liste strong { color: #fff; }
.j1-tarif .j1-liste { margin-bottom: 22px; }
.j1-tarif-table { width: 100%; border-collapse: collapse; margin: 0 0 22px; font-size: 14px; }
.j1-tarif-table th { text-align: left; font-size: 11.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--j1-gris-clair); padding: 0 0 8px; border-bottom: 1px solid var(--j1-filet-plein); }
.j1-tarif-table th:last-child, .j1-tarif-table td:last-child { text-align: right; }
.j1-tarif-table td { padding: 9px 0; border-bottom: 1px solid #f0eff4; color: #5a5964; }
.j1-tarif-table td:last-child { font-weight: 700; color: var(--j1-encre); font-variant-numeric: tabular-nums; }
.j1-tarif--sombre .j1-tarif-table th { color: #9b98a8; border-color: #26242f; }
.j1-tarif--sombre .j1-tarif-table td { color: #cfccda; border-color: #1d1c23; }
.j1-tarif--sombre .j1-tarif-table td:last-child { color: #fff; }

/* Blog : cartes d'article ------------------------------------------------------------ */
.j1-grille-articles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.j1-article-carte { display: flex; flex-direction: column; background: #fff; border: 1px solid #ececec; border-radius: 18px; overflow: hidden; box-shadow: 0 8px 24px rgba(30,25,60,.05); color: inherit; transition: transform .2s ease, box-shadow .2s ease; }
.j1-article-carte:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(30,25,60,.10); color: inherit; }
.j1-article-visuel { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; }
.j1-article-visuel img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.j1-article-carte:hover .j1-article-visuel img { transform: scale(1.04); }
.j1-article-fleche { position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; border-radius: 999px; background: rgba(255,255,255,.9); display: flex; align-items: center; justify-content: center; font-size: 17px; font-weight: 700; color: var(--j1-encre); }
.j1-article-texte { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 20px; flex: 1; }
.j1-article-titre { font-family: var(--j1-titre); font-size: 17px; font-weight: 700; letter-spacing: -0.3px; line-height: 1.2; color: var(--j1-encre); }
.j1-article-extrait { font-size: 13px; line-height: 1.5; color: var(--j1-gris); }
.j1-article-date { margin-top: auto; font-size: 12px; color: #716e7c; }
.j1-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 40px; }
.j1-pagination .page-numbers { min-width: 40px; height: 40px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--j1-filet-plein); display: inline-flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; color: var(--j1-encre); }
.j1-pagination .page-numbers.current { background: var(--j1-encre); border-color: var(--j1-encre); color: #fff; }
.j1-pagination a.page-numbers:hover { border-color: var(--j1-marque); color: var(--j1-marque); }

/* Article : colonne de lecture --------------------------------------------------------- */
.j1-article-une { margin: 0 0 44px; border-radius: 22px; overflow: hidden; box-shadow: 0 12px 34px rgba(30,25,60,.08); }
.j1-article-une img { width: 100%; height: auto; max-height: 520px; object-fit: cover; display: block; }
.j1-lecture { max-width: 760px; margin: 0 auto; }

/* Contenu des pages et articles ----------------------------------------------------------- */
.j1-contenu { font-family: var(--j1-corps) !important; font-size: 16.5px; line-height: 1.7; color: var(--j1-texte); }
.j1-contenu p, .j1-contenu li, .j1-contenu td { font-family: var(--j1-corps) !important; font-size: 16.5px !important; line-height: 1.7 !important; color: var(--j1-texte) !important; }
.j1-contenu p { margin: 0 0 18px !important; }
.j1-contenu h1, .j1-contenu h2, .j1-contenu h3, .j1-contenu h4, .j1-contenu h5,
.j1-contenu .themestek-custom-heading, .j1-contenu .vc_custom_heading {
	font-family: var(--j1-titre) !important; color: var(--j1-encre) !important; font-style: normal !important; text-transform: none !important;
}
.j1-contenu h2, .j1-contenu h2.vc_custom_heading { font-size: 30px !important; line-height: 1.15 !important; font-weight: 700 !important; letter-spacing: -0.8px !important; margin: 44px 0 16px !important; }
.j1-contenu h3, .j1-contenu h3.vc_custom_heading { font-size: 21px !important; line-height: 1.25 !important; font-weight: 700 !important; letter-spacing: -0.4px !important; margin: 32px 0 12px !important; }
.j1-contenu h4 { font-size: 17px !important; font-weight: 600 !important; margin: 24px 0 10px !important; }
.j1-contenu h2 em, .j1-contenu h3 em { font-style: normal !important; color: var(--j1-marque) !important; }
/* Sur-titres Liviza (h4 au-dessus d'un h2) : sur-titre rose de la maquette */
.j1-contenu .themestek-vc_cta3-headers h4.themestek-custom-heading, .j1-contenu .themestek-element-heading-wrapper h4 {
	font-family: var(--j1-corps) !important; font-size: 12.5px !important; font-weight: 600 !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: var(--j1-marque) !important; margin: 0 0 10px !important;
}
.j1-contenu .themestek-vc_cta3-headers h2.themestek-custom-heading { margin-top: 0 !important; }
.j1-contenu a:not([class]) { color: var(--j1-marque-texte) !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.j1-contenu a:not([class]):hover { color: #B31E60 !important; }
.j1-contenu strong, .j1-contenu b { color: var(--j1-encre); font-weight: 600; }
.j1-contenu ul:not([class]), .j1-contenu ol:not([class]) { padding-left: 22px; margin: 0 0 20px; }
.j1-contenu ul:not([class]) li::marker { color: var(--j1-rose); }
.j1-contenu blockquote { margin: 28px 0; padding: 22px 26px; background: var(--j1-rose-doux); border-left: 3px solid var(--j1-rose); border-radius: 0 16px 16px 0; font-size: 17px; color: var(--j1-encre); }
.j1-contenu img { max-width: 100%; height: auto; border-radius: 16px; }
.j1-contenu table:not([class]) { width: 100%; border-collapse: collapse; margin: 0 0 24px; }
.j1-contenu table:not([class]) th, .j1-contenu table:not([class]) td { border-bottom: 1px solid #eceaf1; padding: 10px 8px; text-align: left; }
.j1-contenu iframe { max-width: 100%; border-radius: 16px; }
/* Styles en ligne des articles rédigés par le connecteur (couleurs de l'ancien site) */
.j1-contenu [style*="color: #2d3748"], .j1-contenu [style*="color:#2d3748"] { color: var(--j1-texte) !important; }
.j1-contenu [style*="max-width: 800px"] { max-width: none !important; }

/* Boutons WPBakery / Liviza : à l'encre, en pilule */
.j1-contenu .vc_btn3, .j1-contenu .themestek-vc_btn3, .j1-contenu a.themestek-btn, .j1-contenu .vc_general.vc_btn3 {
	display: inline-flex !important; align-items: center; gap: 8px; background: var(--j1-encre) !important; background-image: none !important; color: #fff !important;
	border: 1px solid var(--j1-encre) !important; border-radius: 999px !important; padding: 13px 26px !important; font-family: var(--j1-corps) !important;
	font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; box-shadow: none !important; text-decoration: none !important;
}
.j1-contenu .vc_btn3:hover, .j1-contenu .themestek-vc_btn3:hover { background: #2c2b31 !important; color: #fff !important; transform: translateY(-1px); }

/* Listes à icône de Liviza : coche rose */
.j1-contenu .themestek-list li, .j1-contenu ul.themestek-list li { color: var(--j1-texte) !important; }
.j1-contenu .themestek-list .themestek-list-li-content { font-size: 15.5px !important; line-height: 1.5 !important; color: var(--j1-texte) !important; }
.j1-contenu .themestek-list i, .j1-contenu .themestek-list .themestek-list-icon { color: var(--j1-marque) !important; }

/* Bandes de couleur des rangées WPBakery (couleurs de l'ancien site) */
.j1-contenu .vc_row { margin-left: 0 !important; margin-right: 0 !important; }
.j1-contenu .themestek-bgcolor-grey, .j1-contenu [class*="themestek-bgcolor-grey"] { background-color: var(--j1-fond-doux) !important; }
.j1-contenu .themestek-bgcolor-darkgrey { background: var(--j1-encre-fonce) !important; background-image: none !important; }
.j1-contenu .themestek-bgcolor-skincolor { background: linear-gradient(120deg, #E0327E, #B31E60) !important; background-image: linear-gradient(120deg, #E0327E, #B31E60) !important; border-radius: 28px; }
.j1-contenu .themestek-bgcolor-darkgrey *, .j1-contenu .themestek-bgcolor-skincolor * { color: #fff !important; }
.j1-contenu .themestek-bgcolor-skincolor .vc_btn3, .j1-contenu .themestek-bgcolor-darkgrey .vc_btn3 { background: #fff !important; color: var(--j1-encre) !important; border-color: #fff !important; }
.j1-contenu .themestek-bg-pattarn-3, .j1-contenu [class*="bg-pattarn"] { background-image: linear-gradient(120deg, #E0327E, #B31E60) !important; }

/* Liste de prix de l'extension (pages non refaites) */
.j1-contenu .it_pl_pricing_list-item { border-bottom: 1px solid #eceaf1 !important; padding: 10px 0 !important; }
.j1-contenu .it_pl_pricing_list-title, .j1-contenu .it_pl_pricing_list-price { font-family: var(--j1-corps) !important; color: var(--j1-encre) !important; }

/* Formulaires (Gravity Forms, Contact Form 7) --------------------------------------------- */
.j1-contenu input[type="text"], .j1-contenu input[type="email"], .j1-contenu input[type="tel"], .j1-contenu input[type="number"], .j1-contenu input[type="date"],
.j1-contenu input[type="url"], .j1-contenu select, .j1-contenu textarea, .j1-recherche input[type="search"] {
	width: 100%; font-family: var(--j1-corps) !important; font-size: 15px !important; color: var(--j1-encre) !important; background: #fff !important;
	border: 1px solid #E7E6F0 !important; border-radius: 12px !important; padding: 12px 14px !important; box-shadow: none !important; transition: border-color .18s ease, box-shadow .18s ease;
}
.j1-contenu input:focus, .j1-contenu select:focus, .j1-contenu textarea:focus, .j1-recherche input:focus { border-color: var(--j1-marque) !important; box-shadow: 0 0 0 3px var(--j1-rose-voile) !important; outline: none; }
.j1-contenu label, .j1-contenu .gfield_label, .j1-contenu legend { font-family: var(--j1-corps) !important; font-size: 14px !important; font-weight: 600 !important; color: var(--j1-encre) !important; }
.j1-contenu .gform_wrapper .gfield_required { color: var(--j1-marque) !important; }
.j1-contenu input[type="submit"], .j1-contenu button[type="submit"], .j1-contenu .gform_button, .j1-contenu .gform_next_button, .j1-contenu .gform_previous_button {
	background: var(--j1-encre) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 14px 28px !important;
	font-family: var(--j1-corps) !important; font-size: 15px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; width: auto !important;
}
.j1-contenu .gform_previous_button { background: #fff !important; color: var(--j1-encre) !important; border: 1px solid var(--j1-encre) !important; }
.j1-contenu .gf_progressbar_percentage, .j1-contenu .gf_progressbar_percentage.percentbar_blue { background: var(--j1-marque) !important; }
.j1-contenu .gform_wrapper .gfield_error input, .j1-contenu .gform_wrapper .gfield_error select { border-color: #d63638 !important; }
.j1-recherche { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; max-width: 620px; margin: 44px 0 0; }
.j1-recherche label { grid-column: 1 / -1; font-weight: 600; font-size: 14px; }
.j1-recherche button { background: var(--j1-encre); color: #fff; border: 0; border-radius: 999px; padding: 13px 24px; font-weight: 600; font-size: 15px; cursor: pointer; }

/* Adaptation ------------------------------------------------------------------------------ */
@media (max-width: 1100px) {
	.j1-grille-articles { grid-template-columns: repeat(2, 1fr); }
	.j1-titre-page { font-size: 40px; letter-spacing: -1.2px; }
}
@media (max-width: 900px) {
	.j1-grille-tarifs, .j1-compris { grid-template-columns: 1fr !important; }
	.j1-contenu .vc_column_container { width: 100% !important; }
}
@media (max-width: 640px) {
	.j1-conteneur { padding: 0 18px; }
	.j1-entete-page { padding: 28px 0 28px; }
	.j1-titre-page { font-size: 32px; letter-spacing: -0.9px; }
	.j1-titre-section { font-size: 27px; }
	.j1-grille-articles { grid-template-columns: 1fr; }
	.j1-tarif { padding: 24px; }
	.j1-contenu h2, .j1-contenu h2.vc_custom_heading { font-size: 25px !important; }
	.j1-recherche { grid-template-columns: 1fr; }
}

/* Reprises sur Liviza --------------------------------------------------------------------- */
/* Les tableaux de Liviza ont des filets verticaux et un fond : pas dans la maquette */
.j1-tarif-table tr { border: 0 !important; }
.j1-tarif-table, .j1-tarif-table th, .j1-tarif-table td { border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; background: transparent !important; }
.j1-tarif-table { border: 0 !important; }
/* Rangées « pleine largeur » de WPBakery : contenues dans la largeur de la maquette,
   au lieu d'un calcul d'écran qui les décale de la largeur de la barre de défilement */
.j1-contenu .vc_row[data-vc-full-width] { left: 0 !important; width: auto !important; padding-left: 0 !important; padding-right: 0 !important; }
.j1-contenu .vc_row[data-vc-full-width][data-vc-stretch-content] { border-radius: 22px; overflow: hidden; }
.j1-contenu .vc_row.themestek-bgcolor-grey, .j1-contenu .vc_row.themestek-bgcolor-darkgrey { border-radius: 22px; padding: 40px 28px !important; margin-bottom: 24px; }
.j1-intro-tarifs { max-width: 820px; margin: 0 0 30px; }
.j1-intro-tarifs p { font-size: 16px; line-height: 1.65; color: var(--j1-texte); margin: 0 0 14px; }

/* Composants du cahier de Tiphaine : intercalaires, encadrés, appel doux ------------------- */
.j1-chapo-contenu { font-size: 18px !important; line-height: 1.6 !important; color: var(--j1-encre) !important; max-width: 820px; }
.j1-intercalaires { background: rgba(255,255,255,.9); border: 1px solid var(--j1-filet); border-radius: 22px; margin: 30px 0; overflow: hidden; }
.j1-intercalaires-onglets { display: flex; gap: 6px; padding: 10px; background: var(--j1-fond-doux); border-bottom: 1px solid var(--j1-filet); flex-wrap: wrap; }
.j1-intercalaires-onglets [role="tab"] { border: 0; background: transparent; padding: 11px 20px; border-radius: 999px; font-family: var(--j1-titre); font-size: 15px; font-weight: 600; color: var(--j1-gris); cursor: pointer; transition: background .18s ease, color .18s ease; }
.j1-intercalaires-onglets [role="tab"][aria-selected="true"] { background: var(--j1-encre); color: #fff; }
.j1-intercalaires-onglets [role="tab"]:hover:not([aria-selected="true"]) { background: #fff; color: var(--j1-encre); }
.j1-intercalaires-panneau { padding: 30px 32px; border-top: 3px solid var(--j1-rose); }
.j1-contenu .j1-intercalaires-panneau h2 { margin-top: 0 !important; }
.j1-encadre { background: linear-gradient(90deg, #fef3f7, #fff); border: 1px solid #eceaf1; border-left: 3px solid var(--j1-rose); border-radius: 18px; padding: 24px 28px; margin: 18px 0 30px; }
.j1-contenu ul.j1-criteres { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.j1-contenu ul.j1-criteres > li { position: relative; padding-left: 26px; }
.j1-contenu ul.j1-criteres > li:before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--j1-marque); font-weight: 700; }
.j1-contenu ul.j1-criteres ul { margin: 8px 0 0; padding-left: 18px; }
.j1-appel-doux { background: linear-gradient(135deg, #fce4ee, #fef2f7); border-radius: 22px; padding: 36px 36px 30px; margin: 40px 0 0; }
.j1-contenu .j1-appel-doux h2 { margin-top: 0 !important; }
.j1-contenu a.j1-btn-contenu { display: inline-flex; align-items: center; gap: 8px; background: var(--j1-encre); color: #fff !important; padding: 13px 24px; border-radius: 999px; font-size: 15px; font-weight: 600; text-decoration: none !important; }
.j1-contenu a.j1-lien-fleche { color: var(--j1-marque-texte) !important; font-weight: 600; text-decoration: none !important; }
.j1-contenu a.j1-lien-fleche:after { content: " →"; }
.j1-tarif--encart { max-width: 520px; margin: 10px 0 28px; }
.j1-formulaire p { margin: 0 0 14px !important; }
.j1-formulaire .j1-champs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 12px; }
.j1-formulaire .j1-champs--2 { grid-template-columns: repeat(2, 1fr); }
.j1-formulaire .wpcf7-form-control-wrap { display: block; }
@media (max-width: 760px) { .j1-formulaire .j1-champs, .j1-formulaire .j1-champs--2 { grid-template-columns: 1fr; } .j1-intercalaires-panneau { padding: 24px 20px; } }
.j1-tarif-entete { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; margin-bottom: 18px; }
.j1-tarif-entete .j1-tarif-prix { margin: 0; }
.j1-tarif-panneau { scroll-margin-top: 110px; }
.j1-tarif-table--colonnes tbody { columns: 2; column-gap: 40px; display: block; }
.j1-tarif-table--colonnes tbody tr { display: flex; justify-content: space-between; break-inside: avoid; }
.j1-tarif-table--colonnes thead { display: none; }
a.j1-btn-contenu-tarif { display: inline-flex; align-items: center; gap: 8px; background: var(--j1-encre); color: #fff; padding: 13px 24px; border-radius: 999px; font-size: 15px; font-weight: 600; }
@media (max-width: 640px) { .j1-tarif-table--colonnes tbody { columns: 1; } }
.j1-tarif-table.j1-tarif-table--colonnes td { border-bottom: 0 !important; }
.j1-tarif-table.j1-tarif-table--colonnes tr { border-bottom: 1px solid #f0eff4 !important; }

.j1-intro-options { font-size: 16px; line-height: 1.6; color: var(--j1-texte); max-width: 720px; margin: 0 0 26px; }

/* ===== Retour de Tiphaine du 06/10 ===================================================== */
/* Espace réduit entre un titre et son premier paragraphe */
.j1-contenu h2, .j1-contenu h2.vc_custom_heading { margin: 40px 0 10px !important; }
.j1-contenu h3, .j1-contenu h3.vc_custom_heading { margin: 26px 0 8px !important; }
.j1-contenu > h2:first-child { margin-top: 0 !important; }
.j1-titre-page { margin-bottom: 10px; }
.j1-entete-page { padding-bottom: 24px; }
.j1-titre-section { margin-bottom: 14px; }
.j1-contenu p { margin: 0 0 14px !important; }

/* Onglets aux couleurs dégradées : actif en teinte pleine, autres en teinte douce */
.j1-intercalaires--degrade { border: 0; background: transparent; overflow: visible; }
.j1-intercalaires--degrade .j1-intercalaires-onglets { background: transparent; border: 0; padding: 0; gap: 10px; margin-bottom: 14px; }
.j1-intercalaires--degrade [role="tab"] { padding: 13px 26px; border-radius: 16px; font-size: 15px; color: var(--j1-encre); background: linear-gradient(135deg, var(--t1-doux), var(--t2-doux)); border: 1px solid transparent; transition: transform .18s ease, box-shadow .18s ease; }
.j1-intercalaires--degrade [role="tab"]:hover:not([aria-selected="true"]) { background: linear-gradient(135deg, var(--t1-doux), var(--t2-doux)); transform: translateY(-2px); }
.j1-intercalaires--degrade [role="tab"][aria-selected="true"] { background: linear-gradient(135deg, var(--t1), var(--t2)); color: #fff; box-shadow: 0 10px 24px var(--t-ombre); }
.j1-intercalaires--degrade [role="tab"][aria-selected="true"]:hover { background: linear-gradient(135deg, var(--t1), var(--t2)); color: #fff; }
.j1-intercalaires--degrade .j1-intercalaires-panneau { background: #fff; border: 1px solid var(--j1-filet); border-top: 4px solid var(--t1); border-radius: 22px; padding: 28px 32px; }
.t-intern { --t1:#B31E60; --t2:#D12A73; --t1-doux:#fde4ef; --t2-doux:#fbc9de; --t-ombre:rgba(179,30,96,.30); }
.t-trainee { --t1:#5B3FD0; --t2:#8A4FD6; --t1-doux:#ebe5fd; --t2-doux:#dccffa; --t-ombre:rgba(91,63,208,.30); }
.t-specialist { --t1:#1D4FA3; --t2:#2F6FCB; --t1-doux:#e1ecfb; --t2-doux:#c9defa; --t-ombre:rgba(29,79,163,.30); }
.t-vie { --t1:#A83A0B; --t2:#C84E10; --t1-doux:#fdebdd; --t2-doux:#fbd8bd; --t-ombre:rgba(168,58,11,.30); }
.j1-intercalaires--degrade .j1-intercalaires-panneau.t-intern { --t1:#B31E60; } .j1-intercalaires--degrade .j1-intercalaires-panneau.t-trainee { --t1:#5B3FD0; }
.j1-intercalaires--degrade .j1-intercalaires-panneau.t-specialist { --t1:#1D4FA3; } .j1-intercalaires--degrade .j1-intercalaires-panneau.t-vie { --t1:#A83A0B; }
.j1-panneau-titre { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 0 0 6px; }
.j1-contenu .j1-intercalaires-panneau h2, .j1-contenu .j1-intercalaires-panneau h3 { margin: 0 0 8px !important; }
.j1-criteres--deux li { margin: 0; }

/* Tableaux de tarifs : durée et prix rapprochés */
.j1-tarif-table--colonnes { max-width: 760px; }
.j1-tarif-table--colonnes tbody { column-gap: 56px; }
.j1-tarif-table--colonnes tbody tr { gap: 18px; justify-content: flex-start; }
.j1-tarif-table--colonnes tbody td:first-child { min-width: 96px; }
.j1-tarif-table--colonnes tbody td:last-child { margin-left: 0; text-align: left; }

/* Options : cartes claires, plus d'encadré noir */
.j1-option { position: relative; border-radius: 22px; padding: 30px; border: 1px solid var(--j1-filet); background: linear-gradient(135deg, #fff, #fdf3f8); }
.j1-option--express { background: linear-gradient(135deg, #fff, #f3effd); }
.j1-option .j1-tarif-nom { color: var(--j1-encre); }
.j1-option .j1-liste li { color: var(--j1-texte); }
.j1-option .j1-liste strong { color: var(--j1-encre); }
.j1-option .j1-tarif-sous { color: #6a6874; }
.j1-option .j1-btn-noir { display: block; text-align: center; padding: 12px; border-radius: 999px; font-size: 14px; font-weight: 600; margin-top: 18px; background: var(--j1-encre); color: #fff; }

/* Encadrés mis en évidence (phrases clés, appel à l'action) */
.j1-phrase-cle { background: linear-gradient(135deg, #fde4ef, #f3effd); border-radius: 22px; padding: 26px 32px; margin: 26px 0; font-family: var(--j1-titre); font-size: 20px; line-height: 1.4; font-weight: 600; letter-spacing: -0.3px; color: var(--j1-encre); }
.j1-encadre h3, .j1-encadre .j1-encadre-titre { font-family: var(--j1-titre); font-size: 19px; font-weight: 700; letter-spacing: -0.3px; margin: 0 0 14px; color: var(--j1-encre); }
.j1-appel-doux--boutons .j1-boutons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
.j1-contenu a.j1-btn-contour-contenu { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--j1-encre); background: #fff; color: var(--j1-encre) !important; padding: 12px 22px; border-radius: 999px; font-size: 15px; font-weight: 600; text-decoration: none !important; }
.j1-tarif--encart .j1-tarif-table { margin-bottom: 0; }
.j1-encadre .j1-tarif--encart { background: transparent; border: 0; padding: 0; margin: 0; max-width: 460px; }

/* Villes (page « Trouver une opportunité ») */
.j1-villes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 22px 0 34px; }
.j1-ville { position: relative; border-radius: 18px; overflow: hidden; aspect-ratio: 4 / 3; box-shadow: 0 8px 24px rgba(30,25,60,.08); }
.j1-ville img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0 !important; }
.j1-ville span { position: absolute; left: 14px; bottom: 12px; background: rgba(255,255,255,.92); color: var(--j1-encre); font-weight: 700; font-size: 13.5px; padding: 6px 14px; border-radius: 999px; }
.j1-bloc-duo { background: linear-gradient(135deg, #fde4ef, #fef2f7); border-radius: 22px; padding: 30px 34px; margin: 30px 0; }
.j1-bloc-duo--bleu { background: linear-gradient(135deg, #e1ecfb, #f3effd); }

/* Page Contact */
.j1-contact-grille { display: grid; grid-template-columns: 1.15fr 1fr; gap: 28px; align-items: start; }
.j1-contact-cartes { display: flex; flex-direction: column; gap: 14px; }
.j1-contact-carte { display: flex; gap: 16px; align-items: flex-start; background: rgba(255,255,255,.9); border: 1px solid var(--j1-filet); border-radius: 18px; padding: 20px 22px; }
.j1-contact-carte svg { flex: 0 0 auto; width: 44px; height: 44px; padding: 10px; border-radius: 14px; background: linear-gradient(135deg, #fde4ef, #fbc9de); color: #B31E60; }
.j1-contact-carte strong { display: block; font-family: var(--j1-titre); font-size: 16px; margin-bottom: 2px; color: var(--j1-encre); }
.j1-contact-carte a, .j1-contact-carte span.v { font-size: 15px; color: var(--j1-texte); }
.j1-contact-formulaire { background: #fff; border: 1px solid var(--j1-filet); border-radius: 22px; padding: 30px; box-shadow: 0 12px 34px rgba(30,25,60,.06); }
.j1-contenu .j1-contact-formulaire .wpcf7-form p { margin: 0 0 14px !important; }
.j1-contenu .j1-contact-formulaire label { display: block; }
.j1-contenu .j1-contact-formulaire .wpcf7-radio { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.j1-contenu .j1-contact-formulaire .wpcf7-list-item { margin: 0; }
.j1-contenu .j1-contact-formulaire .wpcf7-list-item label { font-weight: 500 !important; display: inline-flex; gap: 6px; align-items: center; }

@media (max-width: 900px) { .j1-contact-grille { grid-template-columns: 1fr; } .j1-villes { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .j1-villes { grid-template-columns: 1fr; } .j1-intercalaires--degrade .j1-intercalaires-panneau { padding: 22px 20px; } .j1-phrase-cle { font-size: 17px; padding: 20px; } }

.j1-titre-options { font-size: 30px; font-weight: 800; letter-spacing: -0.8px; margin: 0 0 12px; }

/* Encadré du formulaire entreprise : teinte bleutée, la page portait déjà beaucoup de rose. */
.j1-appel-doux--bleu { background: linear-gradient(135deg, #e6edff, #f4f7ff); }
/* Logos des partenaires (page VIE – Business France). */
.j1-logos-partenaires { display: flex; align-items: center; gap: 32px; flex-wrap: wrap; margin: 6px 0 22px; }
.j1-logo-bf { height: 62px; width: auto; display: block; }
/* Drapeau dans un titre. */
.j1-drapeau-titre { display: inline-flex; vertical-align: -0.12em; margin-right: 10px; line-height: 0; }
.j1-liste.j1-liste--deux { display: block; columns: 2; column-gap: 40px; }
.j1-liste--deux li { break-inside: avoid; margin-bottom: 10px; }
@media (max-width: 700px) { .j1-liste--deux { columns: 1; } }
.j1-liste--deux + p { margin-top: 30px; }

/* Logo à côté du titre, dans un cadre arrondi. */
.j1-titre-ligne { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.j1-titre-ligne .j1-titre-page { margin-bottom: 0; }
.j1-logo-cadre { display: inline-flex; align-items: center; justify-content: center; background: #fff; border: 1px solid rgba(150,150,190,.22); border-radius: 22px; padding: 14px 20px; box-shadow: 0 10px 26px rgba(80,70,150,.1); flex-shrink: 0; }
.j1-logo-cadre img { height: 66px; width: auto; display: block; }
/* Photos des États-Unis (page Contact). */
.j1-photos-usa { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 44px 0 0; }
.j1-photos-usa img { width: 100%; height: 230px; object-fit: cover; display: block; }
@media (max-width: 700px) { .j1-photos-usa { grid-template-columns: 1fr; } .j1-photos-usa img { height: 190px; } }
