/*
  NATA global stylesheet (scope .tcdir)
  Charge par functions.php sur tout le site.
*/

/* ============================================================
   NATRANSLATIONALLIANCE.ORG — HOMEPAGE
   Scope: everything lives under .tcdir so styles never collide
   with the Divi theme. Paste into a full-width Code module
   (blank page template recommended).
   ============================================================ */
.tcdir, .tcdir *, .tcdir *::before, .tcdir *::after { margin:0; padding:0; box-sizing:border-box; }
.tcdir {
  --navy:#003047;
  --navy-deep:#001D2C;
  --navy-soft:#0D4763;
  --teal:#C60C30;          /* accent principal (rouge) */
  --teal-bright:#E8395C;   /* accent sur fond sombre */
  --teal-pale:#F7E7EB;     /* rouge pale */
  --amber:#C60C30;         /* CTA */
  --amber-deep:#A00926;
  --ink:#1C2830;
  --slate:#51626D;
  --mist:#EEF3F6;
  --sand:#F8F6F1;
  --line:#DCE4EA;
  --white:#FFFFFF;
  --radius:14px;
  --shadow:0 10px 30px rgba(0,48,71,.10);
  --maxw:1200px;
  font-family:'Public Sans', -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
.tcdir img, .tcdir svg { max-width:100%; display:block; }
.tcdir ul, .tcdir ol { margin:0; padding:0; list-style:none; }
.tcdir a { text-decoration:none; color:inherit; }
/* Interlignes des titres : neutralise les line-height serres imposes par Divi. */
.tcdir h1, .tcdir h2, .tcdir h3, .tcdir h4 { line-height:1.3; }
.tcdir .wrap { max-width:var(--maxw); margin:0 auto; padding:0 24px; }
.tcdir .serif { font-family:'Merriweather Sans', 'Public Sans', Verdana, sans-serif; }

/* ---------- Utility top bar ---------- */
.tcdir .topbar { background:var(--navy-deep); color:#B9C9DA; font-size:13px; }
.tcdir .topbar .wrap { display:flex; align-items:center; justify-content:space-between; min-height:38px; gap:16px; }
.tcdir .topbar-tag { letter-spacing:.04em; }
.tcdir .topbar-links { display:flex; align-items:center; white-space:nowrap; }
.tcdir .topbar-links a + a { border-left:1px solid rgba(255,255,255,.22); margin-left:16px; padding-left:16px; }
.tcdir .topbar-links a { color:#D8E3EE; font-weight:600; }
.tcdir .topbar-links a:hover { color:var(--teal-bright); }

/* ---------- Header ---------- */
.tcdir .header { background:var(--white); border-bottom:1px solid var(--line); position:relative; z-index:50; }
.tcdir .header .wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:104px; }
.tcdir .brand { display:flex; align-items:center; gap:14px; }
.tcdir .brand-logo { height:66px; width:260px; object-fit:contain; object-position:left center; overflow:hidden; font-size:11px; line-height:1.2; color:var(--slate); }
.tcdir .brand-logo-light { height:62px; width:260px; color:#7E97AC; }
.tcdir .nav { display:flex; align-items:center; gap:28px; }
.tcdir .nav > a { font-weight:600; font-size:15px; color:var(--navy); padding:6px 0; border-bottom:2.5px solid transparent; }
.tcdir .nav > a:hover { border-bottom-color:var(--teal-bright); color:var(--teal); }
.tcdir .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:700; border-radius:10px; cursor:pointer; border:0; transition:transform .15s ease, box-shadow .15s ease, background .15s ease; }
.tcdir .btn:hover { transform:translateY(-1px); }
.tcdir .btn-amber { background:var(--amber); color:#fff; padding:12px 22px; font-size:15px; box-shadow:0 6px 16px rgba(198,12,48,.28); }
.tcdir .btn-amber:hover { background:var(--amber-deep); color:#fff; }
.tcdir .btn-teal { background:var(--navy); color:#fff; padding:14px 26px; font-size:16px; }
.tcdir .btn-teal:hover { background:var(--navy-soft); }
.tcdir .btn-ghost { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.45); padding:13px 24px; font-size:15px; }
.tcdir .btn-ghost:hover { border-color:var(--teal-bright); color:var(--teal-bright); }
.tcdir .nav-toggle { display:none; background:none; border:1.5px solid var(--line); border-radius:10px; padding:9px 12px; cursor:pointer; }
.tcdir .nav-toggle svg { width:22px; height:22px; stroke:var(--navy); }

/* ---------- Hero ---------- */
.tcdir .hero { background:
  linear-gradient(160deg, rgba(0,22,33,.88) 0%, rgba(0,48,71,.80) 55%, rgba(6,58,84,.74) 100%),
  url('https://natranslationalliance.org/wp-content/uploads/2026/07/test.jpg') center/cover no-repeat,
  var(--navy-deep);
  color:#fff; position:relative; overflow:hidden; }
.tcdir .hero::after { content:""; position:absolute; right:-140px; top:-120px; width:560px; height:560px; border-radius:50%; background:radial-gradient(circle, rgba(198,12,48,.20) 0%, rgba(198,12,48,0) 65%); }
.tcdir .hero::before { content:""; position:absolute; left:-160px; bottom:-220px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(111,174,203,.14) 0%, rgba(111,174,203,0) 65%); }
.tcdir .hero .wrap { position:relative; z-index:2; padding-top:112px; padding-bottom:92px; }
.tcdir .hero h1 { margin-top:0; font-family:'Merriweather Sans', 'Public Sans', Verdana, sans-serif; font-size:clamp(32px, 4.6vw, 54px); line-height:1.12; font-weight:700; letter-spacing:-.015em; margin:0 0 18px; max-width:1020px; }
.tcdir .hero h1 em { font-style:normal; color:var(--teal-bright); white-space:nowrap; }
.tcdir .hero p.lede { font-size:clamp(16px, 1.6vw, 19px); color:#C3D2E0; max-width:1080px; margin-bottom:34px; }

/* Search panel */
.tcdir .search-panel { background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); padding:14px; display:grid; grid-template-columns:1.4fr 1fr 1fr auto; gap:10px; }
.tcdir .field { display:flex; align-items:center; gap:10px; background:var(--mist); border-radius:10px; padding:0 14px; min-height:56px; }
.tcdir .field svg { width:20px; height:20px; stroke:var(--slate); flex:0 0 auto; }
.tcdir .field input, .tcdir .field select { border:0; background:transparent; outline:none; font:inherit; font-size:15px; color:var(--ink); width:100%; min-height:56px; cursor:pointer; }
.tcdir .field input { cursor:text; }
.tcdir .field input::placeholder { color:#7A8894; }
.tcdir .field.ac-field { position:relative; }
.tcdir .ac-list { position:absolute; top:calc(100% + 6px); left:0; right:0; background:var(--white); border:1px solid var(--line); border-radius:10px; box-shadow:var(--shadow); z-index:60; max-height:264px; overflow-y:auto; display:none; }
.tcdir .ac-list.show { display:block; }
.tcdir .ac-item { padding:11px 16px; cursor:pointer; font-size:14.5px; color:var(--ink); display:flex; align-items:center; justify-content:space-between; gap:12px; }
.tcdir .ac-item:hover, .tcdir .ac-item.active { background:var(--mist); }
.tcdir .ac-item b { font-weight:600; }
.tcdir .ac-item b mark { background:none; color:var(--teal); font-weight:700; }
.tcdir .ac-type { font-size:10.5px; color:var(--slate); text-transform:uppercase; letter-spacing:.06em; font-weight:700; flex:0 0 auto; }
.tcdir .search-panel .btn-teal { min-height:56px; padding:0 30px; background:var(--amber); }
.tcdir .search-panel .btn-teal:hover { background:var(--amber-deep); }
.tcdir .hero-quick { display:flex; flex-wrap:wrap; gap:10px 12px; margin-top:18px; align-items:center; font-size:13.5px; color:#AFC2D2; }
.tcdir .hero-quick a { background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.14); color:#E3EDF5; border-radius:999px; padding:6px 14px; font-weight:600; }
.tcdir .hero-quick a:hover { background:var(--teal); border-color:var(--teal); color:#fff; }

/* Stats band */
.tcdir .stats { background:#001621; color:#fff; border-top:1px solid rgba(255,255,255,.08); }
.tcdir .stats .wrap { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding-top:30px; padding-bottom:30px; }
.tcdir .stat { text-align:center; border-left:1px solid rgba(255,255,255,.1); }
.tcdir .stat:first-child { border-left:0; }
.tcdir .stat b { display:block; font-size:clamp(24px,2.6vw,34px); font-weight:800; color:var(--teal-bright); letter-spacing:-.01em; }
.tcdir .stat span { font-size:13.5px; color:#A9BCCC; font-weight:600; letter-spacing:.03em; text-transform:uppercase; }

/* ---------- Section scaffolding ---------- */
.tcdir section.block { padding:78px 0; }
.tcdir .sec-head { max-width:760px; margin-bottom:44px; }
.tcdir .sec-head.center { margin-left:auto; margin-right:auto; text-align:center; }
.tcdir .sec-head.wide { max-width:1000px; }
.tcdir .kicker { display:inline-block; color:var(--teal); font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:12px; }
.tcdir h2 { font-family:'Merriweather Sans', 'Public Sans', Verdana, sans-serif; font-size:clamp(26px,3vw,38px); line-height:1.18; color:var(--navy); font-weight:700; letter-spacing:-.01em; }
.tcdir .sec-head p { margin-top:14px; color:var(--slate); font-size:16.5px; }

/* Browse cards */
.tcdir .browse-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.tcdir .browse-card { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:28px 24px; transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
.tcdir .browse-card:hover { box-shadow:var(--shadow); transform:translateY(-3px); border-color:var(--teal-bright); }
.tcdir .browse-ico { width:52px; height:52px; border-radius:12px; background:var(--teal-pale); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.tcdir .browse-ico svg { width:26px; height:26px; stroke:var(--teal); }
.tcdir .browse-card h3 { font-size:18px; color:var(--navy); font-weight:700; margin-bottom:8px; }
.tcdir .browse-card p { font-size:14.5px; color:var(--slate); margin-bottom:14px; }
.tcdir .link-arrow { color:var(--teal); font-weight:700; font-size:14.5px; display:inline-flex; align-items:center; gap:6px; }
.tcdir .link-arrow:hover { color:var(--navy); }
.tcdir .link-arrow::after { content:"→"; transition:transform .15s ease; }
.tcdir .link-arrow:hover::after { transform:translateX(3px); }

/* Featured listings */
.tcdir .bg-mist { background:var(--mist); }
.tcdir .listing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.tcdir .listing { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .2s ease, transform .2s ease; }
.tcdir .listing:hover { box-shadow:var(--shadow); transform:translateY(-3px); }
.tcdir .listing-cover { height:130px; background:linear-gradient(130deg, rgba(0,48,71,.92), rgba(198,12,48,.45)), url('https://natranslationalliance.org/wp-content/uploads/2026/07/listing-cover-1.jpg') center/cover no-repeat; position:relative; }
.tcdir .listing-cover .badge-verified { position:absolute; top:14px; right:14px; background:rgba(255,255,255,.95); color:var(--teal); font-size:11.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; border-radius:999px; padding:5px 12px; display:inline-flex; align-items:center; gap:6px; }
.tcdir .listing-cover .badge-verified svg { width:13px; height:13px; stroke:var(--teal); }
.tcdir .listing-logo { width:64px; height:64px; border-radius:14px; background:var(--white); border:1px solid var(--line); box-shadow:0 6px 14px rgba(0,48,71,.12); overflow:hidden; margin:-32px 0 0 24px; position:relative; }
.tcdir .listing-logo img { width:100%; height:100%; object-fit:cover; font-size:9px; line-height:1.1; color:var(--slate); }
.tcdir .listing-body { padding:16px 24px 24px; display:flex; flex-direction:column; flex:1; }
.tcdir .listing-body h3 { font-size:19px; color:var(--navy); font-weight:700; }
.tcdir .listing-loc { display:flex; align-items:center; gap:6px; color:var(--slate); font-size:14px; margin:4px 0 12px; }
.tcdir .listing-loc svg { width:15px; height:15px; stroke:var(--slate); }
.tcdir .listing-body p.desc { font-size:14.5px; color:var(--slate); margin-bottom:16px; flex:1; }
.tcdir .tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.tcdir .tag { background:var(--teal-pale); color:var(--teal); font-size:12.5px; font-weight:700; border-radius:999px; padding:4px 12px; }
.tcdir .tag.lang { background:#E4EDF2; color:var(--navy); }
.tcdir .listing-foot { border-top:1px solid var(--line); padding-top:16px; display:flex; align-items:center; justify-content:space-between; }
.tcdir .listing-foot .langs { font-size:13px; color:var(--slate); font-weight:600; }

/* Pricing */
.tcdir .pricing-band { background:linear-gradient(160deg, #001621 0%, var(--navy) 70%); color:#fff; position:relative; overflow:hidden; }
.tcdir .pricing-band::before { content:""; position:absolute; right:-120px; bottom:-160px; width:480px; height:480px; border-radius:50%; background:radial-gradient(circle, rgba(198,12,48,.16), transparent 65%); }
.tcdir .pricing-band .sec-head h2, .tcdir .pricing-band .sec-head { color:#fff; }
.tcdir .pricing-band .sec-head p { color:#B9C9DA; }
.tcdir .pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; position:relative; z-index:2; }
.tcdir .price-card { background:var(--white); color:var(--ink); border-radius:var(--radius); padding:34px 30px; display:flex; flex-direction:column; position:relative; }
.tcdir .price-card.featured { outline:3px solid var(--amber); box-shadow:0 18px 40px rgba(0,0,0,.25); }
.tcdir .price-flag { position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--amber); color:#fff; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; border-radius:999px; padding:5px 16px; white-space:nowrap; }
.tcdir .price-kind { font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--teal); margin-bottom:10px; }
.tcdir .price-amount { display:flex; align-items:baseline; gap:6px; margin-bottom:6px; }
.tcdir .price-amount b { font-size:44px; font-weight:800; color:var(--navy); letter-spacing:-.02em; }
.tcdir .price-amount span { color:var(--slate); font-weight:600; font-size:15px; }
.tcdir .price-card > p.pdesc { color:var(--slate); font-size:14.5px; margin-bottom:20px; }
.tcdir .price-card ul { list-style:none; margin:0 0 26px; padding:0; flex:1; }
.tcdir .price-card ul li { padding:8px 0 8px 30px; position:relative; font-size:14.5px; border-bottom:1px dashed var(--line); }
.tcdir .price-card ul li:last-child { border-bottom:0; }
.tcdir .price-card ul li::before { content:""; position:absolute; left:0; top:12px; width:18px; height:18px; border-radius:50%; background:var(--teal-pale) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23C60C30" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 13l4 4L19 7"/></svg>') center/11px no-repeat; }
.tcdir .price-card .btn { width:100%; padding:14px 0; font-size:15.5px; }
.tcdir .pricing-note { text-align:center; margin-top:26px; color:#9FB4C6; font-size:13.5px; position:relative; z-index:2; }

/* Why list — split with image */
.tcdir .split { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:stretch; }
.tcdir .split-media { border-radius:18px; overflow:hidden; position:relative; height:100%;
  background:linear-gradient(200deg, rgba(198,12,48,.30), rgba(0,48,71,.88)), url('https://natranslationalliance.org/wp-content/uploads/2026/07/why-list-team.jpg') center/cover no-repeat; box-shadow:var(--shadow); }
.tcdir .why-item { display:flex; gap:18px; padding:18px 0; border-bottom:1px solid var(--line); }
.tcdir .why-item:last-of-type { border-bottom:0; }
.tcdir .why-ico { width:48px; height:48px; border-radius:12px; background:var(--teal-pale); display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.tcdir .why-ico svg { width:24px; height:24px; stroke:var(--teal); }
.tcdir .why-item h3 { font-size:17px; color:var(--navy); font-weight:700; margin-bottom:4px; }
.tcdir .why-item p { font-size:14.5px; color:var(--slate); }

/* News / insights cards */
.tcdir .news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.tcdir .news-card { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .2s ease, transform .2s ease; }
.tcdir .news-card:hover { box-shadow:var(--shadow); transform:translateY(-3px); }
.tcdir .news-thumb { height:170px; background:linear-gradient(140deg, rgba(13,71,99,.75), rgba(0,29,44,.88)), url('https://natranslationalliance.org/wp-content/uploads/2026/07/news-1.jpg') center/cover no-repeat; }
.tcdir .news-body { padding:22px 24px 24px; display:flex; flex-direction:column; flex:1; }
.tcdir .news-meta { display:flex; gap:10px; align-items:center; font-size:12.5px; margin-bottom:10px; }
.tcdir .news-meta .cat { font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--teal); }
.tcdir .news-meta .date { color:var(--slate); }
.tcdir .news-body h3 { font-size:17.5px; line-height:1.35; color:var(--navy); font-weight:700; margin-bottom:10px; flex:1; }
.tcdir .news-body h3 a:hover { color:var(--teal); }

/* SEO prose */
.tcdir .prose { max-width:860px; margin:0 auto; }
.tcdir .prose h2 { margin-bottom:18px; }
.tcdir .prose p { color:var(--slate); font-size:15.5px; margin-bottom:16px; }
.tcdir .prose a { color:var(--teal); font-weight:600; }

/* Newsletter */
.tcdir .newsletter { background:linear-gradient(140deg, #A00926 0%, var(--teal) 70%); color:#fff; }
.tcdir .newsletter .wrap { display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:center; padding-top:56px; padding-bottom:56px; }
.tcdir .newsletter h2 { color:#fff; }
.tcdir .newsletter p { color:#F6D3DB; margin-top:10px; }
.tcdir .nl-form { display:flex; gap:10px; }
.tcdir .nl-form input { flex:1; border:0; border-radius:10px; padding:16px 18px; font:inherit; font-size:15px; outline:none; }
.tcdir .nl-form .btn { background:var(--navy-deep); color:#fff; padding:0 26px; }
.tcdir .nl-form .btn:hover { background:var(--navy); }

/* Footer */
.tcdir .footer { background:#001621; color:#9FB4C6; font-size:14.5px; }
.tcdir .footer .wrap { padding-top:64px; padding-bottom:0; }
.tcdir .footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.1); }
.tcdir .footer p.about { margin-top:16px; max-width:320px; font-size:14px; }
.tcdir .footer h4 { color:#fff; font-size:14px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:16px; }
.tcdir .footer ul { list-style:none; margin:0; padding:0; }
.tcdir .footer ul li { margin:0 0 10px; padding:0; }
.tcdir .footer ul a:hover { color:var(--teal-bright); }
.tcdir .footer-legal { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:22px 0 26px; font-size:13px; color:#7E97AC; }
.tcdir .footer-legal .legal-links { display:flex; gap:18px; }
.tcdir .footer-legal a:hover { color:var(--teal-bright); }

/* ---------- Responsive ---------- */
@media (max-width: 1080px){
  .tcdir .browse-grid { grid-template-columns:repeat(2,1fr); }
  .tcdir .listing-grid, .tcdir .news-grid, .tcdir .pricing-grid { grid-template-columns:1fr 1fr; }
  .tcdir .split { grid-template-columns:1fr; gap:36px; }
  .tcdir .split-media { height:auto; min-height:280px; }
  .tcdir .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 900px){
  .tcdir .nav { display:none; position:absolute; top:100%; left:0; right:0; background:var(--white); border-bottom:1px solid var(--line); flex-direction:column; align-items:flex-start; gap:0; padding:10px 24px 16px; box-shadow:var(--shadow); }
  .tcdir .nav.open { display:flex; }
  .tcdir .nav > a { padding:12px 0; width:100%; border-bottom:1px solid var(--mist); }
  .tcdir .nav-toggle { display:block; }
  .tcdir .nav-cta { display:none; }
  .tcdir .search-panel { grid-template-columns:1fr; }
  .tcdir .stats .wrap { grid-template-columns:1fr 1fr; gap:26px; }
  .tcdir .stat { border-left:0; }
  .tcdir .newsletter .wrap { grid-template-columns:1fr; }
}
@media (max-width: 620px){
  .tcdir .topbar .wrap { justify-content:center; }
  .tcdir .topbar-links { display:none; }
  .tcdir .browse-grid, .tcdir .listing-grid, .tcdir .news-grid, .tcdir .pricing-grid { grid-template-columns:1fr; }
  .tcdir section.block { padding:56px 0; }
  .tcdir .nl-form { flex-direction:column; }
  .tcdir .nl-form .btn { padding:14px 0; }
  .tcdir .footer-grid { grid-template-columns:1fr; gap:28px; }
}

/* ---------- Pages interieures ---------- */
.tcdir .page-hero { background:
  linear-gradient(160deg, rgba(0,22,33,.90) 0%, rgba(0,48,71,.84) 60%, rgba(6,58,84,.78) 100%),
  url('https://natranslationalliance.org/wp-content/uploads/2026/07/test.jpg') center/cover no-repeat,
  var(--navy-deep);
  color:#fff; }
.tcdir .page-hero .wrap { padding-top:56px; padding-bottom:48px; }
.tcdir .breadcrumb { font-size:13px; color:#9FB4C6; margin-bottom:14px; }
.tcdir .breadcrumb a { color:#C9D8E4; font-weight:600; }
.tcdir .breadcrumb a:hover { color:var(--teal-bright); }
.tcdir .breadcrumb span.sep { margin:0 8px; color:#5E7A8C; }
.tcdir .page-hero h1 { font-family:'Merriweather Sans', 'Public Sans', Verdana, sans-serif; font-size:clamp(28px,3.4vw,42px); font-weight:700; letter-spacing:-.01em; margin-bottom:10px; }
.tcdir .page-hero p.sub { color:#C3D2E0; font-size:16.5px; max-width:860px; margin-bottom:28px; }
.tcdir .page-hero .search-panel { margin-bottom:4px; }

/* Layout annuaire */
.tcdir .dir-layout { display:grid; grid-template-columns:280px 1fr; gap:36px; padding:56px 0 72px; align-items:start; }
.tcdir .filters { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:6px 22px 10px; position:sticky; top:20px; }
.tcdir .filters-head { display:flex; align-items:center; justify-content:space-between; padding:16px 0 4px; }
.tcdir .filters-head h3 { font-size:16px; color:var(--navy); font-weight:800; }
.tcdir .filters-head a { font-size:13px; color:var(--teal); font-weight:700; }
.tcdir .filter-group { border-top:1px solid var(--mist); padding:16px 0; }
.tcdir .filter-group:first-of-type { border-top:0; }
.tcdir .filter-group h4 { font-size:12.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--navy); margin-bottom:12px; }
.tcdir .check { display:flex; align-items:center; gap:10px; padding:5px 0; font-size:14.5px; color:var(--ink); cursor:pointer; }
.tcdir .check input { accent-color:var(--teal); width:16px; height:16px; flex:0 0 auto; cursor:pointer; }
.tcdir .check .cnt { margin-left:auto; font-size:12px; color:var(--slate); background:var(--mist); border-radius:999px; padding:1px 8px; }
.tcdir .filter-search { display:flex; align-items:center; gap:8px; background:var(--mist); border-radius:8px; padding:8px 12px; margin-bottom:10px; }
.tcdir .filter-search svg { width:15px; height:15px; stroke:var(--slate); flex:0 0 auto; }
.tcdir .filter-search input { border:0; background:none; outline:none; font:inherit; font-size:13.5px; width:100%; }
.tcdir .filter-more { font-size:13px; color:var(--teal); font-weight:700; display:inline-block; margin-top:6px; }

/* Resultats */
.tcdir .results-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; flex-wrap:wrap; }
.tcdir .results-head .count { font-size:15px; color:var(--slate); }
.tcdir .results-head .count b { color:var(--navy); font-weight:800; }
.tcdir .sort { display:flex; align-items:center; gap:10px; font-size:14px; color:var(--slate); }
.tcdir .sort select { font:inherit; font-size:14px; color:var(--navy); font-weight:600; border:1px solid var(--line); border-radius:8px; padding:8px 12px; background:var(--white); cursor:pointer; }
.tcdir .result-card { display:grid; grid-template-columns:72px 1fr auto; gap:20px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:22px 24px; margin-bottom:16px; transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease; align-items:start; }
.tcdir .result-card:hover { box-shadow:var(--shadow); transform:translateY(-2px); border-color:#C7D3DC; }
.tcdir .result-logo { width:72px; height:72px; border-radius:12px; border:1px solid var(--line); overflow:hidden; background:var(--white); }
.tcdir .result-logo img { width:100%; height:100%; object-fit:cover; font-size:9px; color:var(--slate); }
.tcdir .result-main h3 { font-size:18.5px; color:var(--navy); font-weight:700; display:inline; }
.tcdir .result-main h3 a:hover { color:var(--teal); }
.tcdir .badge-inline { display:inline-flex; align-items:center; gap:5px; background:var(--teal-pale); color:var(--teal); font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; border-radius:999px; padding:3px 10px; margin-left:10px; vertical-align:3px; }
.tcdir .badge-inline svg { width:11px; height:11px; stroke:var(--teal); }
.tcdir .result-loc { display:flex; align-items:center; gap:6px; color:var(--slate); font-size:13.5px; margin:5px 0 8px; }
.tcdir .result-loc svg { width:14px; height:14px; stroke:var(--slate); flex:0 0 auto; }
.tcdir .result-main p { font-size:14.5px; color:var(--slate); margin-bottom:10px; }
.tcdir .result-side { display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
.tcdir .result-side .since { font-size:12.5px; color:var(--slate); font-weight:600; white-space:nowrap; }
.tcdir .btn-outline { background:var(--white); color:var(--navy); border:1.5px solid var(--line); padding:10px 18px; font-size:14px; border-radius:10px; }
.tcdir .btn-outline:hover { border-color:var(--teal); color:var(--teal); }

/* Pagination */
.tcdir .pagination { display:flex; justify-content:center; gap:8px; margin-top:34px; }
.tcdir .pagination a { min-width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:10px; font-weight:700; font-size:14.5px; color:var(--navy); background:var(--white); padding:0 12px; }
.tcdir .pagination a:hover { border-color:var(--teal); color:var(--teal); }
.tcdir .pagination a.current { background:var(--teal); border-color:var(--teal); color:#fff; }

/* Bande CTA */
.tcdir .cta-band { background:linear-gradient(140deg, #001621 0%, var(--navy) 75%); color:#fff; }
.tcdir .cta-band .wrap { display:flex; align-items:center; justify-content:space-between; gap:28px; padding-top:48px; padding-bottom:48px; flex-wrap:wrap; }
.tcdir .cta-band h2 { color:#fff; font-size:clamp(22px,2.4vw,30px); }
.tcdir .cta-band p { color:#B9C9DA; margin-top:8px; max-width:560px; }

/* Fiche agence */
.tcdir .profile-hero { background:
  linear-gradient(160deg, rgba(0,22,33,.92) 0%, rgba(0,48,71,.86) 60%, rgba(6,58,84,.80) 100%),
  url('https://natranslationalliance.org/wp-content/uploads/2026/07/test.jpg') center/cover no-repeat, var(--navy-deep);
  color:#fff; }
.tcdir .profile-hero .wrap { padding-top:52px; padding-bottom:44px; }
.tcdir .profile-head { display:grid; grid-template-columns:104px 1fr auto; gap:26px; align-items:center; margin-top:8px; }
.tcdir .profile-logo { width:104px; height:104px; border-radius:18px; overflow:hidden; background:var(--white); border:1px solid rgba(255,255,255,.35); box-shadow:0 14px 34px rgba(0,0,0,.3); }
.tcdir .profile-logo img { width:100%; height:100%; object-fit:cover; font-size:10px; color:var(--slate); }
.tcdir .profile-id h1 { font-family:'Merriweather Sans', 'Public Sans', Verdana, sans-serif; font-size:clamp(26px,3vw,38px); font-weight:700; letter-spacing:-.01em; display:inline; margin-right:12px; }
.tcdir .profile-id .badge-inline { background:rgba(255,255,255,.12); color:#fff; vertical-align:6px; }
.tcdir .profile-id .badge-inline svg { stroke:#fff; }
.tcdir .profile-meta { display:flex; flex-wrap:wrap; gap:6px 22px; margin-top:10px; color:#C3D2E0; font-size:14.5px; }
.tcdir .profile-meta span { display:inline-flex; align-items:center; gap:7px; }
.tcdir .profile-meta svg { width:15px; height:15px; stroke:#8FB0C6; flex:0 0 auto; }
.tcdir .profile-actions { display:flex; flex-direction:column; gap:10px; }
.tcdir .profile-layout { display:grid; grid-template-columns:1fr 340px; gap:36px; padding:52px 0 72px; align-items:start; }
.tcdir .panel { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:30px 32px; margin-bottom:24px; }
.tcdir .panel h2 { font-size:21px; margin-bottom:16px; }
.tcdir .panel p { color:var(--slate); font-size:15px; margin-bottom:14px; }
.tcdir .panel p:last-child { margin-bottom:0; }
.tcdir .spec-grid { display:flex; flex-wrap:wrap; gap:10px; }
.tcdir .spec-grid .tag { font-size:13.5px; padding:7px 16px; }
.tcdir .lang-cols { display:grid; grid-template-columns:repeat(3,1fr); gap:6px 20px; }
.tcdir .lang-cols span { font-size:14.5px; color:var(--ink); padding:5px 0; border-bottom:1px dashed var(--mist); }
.tcdir .cred-row { display:flex; gap:14px; align-items:flex-start; padding:12px 0; border-bottom:1px solid var(--mist); }
.tcdir .cred-row:last-child { border-bottom:0; }
.tcdir .cred-ico { width:40px; height:40px; border-radius:10px; background:var(--teal-pale); display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.tcdir .cred-ico svg { width:20px; height:20px; stroke:var(--teal); }
.tcdir .cred-row b { display:block; font-size:15px; color:var(--navy); }
.tcdir .cred-row span { font-size:13.5px; color:var(--slate); }
.tcdir .side-card { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:26px 28px; margin-bottom:22px; }
.tcdir .side-card h3 { font-size:16px; color:var(--navy); font-weight:800; margin-bottom:16px; }
.tcdir .contact-row { display:flex; gap:12px; align-items:flex-start; padding:9px 0; font-size:14.5px; color:var(--ink); }
.tcdir .contact-row svg { width:17px; height:17px; stroke:var(--teal); flex:0 0 auto; margin-top:2px; }
.tcdir .contact-row a { color:var(--teal); font-weight:600; }
.tcdir .facts dt { font-size:12px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--slate); margin-top:14px; }
.tcdir .facts dd { font-size:14.5px; color:var(--ink); margin-top:2px; }
.tcdir .facts dt:first-child { margin-top:0; }
.tcdir .member-box { background:linear-gradient(150deg, var(--navy) 0%, var(--navy-soft) 100%); color:#fff; border-radius:var(--radius); padding:26px 28px; text-align:center; }
.tcdir .member-box .shield { width:58px; height:58px; margin:0 auto 12px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; }
.tcdir .member-box .shield svg { width:30px; height:30px; stroke:var(--teal-bright); }
.tcdir .member-box b { display:block; font-size:16px; margin-bottom:4px; }
.tcdir .member-box span { font-size:13px; color:#B9C9DA; }

@media (max-width: 1080px){
  .tcdir .dir-layout { grid-template-columns:1fr; }
  .tcdir .filters { position:static; }
  .tcdir .profile-layout { grid-template-columns:1fr; }
  .tcdir .lang-cols { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 620px){
  .tcdir .result-card { grid-template-columns:56px 1fr; }
  .tcdir .result-logo { width:56px; height:56px; }
  .tcdir .result-side { grid-column:1 / -1; flex-direction:row; align-items:center; justify-content:space-between; }
  .tcdir .profile-head { grid-template-columns:72px 1fr; }
  .tcdir .profile-logo { width:72px; height:72px; }
  .tcdir .profile-actions { grid-column:1 / -1; flex-direction:row; }
  .tcdir .lang-cols { grid-template-columns:1fr; }
}

/* ---------- Press Room / articles ---------- */
.tcdir .cat-chips { display:flex; flex-wrap:wrap; gap:10px; }
.tcdir .cat-chips a { background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.16); color:#E3EDF5; border-radius:999px; padding:8px 18px; font-weight:700; font-size:13.5px; }
.tcdir .cat-chips a:hover { background:var(--teal); border-color:var(--teal); color:#fff; }
.tcdir .cat-chips a.on { background:var(--teal); border-color:var(--teal); color:#fff; }

.tcdir .featured-news { display:grid; grid-template-columns:1fr 1fr; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; margin-bottom:40px; transition:box-shadow .2s ease; }
.tcdir .featured-news:hover { box-shadow:var(--shadow); }
.tcdir .featured-media { min-height:320px; background:linear-gradient(140deg, rgba(13,71,99,.75), rgba(0,29,44,.88)), url('https://natranslationalliance.org/wp-content/uploads/2026/07/news-1.jpg') center/cover no-repeat; }
.tcdir .featured-body { padding:38px 42px; display:flex; flex-direction:column; justify-content:center; }
.tcdir .featured-body h2 { font-size:clamp(22px,2.2vw,30px); line-height:1.25; margin:12px 0 14px; }
.tcdir .featured-body h2 a:hover { color:var(--teal); }
.tcdir .featured-body p { color:var(--slate); font-size:15.5px; margin-bottom:20px; }

.tcdir .byline { display:flex; align-items:center; gap:12px; }
.tcdir .byline .b-logo { width:38px; height:38px; border-radius:9px; border:1px solid var(--line); overflow:hidden; flex:0 0 auto; background:var(--white); }
.tcdir .byline .b-logo img { width:100%; height:100%; object-fit:cover; font-size:8px; color:var(--slate); }
.tcdir .byline b { display:block; font-size:14px; color:var(--navy); line-height:1.25; }
.tcdir .byline span { font-size:12.5px; color:var(--slate); }

/* Article single */
.tcdir .article-hero { background:linear-gradient(160deg, rgba(0,22,33,.92) 0%, rgba(0,48,71,.86) 60%, rgba(6,58,84,.80) 100%),
  url('https://natranslationalliance.org/wp-content/uploads/2026/07/test.jpg') center/cover no-repeat, var(--navy-deep); color:#fff; }
.tcdir .article-hero .wrap { padding-top:56px; padding-bottom:52px; max-width:980px; }
.tcdir .cat-pill { display:inline-block; background:var(--teal); color:#fff; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; border-radius:999px; padding:6px 16px; margin-bottom:18px; }
.tcdir .article-hero h1 { font-family:'Merriweather Sans', 'Public Sans', Verdana, sans-serif; font-size:clamp(28px,3.2vw,42px); line-height:1.2; font-weight:700; letter-spacing:-.01em; margin-bottom:22px; }
.tcdir .article-hero .byline b { color:#fff; }
.tcdir .article-hero .byline span { color:#A9BCCC; }
.tcdir .article-hero .byline .b-logo { border-color:rgba(255,255,255,.3); }

.tcdir .article-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:44px; padding:56px 0 72px; align-items:start; max-width:1200px; }
.tcdir .article-media { border-radius:var(--radius); overflow:hidden; margin-bottom:34px; height:380px;
  background:linear-gradient(140deg, rgba(13,71,99,.6), rgba(0,29,44,.8)), url('https://natranslationalliance.org/wp-content/uploads/2026/07/news-1.jpg') center/cover no-repeat; }
.tcdir .article-body { font-size:16.5px; color:#2B3A46; }
.tcdir .article-body p { margin-bottom:20px; line-height:1.75; }
.tcdir .article-body h2 { font-size:24px; margin:34px 0 14px; }
.tcdir .article-body blockquote { border-left:4px solid var(--teal); background:var(--white); border-radius:0 var(--radius) var(--radius) 0; padding:22px 28px; margin:28px 0; font-size:18px; line-height:1.6; color:var(--navy); font-weight:600; }
.tcdir .article-body blockquote footer { font-size:13.5px; color:var(--slate); font-weight:600; margin-top:10px; }
.tcdir .about-box { background:var(--white); border:1px solid var(--line); border-left:4px solid var(--teal); border-radius:var(--radius); padding:26px 30px; margin-top:36px; }
.tcdir .about-box h3 { font-size:15px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--navy); margin-bottom:10px; }
.tcdir .about-box p { font-size:14.5px; color:var(--slate); margin-bottom:12px; line-height:1.65; }
.tcdir .article-meta-row { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:26px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.tcdir .share { display:flex; gap:10px; }
.tcdir .share a { width:40px; height:40px; border-radius:10px; border:1px solid var(--line); background:var(--white); display:inline-flex; align-items:center; justify-content:center; }
.tcdir .share a svg { width:18px; height:18px; stroke:var(--navy); }
.tcdir .share a:hover { border-color:var(--teal); }
.tcdir .share a:hover svg { stroke:var(--teal); }

@media (max-width: 1080px){
  .tcdir .featured-news { grid-template-columns:1fr; }
  .tcdir .featured-media { min-height:220px; }
  .tcdir .article-layout { grid-template-columns:1fr; }
}

/* Hubs editoriaux (Press Room / Insights) */
.tcdir .hub-section { margin-top:64px; }
.tcdir .hub-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:22px; border-bottom:2px solid var(--line); padding-bottom:12px; }
.tcdir .hub-head h2 { font-size:24px; margin:0; }
.tcdir .hub-head .link-arrow { white-space:nowrap; }
.tcdir .hub-desc { color:var(--slate); font-size:14.5px; margin:-12px 0 20px; max-width:760px; }
.tcdir a.cat-pill:hover { background:var(--amber-deep); color:#fff; }

/* Un .tcdir imbrique (sortie de shortcode) ne repeint pas le fond */
.tcdir .tcdir { background:transparent; }
/* Neutralise les enrobages Divi autour de nos templates pleine page */
.nata-template #main-content .container:before { display:none; }

/* ============================================================
   PRICING & MARKETING PAGES — steps + FAQ
   (utilise par /pricing/ et /list-your-company/)
   ============================================================ */
.tcdir .steps-row { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.tcdir .step-card { text-align:center; padding:10px 18px; }
.tcdir .step-num { width:54px; height:54px; border-radius:50%; background:var(--teal-pale); color:var(--teal); font-weight:800; font-size:21px; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.tcdir .step-card h3 { font-size:17px; color:var(--navy); font-weight:700; margin-bottom:8px; }
.tcdir .step-card p { font-size:14.5px; color:var(--slate); }
.tcdir .faq { max-width:860px; margin:0 auto; }
.tcdir .faq details { background:var(--white); border:1px solid var(--line); border-radius:12px; margin-bottom:12px; padding:0; overflow:hidden; }
.tcdir .faq summary { cursor:pointer; list-style:none; padding:19px 24px; font-weight:700; font-size:16px; color:var(--navy); display:flex; justify-content:space-between; align-items:center; gap:14px; }
.tcdir .faq summary::-webkit-details-marker { display:none; }
.tcdir .faq summary::after { content:"+"; font-size:22px; color:var(--teal); font-weight:600; flex:0 0 auto; }
.tcdir .faq details[open] summary::after { content:"\2212"; }
.tcdir .faq .faq-a { padding:0 24px 20px; color:var(--slate); font-size:15px; }
@media (max-width:900px){ .tcdir .steps-row { grid-template-columns:1fr; } }

/* ============================================================
   LIST YOUR COMPANY — page de vente + formulaire de candidature
   ============================================================ */
.tcdir .apply-benefits { display:grid; grid-template-columns:1fr 1fr; gap:0 56px; max-width:1040px; margin:0 auto; }
.tcdir .apply-band { background:linear-gradient(140deg, #001621 0%, var(--navy) 75%); }
.tcdir .apply-band .wrap { display:grid; grid-template-columns:1fr 460px; gap:56px; align-items:center; padding-top:72px; padding-bottom:72px; }
.tcdir .apply-band .kicker { color:var(--teal-bright); }
.tcdir .apply-band h2 { color:#fff; font-size:clamp(24px,2.6vw,34px); margin-bottom:14px; }
.tcdir .apply-band p { color:#B9C9DA; font-size:15.5px; margin-bottom:24px; max-width:520px; }
.tcdir .apply-points { list-style:none; margin:0; padding:0; }
.tcdir .apply-points li { color:#DCE7F1; font-size:14.5px; padding:8px 0 8px 30px; position:relative; }
.tcdir .apply-points li::before { content:""; position:absolute; left:0; top:11px; width:18px; height:18px; border-radius:50%; background:rgba(255,255,255,.14) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23E8395C" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 13l4 4L19 7"/></svg>') center/11px no-repeat; }
.tcdir .apply-card { background:var(--white); border-radius:var(--radius); padding:36px 32px; box-shadow:0 20px 46px rgba(0,0,0,.3); }
.tcdir .apply-card h3 { font-size:19px; color:var(--navy); margin-bottom:6px; }
.tcdir .apply-card .apply-sub { color:var(--slate); font-size:14px; margin-bottom:20px; }
.tcdir .apply-form .frow { display:block; margin-bottom:16px; }
.tcdir .apply-form label { display:block; font-size:12.5px; font-weight:700; color:var(--navy); text-transform:uppercase; letter-spacing:.05em; margin-bottom:6px; }
.tcdir .apply-form input[type="text"], .tcdir .apply-form input[type="url"], .tcdir .apply-form input[type="email"] { width:100%; border:1px solid var(--line); border-radius:10px; padding:13px 15px; font:inherit; font-size:15px; color:var(--ink); background:#fff; }
.tcdir .apply-form input:focus { outline:none; border-color:var(--teal); box-shadow:0 0 0 3px var(--teal-pale); }
.tcdir .apply-form button { width:100%; margin-top:6px; padding:15px 0; font-size:15.5px; }
.tcdir .apply-form .form-note { font-size:12.5px; color:var(--slate); margin-top:14px; text-align:center; }
.tcdir .apply-form .form-note a { color:var(--teal); font-weight:600; }
.tcdir .apply-form .hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.tcdir .apply-alert { display:none; background:#FDECEA; border:1px solid #F5C6C0; color:#8A1C13; border-radius:10px; padding:12px 14px; font-size:14px; margin-bottom:16px; }
@media (max-width:1000px){ .tcdir .apply-band .wrap { grid-template-columns:1fr; } .tcdir .apply-band p { max-width:none; } }
@media (max-width:760px){ .tcdir .apply-benefits { grid-template-columns:1fr; } }

/* ============================================================
   SKIN DIRECTORIST — ecrans natifs du plugin (choix du plan,
   formulaire de soumission, checkout, dashboard, login).
   Directorist pilote ses couleurs par variables CSS : on les
   redefinit sur body pour imposer la charte NATA partout.
   ============================================================ */
body {
  --directorist-color-primary: #C60C30;
  --directorist-color-primary-rgb: 198, 12, 48;
  --directorist-color-dark: #003047;
  --directorist-color-dark-rgb: 0, 48, 71;
  --directorist-color-body: #51626D;
  --directorist-color-border: #DCE4EA;
  --directorist-color-border-gray: #DCE4EA;
  --directorist-color-border-light: #E8EEF3;
  --directorist-color-bg-light: #EEF3F6;
  --directorist-color-ss-bg-light: #F7F9FB;
  --directorist-box-shadow: 0 10px 30px rgba(0, 48, 71, .10);
}

/* Titres des ecrans Directorist dans la typo du site. */
div[class^="directorist-"] :is(h1, h2, h3, h4),
.multistep-wizard :is(h1, h2, h3, h4) {
  font-family: 'Merriweather Sans', 'Public Sans', Verdana, sans-serif;
  color: #003047;
}

/* Boutons principaux. */
.directorist-btn-primary,
.directorist-form-submit__btn,
.multistep-wizard__btn--save-preview {
  background: #C60C30 !important;
  border-color: #C60C30 !important;
  color: #fff !important;
}
.directorist-btn-primary:hover,
.directorist-form-submit__btn:hover,
.multistep-wizard__btn--save-preview:hover {
  background: #A00926 !important;
  border-color: #A00926 !important;
  color: #fff !important;
}

/* Boutons secondaires (ex. Continue du choix de plan) : contour navy. */
.directorist-btn:not(.directorist-btn-primary):not(.directorist-btn--add-listing):not(.directorist-btn--logout) {
  border-color: #003047;
  color: #003047;
}
.directorist-btn:not(.directorist-btn-primary):not(.directorist-btn--add-listing):not(.directorist-btn--logout):hover {
  background: #003047;
  color: #fff;
  border-color: #003047;
}

/* Champs de formulaire : focus aux couleurs du site. */
div[class^="directorist-"] input:focus,
div[class^="directorist-"] textarea:focus,
div[class^="directorist-"] select:focus {
  border-color: #C60C30 !important;
  box-shadow: 0 0 0 3px #F7E7EB !important;
  outline: none;
}

/* Page Contact : select du formulaire + banniere de succes. */
.tcdir .apply-form select { width:100%; border:1px solid var(--line); border-radius:10px; padding:13px 15px; font:inherit; font-size:15px; color:var(--ink); background:#fff; cursor:pointer; }
.tcdir .apply-form select:focus { outline:none; border-color:var(--teal); box-shadow:0 0 0 3px var(--teal-pale); }
.tcdir .apply-form textarea { width:100%; border:1px solid var(--line); border-radius:10px; padding:13px 15px; font:inherit; font-size:15px; color:var(--ink); background:#fff; min-height:150px; resize:vertical; }
.tcdir .apply-form textarea:focus { outline:none; border-color:var(--teal); box-shadow:0 0 0 3px var(--teal-pale); }
.tcdir .apply-ok { display:none; background:#E7F5EC; border:1px solid #BFE3CC; color:#14532D; border-radius:10px; padding:12px 14px; font-size:14px; margin-bottom:16px; }
.tcdir .frow2, .tcdir .apply-form .frow.frow2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:560px){ .tcdir .frow2, .tcdir .apply-form .frow.frow2 { grid-template-columns:1fr; } }

/* Page Submit a Press Release. */
.tcdir .pr-benefits { display:grid; grid-template-columns:1fr 1fr; gap:0 56px; max-width:1040px; margin:0 auto; }
.tcdir .pr-grid { display:grid; grid-template-columns:1fr 380px; gap:40px; align-items:start; }
.tcdir .pr-side { position:sticky; top:24px; display:flex; flex-direction:column; gap:20px; }
.tcdir .pr-price { border-bottom:1px solid var(--line); padding-bottom:12px; margin-bottom:12px; }
.tcdir .pr-price b { font-family:'Merriweather Sans', 'Public Sans', Verdana, sans-serif; font-size:30px; color:var(--navy); margin-right:6px; }
.tcdir .pr-price span { font-size:13.5px; color:var(--slate); font-weight:600; }
.tcdir .pr-included { list-style:none; margin:0; padding:0; }
.tcdir .pr-included li { padding:7px 0 7px 30px; position:relative; font-size:14px; color:#3A4A56; border-bottom:1px dashed var(--line); }
.tcdir .pr-included li:last-child { border-bottom:0; }
.tcdir .pr-included li::before { content:""; position:absolute; left:0; top:10px; width:18px; height:18px; border-radius:50%; background:var(--teal-pale) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23C60C30" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 13l4 4L19 7"/></svg>') center/11px no-repeat; }
.tcdir .apply-form input[type="date"] { width:100%; border:1px solid var(--line); border-radius:10px; padding:12px 15px; font:inherit; font-size:15px; color:var(--ink); background:#fff; }
.tcdir .apply-form input[type="date"]:focus { outline:none; border-color:var(--teal); box-shadow:0 0 0 3px var(--teal-pale); }
.tcdir .apply-form input[type="file"] { width:100%; border:1px dashed var(--line); border-radius:10px; padding:12px 15px; font:inherit; font-size:14px; color:var(--slate); background:var(--mist); cursor:pointer; }
.tcdir .apply-form .field-hint { display:block; font-size:12.5px; color:var(--slate); margin-top:6px; }
.tcdir .apply-form .wp-editor-wrap { border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#fff; }
.tcdir .apply-form .wp-editor-wrap.html-active .wp-editor-area, .tcdir .apply-form .wp-editor-area { border:0; width:100%; font:inherit; font-size:15px; padding:12px 15px; }
.tcdir .apply-form .wp-editor-tools { background:var(--mist); }
.tcdir .pr-grid .apply-card h3 { font-size:20px; }
@media (max-width:1000px){ .tcdir .pr-grid { grid-template-columns:1fr; } .tcdir .pr-side { position:static; } .tcdir .pr-benefits { grid-template-columns:1fr; } }

/* ============================================================
   TOPBAR — etat connecte / deconnecte (classes du header global).
   WordPress ajoute .logged-in sur body quand l'utilisateur est
   connecte : on bascule Member sign in <-> My Dashboard.
   ============================================================ */
.tcdir .topbar-links .tb-account { display:none; }
body.logged-in .tcdir .topbar-links .tb-account { display:inline-block; }
body.logged-in .tcdir .topbar-links .tb-signin { display:none; }

/* ============================================================
   SKIN DIRECTORIST — dashboard membre (correctifs cibles).
   ============================================================ */
/* Titre du dashboard : lisible sur fond clair. */
.directorist-user-dashboard h1,
.directorist-user-dashboard h2,
.directorist-user-dashboard h3 { color: #003047 !important; }

/* Menu lateral : pas de puces de liste (heritees de Divi). */
.directorist-user-dashboard ul,
.directorist-user-dashboard li,
.directorist-tab__nav__items,
.directorist-tab__nav__item { list-style: none !important; }
.directorist-tab__nav__items { margin: 0 !important; padding-left: 0 !important; }
.directorist-tab__nav__item::marker { content: ""; }

/* Bouton Submit Listing : crimson NATA, texte blanc, hover plus fonce. */
.directorist-btn--add-listing,
.directorist-btn.directorist-btn--add-listing {
  background: #C60C30 !important;
  border-color: #C60C30 !important;
  color: #fff !important;
}
.directorist-btn--add-listing:hover,
.directorist-btn.directorist-btn--add-listing:hover {
  background: #A00926 !important;
  border-color: #A00926 !important;
  color: #fff !important;
}

/* Bouton Sign Out : sobre, contour navy. */
.directorist-btn--logout,
.directorist-btn.directorist-btn--logout {
  background: transparent !important;
  border-color: #DCE4EA !important;
  color: #003047 !important;
}
.directorist-btn--logout:hover,
.directorist-btn.directorist-btn--logout:hover {
  background: #003047 !important;
  border-color: #003047 !important;
  color: #fff !important;
}

/* Etat connecte / deconnecte, version generique (footer global). */
.tcdir .nata-account { display:none; }
body.logged-in .tcdir .nata-account { display:block; }
body.logged-in .tcdir .nata-signin { display:none; }

/* ============================================================
   SKIN DIRECTORIST — dashboard, seconde passe.
   ============================================================ */
/* Le titre du plugin est masque : le hero NATA (ajoute par le theme)
   porte le titre de la page. */
.directorist-user-dashboard > h2 { display:none; }

/* Respiration et fond du bloc dashboard. */
.directorist-user-dashboard { padding: 44px 0 80px; }

/* Boutons de validation (Save Changes, etc.) : crimson NATA. */
.directorist-user-dashboard button.directorist-btn,
.directorist-user-dashboard button[type="submit"],
.directorist-user-dashboard input[type="submit"] {
  background: #C60C30 !important;
  border-color: #C60C30 !important;
  color: #fff !important;
}
.directorist-user-dashboard button.directorist-btn:hover,
.directorist-user-dashboard button[type="submit"]:hover,
.directorist-user-dashboard input[type="submit"]:hover {
  background: #A00926 !important;
  border-color: #A00926 !important;
  color: #fff !important;
}

/* Bandeau du dashboard : pleine largeur malgre le conteneur Divi. */
.tcdir.nata-dash-hero { width:100vw; margin-left:calc(50% - 50vw); }

/* ============================================================
   PAGES HUB — Locations, Languages, Specializations.
   ============================================================ */
.tcdir .txhub-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.tcdir .txhub-grid--wide { flex:1; }
.tcdir .txhub-card { display:flex; align-items:center; justify-content:space-between; gap:10px; background:var(--white); border:1px solid var(--line); border-radius:12px; padding:14px 18px; font-weight:600; font-size:15px; color:var(--navy); transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.tcdir .txhub-card:hover { border-color:var(--teal); box-shadow:var(--shadow); transform:translateY(-1px); color:var(--teal); }
.tcdir .txhub-count { background:var(--teal-pale); color:var(--teal); font-size:12.5px; font-weight:800; border-radius:999px; padding:2px 10px; flex:0 0 auto; }
.tcdir .txhub-chips { display:flex; flex-wrap:wrap; gap:10px 12px; justify-content:center; max-width:1040px; margin:0 auto; }
.tcdir .txhub-chip { background:var(--white); border:1px solid var(--line); border-radius:999px; padding:8px 16px; font-size:14px; font-weight:600; color:var(--navy); transition:border-color .15s ease, color .15s ease; }
.tcdir .txhub-chip:hover { border-color:var(--teal); color:var(--teal); }
.tcdir .txhub-chip b { color:var(--teal); font-weight:800; margin-left:4px; }
.tcdir .txhub-az { display:flex; gap:26px; align-items:flex-start; padding:22px 0; border-bottom:1px solid var(--line); }
.tcdir .txhub-az:last-child { border-bottom:0; }
.tcdir .txhub-letter { width:46px; height:46px; flex:0 0 auto; border-radius:12px; background:var(--navy); color:#fff; font-family:'Merriweather Sans', 'Public Sans', Verdana, sans-serif; font-weight:800; font-size:19px; display:flex; align-items:center; justify-content:center; }
.tcdir .txhub-specs { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.tcdir .txhub-spec { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:28px 26px; display:flex; flex-direction:column; transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.tcdir .txhub-spec:hover { border-color:var(--teal); box-shadow:var(--shadow); transform:translateY(-2px); }
.tcdir .txhub-spec h3 { font-size:18px; color:var(--navy); font-weight:700; margin-bottom:8px; }
.tcdir .txhub-spec p { font-size:14.5px; color:var(--slate); line-height:1.65; margin-bottom:16px; flex:1; }
@media (max-width:1000px){ .tcdir .txhub-grid { grid-template-columns:repeat(2,1fr); } .tcdir .txhub-specs { grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .tcdir .txhub-grid { grid-template-columns:1fr; } .tcdir .txhub-specs { grid-template-columns:1fr; } .tcdir .txhub-az { flex-direction:column; gap:14px; } }

/* ============================================================
   SKIN DIRECTORIST — Sign In / Sign Up (page /sign-in/).
   Les deux formulaires (connexion et creation de compte)
   deviennent des cartes NATA sous le hero injecte par le theme.
   ============================================================ */
.directorist-authentication { padding: 38px 0 70px; }
.directorist-authentication__form {
  background:#fff; border:1px solid #DCE4EA; border-radius:14px;
  box-shadow:0 10px 30px rgba(0,48,71,.10);
  padding:32px 30px; max-width:560px; margin:0 auto 26px;
}
.directorist-authentication__form label {
  color:#003047; font-weight:600; font-size:14.5px;
}
.directorist-authentication__form input[type="text"],
.directorist-authentication__form input[type="email"],
.directorist-authentication__form input[type="password"],
.directorist-authentication .directorist-form-element {
  border-radius:10px !important;
}
/* Boutons Sign In / Sign Up : crimson NATA pleine largeur. */
.directorist-authentication__form .directorist-btn,
.directorist-authentication__form button[type="submit"],
.directorist-btn.directorist-btn-block {
  background:#C60C30 !important; border-color:#C60C30 !important; color:#fff !important;
}
.directorist-authentication__form .directorist-btn:hover,
.directorist-authentication__form button[type="submit"]:hover,
.directorist-btn.directorist-btn-block:hover {
  background:#A00926 !important; border-color:#A00926 !important; color:#fff !important;
}
/* Liens (Recover Password, Privacy, Terms...) : teal NATA.
   Le !important neutralise aussi le style rouge en ligne que le
   plugin pose sur les liens Privacy et Terms du formulaire Sign Up. */
.directorist-authentication a,
.directorist-authentication__form a,
.atbdp_recovery_pass {
  color:#0E6E8C !important; font-weight:600; text-decoration:none;
}
.directorist-authentication a:hover,
.directorist-authentication__form a:hover,
.atbdp_recovery_pass:hover { color:#003047 !important; text-decoration:underline; }
/* Cases a cocher (Remember Me, Privacy, Terms) : accent crimson. */
.directorist-authentication input[type="checkbox"] { accent-color:#C60C30; }
/* Pas de puces heritees de Divi dans les ecrans du plugin. */
.directorist-authentication ul,
.multistep-wizard ul { list-style:none !important; padding-left:0; }

/* ============================================================
   SKIN DIRECTORIST — formulaire Add Listing (assistant
   multi-etapes : navigation, barre de progression, boutons).
   ============================================================ */
.multistep-wizard { padding:38px 0 70px; }
/* Onglets d'etapes. */
.multistep-wizard__nav__btn {
  font-family:'Merriweather Sans', 'Public Sans', Verdana, sans-serif;
  font-weight:700; color:#51626D;
}
.multistep-wizard__nav__btn:hover { color:#003047; }
.multistep-wizard__nav__btn.active,
.multistep-wizard__nav__btn--active,
.multistep-wizard__nav__btn[aria-selected="true"] { color:#C60C30 !important; }
/* Barre de progression : piste claire, remplissage crimson. */
.multistep-wizard__nav__progressbar { background:#E8EEF3; border-radius:999px; }
.multistep-wizard__nav__progressbar__width,
.multistep-wizard__progressbar__width { background:#C60C30 !important; border-radius:999px; }
/* Boutons du bas de l'assistant. */
.multistep-wizard__btn--next,
.multistep-wizard__bottom .directorist-btn--next {
  background:#C60C30 !important; border-color:#C60C30 !important; color:#fff !important;
}
.multistep-wizard__btn--next:hover,
.multistep-wizard__bottom .directorist-btn--next:hover {
  background:#A00926 !important; border-color:#A00926 !important; color:#fff !important;
}
.multistep-wizard__btn--prev,
.multistep-wizard__btn--skip-preview,
.multistep-wizard__bottom .directorist-btn--prev {
  background:transparent !important; border:1px solid #DCE4EA !important; color:#003047 !important;
}
.multistep-wizard__btn--prev:hover,
.multistep-wizard__btn--skip-preview:hover,
.multistep-wizard__bottom .directorist-btn--prev:hover {
  background:#003047 !important; border-color:#003047 !important; color:#fff !important;
}
/* Cartes de sections et champs. */
.multistep-wizard .directorist-content-module {
  border:1px solid #DCE4EA; border-radius:14px;
  box-shadow:0 10px 30px rgba(0,48,71,.08);
}
.multistep-wizard .directorist-form-element { border-radius:10px !important; }
.multistep-wizard .directorist-form-element:focus {
  border-color:#C60C30 !important; box-shadow:0 0 0 3px #F7E7EB !important; outline:none;
}
.multistep-wizard .directorist-form-group label { color:#003047; font-weight:600; }

/* ============================================================
   SKIN DIRECTORIST — choix de la formule (/add-listing/?applied=1).
   La carte du plan Annual Membership aux couleurs NATA.
   ============================================================ */
.directorist-pricing {
  background:#fff; border:1px solid #DCE4EA; border-radius:14px;
  box-shadow:0 10px 30px rgba(0,48,71,.10);
  max-width:480px; margin:10px auto 70px; padding:34px 30px;
}
.directorist-pricing__title h4 {
  font-family:'Merriweather Sans', 'Public Sans', Verdana, sans-serif;
  color:#003047; font-size:22px;
}
/* Badge "Package" : pastille teal (ecrase le bleu en ligne du plugin). */
.directorist-pricing .atbd_plan-type {
  background:#E3F1F6 !important; color:#0E6E8C !important;
  border:0 !important; border-radius:999px; padding:3px 12px;
  font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
}
/* Prix. */
.directorist-pricing__price { color:#003047; }
.directorist-pricing__value {
  font-family:'Merriweather Sans', 'Public Sans', Verdana, sans-serif;
  color:#003047 !important; font-weight:800;
}
.directorist-pricing__description { color:#51626D; }
/* Liste des avantages : coches NATA au lieu des puces.
   L'icone de coche du plugin est masquee pour ne garder que la notre. */
.directorist-pricing__features li i,
.directorist-pricing__features li svg,
.directorist-pricing__features li img,
.directorist-pricing__features li .directorist-icon-mask { display:none !important; }
.directorist-pricing__features ul { list-style:none; margin:16px 0 0; padding:0; }
.directorist-pricing__features li {
  padding:7px 0 7px 30px; position:relative; font-size:14.5px; color:#3A4A56;
  border-bottom:1px dashed #DCE4EA;
}
.directorist-pricing__features li:last-child { border-bottom:0; }
.directorist-pricing__features li::before {
  content:""; position:absolute; left:0; top:10px; width:18px; height:18px; border-radius:50%;
  background:#E3F1F6 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23C60C30" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 13l4 4L19 7"/></svg>') center/11px no-repeat;
}
/* Bouton Continue : crimson plein (ecrase le style "lighter").
   Le texte du bouton est dans un enfant chez Directorist : on force
   aussi le blanc sur tous les descendants. */
.directorist-pricing__action--btn,
.directorist-pricing__action a,
.directorist-pricing__action button,
.directorist-pricing .directorist-btn-lighter,
.directorist-btn.directorist-btn-lighter.directorist-pricing__action--btn {
  background:#C60C30 !important; border-color:#C60C30 !important; color:#fff !important;
  width:100%; justify-content:center; text-align:center; font-weight:700;
}
.directorist-pricing__action--btn *,
.directorist-pricing__action a *,
.directorist-pricing__action button *,
.directorist-pricing .directorist-btn-lighter * { color:#fff !important; }
.directorist-pricing__action--btn:hover,
.directorist-pricing__action a:hover,
.directorist-pricing__action button:hover,
.directorist-pricing .directorist-btn-lighter:hover {
  background:#A00926 !important; border-color:#A00926 !important; color:#fff !important;
}

/* ============================================================
   ARTICLES — colonne laterale enrichie : bloc "More From ..."
   pose directement sur le fond de la page (pas de carte blanche),
   espace sous le CTA, et colonne collante sur grand ecran.
   ============================================================ */
.tcdir .side-more { margin-top:38px; padding-top:26px; border-top:1px solid var(--line); }
.tcdir .side-more h3 { font-size:16px; color:var(--navy); font-weight:800; margin-bottom:6px; }
.tcdir .side-news { display:flex; flex-direction:column; }
.tcdir .sn-item { display:flex; gap:12px; align-items:flex-start; padding:12px 0; border-bottom:1px solid var(--line); }
.tcdir .sn-item:last-child { border-bottom:0; padding-bottom:2px; }
.tcdir .sn-thumb { width:64px; height:52px; flex:0 0 auto; border-radius:8px; background-color:var(--mist); background-size:cover; background-position:center; }
.tcdir .sn-txt b { display:block; font-size:13.5px; font-weight:700; color:var(--navy); line-height:1.45; }
.tcdir .sn-item:hover .sn-txt b { color:var(--teal); }
.tcdir .sn-txt span { font-size:12px; color:var(--slate); font-weight:600; }
.tcdir .sn-all { margin-top:14px; display:inline-block; font-size:14px; }
@media (min-width:1081px){ .tcdir .article-layout aside { position:sticky; top:24px; } }

/* Bouton Continue du choix de formule : Directorist force le texte en
   couleur primaire avec !important et une specificite elevee ; on passe
   au-dessus (specificite superieure) et on neutralise aussi la variable
   utilisee par sa regle. */
.directorist-pricing .directorist-pricing__action .directorist-pricing__action--btn,
.directorist-pricing .directorist-pricing__action a.directorist-pricing__action--btn,
.directorist-pricing .directorist-pricing__action button.directorist-pricing__action--btn {
  --directorist-color-primary: #fff;
  color: #fff !important;
}

/* Formulaire Add Listing : la navigation des etapes suit le defilement
   par defaut ; on la laisse a sa place. */
.multistep-wizard__nav,
.multistep-wizard__nav__wrap,
.multistep-wizard .multistep-wizard__nav,
.directorist-add-listing-form .multistep-wizard__nav {
  position: static !important;
  top: auto !important;
}

/* Add Listing : quand la nav des etapes passe en mode colle, le JS de
   Directorist ajoute la classe .sticky sur .multistep-wizard__nav ET
   pousse .multistep-wizard__content avec un padding-inline-start calcule
   en pixels. La nav etant maintenue dans le flux (regles ci-dessus), ce
   padding retrecissait le formulaire : on l'annule des que l'etat sticky
   est actif, sans toucher a la mise en page normale. */
.multistep-wizard__nav.sticky {
  position: static !important;
  width: auto !important;
  max-width: none !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  box-shadow: none !important;
}
.multistep-wizard__nav.sticky ~ .multistep-wizard__content,
.multistep-wizard:has(.multistep-wizard__nav.sticky) .multistep-wizard__content {
  padding-inline-start: 0 !important;
}

/* Topbar masquee sur mobile : le sur-menu (baseline + liens compte)
   disparait entierement sous le seuil du menu mobile. */
@media (max-width: 900px){
  .tcdir .topbar { display:none; }
}

/* Filtres annuaire : le clic est gere par le lien entier, la case
   ne doit pas l'intercepter (elle etait cliquable mais inerte). */
.tcdir .filters .check input { pointer-events:none; }
.tcdir .filters .check { user-select:none; }
#nata-results { transition:opacity .15s ease; }
