/* FundedTruth Reviews — matches the Prop Firms Showcase black & white theme.
   Uses the same --pfs-* variables when present (firm pages), falls back to
   the same values when this shortcode sits on a plain page. */
.ftr-form-wrap, .ftr-display-wrap {
    --ftr-black: var(--pfs-black, #0a0a0a);
    --ftr-near-black: var(--pfs-near-black, #141414);
    --ftr-card-bg: var(--pfs-card-bg, #161616);
    --ftr-card-bg-hover: var(--pfs-card-bg-hover, #1e1e1e);
    --ftr-border: var(--pfs-border, #2a2a2a);
    --ftr-border-light: var(--pfs-border-light, #3a3a3a);
    --ftr-white: var(--pfs-white, #ffffff);
    --ftr-text: var(--pfs-text, #f2f2f2);
    --ftr-text-muted: var(--pfs-text-muted, #949494);
    --ftr-text-dim: var(--pfs-text-dim, #6b6b6b);
    --ftr-success: #10b981;
    max-width: 720px;
    margin: 0 auto;
    color: var(--ftr-text);
    font-family: inherit;
}
.ftr-display-wrap { max-width: 800px; }
.ftr-form-wrap *, .ftr-display-wrap * { box-sizing: border-box; }

.ftr-notice { padding: 14px 18px; border-radius: 4px; font-size: 14px; }
.ftr-notice-error { background: #2a1414; border: 1px solid #4a2020; color: #ff9a9a; }

/* ---------- Form ---------- */
.ftr-form-title { font-size: 24px; font-weight: 800; color: var(--ftr-white); margin: 0 0 6px; letter-spacing: -0.4px; }
.ftr-form-sub { color: var(--ftr-text-muted); font-size: 13px; margin: 0 0 20px; }

.ftr-discord-row {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    background: var(--ftr-near-black); border: 1px solid var(--ftr-border);
    border-radius: 4px; padding: 14px 16px; margin-bottom: 20px;
}
.ftr-discord-btn {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--ftr-white); color: var(--ftr-black) !important;
    font-weight: 700; font-size: 13px; padding: 10px 18px;
    border-radius: 3px; text-decoration: none !important; white-space: nowrap;
    transition: opacity .15s ease;
}
.ftr-discord-btn:hover { opacity: .85; }
.ftr-discord-btn.ftr-connected { background: var(--ftr-success); color: var(--ftr-black) !important; }
.ftr-discord-hint { color: var(--ftr-text-muted); font-size: 12px; }

.ftr-field { margin-bottom: 18px; }
.ftr-field label { display: block; font-weight: 700; font-size: 13px; color: var(--ftr-white); margin-bottom: 8px; }
.ftr-field input[type="text"], .ftr-field input[type="email"], .ftr-field input[type="number"],
.ftr-field input[type="date"], .ftr-field input[type="file"], .ftr-field select, .ftr-field textarea {
    width: 100%; background: var(--ftr-near-black); border: 1px solid var(--ftr-border-light);
    color: var(--ftr-text); padding: 11px 12px; border-radius: 3px; font-size: 14px; font-family: inherit;
}
.ftr-field input:focus, .ftr-field select:focus, .ftr-field textarea:focus {
    outline: none; border-color: var(--ftr-white);
}
.ftr-field textarea { resize: vertical; min-height: 120px; }
.ftr-hint { color: var(--ftr-text-dim); font-size: 12px; margin: 6px 0 0; }
.ftr-checkbox-field label { display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--ftr-text); cursor: pointer; }
.ftr-checkbox-field input { width: 16px; height: 16px; }

.ftr-row-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.ftr-row-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ftr-row-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
@media (max-width: 640px) {
    .ftr-row-4, .ftr-row-3, .ftr-row-2 { grid-template-columns: 1fr; }
}

.ftr-hp-field { position: absolute; left: -9999px; top: -9999px; }

.ftr-payout-extra { background: var(--ftr-near-black); border: 1px solid var(--ftr-border); border-radius: 4px; padding: 16px; margin: -4px 0 18px; }

.ftr-recaptcha-note { color: var(--ftr-text-dim); font-size: 11px; margin-bottom: 16px; }
.ftr-recaptcha-note a { color: var(--ftr-text-muted); }

.ftr-submit-row { display: flex; align-items: center; gap: 14px; }
.ftr-submit-btn {
    background: var(--ftr-white); color: var(--ftr-black); border: none;
    font-weight: 800; font-size: 14px; padding: 13px 30px; border-radius: 3px;
    cursor: pointer; letter-spacing: 0.2px; transition: opacity .15s ease;
}
.ftr-submit-btn:hover { opacity: .85; }
.ftr-submit-btn:disabled { opacity: .5; cursor: not-allowed; }
.ftr-status { font-size: 13px; }
.ftr-status.ftr-status-ok { color: var(--ftr-success); }
.ftr-status.ftr-status-error { color: #ff6b6b; }

/* ---------- Display / Summary ---------- */
.ftr-summary { display: flex; align-items: baseline; gap: 12px; }
.ftr-summary-score { font-size: 36px; font-weight: 800; color: var(--ftr-white); }
.ftr-summary-score span { font-size: 16px; color: var(--ftr-text-muted); font-weight: 600; }
.ftr-summary-note { color: var(--ftr-text-muted); font-size: 13px; margin: 4px 0 20px; }
.pfs-stars { display: inline-flex; gap: 2px; font-size: 18px; }
.pfs-star-full { color: var(--ftr-white); }
.pfs-star-half { color: var(--ftr-white); opacity: .45; }
.pfs-star-empty { color: #333; }

.ftr-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 20px; border-bottom: 1px solid var(--ftr-border); padding-bottom: 12px; }
.ftr-tab {
    background: transparent; border: 1px solid var(--ftr-border-light); color: var(--ftr-text-muted);
    font-size: 12px; font-weight: 700; padding: 8px 14px; border-radius: 3px; cursor: pointer;
    text-transform: uppercase; letter-spacing: 0.3px; transition: all .15s ease;
}
.ftr-tab:hover { color: var(--ftr-white); }
.ftr-tab.active { background: var(--ftr-white); color: var(--ftr-black); border-color: var(--ftr-white); }

.ftr-reviews-list { display: flex; flex-direction: column; gap: 16px; }
.ftr-empty { color: var(--ftr-text-muted); padding: 30px; text-align: center; background: var(--ftr-card-bg); border: 1px solid var(--ftr-border); border-radius: 4px; }

.ftr-card { background: var(--ftr-card-bg); border: 1px solid var(--ftr-border); border-radius: 4px; padding: 22px; }
.ftr-card-top { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.ftr-card-who { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ftr-name { color: var(--ftr-white); font-size: 15px; }
.ftr-country { color: var(--ftr-text-dim); font-size: 12px; text-transform: uppercase; }
.ftr-date { color: var(--ftr-text-dim); font-size: 12px; }

.ftr-badge { font-size: 10px; font-weight: 800; letter-spacing: 0.4px; padding: 3px 8px; border-radius: 3px; border: 1px solid; }
.ftr-badge-community { color: var(--ftr-white); border-color: var(--ftr-border-light); background: var(--ftr-near-black); }
.ftr-badge-verified_purchase { color: var(--ftr-success); border-color: var(--ftr-success); background: rgba(16,185,129,.08); }
.ftr-badge-verified_payout { color: var(--ftr-success); border-color: var(--ftr-success); background: rgba(16,185,129,.08); }

.ftr-card-rating { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.ftr-rating-num { color: var(--ftr-text-muted); font-size: 13px; font-weight: 700; }

.ftr-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.ftr-chip {
    font-size: 11px; font-weight: 700; color: var(--ftr-text-muted);
    border: 1px solid var(--ftr-border-light); border-radius: 3px; padding: 4px 9px;
}
.ftr-chip-success { color: var(--ftr-success); border-color: var(--ftr-success); }

.ftr-subscores {
    display: flex; flex-wrap: wrap; gap: 18px; color: var(--ftr-text-muted); font-size: 12px;
    border-top: 1px solid var(--ftr-border); border-bottom: 1px solid var(--ftr-border);
    padding: 12px 0; margin-bottom: 14px;
}
.ftr-subscores strong { color: var(--ftr-text); }

.ftr-liked { font-size: 13px; color: var(--ftr-text); margin: 0 0 8px; }
.ftr-liked strong { color: var(--ftr-white); }
.ftr-body { font-size: 14px; line-height: 1.7; color: var(--ftr-text); margin: 12px 0 0; white-space: pre-line; }

.ftr-cert { margin-top: 16px; }
.ftr-cert img { max-width: 260px; border-radius: 4px; border: 1px solid var(--ftr-border-light); display: block; }
.ftr-cert-caption { display: block; color: var(--ftr-text-dim); font-size: 11px; margin-top: 6px; }
