/*
 * Promo codes on firm cards and the homepage, the "Found something out of
 * date?" form on firm profiles and the footer's preferred source link
 * (inc/code-surfaces.php, inc/profile-report.php).
 *
 * Not one of the critical CSS sources (css/critical/manifest.json), so
 * editing this file never switches critical CSS off.
 */

/* ---------- Firm cards: the code row above Trade now ---------- */
.firm-code { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 40px; }
.firm-code__label { font-family: "Neue Montreal-Bold", "Neue Montreal-Bold Fallback", Helvetica, sans-serif; font-size: 14px; line-height: 18px; color: #333333; white-space: nowrap; }
.firm-code__note, .firm-code--none .firm-code__label { font-family: "Neue Montreal-Medium", "Neue Montreal-Medium Fallback", Helvetica, sans-serif; font-size: 14px; line-height: 18px; color: #666666; }
.firm-code__box { display: inline-flex; align-items: center; gap: 4px; min-width: 0; padding: 3px 3px 3px 12px; border: 1.5px dashed #ff6b00; border-radius: 10px; background-color: #ffffff; }
.firm-code__value { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: "Neue Montreal-Bold", "Neue Montreal-Bold Fallback", Helvetica, sans-serif; font-size: 14px; line-height: 18px; letter-spacing: .4px; color: #333333; user-select: all; }
.firm-code__copy { flex-shrink: 0; padding: 7px 12px; border: 0; border-radius: 7px; background-color: #333333; font-family: "Neue Montreal-Bold", "Neue Montreal-Bold Fallback", Helvetica, sans-serif; font-size: 12px; line-height: 16px; color: #ffffff; cursor: pointer; transition: background-color .2s ease; }
.firm-code__copy:hover, .firm-code__copy.is-copied { background-color: #ff6b00; }
.firm-code__copy:focus-visible { outline: 2px solid #ff6b00; outline-offset: 2px; }

/* ---------- Homepage: codes working today, under the hero ---------- */
.code-strip { display: flex; flex-direction: column; gap: 14px; width: 100%; padding: 20px 12px; background-color: #ffffff; border-bottom: 1px solid #00000026; }
.code-strip__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.code-strip__title { margin: 0; font-family: "Neue Montreal-Bold", "Neue Montreal-Bold Fallback", Helvetica, sans-serif; font-size: 18px; line-height: 24px; font-weight: 700; color: #333333; }
.code-strip__all { flex-shrink: 0; font-family: "Neue Montreal-Medium", "Neue Montreal-Medium Fallback", Helvetica, sans-serif; font-size: 14px; line-height: 20px; color: #333333; text-decoration: underline; text-underline-offset: 3px; }
.code-strip__all:hover { color: #ff6b00; }
.code-strip__list { display: flex; gap: 10px; margin: 0 -12px; padding: 2px 0 6px; scroll-padding: 0 12px; list-style: none; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; }
.code-strip__list li { flex: 0 0 auto; scroll-snap-align: start; }
.code-strip__list li:first-child { margin-left: 12px; }
.code-strip__list li:last-child { margin-right: 12px; }
.code-chip { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; background-color: #f4f4f4; color: #333333; text-decoration: none; transition: background-color .2s ease; }
.code-chip:hover { background-color: #e8e8e8; color: #333333; }
.code-chip:focus-visible { outline: 2px solid #ff6b00; outline-offset: 2px; }
.code-chip__logo { width: 36px; height: 36px; border-radius: 8px; object-fit: cover; flex-shrink: 0; }
.code-chip__text { display: flex; flex-direction: column; gap: 1px; }
.code-chip__name { font-family: "Neue Montreal-Bold", "Neue Montreal-Bold Fallback", Helvetica, sans-serif; font-size: 14px; line-height: 18px; white-space: nowrap; }
.code-chip__off { font-family: "Neue Montreal-Medium", "Neue Montreal-Medium Fallback", Helvetica, sans-serif; font-size: 13px; line-height: 17px; color: #555555; white-space: nowrap; }
.code-chip__code { padding: 6px 10px; border: 1.5px dashed #ff6b00; border-radius: 8px; background-color: #ffffff; font-family: "Neue Montreal-Bold", "Neue Montreal-Bold Fallback", Helvetica, sans-serif; font-size: 13px; line-height: 17px; letter-spacing: .4px; white-space: nowrap; }
@media (min-width: 768px) {
  .code-strip { padding: 24px; }
  .code-strip__list { margin: 0 -24px; scroll-padding: 0 24px; }
  .code-strip__list li:first-child { margin-left: 24px; }
  .code-strip__list li:last-child { margin-right: 24px; }
  .code-strip__title { font-size: 20px; line-height: 26px; }
}
@media (min-width: 1200px) {
  .code-strip { padding: 24px 80px; }
  .code-strip__list { margin: 0 -80px; scroll-padding: 0 80px; }
  .code-strip__list li:first-child { margin-left: 80px; }
  .code-strip__list li:last-child { margin-right: 80px; }
}

/* ---------- Firm profile: Found something out of date? ---------- */
.pf-report { padding-bottom: 72px; scroll-margin-top: 150px; }
.pf-report__box { border-radius: 20px; background: #f4f4f4; }
.pf-report__summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 32px; cursor: pointer; list-style: none; }
.pf-report__summary::-webkit-details-marker { display: none; }
.pf-report__summary:focus-visible { outline: 2px solid #ff6b00; outline-offset: 2px; border-radius: 20px; }
.pf-report__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pf-report__title { font-family: "Neue Montreal Display", "Neue Montreal Display Fallback", "Neue Montreal", Helvetica, sans-serif; font-size: 22px; line-height: 28px; font-weight: 700; letter-spacing: -0.3px; color: #333333; }
.pf-report__sub { font-size: 15px; line-height: 22px; font-weight: 500; color: #555555; }
.pf-report__open { flex-shrink: 0; }
.pf-report__box[open] .pf-report__open { display: none; }
.pf-report__form { display: flex; flex-direction: column; gap: 16px; padding: 0 32px 28px; }
.pf-report__form[hidden], .pf-report__done[hidden], .pf-report__error[hidden] { display: none; }
.pf-report__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pf-report__field { display: flex; flex-direction: column; gap: 6px; }
.pf-report__label { font-size: 14px; line-height: 20px; font-weight: 700; color: #333333; }
.pf-report__opt { font-weight: 500; color: #666666; }
.pf-report__input { width: 100%; padding: 12px 14px; border: 1px solid #d4d6d9; border-radius: 12px; background: #ffffff; font: inherit; font-size: 15px; line-height: 21px; color: #333333; }
.pf-report__input:focus { outline: 2px solid #ff6b00; outline-offset: 1px; border-color: transparent; }
.pf-report__area { min-height: 96px; resize: vertical; }
.pf-report__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pf-report__error { margin: 0; font-size: 14px; line-height: 20px; font-weight: 700; color: #b42318; }
.pf-report__done { margin: 0; padding: 0 32px 28px; font-size: 16px; line-height: 23px; font-weight: 500; color: #333333; }
@media (max-width: 767px) {
  .pf-report { padding-bottom: 48px; }
  .pf-report__summary { flex-direction: column; align-items: flex-start; gap: 14px; padding: 20px; }
  .pf-report__form { padding: 0 20px 20px; }
  .pf-report__done { padding: 0 20px 20px; }
  .pf-report__row { grid-template-columns: minmax(0, 1fr); }
  .pf-report__title { font-size: 20px; line-height: 25px; }
}

/* ---------- Footer: preferred source on Google ---------- */
.footer--cols .footer-source { margin: 0; font-family: "Neue Montreal-Regular", "Neue Montreal-Regular Fallback", Helvetica, sans-serif; font-size: 13px; line-height: 1.5; }
.footer--cols .footer-source a { color: rgba(255, 255, 255, 0.72); text-decoration: underline; text-underline-offset: 3px; }
.footer--cols .footer-source a:hover { color: #ffffff; }
