/* =========================================================
   The Comparison Lab — theme stylesheet
   Extracted & adapted from The Comparison Lab.dc.html prototype
   ========================================================= */

:root {
  --tcl-blue: #1668c4;
  --tcl-blue-dark: #0f4e96;
  --tcl-navy: #17335c;
  --tcl-navy-dark: #12294b;
  --tcl-maroon: #3a0d10;
  --tcl-text: #2d3748;
  --tcl-text-strong: #1c2635;
  --tcl-text-heading: #25344a;
  --tcl-text-body: #3d4a5c;
  --tcl-text-muted: #5b6a7d;
  --tcl-text-muted2: #6b7889;
  --tcl-text-muted3: #4a5768;
  --tcl-text-faint: #8895a7;
  --tcl-text-faint2: #9aa7b8;
  --tcl-border: #e8edf3;
  --tcl-border2: #eaeff5;
  --tcl-border3: #e2e8f0;
  --tcl-border4: #e6ebf2;
  --tcl-border5: #eef2f7;
  --tcl-border6: #dfe6ef;
  --tcl-bg-light: #f6f8fb;
  --tcl-bg-lighter: #fbfcfe;
  --tcl-bg-hover: #f1f5fa;
  --tcl-bg-badge: #eef4fd;
  --tcl-green: #22b573;
  --tcl-green-dark: #1a9c62;
  --tcl-red: #e63329;
  --tcl-red2: #d4483f;
  --tcl-red3: #e05a4f;
  --tcl-orange: #e6890c;
  --tcl-gold: #e6a700;
  --tcl-footer-bg: #3d4552;
  --tcl-footer-text: #c8ced8;
  --tcl-footer-text2: #a8b1be;
  --tcl-radius: 10px;
  --tcl-max: 1180px;
  --tcl-contact-form-width: 460px;
}

