/* Tracom Tools — lead gate additions (base modal styles come from the design system CSS) */
.trt .trt-gate .trt-fields{grid-template-columns:minmax(0,1fr)}
.trt .trt-gate .trt-field[hidden]{display:none!important}
.trt .trt-gate .trt-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.trt .trt-gate .trt-gate__consent a{text-decoration:underline;text-underline-offset:3px}
.trt .trt-gate .trt-btn{width:100%}
.trt .trt-gate input[type="tel"]{text-align:start}
/* 1.8.7: phone numbers stay left-aligned in Arabic (digits read left to right); the address follows the page.
   One column at every width: half-width fields left the role select alone on its row and invite skipped fields. */
.trt[dir="rtl"] .trt-gate input[type="email"]{text-align:right}
/* Keep theme / Elementor typography from leaking into the tool pages */
.trt-root{display:block;width:100%}
.trt-root .trt{max-width:none}
body.trt-page .entry-content > .trt-root,body.trt-page .page-content > .trt-root{margin:0}
.trt .trt-gate .trt-gate__hint{margin:4px 0 0;font-size:13px;color:var(--trt-muted)}
.trt .trt-gate .trt-gate__fix{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--trt-brand-ink);text-decoration:underline;cursor:pointer;direction:ltr;unicode-bidi:plaintext}
/* Block themes constrain post content: let the tool pages use the full width */
.is-layout-constrained > .trt-root,.wp-block-post-content > .trt-root,.entry-content > .trt-root{max-width:none!important;width:100%;margin-left:0!important;margin-right:0!important}
.trt .trt-gate .trt-gate__status{margin:0;font-size:13px;font-weight:600;color:var(--trt-bad)}
/* Language switch in the breadcrumb row */
.trt .trt-crumbs{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.trt .trt-langswitch{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--trt-brand-ink);border:1px solid var(--trt-line-strong);border-radius:999px;padding:4px 12px;text-decoration:none!important;background:#fff}
.trt .trt-langswitch:hover{border-color:var(--trt-brand)}
.trt .trt-langswitch svg{width:15px;height:15px}

/* goal finder on the hubs */
.trt .trt-finder{margin:0 0 22px;padding:18px 20px;border:1px solid var(--trt-line,#dae1e5);border-radius:12px;background:var(--trt-surface,#fff)}
.trt .trt-finder__q{margin:0 0 12px;font-weight:600}
.trt .trt-finder__goals{flex-wrap:wrap}
.trt .trt-finder__list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.trt .trt-finder__list a{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:var(--trt-tint,#f2f5f7);color:inherit;text-decoration:none;font-weight:500;min-height:44px}
.trt .trt-finder__list a:hover,.trt .trt-finder__list a:focus-visible{outline:2px solid var(--trt-accent,#0F7A3F);outline-offset:1px}
.trt .trt-finder__list a svg{margin-inline-start:auto;flex:none}
[dir=rtl] .trt .trt-finder__list a svg{transform:scaleX(-1)}
.trt .trt-finder__type{font-size:12px;padding:2px 8px;border-radius:999px;background:#fff;border:1px solid var(--trt-line,#dae1e5);flex:none}

/* 1.6 — email delivery, newsletter, "report ready" banner */
.trt .trt-gate .trt-gate__nl{display:flex;gap:8px;align-items:flex-start;margin:0;color:var(--trt-muted,#555a56)}
.trt .trt-gate label.trt-gate__nl input{margin-top:3px;flex:none;width:16px;height:16px;accent-color:var(--trt-brand,#40bd61)}
.trt .trt-gate .trt-gate__sent[hidden],.trt .trt-gate form[hidden]{display:none!important}
.trt .trt-gate .trt-gate__sent{display:grid;gap:14px}
.trt .trt-gate .trt-gate__mailicon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--trt-tint,#e1f3e7);color:var(--trt-brand-ink,#0F7A3F)}
.trt .trt-gate .trt-gate__sentmsg{margin:0;font-size:16px;line-height:1.7}
.trt .trt-gate .trt-gate__sentmsg b{direction:ltr;unicode-bidi:isolate}
.trt .trt-gate [data-sent-status]{color:var(--trt-brand-ink,#0F7A3F)}
.trt .trt-gate [data-sent-status].is-error{color:var(--trt-bad,#b42318)}
.trt .trt-gate .trt-gate__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.trt .trt-gate .trt-gate__actions .trt-btn{width:auto;flex:1 1 160px}
.trt .trt-gate .trt-linkbtn{background:none;border:0;padding:6px 0;font:inherit;font-weight:600;color:var(--trt-brand-ink,#0F7A3F);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.trt-ready{position:fixed;inset-inline:16px;bottom:16px;z-index:99999;max-width:520px;margin-inline:auto;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:14px 16px;border-radius:14px;background:#222021;color:#fff;box-shadow:0 18px 40px -18px rgba(0,0,0,.55);font-family:inherit}
.trt-ready p{margin:0;font-weight:600;font-size:15px;line-height:1.5}
.trt-ready button{border:0;border-radius:8px;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer;background:#40bd61;color:#222021}
.trt-ready button.trt-ready__x{background:transparent;color:#c9d0cb;padding:6px 8px;font-weight:600}
/* 1.6 — small-screen overflow fixes */
.trt .trt-panel__head{flex-wrap:wrap}
.trt .trt-tool__out>*{min-width:0}
@media (max-width:480px){.trt .trt-btn{white-space:normal;text-align:center}}
/* 1.8 — optional survey and next steps in the "check your inbox" view */
.trt .trt-gate .trt-gate__q{display:grid;gap:8px;padding:12px 14px;border-radius:12px;background:var(--trt-tint,#f2f5f7)}
.trt .trt-gate .trt-gate__q[hidden],.trt .trt-gate .trt-gate__qstep[hidden],.trt .trt-gate .trt-gate__qskip[hidden]{display:none!important}
.trt .trt-gate .trt-gate__qintro,.trt .trt-gate .trt-gate__qlabel,.trt .trt-gate .trt-gate__qthanks{margin:0}
.trt .trt-gate .trt-gate__qlabel{font-weight:600;font-size:15px}
.trt .trt-gate .trt-gate__qthanks:empty{display:none}
.trt .trt-gate .trt-gate__qthanks{font-weight:600;color:var(--trt-brand-ink,#0F7A3F)}
.trt .trt-gate .trt-gate__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.trt .trt-gate .trt-gate__chip{min-height:40px;padding:6px 14px;border-radius:999px;border:1px solid var(--trt-line-strong,#b6c1c8);background:#fff;color:var(--trt-ink,#222021);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.trt .trt-gate .trt-gate__chip:hover,.trt .trt-gate .trt-gate__chip:focus-visible{border-color:var(--trt-brand,#40bd61);outline:none;box-shadow:0 0 0 2px var(--trt-brand,#40bd61)}
.trt .trt-gate .trt-gate__chip[aria-pressed="true"]{background:var(--trt-panel,#222021);border-color:var(--trt-panel,#222021);color:#fff}
.trt .trt-gate .trt-gate__qskip{justify-self:start;padding:2px 0;font-size:13px;font-weight:500;color:var(--trt-muted,#555a56)}
.trt .trt-gate .trt-gate__next{display:grid;gap:6px;padding-top:12px;border-top:1px solid var(--trt-line,#dae1e5)}
.trt .trt-gate .trt-gate__nexth{margin:0;font-weight:600;color:var(--trt-muted,#555a56)}
.trt .trt-gate .trt-gate__next ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.trt .trt-gate .trt-gate__next li a{display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 0;color:inherit;font-size:14px;font-weight:500;text-decoration:none}
.trt .trt-gate .trt-gate__next li a:hover span:last-child,.trt .trt-gate .trt-gate__next li a:focus-visible span:last-child{text-decoration:underline;text-underline-offset:3px}
.trt .trt-gate .trt-gate__type{flex:none;font-size:12px;padding:1px 8px;border-radius:999px;border:1px solid var(--trt-line,#dae1e5);color:var(--trt-muted,#555a56)}
.trt .trt-gate .trt-gate__talk{display:inline-flex;align-items:center;gap:6px;min-height:40px;font-weight:700;color:var(--trt-brand-ink,#0F7A3F);text-decoration:none}
.trt .trt-gate .trt-gate__talk svg{width:18px;height:18px}
/* 1.8 — mobile number with country picker; progressive step; "leave your mobile" box */
.trt .trt-gate .trt-phone{display:flex;gap:6px;align-items:stretch}
.trt .trt-gate .trt-phone select.trt-phone__cc,.trt[dir="rtl"] .trt-gate .trt-phone select.trt-phone__cc{flex:0 1 auto;width:9.5em;max-width:46%;min-width:6.5em;padding:10px 30px 10px 10px;background-position:right 8px center;text-overflow:ellipsis}
.trt .trt-gate .trt-phone input{flex:1 1 auto;min-width:0;text-align:left}
.trt .trt-gate .trt-gate__ph{display:grid;gap:14px}
.trt .trt-gate .trt-gate__phskip{justify-self:center;font-weight:500;color:var(--trt-muted,#555a56)}
.trt .trt-gate .trt-gate__pqrow{display:flex;flex-wrap:wrap;gap:8px}
.trt .trt-gate .trt-gate__pqrow[hidden],.trt .trt-gate .trt-gate__pq [hidden]{display:none!important}
.trt .trt-gate .trt-gate__pqrow .trt-phone{flex:1 1 240px}
.trt .trt-gate .trt-gate__pqrow .trt-btn{width:auto;flex:0 0 auto}
.trt .trt-gate .trt-gate__pq .trt-err{margin:0}
.trt .trt-gate .trt-gate__pq .trt-err:empty{display:none}
@media (max-width:480px){.trt .trt-gate .trt-gate__pqrow .trt-btn{flex:1 1 100%}}
@media (max-width:480px){.trt .trt-gate .trt-gate__sent{gap:10px}.trt .trt-gate .trt-gate__q{padding:10px 12px}.trt .trt-gate .trt-gate__chip{padding:6px 12px}}

.trt .trt-prose .trt-table-wrap--prose{border:0;border-radius:0;margin:0 0 1em}
/* WCAG 1.4.11: edges of form controls at least 3:1 on white and sage; clearer focus ring */
.trt{--trt-field-line:#7f9084}
.trt .trt-input,.trt select.trt-select,.trt input.trt-text,.trt .trt-table input{border-color:var(--trt-field-line)}
.trt .trt-input:focus-within,.trt select.trt-select:focus,.trt input.trt-text:focus,.trt .trt-table input:focus{border-color:var(--trt-brand);box-shadow:0 0 0 3px rgba(64,189,97,.4)}
.trt .trt-field.is-invalid select.trt-select,.trt .trt-field.is-invalid input.trt-text{border-color:var(--trt-bad);box-shadow:0 0 0 1px var(--trt-bad)}

/* 1.8.6 — phones: in block themes the tool also uses the theme's side padding (more width for tables and fields) */
@media (max-width:600px){.has-global-padding>.trt-root{width:auto;margin-left:calc(var(--wp--style--root--padding-left,0px) * -1)!important;margin-right:calc(var(--wp--style--root--padding-right,0px) * -1)!important}}
/* 1.8.6: typo fix inside the email error, contact links in messages, the "link expired" bar */
.trt .trt-gate .trt-err .trt-gate__fix{color:inherit;text-align:start}
.trt .trt-gate .trt-gate__status a,.trt .trt-gate [data-sent-msg] a{color:inherit;font-weight:700;text-decoration:underline}
.trt-ready button[hidden]{display:none}
/* 1.8.7 Arabic form details: names typed in the page font (Plex for Arabic), larger hint and consent lines in Arabic,
   the name hint hidden while its field shows an error, no empty gap from an empty status line, the address of the
   phone step */
.trt .trt-gate input.trt-text:not([type="email"]):not([type="tel"]){font-family:var(--trt-font);font-variant-numeric:normal}
.trt .trt-gate[dir="rtl"] .trt-gate__hint,.trt .trt-gate[dir="rtl"] .trt-gate__consent,.trt .trt-gate[dir="rtl"] .trt-gate__nl{font-size:14px;line-height:1.7}
.trt .trt-gate .trt-field.is-invalid .trt-gate__hint:not([data-email-hint]){display:none}
.trt .trt-gate .trt-gate__status:empty{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)} /* still a live region, but no grid gap */
.trt .trt-gate .trt-gate__to{margin:0;font-size:14px}
.trt .trt-gate .trt-gate__to b{direction:ltr;unicode-bidi:isolate}

/* ==========================================================================
   1.8.7 — phones (from the mobile pass): every tap target at least 44px, body text at least 14px, inputs that
   do not zoom the page on iPhone, the main action in the first screen, a dialog that fits above the keyboard.
   Desktop with a mouse keeps its sizes (these rules only apply to touch screens or narrow windows).
   ========================================================================== */
/* Dialog: as tall as the visible screen (with or without the address bar), never more */
.trt dialog.trt-modal{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overscroll-behavior:contain}
/* Keyboard open: gate.js puts the dialog inside the visible part of the screen (above the keyboard) */
.trt dialog.trt-modal.is-kb{margin-block:var(--trt-kb-top,12px) auto;max-height:var(--trt-kb-h,calc(100dvh - 24px))}
.trt .trt-modal__x{width:44px;height:44px;margin-block-start:-6px;margin-inline-end:-8px}
.trt-ready button{min-height:44px}
.trt-ready button.trt-ready__x{min-width:44px;min-height:44px}

@media (max-width:1024px),(pointer:coarse){
  .trt .trt-btn,.trt .trt-btn--ghost,.trt .trt-btn--sm,.trt .trt-mbar .trt-btn,.trt-fixed .trt-getbar .trt-btn{min-height:44px}
  .trt .trt-pill,.trt .trt-seg button,.trt .trt-tab{min-height:44px}
  .trt .trt-toolbar select.trt-select{min-height:44px;font-size:16px}
  .trt .trt-table input,.trt .trt-table--edit input.trt-cell,.trt .trt-table--edit select.trt-select--cell{min-height:44px}
  .trt .trt-icon-btn{width:44px;height:44px}
  .trt .trt-link-arrow{min-height:44px}
  .trt .trt-opt-row{min-height:44px;padding-block:11px}
  .trt .trt-toc a{padding-block:11px}
  .trt .trt-rcta__x{width:44px;height:44px;top:4px;inset-inline-end:4px}
  .trt .trt-langswitch{min-height:44px}
  .trt .trt-finder input,.trt input[type="search"]{font-size:16px}
  /* the "check your inbox" view: links and skips are easy to hit */
  .trt .trt-gate .trt-linkbtn{min-height:44px;padding:10px 4px}
  .trt .trt-gate .trt-gate__qskip{min-height:44px;padding-block:10px;font-size:14px}
  .trt .trt-gate .trt-gate__chip,.trt .trt-gate .trt-gate__next li a,.trt .trt-gate .trt-gate__talk{min-height:44px}
  /* a field never hides under the "show result" / "get the file" bar while it is shown */
  html:has(.trt-mbar.is-on),html:has(.trt-getbar.is-on){scroll-padding-bottom:96px}
}

@media (max-width:600px){
  /* breadcrumb: same row height, 44px links */
  .trt .trt-crumbs{padding-block:4px;font-size:14px}
  .trt .trt-crumbs ol{row-gap:0}
  .trt .trt-crumbs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
  .trt a>small,.trt li>a small{font-size:13px}
  /* readable text: running text 14px, labels and badges 13px */
  .trt .trt-small,.trt .trt-hint,.trt .trt-unit,.trt .trt-shared,.trt .trt-inside small,.trt .trt-panel__note,
  .trt .trt-tcard__meta,.trt .trt-tcard__meta dd,.trt .trt-dl small,.trt .trt-sheet__note,.trt .trt-flags b,
  .trt .trt-qlist a span,.trt table.trt-table--out td.t,.trt .trt-input-plain,.trt .trt-gate .trt-gate__hint,
  .trt .trt-gate .trt-gate__status{font-size:14px}
  .trt .trt-kpi__l,.trt .trt-kpi__s,.trt .trt-toolbar .trt-label,.trt .trt-label .trt-opt,.trt .trt-chip,.trt .trt-status,
  .trt .trt-table thead th,.trt .trt-tcard__meta dt,.trt .trt-step-n,.trt .trt-eyebrow,.trt .trt-panel__title,
  .trt .trt-mbar small,.trt .trt-sheet table,.trt .trt-sheet__tabs,.trt .trt-gate .trt-gate__type{font-size:13px}
  .trt .trt-sheet .trt-flag,.trt .trt-sheet__bar small{font-size:12px}
  .trt-fixed .trt-getbar__t{font-size:14px}
  /* first screen: what it is (eyebrow + title), then the main action, then the longer introduction */
  .trt[data-tool] .trt-hero__copy>.trt-lead,.trt[data-template] .trt-hero__copy>.trt-lead,
  .trt[data-template] .trt-hero__copy>.trt-alert{order:1}
  .trt[data-tool] .trt-hero__copy>.trt-trust,.trt[data-template] .trt-hero__copy>.trt-trust{order:2}
  .trt .trt-hero__copy{gap:16px}
  /* "what this tool covers" list: denser rows */
  .trt .trt-inside a{padding:10px 12px;gap:10px}
  .trt .trt-inside .trt-icon{width:32px;height:32px}
  /* hub and related cards: the small picture is decoration; leaving it out shortens the hubs a lot */
  .trt [data-item] .trt-tcard__art{display:none}
  .trt .trt-tcard{padding:16px;gap:10px}
  .trt .trt-tcard__meta{gap:8px;padding-top:10px}
  .trt .trt-tcard--feature{padding:0}
  .trt .trt-tcard--feature .trt-tcard__art{min-height:140px}
  /* dialog: tighter spacing so the form (and one more field) fits a small phone */
  .trt .trt-gate .trt-modal__in{padding:16px 16px 18px;gap:12px}
  .trt .trt-gate .trt-fields{gap:12px}
  .trt .trt-gate .trt-modal__head{gap:8px}
  /* Send stays in reach while the form scrolls (small phones, keyboard open) */
  .trt .trt-gate form.trt-modal__in:not([data-phone-view])>button[type="submit"]{position:sticky;bottom:12px;z-index:2;box-shadow:0 12px 0 16px #fff}
  .trt dialog.trt-gate:has(>form.trt-modal__in:not([data-phone-view]):not([hidden])){scroll-padding-block:12px 84px}
  /* mobile number: the country code is not cut */
  .trt .trt-gate .trt-phone select.trt-phone__cc,.trt[dir="rtl"] .trt-gate .trt-phone select.trt-phone__cc{flex:0 0 auto;width:9.25em;max-width:58%;padding-left:8px;padding-right:24px;background-position:right 6px center}
  .trt .trt-gate .trt-phone input{padding-inline:10px}
}

/* ==========================================================================
   Tracom dialog skin (v2.0): graphite header strip + chevron rail, green pill primary button.
   Markup, classes and JS hooks are unchanged.
   ========================================================================== */
.trt dialog.trt-gate{--trt-modal-pad:clamp(20px,3vw,30px);border-radius:14px}
.trt .trt-gate .trt-modal__head{--trt-ink:#fff;position:relative;margin:calc(-1 * var(--trt-modal-pad)) calc(-1 * var(--trt-modal-pad)) 6px;padding:var(--trt-modal-pad) var(--trt-modal-pad) calc(var(--trt-modal-pad) + 10px);align-items:flex-start;color:#fff;
  background:radial-gradient(360px 160px at 100% 0,rgba(64,189,97,.28),transparent 70%),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/24px 24px,#222021}
.trt[dir="rtl"] .trt-gate .trt-modal__head,.trt .trt-gate[dir="rtl"] .trt-modal__head{background:radial-gradient(360px 160px at 0 0,rgba(64,189,97,.28),transparent 70%),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px) 0 0/24px 24px,#222021}
.trt .trt-gate .trt-modal__head h2{color:#fff;font-size:clamp(20px,2.6vw,24px)}
.trt .trt-gate .trt-modal__head .trt-small,.trt .trt-gate .trt-modal__head .trt-muted{color:#b9c0bb}
.trt .trt-gate .trt-modal__head::after{content:"";position:absolute;inset-inline:0;bottom:0;height:10px;background:linear-gradient(90deg,#40bd61,transparent 80%);-webkit-mask:var(--trt-chev) 0 0/20px 10px repeat-x;mask:var(--trt-chev) 0 0/20px 10px repeat-x}
.trt .trt-gate[dir="rtl"] .trt-modal__head::after{background:linear-gradient(270deg,#40bd61,transparent 80%)}
.trt .trt-gate .trt-modal__x{width:44px;height:44px;margin:-6px -6px 0;color:#fff;background:rgba(255,255,255,.1);border-radius:50%}
.trt .trt-gate .trt-modal__x:hover{background:rgba(255,255,255,.2)}
.trt .trt-gate .trt-modal__x:focus-visible{box-shadow:0 0 0 2px #222021,0 0 0 4px #40bd61}
.trt .trt-gate .trt-gate__mailicon{background:rgba(64,189,97,.18);color:#4fd172;box-shadow:inset 0 0 0 1px rgba(64,189,97,.5)}
.trt .trt-gate .trt-gate__sent .trt-modal__head{margin-bottom:0}
.trt .trt-gate .trt-text:not([type="email"]),.trt .trt-gate .trt-select{min-height:52px}
.trt .trt-gate .trt-btn--primary{min-height:52px;font-size:16px}
.trt .trt-gate .trt-gate__q{background:var(--trt-surface);border:1px solid var(--trt-line);border-radius:var(--trt-r)}
.trt .trt-gate .trt-gate__chip{border-radius:999px;border:1.5px solid var(--trt-line-strong)}
.trt .trt-gate .trt-gate__chip[aria-pressed="true"]{background:#222021;border-color:#222021}
.trt .trt-gate .trt-gate__consent,.trt .trt-gate .trt-gate__nl{color:var(--trt-muted)}
@media (max-width:600px){.trt dialog.trt-gate{--trt-modal-pad:16px}}
@media (prefers-reduced-motion:no-preference){.trt dialog.trt-gate[open]{animation:trt-dlg .22s ease-out}}
@keyframes trt-dlg{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.trt-ready{border:1px solid rgba(255,255,255,.14);border-top:3px solid #40bd61;border-radius:12px}
.trt-ready button{border-radius:999px;padding-inline:20px}
