/**
 * ADC Affiliate — My-Account dashboard + application form.
 * White/navy brand. Two-column advanced layout: content + sticky stat rail.
 * Reuses the plugin design tokens (--adc-*) and the shared .adc-btn classes.
 */

.adc-aff{font-family:var(--adc-font,Inter,system-ui,sans-serif);color:var(--adc-ink,#0E1B33)}

/* ---------- shared card ---------- */
.adc-aff-card{
	background:var(--adc-white,#fff);
	border:1px solid var(--adc-line,#E2E8F1);
	border-radius:var(--adc-radius,14px);
	padding:24px 26px;
	margin:0 0 18px;
	box-shadow:var(--adc-shadow-sm,0 1px 2px rgba(11,26,51,.06));
}
.adc-aff-card h3{margin:0 0 6px;font-size:1.28rem;font-weight:800;color:var(--adc-navy-800,#12294A)}
.adc-aff-h{margin:0 0 14px;font-size:1.05rem;font-weight:800;color:var(--adc-navy-800,#12294A)}
.adc-aff-lead{color:var(--adc-ink-soft,#51617A);margin:0 0 18px;line-height:1.6}
.adc-aff-hint{color:var(--adc-ink-soft,#51617A);font-size:.86rem;margin:12px 0 0;line-height:1.55}
.adc-aff-lbl{display:block;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--adc-ink-soft,#51617A);margin-bottom:9px}

/* ---------- hero header ---------- */
.adc-aff-hero{margin:0 0 22px}
.adc-aff-kicker{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--adc-accent,#2F6BE0)}
.adc-aff-kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--adc-accent,#2F6BE0)}
.adc-aff-title{margin:10px 0 0;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:400;color:var(--adc-navy-800,#12294A);letter-spacing:-.015em;line-height:1.05}
.adc-aff-title strong{font-weight:800}

/* ---------- two-column layout ---------- */
.adc-aff-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:start}
.adc-aff-rail{position:sticky;top:24px;display:flex;flex-direction:column;gap:18px}

/* ---------- share link + code ---------- */
.adc-aff-share .adc-aff-copy{margin-bottom:2px}
.adc-aff-mono{
	flex:1 1 240px;min-width:0;padding:13px 15px;border:1px solid var(--adc-line,#E2E8F1);
	border-radius:11px;background:var(--adc-paper-2,#F6F9FC);
	font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem;color:var(--adc-ink,#0E1B33);
}
.adc-aff-code{font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.adc-aff-copy{display:flex;gap:9px;flex-wrap:wrap}
.adc-aff-copybtn{flex:0 0 auto;padding:11px 20px;font-size:.9rem}
.adc-aff-share-note{color:var(--adc-ink,#0E1B33);margin:18px 0 4px;line-height:1.6;font-size:.95rem}
.adc-aff-share-meta{color:var(--adc-ink-soft,#51617A);font-size:.84rem;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

/* ---------- promo kit ---------- */
.adc-aff-captions{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.adc-aff-caption{
	display:flex;gap:14px;align-items:center;justify-content:space-between;
	background:var(--adc-paper-2,#F6F9FC);border:1px solid var(--adc-line,#E2E8F1);
	border-radius:11px;padding:12px 14px;
}
.adc-aff-caption p{margin:0;font-size:.9rem;line-height:1.5;color:var(--adc-ink,#0E1B33)}
.adc-aff-caption .adc-btn{flex:0 0 auto}
.adc-aff-compliance{
	margin:16px 0 0;font-size:.8rem;line-height:1.5;color:#8a5a00;
	background:#FFF6E5;border:1px solid #F3E2BC;border-radius:10px;padding:11px 13px;
}

/* ---------- forms ---------- */
.adc-aff-form{display:flex;flex-direction:column;gap:14px;max-width:600px}
.adc-aff-field{display:flex;flex-direction:column;gap:6px}
.adc-aff-field>span{font-weight:600;font-size:.9rem;color:var(--adc-navy-800,#12294A)}
.adc-aff-field input,
.adc-aff-field textarea,
.adc-aff-field select{
	padding:12px 14px;border:1px solid var(--adc-line,#E2E8F1);border-radius:11px;
	background:#fff;font-size:.95rem;color:var(--adc-ink,#0E1B33);font-family:inherit;width:100%;
}
.adc-aff-field input:focus,
.adc-aff-field textarea:focus,
.adc-aff-field select:focus{outline:none;border-color:var(--adc-accent,#2F6BE0);box-shadow:0 0 0 3px rgba(47,107,224,.16)}
/* Astra pins select{height:40px} and strips the native arrow with
   appearance:none; 12px of vertical padding then left a 14px box for 24px text,
   so the chosen payout method was clipped. Let the text use the whole box; the
   caret comes from .adc-selwrap::after (widgets.css), which is drawn with
   borders because Elementor lazy-load nulls background-images below the fold. */
.adc-aff-field select{height:40px;padding-top:0;padding-bottom:0;line-height:1.4;appearance:none;-webkit-appearance:none;padding-right:38px}
.adc-aff-check{display:flex;gap:9px;align-items:flex-start;font-size:.9rem;color:var(--adc-ink-soft,#51617A);line-height:1.5}
.adc-aff-check input{margin-top:3px}
.adc-aff-form .adc-btn{align-self:flex-start;margin-top:2px}
.adc-aff-form .adc-aff-hint{align-self:stretch}

/* ---------- stat rail (navy card) ---------- */
.adc-aff-railcard{
	background:var(--adc-navy-800,#12294A);background-image:var(--adc-grid);
	border-radius:16px;padding:22px 22px 8px;color:#fff;box-shadow:var(--adc-shadow,0 10px 30px rgba(11,26,51,.14));
}
.adc-aff-railhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.adc-aff-railhead .adc-aff-lbl{color:rgba(255,255,255,.7);margin:0}
.adc-aff-railhead .adc-aff-badge{background:rgba(255,255,255,.12);color:#fff;padding:4px 11px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em}
.adc-aff-railstats{list-style:none;margin:0;padding:0}
.adc-aff-railstats li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid rgba(255,255,255,.12)}
.adc-aff-railstats li:first-child{border-top:0}
.adc-aff-railstats li.adc-aff-railsplit{border-top:1px solid rgba(255,255,255,.28)}
.adc-aff-rv{font-size:1.35rem;font-weight:800;letter-spacing:-.01em;color:#fff;order:2}
.adc-aff-rv--ok{color:#7FE0AF}
.adc-aff-rl{font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.68);order:1}

/* ---------- support card ---------- */
.adc-aff-support{
	background:var(--adc-white,#fff);border:1px solid var(--adc-line,#E2E8F1);
	border-radius:16px;padding:22px;box-shadow:var(--adc-shadow-sm,0 1px 2px rgba(11,26,51,.06));
}
.adc-aff-support p{margin:0 0 16px;color:var(--adc-ink-soft,#51617A);font-size:.92rem;line-height:1.55}
.adc-aff-support .adc-btn{width:100%}

/* ---------- recent-commissions table ---------- */
/* Full-bleed the table across the card so all 4 columns fit the narrow (boxed) account column;
   edge cells are re-indented to line up with the card's content padding. */
.adc-aff-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -26px}
.adc-aff-table{width:100%;border-collapse:collapse;font-size:.86rem}
.adc-aff-table th,.adc-aff-table td{padding:10px 9px;text-align:left;border-bottom:1px solid var(--adc-line,#E2E8F1);white-space:nowrap}
.adc-aff-table th:first-child,.adc-aff-table td:first-child{padding-left:26px}
.adc-aff-table th:last-child,.adc-aff-table td:last-child{padding-right:26px}
.adc-aff-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--adc-ink-soft,#51617A);font-weight:700}
.adc-aff-table tbody tr:last-child td{border-bottom:0}
.adc-aff-via{display:inline-block;margin-left:4px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--adc-ink-soft,#51617A)}

/* ---------- status pills ---------- */
.adc-aff-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.74rem;font-weight:600;text-transform:capitalize}
.adc-aff-pill--pending{background:#FEF3C7;color:#92400E}
.adc-aff-pill--confirmed,.adc-aff-pill--active{background:#DCFCE7;color:#166534}
.adc-aff-pill--paid{background:#DBEAFE;color:#1E40AF}
.adc-aff-pill--reversed,.adc-aff-pill--rejected,.adc-aff-pill--suspended{background:#FEE2E2;color:#991B1B}

/* ---------- apply form (pre-approval) badge kept for reuse ---------- */
.adc-aff-badge{background:var(--adc-navy-800,#12294A);color:#fff;padding:5px 14px;border-radius:999px;font-size:.82rem;font-weight:700}

/* ---------- responsive ---------- */
@media(max-width:1024px){
	.adc-aff-grid{grid-template-columns:1fr}
	.adc-aff-rail{position:static;flex-direction:row;flex-wrap:wrap}
	.adc-aff-railcard,.adc-aff-support{flex:1 1 260px}
}
@media(max-width:560px){
	.adc-aff-rail{flex-direction:column}
}
@media(max-width:560px){
	.adc-aff-card{padding:20px 18px}
	.adc-aff-caption{flex-direction:column;align-items:stretch}
	.adc-aff-caption .adc-btn{align-self:flex-start}
	.adc-aff-tablewrap{margin:0 -18px}
	.adc-aff-table th:first-child,.adc-aff-table td:first-child{padding-left:18px}
	.adc-aff-table th:last-child,.adc-aff-table td:last-child{padding-right:18px}
}