/* ---------- Base ---------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; min-height: 100%; }
body {
  margin: 0;
  min-height: 100%;
  font-family: 'Poppins', system-ui, -apple-system, sans-serif;
  color: var(--tcl-text);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
.tcl-site {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
.tcl-footer { margin-top: auto; }
a { color: var(--tcl-blue); text-decoration: none; }
a:hover { color: var(--tcl-blue-dark); text-decoration: underline; }
p { text-wrap: pretty; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
.tcl-container { max-width: var(--tcl-max); margin: 0 auto; padding: 0 24px; }
.tcl-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

/* ---------- Header / Nav ---------- */
.tcl-header {
  position: sticky; top: 0; z-index: 50;
  background: #fff; border-bottom: 1px solid var(--tcl-border);
  box-shadow: 0 1px 8px rgba(16,42,77,.05);
}
.tcl-header__inner {
  max-width: var(--tcl-max); margin: 0 auto; padding: 0 24px;
  height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.tcl-logo { cursor: pointer; display: flex; align-items: center; gap: 11px; text-decoration: none; }
.tcl-logo:hover, .tcl-logo:focus { text-decoration: none; color: inherit; }
.tcl-logo__text { display: flex; flex-direction: column; line-height: 1; }
.tcl-logo__sub { font-size: 9.5px; font-weight: 600; letter-spacing: .28em; color: #8895a7; }
.tcl-logo__main { font-size: 19px; font-weight: 800; letter-spacing: .02em; margin-top: 3px; }
.tcl-logo__main span:first-child { color: #17335c; }
.tcl-logo__main span:last-child { color: var(--tcl-red); }

.tcl-nav { display: flex; align-items: center; gap: 6px; position: relative; }
.tcl-nav__link, .tcl-nav__toggle {
  cursor: pointer; padding: 9px 16px; border-radius: 6px; font-size: 14.5px; font-weight: 500;
  color: #3d4a5c; display: flex; align-items: center; gap: 7px; background: none; border: none;
}
.tcl-nav__link:hover, .tcl-nav__toggle:hover, .tcl-nav__toggle.is-open { background: var(--tcl-bg-hover); color: var(--tcl-blue); }
.tcl-nav__caret {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  color: #9aa7b8; transition: transform 0.2s ease, color 0.18s ease;
}
.tcl-nav__toggle:hover .tcl-nav__caret,
.tcl-nav__toggle.is-open .tcl-nav__caret { color: var(--tcl-blue); }
.tcl-nav__toggle.is-open .tcl-nav__caret { transform: rotate(180deg); }
.tcl-nav__item { position: relative; }
.tcl-nav__cta {
  cursor: pointer; margin-left: 8px; padding: 10px 20px; border-radius: 6px; font-size: 14px;
  font-weight: 600; background: var(--tcl-blue); color: #fff; display: inline-block;
}
.tcl-nav__cta:hover { background: var(--tcl-blue-dark); color: #fff; text-decoration: none; }

.tcl-dropdown {
  position: absolute; top: 52px; min-width: 236px; background: #fff; border: 1px solid var(--tcl-border);
  border-radius: 10px; box-shadow: 0 14px 40px rgba(16,42,77,.14); padding: 8px; display: none;
  flex-direction: column; max-height: 60vh; overflow-y: auto; z-index: 60;
}
.tcl-dropdown--left { left: 0; }
.tcl-dropdown--right { right: 0; }
.tcl-dropdown.is-open { display: flex; }
.tcl-dropdown__item {
  cursor: pointer; padding: 10px 14px; border-radius: 7px; font-size: 14px; color: #3d4a5c;
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
}
.tcl-dropdown__item:hover { background: var(--tcl-bg-hover); color: var(--tcl-blue); text-decoration: none; }
.tcl-dropdown__count { font-size: 11px; color: #a7b2c1; }
.tcl-dropdown__item--more { border-top: 1px solid #eef2f7; margin-top: 4px; padding-top: 12px; }

/* ---------- Compare archive (/compare/) ---------- */
.tcl-cmp-archive-hero {
  position: relative;
  background: #142d51;
  overflow: hidden;
}
.tcl-cmp-archive-hero__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(100deg, rgba(16,36,64,.96) 0%, rgba(20,45,81,.88) 42%, rgba(23,51,92,.7) 100%);
}
.tcl-cmp-archive-hero__inner {
  position: relative;
  max-width: var(--tcl-max);
  margin: 0 auto;
  padding: 44px 24px 46px;
}
.tcl-cmp-archive-hero__eyebrow {
  font-size: 12px;
  letter-spacing: .14em;
  font-weight: 600;
  color: #8fb6e8;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.tcl-cmp-archive-hero__title {
  margin: 0 0 12px;
  max-width: 820px;
  font-size: 36px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -.01em;
  color: #fff;
}
.tcl-cmp-archive-hero__intro {
  margin: 0 0 18px;
  max-width: 720px;
  font-size: 14.5px;
  line-height: 1.7;
  color: #cfdcee;
}
.tcl-cmp-archive-hero__stats {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 13px;
  color: #a9c2e2;
}
.tcl-cmp-archive-main {
  flex: 1;
  background: var(--tcl-bg-light);
  border-bottom: 1px solid var(--tcl-border2);
}
.tcl-cmp-archive-main__inner {
  max-width: var(--tcl-max);
  margin: 0 auto;
  padding: 88px 24px 112px;
}
.tcl-cmp-archive-main__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
.tcl-cmp-archive-main__title {
  margin: 0 0 6px;
  font-size: 26px;
  font-weight: 700;
  color: #25344a;
}
.tcl-cmp-archive-main__range {
  margin: 0;
  font-size: 14px;
  color: #6b7889;
}
.tcl-cmp-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.tcl-cmp-archive-card {
  display: flex;
  align-items: center;
  gap: 18px;
  background: #fff;
  border: 1px solid var(--tcl-border2);
  border-radius: 12px;
  padding: 24px 22px;
  box-shadow: 0 6px 22px rgba(16,42,77,.05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  text-decoration: none;
  color: inherit;
}
.tcl-cmp-archive-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(16,42,77,.12);
  border-color: #d8e4f4;
  text-decoration: none;
  color: inherit;
}
.tcl-cmp-archive-card__icon {
  flex: none;
  width: 64px;
  height: 64px;
  border-radius: 14px;
  background: var(--tcl-bg-badge);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--tcl-blue);
}
.tcl-cmp-archive-card__fa { font-size: 28px; line-height: 1; display: block; color: var(--tcl-blue); }
.tcl-cmp-archive-card__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.tcl-cmp-archive-card__name {
  font-size: 19px;
  font-weight: 700;
  color: #25344a;
}
.tcl-cmp-archive-card__meta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 7px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  color: #8895a7;
  text-transform: uppercase;
}
.tcl-cmp-archive-card__arrow {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--tcl-bg-light);
  color: var(--tcl-blue);
}
.tcl-cmp-archive-pagination { margin-top: 44px; }
.tcl-cmp-archive-pagination .tcl-pagination { margin-top: 0; }
.tcl-cmp-archive-empty { font-size: 15px; color: #6b7889; }

.tcl-nav__burger { display: none; }

/* ---------- Hero (home) ---------- */
.tcl-hero-home { position: relative; background: var(--tcl-maroon); overflow: hidden; }
.tcl-hero-home__bg { position: absolute; inset: 0; }
.tcl-hero-home__bg img { width: 100%; height: 100%; object-fit: cover; }
.tcl-hero-home__overlay {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(100deg, rgba(60,10,14,.94) 0%, rgba(60,10,14,.78) 42%, rgba(20,26,44,.45) 100%);
}
.tcl-hero-home__inner { position: relative; max-width: var(--tcl-max); margin: 0 auto; padding: 62px 24px 74px; }
.tcl-hero-home__title { margin: 0 auto 40px; max-width: 760px; text-align: center; font-size: 38px; line-height: 1.32; font-weight: 700; color: #fff; }
.tcl-category-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; max-width: 840px; margin: 0 auto; }
.tcl-category-card {
  cursor: pointer; width: 172px; height: 132px; background: #fff; border-radius: 10px; display: flex;
  flex-direction: column; align-items: center; justify-content: center; gap: 14px;
  box-shadow: 0 10px 26px rgba(0,0,0,.22); transition: transform .18s ease; text-decoration: none;
}
.tcl-category-card:hover { transform: translateY(-4px); text-decoration: none; color: inherit; }
.tcl-category-card:focus { text-decoration: none; outline: none; }
.tcl-category-card:focus-visible { outline: 2px solid var(--tcl-blue); outline-offset: 3px; }
.tcl-category-card .tcl-acf-icon { width: 34px; height: 34px; object-fit: contain; display: block; }
.tcl-category-card .tcl-fa-icon { font-size: 34px; color: #1668c4; line-height: 1; display: block; }
.tcl-category-card__label { font-size: 15px; font-weight: 600; color: #25344a; text-align: center; padding: 0 10px; }

/* ---------- Logo strip ---------- */
.tcl-logo-strip { background: var(--tcl-bg-light); border-bottom: 1px solid var(--tcl-border2); overflow: hidden; }
.tcl-logo-strip__track-wrap { width: 100%; overflow: hidden; cursor: default; }
.tcl-logo-strip__track {
  display: flex; align-items: center; gap: 0;
  width: max-content;
  animation: tcl-marquee 35s linear infinite;
}
.tcl-logo-strip__track:hover { animation-play-state: paused; }
@keyframes tcl-marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.tcl-logo-strip__item {
  display: flex; align-items: center; justify-content: center;
  padding: 22px 36px;
  border-right: 1px solid var(--tcl-border2);
  flex-shrink: 0;
  transition: background .2s;
}
.tcl-logo-strip__item:hover { background: #fff; }
.tcl-logo-strip__item img {
  display: block;
  width: 130px;
  height: 40px;
  object-fit: contain;
  object-position: center;
  filter: grayscale(1) opacity(.55);
  transition: filter .35s ease;
  flex-shrink: 0;
}
.tcl-logo-strip__item img[src$=".svg"] { width: 120px; height: 36px; }
.tcl-logo-strip__item:hover img { filter: grayscale(0) opacity(1); }
.tcl-logo-strip__item span { font-size: 13px; font-weight: 600; letter-spacing: .06em; color: #b0bbc9; text-transform: uppercase; white-space: nowrap; }

/* ---------- Section headings ---------- */
.tcl-section { padding: 78px 24px 84px; }
.tcl-section--tight { padding: 78px 24px 10px; }
.tcl-section__center { max-width: 980px; margin: 0 auto; text-align: center; }
.tcl-section__title {
  margin: 0 0 18px; font-size: 29px; font-weight: 700; letter-spacing: .01em; color: #25344a; text-transform: uppercase; text-align: center;
}
.tcl-section__intro { margin: 0 auto 44px; max-width: 640px; font-size: 15px; line-height: 1.75; color: #5b6a7d; text-align: center; }

/* ---------- Stats ---------- */
.tcl-stats-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; max-width: 980px; margin: 0 auto; }
.tcl-stat__value { font-size: 42px; font-weight: 800; color: var(--tcl-blue); letter-spacing: -.02em; }
.tcl-stat__label { margin-top: 6px; font-size: 12.5px; font-weight: 600; letter-spacing: .08em; color: #5b6a7d; text-transform: uppercase; }

/* ---------- Why cards ---------- */
.tcl-why-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; max-width: var(--tcl-max); margin: 0 auto; }
.tcl-why-card { background: #fff; border: 1px solid var(--tcl-border2); border-radius: 12px; padding: 34px 28px; box-shadow: 0 6px 22px rgba(16,42,77,.05); text-align: center; }
.tcl-why-card__icon { width: 62px; height: 62px; margin: 0 auto 20px; border-radius: 12px; background: var(--tcl-blue); display: flex; align-items: center; justify-content: center; }
.tcl-why-card__icon .tcl-acf-icon { width: 30px; height: 30px; object-fit: contain; display: block; }
.tcl-why-card__icon .tcl-fa-icon { font-size: 30px; color: #fff; line-height: 1; display: block; }
.tcl-why-card__title { font-size: 17px; font-weight: 700; color: #25344a; margin-bottom: 12px; }
.tcl-why-card__body { margin: 0; font-size: 13.5px; line-height: 1.7; color: #6b7889; }

/* ---------- News ---------- */
.tcl-news { background: var(--tcl-blue); padding: 64px 0 72px; }
.tcl-news__title { margin: 0 0 40px; text-align: center; font-size: 29px; font-weight: 700; color: #fff; text-transform: uppercase; }
.tcl-news-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
.tcl-news-card { cursor: pointer; background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 12px 30px rgba(9,40,80,.2); display: block; text-decoration: none; }
.tcl-news-card__img { position: relative; height: 158px; background: #dbe4f0; overflow: hidden; }
.tcl-news-card__img img { width: 100%; height: 100%; object-fit: cover; }
.tcl-news-card__cat { position: absolute; top: 12px; right: 12px; background: rgba(13,32,58,.82); color: #fff; font-size: 11px; font-weight: 600; padding: 5px 11px; border-radius: 4px; }
.tcl-news-card__body { padding: 20px 20px 22px; }
.tcl-news-card__title { font-size: 16px; font-weight: 700; line-height: 1.45; color: #25344a; min-height: 70px; margin-bottom: 8px; }
.tcl-news-card__link { font-size: 13px; font-weight: 600; color: var(--tcl-blue); }
.tcl-news__more { display: flex; justify-content: center; margin-top: 38px; }
.tcl-btn-white { cursor: pointer; background: #fff; color: var(--tcl-blue); font-size: 14px; font-weight: 600; padding: 12px 30px; border-radius: 6px; display: inline-block; }
.tcl-btn-white:hover { text-decoration: none; }

/* ---------- Partners ---------- */
.tcl-partners__title { margin: 0 auto 14px; max-width: 680px; font-size: 28px; font-weight: 700; line-height: 1.4; color: #25344a; text-transform: uppercase; text-align: center; }
.tcl-partners__intro { margin: 0 0 40px; font-size: 14.5px; color: #5b6a7d; text-align: center; }
.tcl-partners-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--tcl-border2); border-radius: 10px; overflow: hidden; }
.tcl-partner-cell { height: 104px; padding: 16px 24px; border-right: 1px solid var(--tcl-border5); border-bottom: 1px solid var(--tcl-border5); display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 700; letter-spacing: .04em; color: #8895a7; }
.tcl-partner-cell img { max-width: 150px; max-height: 48px; width: auto; height: auto; object-fit: contain; display: block; }
.tcl-partner-cell img[src$=".svg"] { width: 140px; height: 44px; }
.tcl-partner-cta { cursor: pointer; height: 104px; border-bottom: 1px solid var(--tcl-border5); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-decoration: none; }
.tcl-partner-cta img { width: 30px; height: 30px; object-fit: contain; }
.tcl-partner-cta__title { font-size: 15px; font-weight: 700; color: #3d4552; }
.tcl-partner-cta__sub { font-size: 13.5px; color: var(--tcl-blue); }

/* ---------- Comparison hero ---------- */
.tcl-cmp-hero { position: relative; background: #111; overflow: hidden; }
.tcl-cmp-hero__bg { position: absolute; inset: 0; opacity: .75; }
.tcl-cmp-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.tcl-cmp-hero__overlay { position: absolute; inset: 0; pointer-events: none; }
.tcl-cmp-hero__inner { position: relative; max-width: var(--tcl-max); margin: 0 auto; padding: 44px 24px 46px; }
.tcl-cmp-hero__label { font-size: 12px; letter-spacing: .14em; font-weight: 600; color: #8fb6e8; text-transform: uppercase; margin-bottom: 12px; }
.tcl-cmp-hero__title { margin: 0 0 12px; font-size: 36px; font-weight: 700; color: #fff; letter-spacing: -.01em; }
.tcl-cmp-hero__intro { margin: 0 0 18px; max-width: 720px; font-size: 14.5px; line-height: 1.7; color: #cfdcee; white-space: pre-line; }
.tcl-cmp-hero__badges { display: flex; gap: 22px; flex-wrap: wrap; font-size: 13px; color: #a9c2e2; list-style: none; padding: 0; margin: 0; }

/* ---------- Top picks ---------- */
.tcl-cmp-body { max-width: var(--tcl-max); margin: 0 auto; padding: 40px 24px 90px; }
.tcl-top-picks { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-bottom: 44px; }
.tcl-top-pick { border: 1px solid var(--tcl-border3); border-radius: 10px; padding: 18px 20px; background: #fff; display: flex; flex-direction: column; gap: 10px; box-shadow: 0 4px 16px rgba(16,42,77,.05); }
.tcl-top-pick__badge { font-size: 11px; font-weight: 700; letter-spacing: .09em; color: var(--tcl-orange); text-transform: uppercase; }
.tcl-top-pick__brand { font-size: 18px; font-weight: 700; color: #25344a; }
.tcl-top-pick__why { font-size: 13px; color: #6b7889; line-height: 1.6; min-height: 42px; }
.tcl-top-pick__foot { display: flex; align-items: center; justify-content: space-between; margin-top: 4px; }
.tcl-top-pick__score { font-size: 13px; font-weight: 600; color: #25344a; }
.tcl-top-pick__score-num { color: var(--tcl-blue); font-size: 17px; font-weight: 800; margin-left: 4px; }
.tcl-btn-green { background: var(--tcl-green); color: #fff; font-size: 13px; font-weight: 600; padding: 9px 18px; border-radius: 6px; text-decoration: none; display: inline-block; }
.tcl-btn-green:hover { background: var(--tcl-green-dark); color: #fff; text-decoration: none; }

.tcl-cmp-heading { margin: 0 0 6px; font-size: 26px; font-weight: 700; color: #25344a; }
.tcl-cmp-subheading { margin: 0 0 30px; font-size: 14px; color: #6b7889; }

/* ---------- Offers / brand cards ---------- */
.tcl-offers { display: flex; flex-direction: column; gap: 32px; padding-top: 14px; }
.tcl-offer { position: relative; border: 1px solid var(--tcl-border3); border-radius: 12px; background: #fff; overflow: visible; box-shadow: 0 6px 20px rgba(16,42,77,.05); }
.tcl-offer__rank { position: absolute; top: 0; left: 26px; transform: translateY(-50%); z-index: 2; width: 34px; height: 34px; border-radius: 50%; background: var(--tcl-navy); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; flex: none; box-shadow: 0 2px 8px rgba(16,42,77,.18); }
.tcl-offer__head { display: flex; align-items: center; gap: 22px; padding: 28px 26px 22px; border-bottom: 1px solid var(--tcl-border5); background: var(--tcl-bg-lighter); flex-wrap: wrap; border-radius: 12px 12px 0 0; }
.tcl-offer__logo { width: 64px; height: 64px; border-radius: 50%; background: #fff; border: 1px solid var(--tcl-border3); display: flex; align-items: center; justify-content: center; overflow: hidden; flex: none; }
.tcl-offer__logo-img { width: 100%; height: 100%; object-fit: contain; display: block; padding: 8px; box-sizing: border-box; }
.tcl-offer__logo-fallback { font-size: 22px; font-weight: 700; color: var(--tcl-navy); line-height: 1; }
.tcl-offer__main { flex: 1; min-width: 220px; }
.tcl-offer__title-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 6px; }
.tcl-offer__brand { font-size: 21px; font-weight: 700; color: #25344a; }
.tcl-offer__badge { background: var(--tcl-bg-badge); color: var(--tcl-blue); font-size: 11.5px; font-weight: 600; padding: 4px 10px; border-radius: 20px; }
.tcl-offer__tagline { font-size: 13.5px; color: #6b7889; }
.tcl-offer__score { text-align: center; flex: none; }
.tcl-offer__stars { font-size: 13px; color: var(--tcl-gold); letter-spacing: 2px; }
.tcl-offer__score-num { font-size: 26px; font-weight: 800; color: var(--tcl-blue); line-height: 1.1; }
.tcl-offer__verdict { font-size: 11px; font-weight: 600; letter-spacing: .06em; color: #8895a7; text-transform: uppercase; }
.tcl-btn-visit { background: var(--tcl-green); color: #fff; font-size: 14px; font-weight: 600; padding: 12px 26px; border-radius: 7px; text-decoration: none; flex: none; display: inline-block; }
.tcl-btn-visit:hover { background: var(--tcl-green-dark); color: #fff; text-decoration: none; }
.tcl-offer__content { padding: 24px 26px 26px; }
.tcl-offer__facts { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-bottom: 24px; }
.tcl-fact { background: var(--tcl-bg-light); border-radius: 8px; padding: 12px 14px; }
.tcl-fact__label { font-size: 10.5px; font-weight: 600; letter-spacing: .08em; color: #8895a7; text-transform: uppercase; margin-bottom: 5px; }
.tcl-fact__value { font-size: 13.5px; font-weight: 600; color: #25344a; }
.tcl-offer__review-label { font-size: 12px; font-weight: 700; letter-spacing: .09em; color: #25344a; text-transform: uppercase; margin-bottom: 10px; }
.tcl-offer__review { margin: 0 0 20px; font-size: 14.5px; line-height: 1.8; color: #4a5768; max-width: 900px; }
.tcl-offer__proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; border-top: 1px solid var(--tcl-border5); padding-top: 20px; }
.tcl-proscons__title { font-size: 13px; font-weight: 700; margin-bottom: 12px; }
.tcl-proscons__title--pros { color: var(--tcl-green-dark); }
.tcl-proscons__title--cons { color: var(--tcl-red2); }
.tcl-proscons__list { display: flex; flex-direction: column; gap: 9px; list-style: none; margin: 0; padding: 0; }
.tcl-proscons__item { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; line-height: 1.6; color: #4a5768; }
.tcl-proscons__item--pro span:first-child { color: var(--tcl-green); font-weight: 700; }
.tcl-proscons__item--con span:first-child { color: var(--tcl-red3); font-weight: 700; }

.tcl-methodology { margin-top: 44px; border: 1px solid var(--tcl-border3); border-radius: 12px; padding: 28px 30px; background: var(--tcl-bg-lighter); }
.tcl-methodology__title { margin: 0 0 12px; font-size: 18px; font-weight: 700; color: #25344a; }
.tcl-methodology__text { margin: 0; font-size: 14px; line-height: 1.8; color: #5b6a7d; max-width: 900px; white-space: pre-line; }

/* ---------- Articles archive ---------- */
.tcl-page-articles-archive .tcl-articles-layout { padding-top: 48px; grid-template-columns: 1fr; max-width: 860px; }
.tcl-articles-layout { max-width: var(--tcl-max); margin: 0 auto; padding: 48px 24px 80px; display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 48px; align-items: start; }
.tcl-articles-title { margin: 0 0 8px; font-size: 34px; font-weight: 700; color: #25344a; }
.tcl-articles-intro { margin: 0 0 30px; font-size: 14.5px; color: #6b7889; }
.tcl-article-cats { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 30px; list-style: none; padding: 0; }
.tcl-article-cats__item { cursor: pointer; border: 1px solid var(--tcl-border6); border-radius: 20px; padding: 7px 16px; font-size: 13px; color: #5b6a7d; text-decoration: none; display: inline-block; }
.tcl-article-cats__item:hover, .tcl-article-cats__item.is-active { border-color: var(--tcl-blue); color: var(--tcl-blue); text-decoration: none; }
.tcl-article-list { display: flex; flex-direction: column; gap: 20px; }
.tcl-article-card { cursor: pointer; border: 1px solid var(--tcl-border4); border-radius: 10px; padding: 18px; display: flex; gap: 20px; background: #fff; text-decoration: none; }
.tcl-article-card:hover { box-shadow: 0 8px 24px rgba(16,42,77,.09); text-decoration: none; }
.tcl-article-card__img { width: 170px; height: 114px; flex: none; border-radius: 8px; overflow: hidden; background: #eef2f7; }
.tcl-article-card__img img { width: 100%; height: 100%; object-fit: cover; }
.tcl-article-card__body { flex: 1; min-width: 0; }
.tcl-article-card__cat { font-size: 11px; font-weight: 600; letter-spacing: .08em; color: var(--tcl-blue); text-transform: uppercase; margin-bottom: 7px; }
.tcl-article-card__title { font-size: 18px; font-weight: 700; line-height: 1.4; color: #25344a; margin-bottom: 8px; }
.tcl-article-card__excerpt { margin: 0; font-size: 13.5px; line-height: 1.65; color: #6b7889; }

.tcl-pagination { display: flex; gap: 8px; justify-content: center; margin-top: 34px; list-style: none; padding: 0; }
.tcl-pagination a, .tcl-pagination span { cursor: pointer; border: 1px solid var(--tcl-border6); border-radius: 5px; padding: 7px 14px; font-size: 13.5px; color: #5b6a7d; background: #fff; text-decoration: none; }
.tcl-pagination .current { background: var(--tcl-bg-badge); border-color: var(--tcl-bg-badge); color: var(--tcl-blue); font-weight: 600; }

.tcl-sidebar { position: sticky; top: 96px; }
.tcl-sidebar__title { font-size: 17px; font-weight: 700; color: #25344a; padding-bottom: 12px; border-bottom: 2px solid var(--tcl-blue); margin-bottom: 18px; }
.tcl-sidebar-posts { display: flex; flex-direction: column; gap: 16px; }
.tcl-sidebar-post { cursor: pointer; display: flex; gap: 14px; align-items: flex-start; padding-bottom: 16px; border-bottom: 1px solid var(--tcl-border5); text-decoration: none; min-width: 0; }
.tcl-sidebar-post:hover { text-decoration: none; }
.tcl-sidebar-post__body { flex: 1; min-width: 0; }
.tcl-sidebar-post__img { width: 110px; height: 76px; flex: none; overflow: hidden; border-radius: 6px; background: #eef2f7; }
.tcl-sidebar-post__img img { width: 100%; height: 100%; object-fit: cover; }
.tcl-sidebar-post__title { font-size: 13.5px; font-weight: 600; line-height: 1.45; color: #25344a; overflow-wrap: break-word; }
.tcl-sidebar-post__cat { font-size: 12px; color: #8895a7; margin-top: 5px; }

/* ---------- Single article ---------- */
.tcl-article-layout { max-width: var(--tcl-max); margin: 0 auto; padding: 38px 24px 80px; display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 52px; align-items: start; }
.tcl-breadcrumb { font-size: 12.5px; color: #8895a7; margin-bottom: 14px; }
.tcl-breadcrumb a { color: #8895a7; }
.tcl-article-title { margin: 0 0 14px; font-size: 36px; line-height: 1.25; font-weight: 700; color: #1c2635; }
.tcl-article-meta { font-size: 13px; color: #8895a7; margin-bottom: 26px; padding-bottom: 20px; border-bottom: 1px solid var(--tcl-border4); }
.tcl-article-hero { height: 380px; margin-bottom: 30px; border-radius: 10px; overflow: hidden; background: #eef2f7; }
.tcl-article-hero img { width: 100%; height: 100%; object-fit: cover; }
.tcl-article-body { font-size: 16.5px; line-height: 1.85; color: #3d4a5c; }
.tcl-article-body p { margin: 0 0 22px; font-size: 16.5px; line-height: 1.85; color: #3d4a5c; }
.tcl-article-body h2 { margin: 34px 0 14px; font-size: 24px; font-weight: 700; color: #1c2635; }
.tcl-article-body h3 { margin: 26px 0 12px; font-size: 20px; font-weight: 700; color: #1c2635; }
.tcl-article-body ul, .tcl-article-body ol { margin: 0 0 22px; padding-left: 22px; font-size: 16px; line-height: 1.85; color: #3d4a5c; }
.tcl-article-body img { border-radius: 10px; margin: 12px 0 26px; }
.tcl-article-body a { text-decoration: underline; }
.tcl-article-body blockquote { margin: 0 0 22px; padding: 4px 0 4px 20px; border-left: 3px solid var(--tcl-blue); color: #4a5768; font-style: italic; }

.tcl-cta-box { border: 1px solid #cfe0f6; background: #f2f7fe; border-radius: 12px; padding: 28px 30px; margin: 38px 0; }
.tcl-cta-box__label { font-size: 12px; font-weight: 700; letter-spacing: .09em; color: var(--tcl-blue); text-transform: uppercase; margin-bottom: 10px; }
.tcl-cta-box__title { margin: 0 0 10px; font-size: 21px; font-weight: 700; color: #1c2635; }
.tcl-cta-box__desc { margin: 0 0 18px; font-size: 14.5px; line-height: 1.75; color: #4a5768; max-width: 640px; }
.tcl-btn-blue { cursor: pointer; display: inline-block; background: var(--tcl-blue); color: #fff; font-size: 14px; font-weight: 600; padding: 12px 26px; border-radius: 7px; text-decoration: none; border: none; }
.tcl-btn-blue:hover { background: var(--tcl-blue-dark); color: #fff; text-decoration: none; }

.tcl-related-heading { margin: 0 0 18px; font-size: 24px; font-weight: 700; color: #1c2635; }
.tcl-related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.tcl-related-card { cursor: pointer; text-decoration: none; }
.tcl-related-card__img { height: 118px; margin-bottom: 12px; border-radius: 8px; overflow: hidden; background: #eef2f7; }
.tcl-related-card__img img { width: 100%; height: 100%; object-fit: cover; }
.tcl-related-card__title { font-size: 14.5px; font-weight: 600; line-height: 1.45; color: #25344a; }

/* TOC — match prototype (The Comparison Lab.dc.html → single article sidebar) */
.tcl-toc {
  border: 1px solid var(--tcl-border4);
  border-radius: 10px;
  padding: 20px 22px;
  margin-bottom: 24px;
  background: #fff;
}
.tcl-toc__title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .09em;
  color: #8895a7;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.tcl-toc__widget { margin: 0; padding: 0; }
.tcl-toc ul,
.tcl-toc ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.tcl-toc li { margin: 0; padding: 0; list-style: none; }
.tcl-toc a {
  display: block;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--tcl-blue);
  text-decoration: none;
  font-weight: 400;
}
.tcl-toc a:hover,
.tcl-toc a:focus {
  color: var(--tcl-blue-dark);
  text-decoration: none;
}

/* Easy Table of Contents — strip plugin chrome inside theme box */
.tcl-toc #ez-toc-container,
.tcl-toc div[id^="ez-toc-container"],
.tcl-toc .ez-toc-wrap-left,
.tcl-toc .ez-toc-wrap-right,
.tcl-toc .ez-toc-wrap-center {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}
.tcl-toc #ez-toc-container .ez-toc-title,
.tcl-toc #ez-toc-container .ez-toc-title-container,
.tcl-toc #ez-toc-container .ez-toc-title-toggle,
.tcl-toc #ez-toc-container .ez-toc-js-icon-con,
.tcl-toc #ez-toc-container .ez-toc-toggle {
  display: none !important;
}
.tcl-toc #ez-toc-container nav { margin: 0; padding: 0; }
.tcl-toc #ez-toc-container ul.ez-toc-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.tcl-toc #ez-toc-container ul.ez-toc-list li {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.5;
}
.tcl-toc #ez-toc-container ul.ez-toc-list a {
  display: block;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  color: var(--tcl-blue) !important;
  text-decoration: none !important;
  font-weight: 400 !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.tcl-toc #ez-toc-container ul.ez-toc-list a:hover,
.tcl-toc #ez-toc-container ul.ez-toc-list a:focus {
  color: var(--tcl-blue-dark) !important;
  text-decoration: none !important;
}
.tcl-toc #ez-toc-container ul.ez-toc-list a:visited {
  color: var(--tcl-blue) !important;
}
.tcl-toc #ez-toc-container ul.ez-toc-list ul {
  margin: 8px 0 0 !important;
  padding: 0 0 0 14px !important;
  gap: 8px;
}
.tcl-toc #ez-toc-container ul.ez-toc-list ul a {
  font-size: 13px !important;
}
.tcl-toc .ez-toc-counter nav ul li a::before,
.tcl-toc #ez-toc-container.ez-toc-counter nav ul li a::before {
  display: none !important;
  content: none !important;
}

/* ---------- About ---------- */
.tcl-about { max-width: 860px; margin: 0 auto; padding: 60px 24px 90px; }
.tcl-about h1 { margin: 0 0 18px; font-size: 36px; font-weight: 700; color: #1c2635; }
.tcl-about p { margin: 0 0 20px; font-size: 16.5px; line-height: 1.85; color: #3d4a5c; }
.tcl-about h2 { margin: 0 0 14px; font-size: 24px; font-weight: 700; color: #1c2635; }
.tcl-about-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 0 0 44px; }
.tcl-about-card { text-align: left; padding: 26px 24px; border: 1px solid var(--tcl-border4); border-radius: 12px; background: #fff; }
.tcl-about-card__icon { display: block; margin: 0 0 14px; text-align: left; line-height: 1; }
.tcl-about-card__icon .tcl-fa-icon { font-size: 28px; color: var(--tcl-blue); line-height: 1; display: inline-block; vertical-align: top; }
.tcl-about-card__title { font-size: 16px; font-weight: 700; color: #25344a; margin: 0 0 10px; }
.tcl-about-card__body { margin: 0; font-size: 13.5px; line-height: 1.7; color: #6b7889; }

/* ---------- Contact ---------- */
.tcl-contact-page { padding: 60px 0 90px; overflow-x: clip; }
.tcl-contact-page .tcl-content {
  max-width: var(--tcl-max);
  margin: 0 auto;
  padding: 0 24px;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.tcl-contact-page .wp-block-column > *:first-child { margin-top: 0; }
.tcl-contact-page .wp-block-column h1 { margin: 0 0 16px; font-size: 34px; font-weight: 700; color: #1c2635; max-width: var(--tcl-contact-form-width); }
.tcl-contact-page .wp-block-column h2 { margin: 0 0 22px; font-size: 24px; font-weight: 700; color: #1c2635; }
.tcl-contact-page .wp-block-column > .wp-block-paragraph,
.tcl-contact-page .wp-block-column > p { max-width: var(--tcl-contact-form-width); }
.tcl-contact-page .wp-block-column > .wp-block-paragraph:first-of-type,
.tcl-contact-page .wp-block-column > p:first-of-type { margin: 0 0 30px; font-size: 15.5px; line-height: 1.8; color: #5b6a7d; }

.tcl-contact-layout { max-width: var(--tcl-max); margin: 0 auto; padding: 60px 24px 90px; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.tcl-contact-layout h1 { margin: 0 0 16px; font-size: 34px; font-weight: 700; color: #1c2635; }
.tcl-contact-layout > div:first-child > p { margin: 0 0 30px; font-size: 15.5px; line-height: 1.8; color: #5b6a7d; }
.tcl-contact-layout h2 { margin: 0 0 22px; font-size: 24px; font-weight: 700; color: #1c2635; }

.tcl-form { display: flex; flex-direction: column; gap: 16px; max-width: var(--tcl-contact-form-width); }
.tcl-form__group { display: flex; flex-direction: column; }
.tcl-form__label { font-size: 12.5px; font-weight: 600; color: #5b6a7d; margin-bottom: 7px; }
.tcl-form input, .tcl-form textarea, .tcl-form select {
  width: 100%; padding: 12px 14px; border: 1px solid var(--tcl-border6); border-radius: 7px; font-size: 14px; font-family: inherit; color: #25344a; background: #fff;
}
.tcl-form input::placeholder, .tcl-form textarea::placeholder { color: #8895a7; opacity: 1; }
.tcl-form textarea { resize: vertical; }
.tcl-form__submit { cursor: pointer; background: var(--tcl-blue); color: #fff; font-size: 14px; font-weight: 600; padding: 13px 28px; border-radius: 7px; text-align: center; width: fit-content; border: none; font-family: inherit; }
.tcl-form__submit:hover { background: var(--tcl-blue-dark); }
.tcl-form__notice { border-radius: 8px; padding: 12px 16px; font-size: 13.5px; margin-bottom: 4px; }
.tcl-form__notice--success { background: #eaf9f1; color: #1a9c62; border: 1px solid #bfe9d3; }
.tcl-form__notice--error { background: #fdecec; color: #d4483f; border: 1px solid #f6c9c6; }

/* Contact Form 7 — theme styling (forms assigned in Site Settings → Forms) */
.wpcf7-form.tcl-form {
  display: flex; flex-direction: column; gap: 16px; max-width: var(--tcl-contact-form-width); margin: 0;
}
.wpcf7-form.tcl-form fieldset.hidden-fields-container,
.wpcf7-form.tcl-partner-form fieldset.hidden-fields-container {
  display: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important;
  height: 0 !important; overflow: hidden !important;
}
.wpcf7-form.tcl-form p:empty,
.wpcf7-form.tcl-partner-form p:empty { display: none; }
.wpcf7-form.tcl-form .wpcf7-form-control-wrap { display: block; }
.wpcf7-form.tcl-form .wpcf7-form-control:not(.wpcf7-submit) {
  width: 100%; padding: 12px 14px; border: 1px solid var(--tcl-border6); border-radius: 7px; font-size: 14px; font-family: inherit; color: #25344a; background: #fff;
}
.wpcf7-form.tcl-form .wpcf7-form-control:not(.wpcf7-submit):focus,
.wpcf7-form.tcl-form input:not([type="submit"]):focus,
.wpcf7-form.tcl-form textarea:focus,
.wpcf7-form.tcl-form select:focus,
.tcl-form input:focus,
.tcl-form textarea:focus,
.tcl-form select:focus {
  outline: none;
  border-color: var(--tcl-border6);
  box-shadow: none;
}
.wpcf7-form.tcl-form .wpcf7-form-control:not(.wpcf7-submit)::placeholder { color: #8895a7; opacity: 1; }
.wpcf7-form.tcl-form textarea.wpcf7-form-control { resize: vertical; }
.wpcf7-form.tcl-form input.wpcf7-submit,
.wpcf7-form.tcl-form .wpcf7-submit {
  cursor: pointer; background: var(--tcl-blue); color: #fff; font-size: 14px; font-weight: 600;
  padding: 13px 28px; border-radius: 7px; text-align: center; width: fit-content; border: none; font-family: inherit;
}
.wpcf7-form.tcl-form input.wpcf7-submit:hover,
.wpcf7-form.tcl-form .wpcf7-submit:hover { background: var(--tcl-blue-dark); }
.wpcf7-form.tcl-form p { margin: 0; }
.wpcf7-form.tcl-form .tcl-form__group { display: flex; flex-direction: column; gap: 0; margin: 0; }
.wpcf7-form .wpcf7-not-valid-tip {
  display: none;
  font-size: 12px;
  color: #d4483f;
  margin-top: 4px;
  line-height: 1.4;
}
.wpcf7-form .wpcf7-form-control-wrap:has(.wpcf7-not-valid) .wpcf7-not-valid-tip { display: block; }
.wpcf7-form.tcl-form .tcl-form__consent,
.wpcf7-form.tcl-partner-form .tcl-partner-form__consent { text-align: center; }
.wpcf7-form.tcl-form .tcl-form__consent .wpcf7-form-control-wrap,
.wpcf7-form.tcl-partner-form .tcl-partner-form__consent .wpcf7-form-control-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.wpcf7-form.tcl-form .tcl-form__consent .wpcf7-not-valid-tip,
.wpcf7-form.tcl-partner-form .tcl-partner-form__consent .wpcf7-not-valid-tip {
  margin-top: 8px;
  text-align: center;
  width: 100%;
}
.wpcf7-form.tcl-form .tcl-form__consent .wpcf7-list-item { margin: 0; }
.wpcf7-form.tcl-form .tcl-form__consent .wpcf7-list-item label {
  display: flex; justify-content: center; align-items: center; gap: 12px;
  font-size: 14px; color: #3d4a5c; cursor: pointer;
}
.wpcf7-form.tcl-form input[type="checkbox"] { width: 18px; height: 18px; flex: none; }

/* Submit row — button + spinner side by side (Contact + Partner) */
.wpcf7-form .tcl-form__submit-inner {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 12px;
  max-width: 100%;
}
.wpcf7-form .tcl-form__actions,
.wpcf7-form .tcl-partner-form__submit-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 12px;
  width: 100%;
}
.wpcf7-form.tcl-form .tcl-form__actions { justify-content: flex-start; }
.wpcf7-form .tcl-form__actions > p,
.wpcf7-form .tcl-partner-form__submit-row > p {
  display: contents;
}
.wpcf7-form.invalid .wpcf7-spinner,
.wpcf7-form.unaccepted .wpcf7-spinner {
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Form footer — response messages only (no spinner) */
.wpcf7-form .wpcf7-response-output { display: none !important; }
.wpcf7-form > .wpcf7-response-output,
.wpcf7-form > .wpcf7-validation-errors,
.wpcf7-form .wpcf7-validation-errors { display: none !important; }
/* CF7 puts the duplicate summary OUTSIDE the form — hide it; footer [response] stays visible */
.wpcf7:has(.wpcf7-form.tcl-form) .screen-reader-response,
.wpcf7:has(.wpcf7-form.tcl-partner-form) .screen-reader-response {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.wpcf7-form .tcl-form__footer,
.wpcf7-form .tcl-partner-form__footer {
  display: block;
  width: 100%;
  margin-top: 12px;
  min-height: 0;
}
.wpcf7-form.tcl-form .tcl-form__footer { margin-top: 12px; }
.wpcf7-form.tcl-partner-form .tcl-partner-form__footer {
  margin-top: 12px;
  text-align: center;
}
@keyframes tcl-spin { to { transform: rotate(360deg); } }
.wpcf7-form .wpcf7-spinner {
  visibility: hidden;
  opacity: 0;
  width: 22px;
  height: 22px;
  margin: 0;
  border: 2px solid #dfe6ef;
  border-top-color: var(--tcl-blue);
  border-radius: 50%;
  background: none !important;
  animation: tcl-spin 0.65s linear infinite;
  transition: opacity 0.15s ease;
  flex: none;
}
.wpcf7-form .wpcf7-spinner::before { display: none !important; }
.wpcf7-form.submitting .wpcf7-spinner {
  visibility: visible;
  opacity: 1;
}

/* CF7 response messages (v5.8+ uses form.sent / form.invalid on the form element) */
.wpcf7-form .tcl-form__footer .wpcf7-response-output,
.wpcf7-form .tcl-partner-form__footer .wpcf7-response-output {
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 13.5px;
  line-height: 1.5;
  border: 1px solid transparent;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}
.wpcf7-form.init .tcl-form__footer .wpcf7-response-output,
.wpcf7-form.init .tcl-partner-form__footer .wpcf7-response-output,
.wpcf7-form.submitting .tcl-form__footer .wpcf7-response-output,
.wpcf7-form.submitting .tcl-partner-form__footer .wpcf7-response-output,
.wpcf7-form.resetting .tcl-form__footer .wpcf7-response-output,
.wpcf7-form.resetting .tcl-partner-form__footer .wpcf7-response-output {
  display: none !important;
}
/* Validation — orange (footer only, CF7 default style) */
.wpcf7-form.invalid .tcl-form__footer .wpcf7-response-output,
.wpcf7-form.invalid .tcl-partner-form__footer .wpcf7-response-output,
.wpcf7-form.unaccepted .tcl-form__footer .wpcf7-response-output,
.wpcf7-form.unaccepted .tcl-partner-form__footer .wpcf7-response-output {
  display: block !important;
  background: #fff;
  color: #444;
  border-color: #ffb900;
  border-width: 2px;
}
/* Success — green (footer only) */
.wpcf7-form.sent .tcl-form__footer .wpcf7-response-output,
.wpcf7-form.sent .tcl-partner-form__footer .wpcf7-response-output {
  display: block !important;
  background: #eaf9f1;
  color: #1a9c62;
  border-color: #bfe9d3;
}
.wpcf7-form.tcl-partner-form.sent .tcl-partner-form__footer .wpcf7-response-output {
  text-align: center;
}
/* Send failed — red (footer only) */
.wpcf7-form.failed .tcl-form__footer .wpcf7-response-output,
.wpcf7-form.failed .tcl-partner-form__footer .wpcf7-response-output,
.wpcf7-form.aborted .tcl-form__footer .wpcf7-response-output,
.wpcf7-form.aborted .tcl-partner-form__footer .wpcf7-response-output,
.wpcf7-form.spam .tcl-form__footer .wpcf7-response-output,
.wpcf7-form.spam .tcl-partner-form__footer .wpcf7-response-output {
  display: block !important;
  background: #fdecec;
  color: #d4483f;
  border-color: #f6c9c6;
}
.wpcf7-form.tcl-partner-form .wpcf7-list-item { margin: 0; }
.wpcf7-form.tcl-partner-form .wpcf7-list-item label { display: flex; justify-content: center; align-items: center; gap: 12px; font-size: 14.5px; color: #3d4a5c; cursor: pointer; }
.wpcf7-form.tcl-partner-form input[type="checkbox"] { width: 20px; height: 20px; flex: none; }

/* Partner CF7 — match HTML prototype (gray fields, blue pill button) */
.wpcf7-form.tcl-partner-form {
  display: flex; flex-direction: column; gap: 18px; max-width: 100%; text-align: left; margin: 0;
}
.wpcf7-form.tcl-partner-form p:empty { display: none; margin: 0; padding: 0; }
.wpcf7-form.tcl-partner-form p { margin: 0; }
.wpcf7-form.tcl-partner-form .wpcf7-form-control-wrap { display: block; }
.wpcf7-form.tcl-partner-form input:not([type="submit"]):not([type="checkbox"]),
.wpcf7-form.tcl-partner-form select,
.wpcf7-form.tcl-partner-form textarea {
  width: 100%; padding: 18px 20px; border: 1px solid #eef1f6; background: #f4f5f9; border-radius: 8px;
  font-size: 15px; font-family: inherit; color: #25344a; box-sizing: border-box;
}
.wpcf7-form.tcl-partner-form input:not([type="submit"]):not([type="checkbox"]):focus,
.wpcf7-form.tcl-partner-form select:focus,
.wpcf7-form.tcl-partner-form textarea:focus,
.wpcf7-form.tcl-partner-form #tcl-partner-phone:focus,
.wpcf7-form.tcl-partner-form .iti__tel-input:focus {
  outline: none;
  border-color: #eef1f6;
  box-shadow: none;
}
.wpcf7-form.tcl-partner-form input::placeholder,
.wpcf7-form.tcl-partner-form textarea::placeholder { color: #8895a7; opacity: 1; }
.wpcf7-form.tcl-partner-form select { color: #5b6a7d; }
.wpcf7-form.tcl-partner-form textarea {
  height: 160px;
  min-height: 160px;
  resize: vertical;
}

/* intl-tel-input — flag dropdown + dial code (Partner phone) */
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field,
.wpcf7-form.tcl-partner-form .wpcf7-form-control-wrap[data-name="partner-phone"],
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .wpcf7-form-control-wrap,
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .iti,
.wpcf7-form.tcl-partner-form .wpcf7-form-control-wrap[data-name="partner-phone"] .iti,
.wpcf7-form.tcl-partner-form .iti.iti--allow-dropdown.iti--show-flags.iti--inline-dropdown {
  width: 100% !important;
  max-width: 100%;
  display: block;
  box-sizing: border-box;
  position: relative;
}
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .iti__tel-input,
.wpcf7-form.tcl-partner-form #tcl-partner-phone {
  width: 100% !important;
  padding: 18px 20px 18px 96px;
  border: 1px solid #eef1f6;
  background: #f4f5f9;
  border-radius: 8px;
  font-size: 15px;
  font-family: inherit;
  color: #25344a;
  box-sizing: border-box;
  min-height: 56px;
}
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .iti__tel-input::placeholder,
.wpcf7-form.tcl-partner-form #tcl-partner-phone::placeholder { color: #8895a7; opacity: 1; }
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field,
.wpcf7-form.tcl-partner-form .wpcf7-form-control-wrap[data-name="partner-phone"] {
  position: relative;
}
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .iti__country-container,
.wpcf7-form.tcl-partner-form .wpcf7-form-control-wrap[data-name="partner-phone"] .iti__country-container {
  padding: 0 !important;
}
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .iti__selected-country {
  background: transparent;
  border-radius: 8px 0 0 8px;
  padding-left: 14px;
}
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .iti__selected-country-primary,
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .iti__selected-dial-code {
  font-size: 15px;
  color: #5b6a7d;
}
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .iti__dropdown-content,
.wpcf7-form.tcl-partner-form .wpcf7-form-control-wrap[data-name="partner-phone"] .iti__dropdown-content,
.wpcf7-form.tcl-partner-form .iti__dropdown-content.iti--flexible-dropdown-width {
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  top: calc(100% + 4px) !important;
  min-width: 0 !important;
  border: 1px solid #eef1f6;
  border-radius: 8px;
  box-shadow: 0 12px 32px rgba(16, 42, 77, 0.12);
  max-height: 260px;
  font-family: inherit;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
  z-index: 30;
}
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .iti__search-input-wrapper,
.wpcf7-form.tcl-partner-form .wpcf7-form-control-wrap[data-name="partner-phone"] .iti__search-input-wrapper {
  padding: 5px;
  box-sizing: border-box;
}
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .iti__search-input,
.wpcf7-form.tcl-partner-form .wpcf7-form-control-wrap[data-name="partner-phone"] .iti__search-input {
  width: 100% !important;
  max-width: 100%;
  height: 34px;
  padding: 0 10px;
  margin: 0;
  border: 1px solid #eef1f6;
  border-radius: 6px;
  background: #f8f9fb;
  font-size: 13px;
  font-family: inherit;
  color: #25344a;
  box-sizing: border-box;
  display: block;
}
/* When search sits directly in dropdown (no wrapper), inset with margin without overflowing */
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .iti__dropdown-content > .iti__search-input,
.wpcf7-form.tcl-partner-form .wpcf7-form-control-wrap[data-name="partner-phone"] .iti__dropdown-content > .iti__search-input {
  width: calc(100% - 10px) !important;
  max-width: calc(100% - 10px);
  margin: 5px !important;
}
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .iti__search-input::placeholder,
.wpcf7-form.tcl-partner-form .wpcf7-form-control-wrap[data-name="partner-phone"] .iti__search-input::placeholder {
  color: #8895a7;
  opacity: 1;
}
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .iti__search-input:focus,
.wpcf7-form.tcl-partner-form .wpcf7-form-control-wrap[data-name="partner-phone"] .iti__search-input:focus {
  outline: none;
  border-color: #eef1f6;
  background: #f8f9fb;
  box-shadow: none;
}
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .iti__country-list,
.wpcf7-form.tcl-partner-form .wpcf7-form-control-wrap[data-name="partner-phone"] .iti__country-list {
  padding: 0 !important;
  max-width: 100%;
}
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .iti__country,
.wpcf7-form.tcl-partner-form .wpcf7-form-control-wrap[data-name="partner-phone"] .iti__country {
  padding: 9px 12px;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .iti__country.iti__highlight,
.wpcf7-form.tcl-partner-form .wpcf7-form-control-wrap[data-name="partner-phone"] .iti__country.iti__highlight {
  background: var(--tcl-bg-hover);
}
.wpcf7-form.tcl-partner-form .tcl-partner-phone-field .iti__dial-code,
.wpcf7-form.tcl-partner-form .wpcf7-form-control-wrap[data-name="partner-phone"] .iti__dial-code {
  color: #8895a7;
}

.wpcf7-form.tcl-partner-form .tcl-partner-form__submit-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 12px;
  width: 100%;
  margin-top: 16px;
}
.wpcf7-form.tcl-partner-form .tcl-partner-form__submit-row p,
.wpcf7-form.tcl-partner-form p:has(> .wpcf7-submit),
.wpcf7-form.tcl-partner-form p:has(> input.tcl-btn-pill) {
  display: contents;
  margin: 0;
}
.wpcf7-form.tcl-partner-form input.wpcf7-submit,
.wpcf7-form.tcl-partner-form .wpcf7-submit,
.wpcf7-form.tcl-partner-form .tcl-btn-pill {
  cursor: pointer; background: var(--tcl-blue); color: #fff; font-size: 15px; font-weight: 700;
  letter-spacing: .06em; padding: 17px 46px; border-radius: 40px; border: none; font-family: inherit;
  display: inline-block;
  width: auto !important;
  max-width: none;
  min-width: 0;
  margin: 0;
}
.wpcf7-form.tcl-partner-form input.wpcf7-submit:hover,
.wpcf7-form.tcl-partner-form .wpcf7-submit:hover { background: var(--tcl-blue-dark); }
.wpcf7-form.tcl-partner-form .tcl-partner-form__consent { margin: 0; text-align: center; }
.wpcf7-form.tcl-partner-form .tcl-partner-form__consent .wpcf7-list-item { margin: 0; }
.wpcf7-form.tcl-partner-form .tcl-partner-form__consent .wpcf7-list-item label {
  justify-content: center; font-size: 14.5px; color: #3d4a5c;
}
.wpcf7-form.tcl-partner-form .tcl-partner-form__consent .wpcf7-acceptance.not-valid,
.wpcf7-form.tcl-form .tcl-form__consent .wpcf7-acceptance.not-valid {
  outline: none;
}

.tcl-faq-list { display: flex; flex-direction: column; gap: 12px; min-width: 0; max-width: 100%; }
.tcl-faq-item { border: 1px solid var(--tcl-border4); border-radius: 9px; overflow: hidden; min-width: 0; max-width: 100%; }
.tcl-faq-question {
  cursor: pointer; padding: 16px 20px; display: flex; justify-content: space-between; align-items: center; gap: 16px;
  font-size: 14.5px; font-weight: 600; color: #25344a; background: #fff; width: 100%; max-width: 100%; text-align: left; border: none;
  box-sizing: border-box;
}
.tcl-faq-question__text { flex: 1; min-width: 0; overflow-wrap: break-word; }
.tcl-faq-question:hover { background: var(--tcl-bg-light); }
.tcl-faq-question__sign { color: var(--tcl-blue); font-size: 16px; flex: none; }
.tcl-faq-answer { margin: 0; padding: 0 20px 18px; font-size: 14px; line-height: 1.75; color: #5b6a7d; display: none; overflow-wrap: break-word; }
.tcl-faq-answer p { margin: 0 0 12px; }
.tcl-faq-answer p:last-child { margin-bottom: 0; }
.tcl-faq-item.is-open .tcl-faq-answer { display: block; }
.tcl-faq-item.is-open .tcl-faq-question { background: var(--tcl-bg-light); }

/* ---------- Partner ---------- */
.tcl-partner-page { max-width: 700px; margin: 0 auto; padding: 64px 24px 96px; }
.tcl-partner-page h1,
.tcl-partner-page .tcl-content > h1 { margin: 0 0 14px; text-align: center; font-size: 36px; font-weight: 700; color: #1c2635; }
.tcl-partner-page .tcl-content > .wp-block-paragraph:first-of-type,
.tcl-partner-page .tcl-content > p:first-of-type,
.tcl-partner-page__intro { margin: 0 auto 40px; max-width: 520px; text-align: center; font-size: 16px; line-height: 1.7; color: #5b6a7d; }
.tcl-partner-form { display: flex; flex-direction: column; gap: 18px; }
.tcl-partner-form input:not([type="submit"]):not([type="checkbox"]),
.tcl-partner-form select,
.tcl-partner-form textarea {
  width: 100%; padding: 18px 20px; border: 1px solid #eef1f6; background: #f4f5f9; border-radius: 8px; font-size: 15px; font-family: inherit; color: #25344a;
}
.tcl-partner-form textarea {
  height: 160px;
  min-height: 160px;
  resize: vertical;
}
.tcl-partner-form__phone-row { display: flex; gap: 12px; align-items: stretch; }
.tcl-partner-form__phone-row select { width: 110px; padding: 18px 14px; color: #5b6a7d; flex: none; }
.tcl-partner-form__phone-row input { flex: 1; }
.tcl-partner-form__submit-row { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; margin-top: 34px; }
.tcl-btn-pill { cursor: pointer; background: var(--tcl-blue); color: #fff; font-size: 15px; font-weight: 700; letter-spacing: .06em; padding: 17px 46px; border-radius: 40px; border: none; display: inline-block; width: auto !important; }
.tcl-btn-pill:hover { background: var(--tcl-blue-dark); }
.tcl-partner-form__consent { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 24px; font-size: 14.5px; color: #3d4a5c; text-align: center; }

/* ---------- Sidebar page layout (FAQ, legal pages, articles archive) ---------- */
.tcl-sidebar-page-layout { max-width: var(--tcl-max); margin: 0 auto; padding: 48px 24px 84px; display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 52px; align-items: start; }
.tcl-sidebar-page-layout > * { min-width: 0; }
.tcl-sidebar-page-layout h1 { margin: 0 0 34px; font-size: 34px; font-weight: 700; color: #1c2635; }

/* ---------- FAQ page ---------- */
.tcl-faq-page-item { margin-bottom: 30px; }
.tcl-faq-page-item h2 { margin: 0 0 12px; font-size: 22px; line-height: 1.35; font-weight: 700; color: #1c2635; }
.tcl-faq-page-item p { margin: 0; font-size: 15.5px; line-height: 1.8; color: #4a5768; }
.tcl-faq-page-item__answer { font-size: 15.5px; line-height: 1.8; color: #4a5768; }
.tcl-faq-page-item__answer p:last-child { margin-bottom: 0; }
.tcl-faq-page-footer { border-top: 1px solid var(--tcl-border4); padding-top: 26px; margin-top: 0; font-size: 15.5px; line-height: 1.8; color: #4a5768; }
.tcl-faq-page-footer p { margin: 0; font-size: 15.5px; line-height: 1.8; color: #4a5768; }
.tcl-faq-page-footer a { color: var(--tcl-blue); font-weight: 600; text-decoration: none; }
.tcl-faq-page-footer a:hover { text-decoration: underline; }

/* ---------- 404 page ---------- */
.tcl-not-found {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
  background: #142d51;
  overflow: hidden;
}
.tcl-not-found__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(100deg, rgba(16,36,64,.96) 0%, rgba(20,45,81,.88) 42%, rgba(23,51,92,.7) 100%);
}
.tcl-not-found__inner {
  position: relative;
  width: 100%;
  max-width: var(--tcl-max);
  margin: 0 auto;
  padding: 104px 24px 112px;
  text-align: center;
}
.tcl-not-found__eyebrow {
  font-size: 12px;
  letter-spacing: .16em;
  font-weight: 600;
  color: #93a8c8;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.tcl-not-found__code {
  font-size: 96px;
  line-height: 1;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.02em;
}
.tcl-not-found__title {
  margin: 20px auto 16px;
  max-width: 720px;
  font-size: 34px;
  line-height: 1.32;
  font-weight: 700;
  color: #fff;
}
.tcl-not-found__message {
  margin: 0 auto;
  max-width: 600px;
  font-size: 15px;
  line-height: 1.75;
  color: #c3cfe2;
}
.tcl-not-found__actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 30px;
}
.tcl-not-found__btn { padding: 13px 26px; border-radius: 6px; font-size: 14.5px; }
.tcl-not-found__btn-secondary {
  display: inline-block;
  padding: 13px 26px;
  border-radius: 6px;
  font-size: 14.5px;
  font-weight: 600;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.28);
  color: #fff;
  text-decoration: none;
}
.tcl-not-found__btn-secondary:hover {
  background: rgba(255,255,255,.16);
  color: #fff;
  text-decoration: none;
}
.tcl-not-found__hint {
  margin: 28px auto 0;
  max-width: 640px;
  font-size: 13.5px;
  line-height: 1.8;
  color: #93a8c8;
}
.tcl-not-found__hint a {
  color: #fff;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.tcl-not-found__hint a:hover { color: #fff; }

/* ---------- Generic page / 404 ---------- */
.tcl-page { max-width: 860px; margin: 0 auto; padding: 60px 24px 90px; }
.tcl-page h1 { margin: 0 0 18px; font-size: 36px; font-weight: 700; color: #1c2635; }

/* ---------- Generic Gutenberg content (About/Contact/FAQ/Partner pages) ---------- */
.tcl-content { overflow-wrap: break-word; }
.tcl-sidebar-page-layout .tcl-content,
.tcl-article-layout .tcl-content { min-width: 0; max-width: 100%; }
.tcl-content table { display: block; width: 100%; max-width: 100%; overflow-x: auto; }
.tcl-content pre,
.tcl-content .wp-block-code { max-width: 100%; overflow-x: auto; white-space: pre-wrap; word-break: break-word; }
.tcl-content iframe,
.tcl-content embed,
.tcl-content object,
.tcl-content video { max-width: 100%; }
.tcl-content h1 { margin: 0 0 18px; font-size: 36px; font-weight: 700; color: #1c2635; }
.tcl-content h2 { margin: 34px 0 14px; font-size: 24px; font-weight: 700; color: #1c2635; }
.tcl-content h3 { margin: 26px 0 12px; font-size: 19px; font-weight: 700; color: #25344a; }
.tcl-content p { margin: 0 0 20px; font-size: 16px; line-height: 1.85; color: #3d4a5c; }
.tcl-content ul, .tcl-content ol { margin: 0 0 20px; padding-left: 22px; font-size: 15.5px; line-height: 1.8; color: #3d4a5c; }
.tcl-content .wp-block-columns { gap: 2em; margin-bottom: 1.5em; }
.tcl-content .wp-block-column > *:first-child { margin-top: 0; }

/* Contact — grid layout aligned to header container (overrides WP flex columns + generic .tcl-content gap) */
.tcl-contact-page .tcl-content .wp-block-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 80px;
  align-items: start;
  margin-bottom: 0;
  width: 100%;
  max-width: 100%;
}
.tcl-contact-page .tcl-content .wp-block-column {
  min-width: 0;
  max-width: 100%;
  flex: unset !important;
  width: auto !important;
}

/* Native <details>/<summary> used for FAQ accordions (no plugin required) */
.tcl-content details {
  border: 1px solid var(--tcl-border4); border-radius: 9px; overflow: hidden; margin-bottom: 12px; background: #fff;
}
.tcl-content details summary {
  cursor: pointer; padding: 16px 20px; font-size: 14.5px; font-weight: 600; color: #25344a; list-style: none;
}
.tcl-content details summary::-webkit-details-marker { display: none; }
.tcl-content details summary::after { content: '+'; float: right; color: var(--tcl-blue); font-size: 16px; font-weight: 700; }
.tcl-content details[open] summary::after { content: '–'; }
.tcl-content details[open] summary { background: var(--tcl-bg-light); }
.tcl-content details p { padding: 0 20px 18px; margin: 0; font-size: 14px; color: #5b6a7d; }
.tcl-content details p:first-of-type { padding-top: 2px; }

/* Cards built from a Columns block (About "why choose us" style) */
.tcl-content .wp-block-column.tcl-card,
.tcl-content .tcl-card {
  border: 1px solid var(--tcl-border4); border-radius: 12px; padding: 26px 24px; background: #fff;
}
.tcl-content .tcl-card svg { display: block; margin-bottom: 14px; }
.tcl-content .tcl-card h3 { margin-top: 0; font-size: 16px; font-weight: 700; color: #25344a; margin-bottom: 10px; }
.tcl-content .tcl-card p { margin: 0; font-size: 13.5px; line-height: 1.7; color: #6b7889; }

/* ---------- Footer ---------- */
.tcl-footer { background: var(--tcl-footer-bg); color: var(--tcl-footer-text); padding: 52px 0 30px; }
.tcl-footer__grid { max-width: var(--tcl-max); margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1.3fr .7fr .7fr 1.3fr; gap: 36px; }
.tcl-footer__brand-link {
  display: inline-block;
  text-decoration: none;
  color: inherit;
  margin-bottom: 12px;
}
.tcl-footer__brand-link:hover,
.tcl-footer__brand-link:focus {
  text-decoration: none;
  color: inherit;
}
.tcl-footer__brand-row { display: flex; align-items: center; gap: 11px; margin-bottom: 0; }
.tcl-footer__brand-text { display: flex; flex-direction: column; line-height: 1; }
.tcl-footer__brand-sub { font-size: 9.5px; font-weight: 600; letter-spacing: .28em; color: #a8b1be; }
.tcl-footer__brand-main { font-size: 18px; font-weight: 800; letter-spacing: .02em; margin-top: 3px; color: #fff; }
.tcl-footer__brand-main span { color: #f0625a; }
.tcl-footer__tag { font-size: 13.5px; color: #a8b1be; }
.tcl-footer__links { display: flex; flex-direction: column; gap: 11px; font-size: 13.5px; list-style: none; margin: 0; padding: 0; }
.tcl-footer__links a { color: var(--tcl-footer-text); }
.tcl-footer__links a:hover { color: #fff; }
.tcl-footer__disclosure-title { font-size: 12.5px; font-weight: 700; letter-spacing: .08em; color: #fff; text-transform: uppercase; margin-bottom: 12px; }
.tcl-footer__disclosure-text { margin: 0; font-size: 12.5px; line-height: 1.7; color: #a8b1be; }
.tcl-footer__bottom { max-width: var(--tcl-max); margin: 34px auto 0; padding: 20px 24px 0; border-top: 1px solid #4c5563; font-size: 12.5px; color: #8f98a6; }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 900px) {
  .tcl-articles-layout, .tcl-article-layout, .tcl-sidebar-page-layout { grid-template-columns: 1fr; }
  .tcl-sidebar { position: static; margin-top: 40px; }
  .tcl-contact-layout { grid-template-columns: 1fr; gap: 40px; }
  .tcl-contact-page .tcl-content .wp-block-columns { grid-template-columns: 1fr; gap: 48px; }
  .tcl-footer__grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .tcl-stats-grid { grid-template-columns: repeat(2,1fr); gap: 30px; }
  .tcl-why-grid, .tcl-about-grid { grid-template-columns: 1fr; }
  .tcl-news-grid, .tcl-related-grid, .tcl-top-picks { grid-template-columns: 1fr; }
  .tcl-partners-grid { grid-template-columns: repeat(3,1fr); }
  .tcl-offer__facts { grid-template-columns: repeat(2,1fr); }
  .tcl-offer__proscons { grid-template-columns: 1fr; }
  .tcl-cmp-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tcl-cmp-archive-hero__title { font-size: 30px; }
}

@media (max-width: 720px) {
  .tcl-nav { display: none; position: absolute; top: 72px; left: 0; right: 0; background: #fff; flex-direction: column;
    align-items: stretch; border-bottom: 1px solid var(--tcl-border); box-shadow: 0 14px 30px rgba(16,42,77,.1); padding: 10px; gap: 2px; }
  .tcl-nav.is-open { display: flex; }
  .tcl-nav__item { width: 100%; }
  .tcl-dropdown { position: static; box-shadow: none; border: none; padding: 0 0 0 14px; }
  .tcl-nav__cta { margin-left: 0; text-align: center; }
  .tcl-nav__burger {
    display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 6px;
    background: none; border: 1px solid var(--tcl-border6); cursor: pointer;
  }
  .tcl-hero-home__title { font-size: 28px; }
  .tcl-footer__grid { grid-template-columns: 1fr; }
  .tcl-articles-layout { padding: 32px 16px 56px; }
  .tcl-articles-title { font-size: 28px; }
  .tcl-article-card { flex-direction: column; gap: 14px; padding: 14px; }
  .tcl-article-card__img { width: 100%; height: auto; aspect-ratio: 16 / 10; }
  .tcl-article-card__title { font-size: 16px; }
  .tcl-sidebar-page-layout { padding: 32px 16px 56px; gap: 32px; }
  .tcl-sidebar-page-layout h1,
  .tcl-content h1 { font-size: 28px; }
  .tcl-content .wp-block-columns { flex-direction: column; }
  .tcl-content .wp-block-columns:not(.is-not-stacked) > .wp-block-column { flex-basis: 100% !important; }
  .tcl-sidebar-post__img { width: 88px; height: 60px; }
  .tcl-footer__grid { padding: 0 16px; }
  .tcl-footer__bottom { padding: 20px 16px 0; }
  .tcl-footer__brand-row { flex-wrap: wrap; }
}

@media (max-width: 560px) {
  .tcl-stats-grid { grid-template-columns: 1fr 1fr; }
  .tcl-partners-grid { grid-template-columns: 1fr 1fr; }
  .tcl-offer__facts { grid-template-columns: 1fr; }
  .tcl-offer__head { flex-direction: column; align-items: flex-start; }
  .tcl-cmp-hero__title, .tcl-article-title { font-size: 26px; }
  .tcl-cmp-archive-grid { grid-template-columns: 1fr; }
  .tcl-cmp-archive-main__inner { padding-top: 56px; padding-bottom: 72px; }
  .tcl-cmp-archive-hero__title { font-size: 26px; }
  .tcl-not-found__code { font-size: 72px; }
  .tcl-not-found__title { font-size: 28px; }
  .tcl-not-found__inner { padding: 72px 24px 88px; }
  .tcl-cmp-hero__inner { padding: 28px 20px 30px; }
  .tcl-cmp-hero__intro { display: none; }
  .tcl-cmp-hero__bg img { object-position: 70% center; }
}

.tcl-dropdown__count { display: none; }

@media (min-width: 561px) and (max-width: 768px) {
  .tcl-cmp-hero__inner { padding: 32px 24px 34px; }
  .tcl-cmp-hero__intro { display: none; }
  .tcl-cmp-hero__bg img { object-position: 70% center; }
}
/* ---------- Editorial & FAQ block ---------- */
.tcl-editorial-wrap { background: #f8f9fb; border-top: 1px solid #e8ecf1; }
.tcl-editorial { max-width: var(--tcl-max); margin: 0 auto; padding: 56px 24px 64px; display: flex; flex-direction: column; gap: 48px; }
.tcl-ed-content { display: flex; flex-direction: column; gap: 32px; }
.tcl-ed-section { display: flex; flex-direction: column; gap: 12px; }
.tcl-ed-heading { font-size: 20px; font-weight: 700; color: #1a2a3a; margin: 0; line-height: 1.35; }
.tcl-ed-para { font-size: 15px; line-height: 1.8; color: #4a5568; margin: 0; }

.tcl-faq { display: flex; flex-direction: column; gap: 0; }
.tcl-faq__title { font-size: 22px; font-weight: 700; color: #1a2a3a; margin: 0 0 20px; }
.tcl-faq__list { display: flex; flex-direction: column; border-top: 1px solid #e8ecf1; }
.tcl-faq__item { border-bottom: 1px solid #e8ecf1; }
.tcl-faq__q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: none; border: none; padding: 16px 0; font-size: 15px; font-weight: 600; color: var(--tcl-blue); text-align: left; cursor: pointer; line-height: 1.4; }
.tcl-faq__q:hover { color: var(--tcl-blue-dark, #1a4fa8); }
.tcl-faq__icon { flex: none; transition: transform .2s; }
.tcl-faq__q[aria-expanded="true"] .tcl-faq__icon { transform: rotate(180deg); }
.tcl-faq__a { padding: 0 0 16px; font-size: 14.5px; line-height: 1.75; color: #4a5568; }
.tcl-faq__a p { margin: 0; }

@media (max-width: 768px) {
  .tcl-editorial { padding: 36px 20px 48px; gap: 32px; }
  .tcl-ed-heading { font-size: 17px; }
}
