/* FFL Transfers page (ffl-transfers.php). Builds on tgk-v2.css and the form, trust list and steps of
   css/pages/tpe-membership.css; only what is new here lives in this file. */

/* How it works: four steps across on wide screens */
@media (min-width: 900px) {
  .ffl-steps { grid-template-columns: repeat(4, 1fr); }
}

/* Fee tiles */
.ffl-fee .tgk-tile__body { gap: 0.6rem; }
.ffl-fee__amount {
  margin: 0; font: 700 clamp(2.4rem, 2rem + 1.6vw, 3.2rem)/1 var(--tgk-font-display); letter-spacing: 0.01em;
  color: var(--tgk-accent-text, var(--tgk-color-orange));
}
.ffl-fee .tgk-title-4 { margin: 0; }
.ffl-fee--accent { border-color: var(--tgk-color-orange-line); background: linear-gradient(180deg, rgba(255, 103, 0, 0.1), rgba(255, 103, 0, 0.02)); }
.ffl-fee .tgk-tile__text a { color: var(--tgk-color-text); text-decoration: underline; text-underline-offset: 3px; }

/* House rules */
.ffl-rules {
  margin-top: clamp(2rem, 1.5rem + 2vw, 3rem); padding: clamp(1.4rem, 1rem + 1.2vw, 2rem);
  border: 1px solid var(--tgk-color-line); border-radius: var(--tgk-radius-md);
}
.ffl-rules .tgk-title-4 { margin: 0 0 1rem; }
.ffl-rules ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem; }
@media (min-width: 900px) { .ffl-rules ul { grid-template-columns: repeat(2, 1fr); column-gap: 2.5rem; } }
.ffl-rules li { display: flex; gap: 0.8rem; align-items: flex-start; color: var(--tgk-color-text-muted); line-height: 1.55; }
.ffl-rules li > .tgk-icon { flex: none; width: 18px; height: 18px; margin-top: 3px; color: var(--tgk-accent-text, var(--tgk-color-orange)); }
.ffl-rules strong { color: var(--tgk-color-text); }

/* Ship-to address */
.ffl-address {
  display: flex; gap: 1rem; align-items: flex-start; font-style: normal; line-height: 1.6;
  padding: 1.25rem 1.4rem; border-radius: var(--tgk-radius-md);
  border: 1px solid var(--tgk-color-orange-line); background: rgba(255, 103, 0, 0.06); color: var(--tgk-color-text-muted);
}
.ffl-address strong { color: var(--tgk-color-text); font-size: 1.05rem; }
.ffl-address a { color: var(--tgk-color-text); text-decoration: underline; text-underline-offset: 3px; }
.ffl-address__icon .tgk-icon { width: 22px; height: 22px; color: var(--tgk-accent-text, var(--tgk-color-orange)); margin-top: 2px; }

/* The two confirmation boxes */
.ffl-consents { display: grid; gap: 0.9rem; margin: 0.25rem 0 0.5rem; }
.ffl-consents .tgk-check { line-height: 1.5; }
.ffl-consents .tgk-check.tpe-invalid span { color: var(--tgk-danger-text, #ff8f8f); }

/* Phones: hero buttons full width, like the other request pages */
@media (max-width: 519px) {
  #ffl-hero .tgk-page-hero__actions .tgk-btn { width: 100%; white-space: normal; text-align: center; padding-inline: 1.1rem; }
}
