/* Tu Defensor Criminalista — responsive fixes on top of the mirrored Elementor styles.
 * Added to every page (after Elementor's CSS) by _dev/build.js. Nothing outside the media
 * queries below changes, so phones, tablets and wide screens look exactly like the live site.
 */

/* ---------------------------------------------------------------------------------------
   Laptop header (1025–1535px).
   The header row (logo · menu · phone box) is laid out for 1536px+. On laptop screens the
   live site's menu wraps "Courthouses" onto a second line, the phone number breaks over 2–3
   lines and the header grows from 164px to as much as 269px. Here the row uses more of the
   screen, the menu and phone number stay on one line, and the logo, menu spacing and phone
   size scale down smoothly with the screen width.
   Header template: elementor-265 · row 245bc32 · logo c0752f7 · menu d78092a ·
   phone box a498f97 (button ffebd9d). The sticky copy Elementor makes uses the same classes.
   --------------------------------------------------------------------------------------- */
@media (min-width: 1025px) and (max-width: 1535px) {
  .elementor-265 .elementor-element-245bc32 > .e-con-inner {
    width: 96% !important;
    gap: 14px !important;
  }

  .elementor-265 .elementor-element-c0752f7 {
    flex: 0 1 clamp(180px, 20vw, 300px) !important;
    min-width: 0;
  }
  .elementor-265 .elementor-element-c0752f7 img {
    width: 100% !important;
    height: auto !important;
  }

  .elementor-265 .elementor-element-d78092a {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0;
  }
  .elementor-265 .elementor-element-d78092a .elementor-nav-menu--main > .elementor-nav-menu {
    flex-wrap: nowrap !important;
  }
  /* 6px padding / 14px text at 1025px, growing to Elementor's own 20px / 16px by ~1535px */
  .elementor-265 .elementor-element-d78092a .elementor-nav-menu--main .elementor-item {
    padding-left: clamp(6px, calc((100vw - 1025px) * 0.028 + 6px), 20px) !important;
    padding-right: clamp(6px, calc((100vw - 1025px) * 0.028 + 6px), 20px) !important;
    font-size: clamp(14px, calc((100vw - 1025px) * 0.004 + 14px), 16px) !important;
  }

  .elementor-265 .elementor-element-a498f97 {
    flex: 0 0 auto !important;
  }
  .elementor-265 .elementor-element-ffebd9d .elementor-button {
    padding-left: clamp(12px, 1.3vw, 25px) !important;
    padding-right: clamp(12px, 1.3vw, 25px) !important;
  }
  .elementor-265 .elementor-element-ffebd9d .elementor-button-text {
    white-space: nowrap !important;
    font-size: clamp(17px, 1.45vw, 22px) !important;
  }
}

/* ---------------------------------------------------------------------------------------
   Home page "Get a Free Consultation" block, laptops (1025–1535px).
   --------------------------------------------------------------------------------------- */
@media (min-width: 1025px) and (max-width: 1535px) {
  /* MarkUp TDC-MK-1700 "One line": "LET US HELP. Worst Mistake You Can Make Is To Wait"
     wrapped onto a second line. The line needs ~21.35px of width per 1px of type and its
     column is ~0.2 × screen width + 170px, so the size follows the column (17px at 1040px,
     Elementor's 19–20px from ~1280px up) and it always fits on one line. */
  .elementor-element-76aa987 p {
    font-size: min(19px, calc(0.92vw + 7.8px)) !important;
  }

  /* MarkUp TDC-MK-1699 "Field overlapping text": the two-column fields are only 181–224px
     wide on laptops, so their placeholders ("First Name (Of Accused)", "Date Of Birth (Of
     Accused)") ran under the field edge. Text follows the field width (14px at 1040px up to
     17px) with slightly tighter padding, so every placeholder fits inside its field. */
  .elementor-element-9e2136d .elementor-field-group .elementor-field,
  .elementor-element-9e2136d .elementor-field-group .elementor-field::placeholder {
    font-size: clamp(14px, calc(0.9vw + 4.6px), 17px) !important;
  }
  .elementor-element-9e2136d .elementor-field-group .elementor-field:not(select) {
    padding-left: 12px !important;
    padding-right: 8px !important;
  }
}

/* Keyboard focus shows a ring (audit line DES-02). Links, buttons and fields get one, and every
   library rule that removes the outline on :focus (sliders, menus, date picker, range filters,
   the language switcher) has a :focus-visible rule drawing it back: mouse clicks stay clean,
   keyboard focus is always visible. */
a:focus-visible, button:focus-visible, [role="button"]:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:not([tabindex="-1"]):focus-visible,
.jet-listing .slick-list:focus-visible, .jet-listing-dynamic-field__content .slick-list:focus-visible,
.jet-form input[type=range].jet-form__field.range-field:focus-visible, a:not([href]):not([tabindex]):focus-visible,
.trp-language-item:focus-visible, .slick-list:focus-visible,
.elementor-slick-slider .slick-next:focus-visible, .elementor-slick-slider .slick-prev:focus-visible,
.elementor-slick-slider ul.slick-dots li button:focus-visible,
.jet-range__slider .jet-range__slider__input:focus-visible,
.jet-range__inputs__group input[min-range]:focus-visible, .jet-range__inputs__group input[max-range]:focus-visible,
.jet-filter-items-dropdown .jet-filter-items-search__input:focus-visible,
.flatpickr-calendar:focus-visible, .flatpickr-current-month .flatpickr-monthDropdown-months:focus-visible,
.flatpickr-current-month input.cur-year:focus-visible, .flatpickr-days:focus-visible,
.flatpickr-day.nextMonthDay:focus-visible, .flatpickr-day.prevMonthDay:focus-visible, .flatpickr-day:focus-visible,
.elementor-field-group .elementor-field-textual:focus-visible, .flatpickr-time input:focus-visible {
  outline: 2px solid #D2A643;
  outline-offset: 2px;
}

/* "View all" under a section that shows part of a list (audit line DES-08). In a list or posts grid
   it is one more item, styled like the others; elsewhere a line in the text colour around it. */
.tdc-view-all {
  font-weight: 600;
}
.tdc-view-all a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
p.tdc-view-all {
  margin: 12px 0 0;
}
p.tdc-view-all a {
  color: inherit;
}

/* A call to action ending a home page section that had none (audit line DES-09): the site's
   navy button, spaced from what is above it; in the results column, lined up on the left. */
.tdc-section-cta {
  margin-top: 20px;
}
.tdc-section-cta.elementor-align-left {
  align-self: flex-start;
}
.tdc-section-cta .elementor-button {
  background-color: #1D2939;
  color: #FFFFFF;
}

/* FAQ toggles show the firm's logo mark (audit line DES-10): the header logo's own file
   (500x100) at 201x40, moved so the 33x33 frame shows only its round emblem; turned over while
   the answer is open. */
.tdc-faq .jet-toggle__label-icon .jet-toggle__icon {
  width: 33px;
  height: 33px;
}
.tdc-faq .tdc-faq-mark {
  display: block;
  position: relative;
  width: 33px;
  min-width: 33px;
  height: 33px;
  flex-shrink: 0;
  overflow: hidden;
}
.tdc-faq .tdc-faq-mark img {
  position: absolute;
  top: 0;
  left: -83px;
  width: 201px;
  max-width: none;
  height: 40px;
}
.tdc-faq .jet-toggle.active-toggle .tdc-faq-mark {
  transform: rotate(180deg);
}

/* Long web addresses in the text (a source list's census.gov link) wrap rather than push the page
   sideways on phones (audit line INF-20). */
p, li {
  overflow-wrap: break-word;
}

/* A call card between rows of a grid of cards takes the whole row (audit line INF-20). */
.jet-listing-grid__items > .jet-listing-grid__item.tdc-cta-row {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  display: flex;
  justify-content: center;
}

/* The practice-area pages' side column (office and map, Practice Areas, Locations) stays in view
   while the article scrolls, on desktop; taller than the screen, it scrolls on its own. */
@media (min-width: 1025px) {
  .tdc-sidebar {
    position: sticky !important;
    top: 180px;
    align-self: flex-start !important;
    max-height: calc(100vh - 200px);
    overflow-y: auto;
    scrollbar-width: thin;
  }
}

/* ---------------------------------------------------------------------------------------
   Design pass (22 Oct 2026)
   --------------------------------------------------------------------------------------- */
/* "View all" after part of a list: centred under it, with the gold rule of the site's links,
   instead of a small underlined line against the left edge. */
p.tdc-view-all {
  width: 100%;
  margin: 24px 0 12px;
  text-align: center;
}
p.tdc-view-all a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Myriad Pro Semibold", sans-serif;
  font-size: 16px;
  text-decoration: none;
  border-bottom: 2px solid #D2A643;
  padding-bottom: 2px;
}
p.tdc-view-all a::after { content: "\2192"; color: #D2A643; }
p.tdc-view-all a:hover { color: #D2A643; }

/* The call card closing a page sits outside the page's column: centred, clear of the edges. */
main + .tdc-cta, .elementor-location-single + .tdc-cta, body > .tdc-cta {
  margin: 32px auto 48px !important;
  width: calc(100% - 32px);
}
/* In a narrow column (a blog post's sidebar) the photo and the button stack instead of
   squeezing the button onto three lines. */
.tdc-cta { flex-wrap: wrap; }
.tdc-cta > span { flex: 1 1 200px; }

/* Paragraphs in a text block are spaced apart (the legal pages and Site Credits had none). */
.elementor-widget-text-editor p + p { margin-top: 14px; }

/* Practice-area cards: the description sits under its title and the button at the bottom,
   instead of the description floating in the middle of the card. */
.jet-listing-grid--1886 .elementor-element-471526e { justify-content: flex-start !important; }
.jet-listing-grid--1886 .elementor-element-471526e > .elementor-widget-button { margin-top: auto; }

/* Review cards (home page, practice pages' carousel, Reviews page): the same 7 lines on every card,
   so the cards are the same height; Read More opens the whole review in a pop-up (assets/tdc/reviews.js). */
.jet-listing-grid--307 .elementor-element-092e390 .jet-listing-dynamic-field__content,
.jet-listing-grid--2918 .elementor-element-c5a11b7 .jet-listing-dynamic-field__content {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7;
  line-clamp: 7;
  overflow: hidden;
  min-height: 7lh;   /* a short review keeps the same height, so Read More lines up */
}
dialog.tdc-review-dialog { width: min(640px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 0; border-radius: 12px; background: #fff; color: #1d2939; box-shadow: 0 30px 70px rgba(10,15,22,.35); overflow: auto; }
dialog.tdc-review-dialog::backdrop { background: rgba(10,15,22,.6); }
html.tdc-review-open { overflow: hidden; }
.tdc-review-dialog .tdc-review-body { padding: 36px 8px 0; }
.tdc-review-dialog .tdc-review-body .jet-listing-dynamic-field__content { min-height: 0; display: block; -webkit-line-clamp: unset; line-clamp: none; overflow: visible; }
.tdc-review-dialog .tdc-review-body .e-con, .tdc-review-dialog .tdc-review-body .e-con-inner { box-shadow: none !important; }
.tdc-review-dialog .tdc-review-close { position: absolute; top: 8px; right: 8px; z-index: 2; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #f3efe4; color: #1d2939; font-size: 26px; line-height: 1; cursor: pointer; padding: 0; }
.tdc-review-dialog .tdc-review-close:hover, .tdc-review-dialog .tdc-review-close:focus-visible { background: #D2A643; color: #1d2939; }
.tdc-review-dialog .tdc-review-source { display: inline-block; margin: 4px 28px 24px; color: #a9822c; font-family: "Myriad Pro Semibold", sans-serif; font-size: 15px; text-decoration: none; border-bottom: 2px solid #D2A643; }
.tdc-review-dialog .tdc-review-source[hidden] { display: none; }

/* The two-column FAQ block: an open answer stretched the question beside it into a tall white
   box over empty space. Each question now keeps its own height (the grid keeps its order). */
.elementor-element-81bd00f .jet-accordion__inner { align-items: start; }

/* Courthouse cards two across on tablets (the build marks the grid grid-col-tablet-2; the widget's
   own tablet setting of 3 is overridden here): "COURTHOUSE" in capitals is wider than a third of a
   tablet screen and pushed Court Houses 6px sideways. */
@media (min-width: 768px) and (max-width: 1024px) {
  .jet-listing-grid__items.jet-listing-grid--7252 { --columns: 2 !important; }
}

/* Spanish practice-area card titles run to six or seven lines ("Abogado especializado en conducción
   bajo los efectos del cannabis en el condado de Kern"): smaller type on the Spanish cards, same
   words (Norman, 23 Oct 2026). */
.jet-listing-grid--1886 .elementor-image-box-title { font-size: 19px !important; line-height: 1.25 !important; }   /* MarkUp pin 21: about half the old size, both languages */

/* Table of contents on the practice pages, after superiorcarpetandducts.com (Norman, 23 Oct 2026):
   a small label, lines down the left instead of bullets, sub-sections smaller and indented, the
   section being read in gold. On phones and tablets the first sections show, with "Show all"
   (assets/tdc/toc.js). */
.elementor-widget-table-of-contents .elementor-toc__header { padding: 0 0 10px; border: 0; }
.elementor-widget-table-of-contents .elementor-toc__header-title { font-family: "Myriad Pro Semibold", sans-serif !important; font-size: 12px !important; line-height: 1.3 !important; letter-spacing: .1em; text-transform: uppercase; color: #6b7380 !important; margin: 0; }
.elementor-widget-table-of-contents .elementor-toc__body { padding: 0; max-height: calc(100vh - 240px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: #e6e1d3 transparent; }
.elementor-widget-table-of-contents .elementor-toc__list-wrapper { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.elementor-widget-table-of-contents .elementor-toc__list-wrapper .elementor-toc__list-wrapper { margin: 7px 0 0 13px; }
.elementor-widget-table-of-contents .elementor-toc__list-item { margin: 0; padding: 0; }
.elementor-widget-table-of-contents .elementor-toc__list-item-text-wrapper { display: block; }
.elementor-widget-table-of-contents .elementor-toc__list-item-text-wrapper > i,
.elementor-widget-table-of-contents .elementor-toc__list-item-text-wrapper::before { display: none !important; }
.elementor-widget-table-of-contents a.elementor-toc__list-item-text { display: block; font-family: "Myriad Pro REG", sans-serif; font-size: 14.5px !important; line-height: 1.4 !important; color: #3a4350 !important; text-decoration: none !important;
  border-left: 2px solid #e6e1d3; padding-left: 11px; transition: border-color .18s, color .18s; }
.elementor-widget-table-of-contents .elementor-toc__list-wrapper .elementor-toc__list-wrapper a.elementor-toc__list-item-text { font-size: 13px !important; line-height: 1.35 !important; color: #6b7380 !important; }
.elementor-widget-table-of-contents a.elementor-toc__list-item-text:hover,
.elementor-widget-table-of-contents a.elementor-toc__list-item-text.elementor-item-active { border-color: #D2A643; color: #a9822c !important; }
.elementor-widget-table-of-contents a.elementor-toc__list-item-text.elementor-item-active { font-family: "Myriad Pro Semibold", sans-serif; }
.tdc-toc-more { display: none; }
@media (prefers-reduced-motion: reduce) { .elementor-widget-table-of-contents a.elementor-toc__list-item-text { transition: none; } }
@media (max-width: 1024px) {
  .elementor-widget-table-of-contents .elementor-toc__body { max-height: 196px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 60%, transparent); mask-image: linear-gradient(#000 60%, transparent); }
  .elementor-widget-table-of-contents.tdc-toc-open .elementor-toc__body { max-height: none; -webkit-mask-image: none; mask-image: none; }
  .elementor-widget-table-of-contents .tdc-toc-more, .elementor-widget-table-of-contents .tdc-toc-more:hover, .elementor-widget-table-of-contents .tdc-toc-more:focus { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 6px; cursor: pointer;
    font-family: "Myriad Pro Semibold", sans-serif; font-size: 15px; color: #a9822c; }
  .elementor-widget-table-of-contents .tdc-toc-more:hover { text-decoration: underline; text-underline-offset: 3px; }
  .tdc-toc-more::after { content: ""; width: 7px; height: 7px; border-right: 2px solid; border-bottom: 2px solid; transform: rotate(45deg) translateY(-2px); }
  .tdc-toc-open .tdc-toc-more::after { transform: rotate(-135deg) translateY(-2px); }
  .tdc-toc-more:focus-visible { outline: 2px solid #D2A643; outline-offset: 2px; }
}

/* Where a very long run of text is split (audit line CON-04) a short gold rule goes in, where the
   call card used to be (no call cards on any page, Norman, 23 Oct 2026). */
hr.tdc-break { width: 64px; height: 0; margin: 26px 0; border: 0; border-top: 2px solid #D2A643; background: none; opacity: 1; }

.jet-radio-list__row[hidden] { display: none !important; }   /* a source with no review in that list */
/* The Google button in the review lists' filter (All / Avvo / Yelp / Google): its icon the way the
   site draws Avvo's and Yelp's, white when chosen or hovered on the Reviews page (Norman, 23 Oct 2026). */
.t--home-reviews-filter .jet-radio-list__row:nth-child(5) .jet-radio-list__input ~ .jet-radio-list__button::before,
.t--reviews-filter .jet-radio-list__row:nth-child(5) .jet-radio-list__input ~ .jet-radio-list__button::before {
  content: ""; display: inline-block; vertical-align: middle; width: 30px; height: 20px; transition: filter .3s;
  background: url("/assets/img/tdc/google-g.svg") center / contain no-repeat !important; }
.t--reviews-filter .jet-radio-list__row:nth-child(5) .jet-radio-list__input ~ .jet-radio-list__button::before { margin-right: 10px; width: 20px !important; height: 25px !important; }
.t--reviews-filter .jet-radio-list__row:nth-child(5) .jet-radio-list__button:hover::before,
.t--reviews-filter .jet-radio-list__row:nth-child(5) .jet-radio-list__input:checked ~ .jet-radio-list__button::before { filter: brightness(0) invert(1); }


/* Long page titles (mostly Spanish, up to 117 characters) took five lines of the banner's largest type:
   smaller by length, same words; the breadcrumb's last item ends in "…" on one line (build.js,
   longTitles; Norman, 23 Oct 2026). */
h1.tdc-h1-long { font-size: 42px !important; line-height: 1.15 !important; }
h1.tdc-h1-xlong { font-size: 36px !important; line-height: 1.18 !important; }
@media (max-width: 1024px) {
  h1.tdc-h1-long { font-size: 34px !important; }
  h1.tdc-h1-xlong { font-size: 30px !important; }
}
@media (max-width: 767px) {
  h1.tdc-h1-long { font-size: 25px !important; }
  h1.tdc-h1-xlong { font-size: 22px !important; }
}
ul.tdc-crumbs { flex-wrap: nowrap !important; max-width: 100%; }
ul.tdc-crumbs > li { flex: none; }
ul.tdc-crumbs > li:last-child { flex: 0 1 auto; min-width: 0; }
ul.tdc-crumbs > li:last-child .elementor-icon-list-text { display: block; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---------------------------------------------------------------------------------------
   MarkUp board 60 (Wil, 22 Oct 2026)
   --------------------------------------------------------------------------------------- */
/* Pins 7, 23, 10: the Court Houses and Reviews filters look like buttons (a framed box, filled
   when chosen); on phones they are smaller and sit several to a row. */
.elementor-element-31e79e1 .jet-radio-list__button,
.t--reviews-filter .jet-radio-list__button { border: 1px solid #c9ced8 !important; border-radius: 4px !important; background: #fff; }
.elementor-element-31e79e1 .jet-radio-list__button:hover,
.t--reviews-filter .jet-radio-list__button:hover { border-color: #1d2939 !important; }
.elementor-element-31e79e1 .jet-radio-list__input:checked ~ .jet-radio-list__button,
.t--reviews-filter .jet-radio-list__input:checked ~ .jet-radio-list__button { border-color: #1d2939 !important; }
.elementor-element-31e79e1 fieldset, .t--reviews-filter fieldset { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.elementor-element-31e79e1 .jet-radio-list__row, .t--reviews-filter .jet-radio-list__row { margin: 0 !important; }
@media (max-width: 767px) {
  .elementor-element-31e79e1 fieldset, .t--reviews-filter fieldset { gap: 8px; }
  .elementor-element-31e79e1 .jet-radio-list__button, .t--reviews-filter .jet-radio-list__button { padding: 7px 12px !important; font-size: 13px !important; }
  .elementor-element-31e79e1 .jet-radio-list__row, .t--reviews-filter .jet-radio-list__row { width: auto !important; flex: 0 0 auto; }
}
/* Pins 11, 12, 15: the table of contents and the side column show no scroll bar until the mouse is
   over them; the table of contents box has half its padding. */
.elementor-element-6e69a5e { padding: 15px !important; }
.elementor-widget-table-of-contents .elementor-toc__body, .tdc-sidebar { scrollbar-width: thin; scrollbar-color: transparent transparent; }
.elementor-widget-table-of-contents .elementor-toc__body:hover, .tdc-sidebar:hover { scrollbar-color: #d9d4c7 transparent; }
.elementor-widget-table-of-contents .elementor-toc__body::-webkit-scrollbar, .tdc-sidebar::-webkit-scrollbar { width: 6px; }
.elementor-widget-table-of-contents .elementor-toc__body::-webkit-scrollbar-thumb, .tdc-sidebar::-webkit-scrollbar-thumb { background: transparent; }
.elementor-widget-table-of-contents .elementor-toc__body:hover::-webkit-scrollbar-thumb, .tdc-sidebar:hover::-webkit-scrollbar-thumb { background: #d9d4c7; }
/* Pins 13, 14: the practice pages' columns and the side column's boxes 40% closer (50px to 30px). */
@media (min-width: 1025px) {
  .elementor-element-f77187e > .e-con-inner { column-gap: 30px !important; gap: 30px !important; }
  .elementor-element-7221b28 { gap: 30px !important; }
}
/* Pin 16: less space between a heading and its paragraph in the practice pages' text. */
.elementor-element-0eef8fe .jet-listing-dynamic-field__content :is(h2, h3, h4) { margin-bottom: 10px !important; }
/* Pin 17: no empty space under the practice pages' top photo. */
.elementor-element-2da9293 .elementor-widget-container { margin-bottom: 0 !important; line-height: 0; }
.elementor-element-2da9293 img { display: block; }
/* Pin 19: Sources in the text column under the last paragraph, as a box. */
.tdc-sources--in { margin: 34px 0 0; padding: 18px 22px 8px; background: #f7f5ef; border: 1px solid #e6e1d3; border-radius: 6px; color: #1d2939; font-size: 14px; line-height: 1.5; }
.tdc-sources--in h3 { margin: 0 0 10px !important; font-size: 18px !important; line-height: 1.3 !important; color: #1d2939; }
.tdc-sources--in ol { margin: 0 0 10px; padding-left: 22px; }
.tdc-sources--in li { margin: 0 0 6px !important; font-size: 14px; }
/* Pin 20: the contact card closing each practice page (after superiorcarpetandducts.com). */
.tdc-ccard { margin: 26px 0; padding: 22px; background: #f7f5ef; border: 1px solid #e6e1d3; border-radius: 6px; }
.tdc-ccard__rows { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 700px) { .tdc-ccard__rows { grid-template-columns: 1fr 1fr; } .tdc-ccard__row--wide { grid-column: 1 / -1; } }
.tdc-ccard__row, .tdc-ccard__fact { display: flex; align-items: flex-start; gap: 12px; padding: 13px 15px; background: #fff; border: 1px solid #e6e1d3; border-radius: 6px; min-width: 0; }
a.tdc-ccard__row { color: #1d2939 !important; text-decoration: none !important; transition: border-color .15s, box-shadow .15s; }
a.tdc-ccard__row:hover { border-color: #D2A643; box-shadow: 0 4px 14px rgba(29,41,57,.09); }
.tdc-ccard__row svg, .tdc-ccard__fact svg { flex: none; width: 16px; height: 16px; margin-top: 3px; color: #D2A643; }
.tdc-ccard__row span, .tdc-ccard__fact span { display: block; min-width: 0; font-size: 16px; line-height: 1.45; color: #1d2939; overflow-wrap: anywhere; }
.tdc-ccard__row b, .tdc-ccard__fact b { display: block; margin-bottom: 2px; font-family: "Myriad Pro Semibold", sans-serif; font-weight: 400; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: #6b7380; }
.tdc-ccard__facts { display: grid; gap: 12px; margin-top: 12px; }
a.tdc-ccard__cta { display: inline-flex; align-items: center; min-height: 46px; margin-top: 16px; padding: 0 22px; border-radius: 4px; background: #D2A643; color: #1d2939 !important; font-family: "Myriad Pro Semibold", sans-serif; font-size: 16px; text-decoration: none !important; }
a.tdc-ccard__cta:hover, a.tdc-ccard__cta:focus-visible { background: #1d2939; color: #fff !important; }

/* The forms' fields are light, so they stand out on the dark form panels (Wil, 23 Oct 2026: "Form
   blends in too much and easy to miss"). */
.elementor-form .elementor-field-textual, .elementor-form textarea, .elementor-form textarea.elementor-field, .elementor-form select.elementor-field {
  background-color: #f1f4f8 !important; color: #1d2939 !important; border: 1px solid #c9d1dc !important; border-radius: 4px !important; }
.elementor-form .elementor-field-textual::placeholder, .elementor-form textarea::placeholder { color: #5b6472 !important; opacity: 1; }
.elementor-form .elementor-field-textual:focus, .elementor-form textarea:focus, .elementor-form select.elementor-field:focus { background-color: #fff !important; border-color: #D2A643 !important; }
.elementor-form .elementor-select-wrapper::before, .elementor-form .elementor-select-wrapper .select-caret-down-wrapper { color: #1d2939 !important; }
/* the one message box the site's own styles colour by its id */
#form-field-field_93285ab { background-color: #f1f4f8 !important; color: #1d2939 !important; }
#form-field-field_93285ab:focus { background-color: #fff !important; }
