/* Lumen Affiliates. Colors come from the active theme (Blocksy palette) or the
   Lumen Design tokens when present, so a redesign carries through. */
:root {
	--lumen-aff-accent:  var(--lp-blue, var(--theme-palette-color-1, LinkText));
	--lumen-aff-dark:    var(--lp-navy, var(--theme-palette-color-4, CanvasText));
	--lumen-aff-on-dark: Canvas;
	--lumen-aff-line:    var(--lp-line, var(--theme-border-color, GrayText));
	--lumen-aff-soft:    var(--lp-bg-alt, color-mix(in srgb, CanvasText 5%, Canvas));
	--lumen-aff-radius:  var(--lp-radius, 10px);
}

/* Banner */

/* Free-item notice and gift tag */
.lumen-aff-free-note {
	display: flex; align-items: center; gap: 14px;
	background: var(--lumen-aff-dark); color: #fff;
	border-radius: var(--lumen-aff-radius); padding: 16px 20px; margin: 0 0 16px;
	font-size: 1.08rem; line-height: 1.35; font-weight: 600;
	box-shadow: 0 6px 18px rgba(10, 30, 60, .18);
}
.lumen-aff-free-icon {
	flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%;
	background: rgba(255, 255, 255, .16) center / 24px 24px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='4' rx='1'/%3E%3Cpath d='M12 8v13M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7M7.5 8a2.5 2.5 0 0 1 0-5C11 3 12 8 12 8s1-5 4.5-5a2.5 2.5 0 0 1 0 5'/%3E%3C/svg%3E");
}
.lumen-aff-free-body { flex: 1 1 auto; min-width: 0; display: grid; gap: 9px; }
.lumen-aff-free-text strong, .lumen-aff-free-text .amount, .lumen-aff-free-text .woocommerce-Price-amount { font-weight: 800; font-size: 1.12em; }
.lumen-aff-free-bar { display: block; height: 8px; border-radius: 999px; background: rgba(255, 255, 255, .22); overflow: hidden; }
.lumen-aff-free-bar i { display: block; height: 100%; border-radius: 999px; background: var(--lp-baby, #7cc4ff); transition: width .35s ease; }
.lumen-aff-free-note.is-unlocked { background: #146c43; }
.lumen-aff-free-note.is-unlocked .lumen-aff-free-bar i { background: #fff; }
@media (max-width: 480px) {
	.lumen-aff-free-note { padding: 14px 15px; gap: 11px; font-size: 1rem; }
	.lumen-aff-free-icon { width: 38px; height: 38px; background-size: 20px 20px; }
}

/* Affiliate pages */
.lumen-aff { max-width: 860px; margin: 0 auto; }
.lumen-aff form p { margin: 0 0 14px; }
.lumen-aff label { display: block; font-weight: 600; }
.lumen-aff input[type=text], .lumen-aff input[type=password], .lumen-aff input[type=email], .lumen-aff input[type=url], .lumen-aff select, .lumen-aff textarea { width: 100%; box-sizing: border-box; margin-top: 4px; }
.lumen-aff-hp { position: absolute; left: -9999px; }
/* Selectors are deliberately specific: the theme styles every [type=submit] and button, and these must win. */
.lumen-aff .lumen-aff-button, .lumen-aff button.lumen-aff-button, .lumen-aff a.lumen-aff-button,
.lumen-aff .login-submit input[type=submit] {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	background: var(--lumen-aff-accent); color: var(--lumen-aff-on-dark);
	border: 2px solid transparent; border-radius: 8px; padding: 13px 26px;
	font-family: var(--lp-head, inherit); font-weight: 700; font-size: .93rem; line-height: inherit;
	text-decoration: none; text-align: center; white-space: nowrap; cursor: pointer; appearance: none; -webkit-appearance: none;
	transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
}
.lumen-aff .lumen-aff-button:hover, .lumen-aff .lumen-aff-button:focus-visible, .lumen-aff button.lumen-aff-button:hover, .lumen-aff button.lumen-aff-button:focus-visible,
.lumen-aff .login-submit input[type=submit]:hover, .lumen-aff .login-submit input[type=submit]:focus-visible { background: var(--lp-blue-dk, var(--lumen-aff-accent)); color: var(--lumen-aff-on-dark); transform: translateY(-2px); box-shadow: 0 8px 20px color-mix(in srgb, var(--lumen-aff-accent) 32%, transparent); }
.lumen-aff .lumen-aff-button:focus-visible, .lumen-aff .login-submit input[type=submit]:focus-visible { outline: 2px solid var(--lumen-aff-accent); outline-offset: 3px; }
.lumen-aff .lumen-aff-button.lumen-aff-button--small { padding: 10px 18px; font-size: .84rem; }
.lumen-aff-notice { padding: 12px 16px; border-radius: var(--lumen-aff-radius); border: 1px solid var(--lumen-aff-accent); background: var(--lumen-aff-soft); }
.lumen-aff-share { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); margin-bottom: 24px; }
.lumen-aff-share > div { border: 1px solid var(--lumen-aff-line); border-radius: var(--lumen-aff-radius); padding: 16px; }
.lumen-aff-share code { word-break: break-all; }
.lumen-aff-share small { display: block; margin-top: 6px; opacity: .75; }
.lumen-aff-label { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; opacity: .7; margin-bottom: 4px; }
.lumen-aff-note { font-size: 13px; opacity: .75; }
.lumen-aff-table-wrap { overflow-x: auto; }
.lumen-aff-table { width: 100%; border-collapse: collapse; }
.lumen-aff-table th, .lumen-aff-table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--lumen-aff-line); }

@media (max-width: 600px) {
}

/* Application code field */
.lumen-aff-form small { display: block; margin-top: 4px; font-weight: 400; opacity: .75; }

/* Application page */
.lumen-aff-apply { max-width: 760px; }
.lumen-aff-intro { text-align: center; margin-bottom: 28px; }
.lumen-aff-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 600; color: var(--lumen-aff-accent); margin: 0 0 8px; }
.lumen-aff-intro h2 { margin: 0 0 10px; line-height: 1.2; }
.lumen-aff-intro p { margin: 0; opacity: .8; }
.lumen-aff-benefits { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(2, 1fr); }
.lumen-aff-benefits li { background: var(--lumen-aff-soft); border-radius: var(--lumen-aff-radius); padding: 16px; text-align: center; }
.lumen-aff-benefits strong { display: block; font-size: 22px; color: var(--lumen-aff-accent); }
.lumen-aff-benefits span { display: block; font-size: 13px; opacity: .8; margin-top: 2px; }
.lumen-aff-card { border: 1px solid var(--lumen-aff-line); border-radius: var(--lumen-aff-radius); padding: 28px; background: Canvas; }
.lumen-aff-card fieldset { border: 0; margin: 0 0 26px; padding: 0; min-width: 0; }
.lumen-aff-card legend { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--lumen-aff-accent); padding: 0 0 10px; margin: 0 0 14px; border-bottom: 1px solid var(--lumen-aff-line); width: 100%; }
.lumen-aff-grid { display: grid; gap: 0 18px; grid-template-columns: 1fr 1fr; }
.lumen-aff-card p { margin: 0 0 16px; }
.lumen-aff-card label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.lumen-aff-opt { font-weight: 400; opacity: .6; font-size: 12px; margin-left: 4px; }
.lumen-aff-card input[type=text], .lumen-aff-card input[type=password], .lumen-aff-card input[type=email], .lumen-aff-card input[type=url], .lumen-aff-card select, .lumen-aff-card textarea { width: 100%; box-sizing: border-box; margin: 0; padding: 11px 13px; border: 1px solid var(--lumen-aff-line); border-radius: calc(var(--lumen-aff-radius) / 1.5); font: inherit; background: Canvas; color: CanvasText; }
.lumen-aff-card input:focus, .lumen-aff-card select:focus, .lumen-aff-card textarea:focus { outline: 2px solid var(--lumen-aff-accent); outline-offset: 1px; border-color: var(--lumen-aff-accent); }
.lumen-aff-submit { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.lumen-aff .lumen-aff-submit .lumen-aff-button { padding: 16px 34px; font-size: 1rem; }
.lumen-aff-submit small { opacity: .7; }
.lumen-aff-steps { list-style: none; counter-reset: step; margin: 32px 0 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); }
.lumen-aff-steps li { counter-increment: step; position: relative; padding-top: 38px; }
.lumen-aff-steps li::before { content: counter(step); position: absolute; top: 0; left: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--lumen-aff-accent); color: var(--lumen-aff-on-dark); font-weight: 700; font-size: 14px; display: grid; place-items: center; }
.lumen-aff-steps strong, .lumen-aff-steps span { display: block; }
.lumen-aff-steps span { font-size: 13px; opacity: .75; margin-top: 2px; }
.lumen-aff-success { text-align: center; border: 1px solid var(--lumen-aff-accent); background: var(--lumen-aff-soft); border-radius: var(--lumen-aff-radius); padding: 40px 24px; }
.lumen-aff-success h2 { margin: 0 0 8px; }
.lumen-aff-success p { margin: 0; }
.lumen-aff-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lumen-aff-hp, .lumen-aff-hp * { position: absolute; left: -9999px; }
@media (max-width: 640px) {
	.lumen-aff-benefits, .lumen-aff-steps, .lumen-aff-grid { grid-template-columns: 1fr; }
	.lumen-aff-card { padding: 20px; }
}

/* Dropdown: some themes fix the height and clip the text, so set it outright. */
.lumen-aff-card select { height: auto; min-height: 46px; line-height: 1.4; appearance: auto; -webkit-appearance: menulist; padding-block: 10px; }
.lumen-aff-grid-wide { grid-column: 1 / -1; }

/* Where you share: tick a network, its field opens. Works without JavaScript. */
.lumen-aff-hint { margin: 0 0 12px !important; font-size: 14px; opacity: .75; }
.lumen-aff-socials { display: grid; gap: 10px 18px; grid-template-columns: 1fr 1fr; }
.lumen-aff-social { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; border: 1px solid var(--lumen-aff-line); border-radius: calc(var(--lumen-aff-radius) / 1.5); padding: 10px 12px; }
.lumen-aff-social input[type=checkbox] { width: 18px; height: 18px; margin: 0; flex: none; accent-color: var(--lumen-aff-accent); }
.lumen-aff-card .lumen-aff-social label { margin: 0; cursor: pointer; flex: 1; }
.lumen-aff-card .lumen-aff-social .lumen-aff-social-field { display: none; flex-basis: 100%; }
.lumen-aff-social input[type=checkbox]:checked ~ .lumen-aff-social-field { display: block; }
.lumen-aff-social:has(input[type=checkbox]:checked) { border-color: var(--lumen-aff-accent); background: var(--lumen-aff-soft); }
@media (max-width: 640px) { .lumen-aff-socials { grid-template-columns: 1fr; } }

/* Dashboard */
.lumen-aff-dashboard { max-width: 960px; }
.lumen-aff-dash-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.lumen-aff-dash-head h2 { margin: 0; line-height: 1.2; }
.lumen-aff-dash-head .lumen-aff-eyebrow { margin-bottom: 4px; }
.lumen-aff-chip { display: inline-block; padding: 3px 12px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; background: var(--lumen-aff-soft); border: 1px solid var(--lumen-aff-line); }
.lumen-aff-chip--payable { background: color-mix(in srgb, var(--lumen-aff-accent) 14%, Canvas); border-color: var(--lumen-aff-accent); color: var(--lumen-aff-accent); }
.lumen-aff-chip--paid { background: var(--lumen-aff-accent); border-color: var(--lumen-aff-accent); color: var(--lumen-aff-on-dark); }
.lumen-aff-chip--void { opacity: .6; text-decoration: line-through; }
.lumen-aff-earn { display: grid; gap: 14px; grid-template-columns: 1.5fr 1fr 1fr 1fr; margin-bottom: 18px; }
.lumen-aff-earn-card { border: 1px solid var(--lumen-aff-line); border-radius: var(--lumen-aff-radius); padding: 18px; background: Canvas; }
.lumen-aff-earn-card strong { display: block; font-size: 26px; line-height: 1.2; margin: 2px 0 6px; }
.lumen-aff-earn-card small { display: block; font-size: 12px; opacity: .75; line-height: 1.4; }
.lumen-aff-earn-card--main { background: var(--lumen-aff-accent); border-color: var(--lumen-aff-accent); color: var(--lumen-aff-on-dark); }
.lumen-aff-earn-card--main .lumen-aff-label, .lumen-aff-earn-card--main small { opacity: .9; }
.lumen-aff-earn-card--main strong { font-size: 34px; }
.lumen-aff-traffic { display: flex; flex-wrap: wrap; gap: 8px 36px; padding: 14px 18px; background: var(--lumen-aff-soft); border-radius: var(--lumen-aff-radius); margin-bottom: 8px; }
.lumen-aff-traffic strong { font-size: 18px; }
.lumen-aff-traffic .lumen-aff-label { margin: 0; }
.lumen-aff-section { margin-top: 34px; }
.lumen-aff-section h3 { margin: 0 0 12px; font-size: 18px; }
.lumen-aff-empty { padding: 28px; text-align: center; border: 1px dashed var(--lumen-aff-line); border-radius: var(--lumen-aff-radius); margin: 0; opacity: .8; }
.lumen-aff-settings { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; }
.lumen-aff-panel { border: 1px solid var(--lumen-aff-line); border-radius: var(--lumen-aff-radius); padding: 22px; }
.lumen-aff-panel h3 { margin-bottom: 14px; }
.lumen-aff-panel p { margin: 0 0 14px; }
.lumen-aff-panel label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.lumen-aff-panel input[type=text], .lumen-aff-panel select { width: 100%; box-sizing: border-box; margin: 0; padding: 10px 12px; border: 1px solid var(--lumen-aff-line); border-radius: calc(var(--lumen-aff-radius) / 1.5); font: inherit; background: Canvas; color: CanvasText; }
.lumen-aff-panel small { display: block; margin-top: 4px; font-size: 12px; opacity: .75; }
.lumen-aff-payreq { margin-top: 12px; }
.lumen-aff-earn-card--main .lumen-aff-button { background: var(--lumen-aff-on-dark); color: var(--lumen-aff-accent); border-color: var(--lumen-aff-on-dark); }
.lumen-aff-earn-card--main .lumen-aff-requested { opacity: 1; margin-top: 10px; }
.lumen-aff-emailprefs .lumen-aff-panel { max-width: 560px; }
.lumen-aff-panel label.lumen-aff-check { display: flex; align-items: center; gap: 10px; font-size: 15px; cursor: pointer; }
.lumen-aff-panel label.lumen-aff-check input { width: 20px; height: 20px; margin: 0; flex: none; }
.lumen-aff-emailprefs form + form { margin-top: 6px; padding-top: 16px; border-top: 1px solid var(--lumen-aff-line); }
.lumen-aff .lumen-aff-button.lumen-aff-button--ghost, .lumen-aff-panel .lumen-aff-button.lumen-aff-button--ghost { background: transparent; color: var(--lumen-aff-accent); border: 1px solid var(--lumen-aff-accent); }
.lumen-aff-share { margin-bottom: 14px; }
.lumen-aff-copy { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.lumen-aff-copy code { font-size: 14px; padding: 4px 8px; }
.lumen-aff-table td, .lumen-aff-table th { white-space: nowrap; }
@media (max-width: 860px) { .lumen-aff-earn { grid-template-columns: 1fr 1fr; } .lumen-aff-earn-card--main { grid-column: 1 / -1; } }
@media (max-width: 640px) { .lumen-aff-settings { grid-template-columns: 1fr; } .lumen-aff-dash-head { align-items: flex-start; } }

/* Dropdowns everywhere in the plugin: set the height outright so no theme clips the selected text. */
.lumen-aff select, .lumen-aff-panel select { height: auto; min-height: 46px; line-height: 1.4; padding-block: 10px; appearance: auto; -webkit-appearance: menulist; text-overflow: clip; overflow: visible; }

/* Payout window note */
.lumen-aff-window { font-size: 14px; line-height: 1.5; margin: 0 0 22px; padding: 12px 16px; border-left: 3px solid var(--lumen-aff-accent); background: var(--lumen-aff-soft); border-radius: 0 var(--lumen-aff-radius) var(--lumen-aff-radius) 0; }

/* Sharing tools */
.lumen-aff-tools { display: grid; gap: 14px; grid-template-columns: 1.4fr 1fr; margin-bottom: 14px; }
.lumen-aff-tool { border: 1px solid var(--lumen-aff-line); border-radius: var(--lumen-aff-radius); padding: 18px; }
.lumen-aff-tool h3 { margin: 0 0 4px; font-size: 16px; }
.lumen-aff-tool p { margin: 0 0 12px; font-size: 13px; opacity: .8; }
.lumen-aff-tool input[type=text] { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--lumen-aff-line); border-radius: calc(var(--lumen-aff-radius) / 1.5); font: inherit; font-size: 14px; background: Canvas; color: CanvasText; margin: 0 0 8px; }
.lumen-aff-tool-out { display: flex; gap: 8px; align-items: center; }
.lumen-aff-tool-out input { margin: 0 !important; }
.lumen-aff-message { background: var(--lumen-aff-soft); padding: 10px 12px; border-radius: calc(var(--lumen-aff-radius) / 1.5); opacity: 1 !important; font-size: 13px; word-break: break-word; }

/* Performance */
.lumen-aff-perf-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.lumen-aff-perf-head h3 { margin: 0; }
.lumen-aff-tabs { display: inline-flex; border: 1px solid var(--lumen-aff-line); border-radius: 999px; padding: 3px; }
.lumen-aff-tabs a { padding: 6px 18px; border-radius: 999px; font-size: 14px; font-weight: 600; text-decoration: none; color: inherit; }
.lumen-aff-tabs a.is-active { background: var(--lumen-aff-accent); color: var(--lumen-aff-on-dark); }
.lumen-aff-monthnav { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.lumen-aff-monthnav a, .lumen-aff-monthnav > span[aria-hidden] { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--lumen-aff-line); border-radius: 50%; text-decoration: none; color: inherit; font-size: 18px; line-height: 1; }
.lumen-aff-monthnav > span[aria-hidden] { opacity: .35; }
.lumen-aff-monthnav strong { font-size: 18px; min-width: 130px; text-align: center; }
.lumen-aff-monthnav-sub { font-size: 13px; opacity: .65; }
.lumen-aff-chart { margin-bottom: 16px; }
.lumen-aff-bars { display: flex; align-items: flex-end; gap: 10px; height: 170px; padding: 6px 4px 0; border-bottom: 1px solid var(--lumen-aff-line); }
.lumen-aff-bars--days { gap: 3px; }
.lumen-aff-bar { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; position: relative; min-width: 0; }
.lumen-aff-bar-fill { width: 100%; max-width: 56px; background: var(--lumen-aff-accent); border-radius: 4px 4px 0 0; min-height: 2px; }
.lumen-aff-bar-fill.is-empty { background: var(--lumen-aff-line); }
.lumen-aff-bar-label { position: absolute; bottom: -22px; font-size: 11px; opacity: .7; white-space: nowrap; }
.lumen-aff-bars--days .lumen-aff-bar-label { font-size: 9px; }
.lumen-aff-bars--days .lumen-aff-bar:nth-child(even) .lumen-aff-bar-label { visibility: hidden; }
.lumen-aff-chart .lumen-aff-note { margin-top: 30px; }
.lumen-aff-table tfoot th { border-top: 2px solid var(--lumen-aff-line); }
.lumen-aff-link { font-size: 14px; font-weight: 600; color: var(--lumen-aff-accent); text-decoration: none; }
.lumen-aff-link:hover { text-decoration: underline; }
@media (max-width: 760px) { .lumen-aff-tools { grid-template-columns: 1fr; } }

.lumen-aff-zero { opacity: .35; }

/* First-visit payout prompt */
.lumen-aff-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; background: color-mix(in srgb, CanvasText 55%, transparent); overflow-y: auto; }
.lumen-aff-modal[hidden] { display: none; }
.lumen-aff-modal-card { background: Canvas; color: CanvasText; border-radius: calc(var(--lumen-aff-radius) * 1.3); padding: 28px; width: 100%; max-width: 440px; max-height: calc(100vh - 32px); overflow-y: auto; box-shadow: 0 20px 60px rgba(0, 0, 0, .3); }
.lumen-aff-modal-card h3 { margin: 0 0 8px; font-size: 20px; }
.lumen-aff-modal-card > p { margin: 0 0 18px; font-size: 14px; opacity: .8; }
.lumen-aff-modal-card form p { margin: 0 0 14px; }
.lumen-aff-modal-card label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.lumen-aff-modal-card input[type=text], .lumen-aff-modal-card select { width: 100%; box-sizing: border-box; margin: 0; padding: 10px 12px; border: 1px solid var(--lumen-aff-line); border-radius: calc(var(--lumen-aff-radius) / 1.5); font: inherit; background: Canvas; color: CanvasText; }
.lumen-aff-modal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.lumen-aff .lumen-aff-linkbutton, .lumen-aff button.lumen-aff-linkbutton {
	display: inline-flex; align-items: center; justify-content: center;
	background: transparent; color: var(--lp-navy, var(--lumen-aff-accent));
	border: 2px solid var(--lp-navy, var(--lumen-aff-accent)); border-radius: 8px; padding: 13px 26px;
	font-family: var(--lp-head, inherit); font-weight: 700; font-size: .93rem; line-height: inherit;
	text-align: center; white-space: nowrap; cursor: pointer; appearance: none; -webkit-appearance: none;
	transition: transform .16s ease, background .16s ease, color .16s ease;
}
.lumen-aff .lumen-aff-linkbutton:hover, .lumen-aff .lumen-aff-linkbutton:focus-visible, .lumen-aff button.lumen-aff-linkbutton:hover { background: var(--lp-navy, var(--lumen-aff-accent)); color: var(--lumen-aff-on-dark); transform: translateY(-2px); }
body.lumen-aff-noscroll { overflow: hidden; }

/* Phones */
.lumen-aff-link--plain { color: inherit; }
.lumen-aff-link--plain:hover { color: var(--lumen-aff-accent); }
@media (max-width: 860px) {
	.lumen-aff-earn-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
	.lumen-aff-hide-sm, .lumen-aff-row-quiet { display: none; }
	.lumen-aff-table th, .lumen-aff-table td { padding: 9px 6px; white-space: normal; font-size: 14px; }
	.lumen-aff-table th { font-size: 12px; }
	.lumen-aff-table--stack td { padding: 5px 0; }
	.lumen-aff-table--stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.lumen-aff-table--stack, .lumen-aff-table--stack tbody, .lumen-aff-table--stack tr, .lumen-aff-table--stack td { display: block; width: 100%; box-sizing: border-box; }
	.lumen-aff-table--stack tr { border: 1px solid var(--lumen-aff-line); border-radius: var(--lumen-aff-radius); padding: 8px 12px; margin-bottom: 10px; }
	.lumen-aff-table--stack td { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border: 0; white-space: normal; text-align: right; }
	.lumen-aff-table--stack td::before { content: attr(data-label); font-weight: 600; opacity: .65; text-align: left; flex: none; }
	.lumen-aff-submit .lumen-aff-button { width: 100%; }
	.lumen-aff-earn-card strong { font-size: 24px; }
	.lumen-aff-earn-card--main strong { font-size: 30px; }
	.lumen-aff-perf-head { flex-direction: column; align-items: flex-start; }
	.lumen-aff-bars { height: 140px; gap: 6px; }
	.lumen-aff-share code { font-size: 12px; }
	.lumen-aff-tool-out { flex-wrap: wrap; }
	.lumen-aff-tool-out input { flex: 1 1 100%; }
	.lumen-aff-modal-actions .lumen-aff-button, .lumen-aff-modal-actions .lumen-aff-linkbutton { width: 100%; }
	.lumen-aff-modal-card { padding: 22px; }
	.lumen-aff-social { padding: 12px; }
	.lumen-aff-card .lumen-aff-social label { padding-block: 6px; }
}

/* Banner: a loud, readable bar across the very top. */
.lumen-aff-banner { --b-bg: var(--lp-navy, CanvasText); --b-bg2: var(--lp-navy-deep, var(--b-bg)); --b-fg: #fff; --b-unit: rgba(255,255,255,.14); --b-unit-line: rgba(255,255,255,.3); --b-cta-bg: #fff; --b-cta-fg: var(--lp-navy, CanvasText);
	position: relative; z-index: 300; overflow: hidden; color: var(--b-fg); background: linear-gradient(100deg, var(--b-bg), var(--b-bg2)); }
.lumen-aff-banner--blue { --b-bg: var(--lp-blue, LinkText); --b-bg2: var(--lp-blue-dk, var(--b-bg)); }
.lumen-aff-banner--hot  { --b-bg: #b93a0c; --b-bg2: #ea6a14; --b-cta-fg: #8a2a05; }
.lumen-aff-banner--gold { --b-bg: #0a0a0a; --b-bg2: #1c1710; --b-unit: rgba(245,179,1,.12); --b-unit-line: rgba(245,179,1,.7); --b-cta-bg: #f5b301; --b-cta-fg: #111; }
.lumen-aff-banner--gold .lumen-aff-banner__unit b { color: #f5b301; }
.lumen-aff-banner[hidden] { display: none; }
.lumen-aff-banner::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg, transparent 38%, rgba(255,255,255,.16) 50%, transparent 62%); transform: translateX(-120%); animation: lumen-aff-shine 6s ease-in-out infinite; }
@keyframes lumen-aff-shine { 0%, 55% { transform: translateX(-120%); } 85%, 100% { transform: translateX(120%); } }
@media (prefers-reduced-motion: reduce) { .lumen-aff-banner::after { animation: none; display: none; } }
.lumen-aff-banner__inner { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; padding: 14px 52px 14px 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 24px; text-align: center; }
.lumen-aff-banner__msg { margin: 0; font-family: var(--lp-head, inherit); font-size: 17px; font-weight: 700; line-height: 1.3; letter-spacing: .01em; }
.lumen-aff-banner__msg a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.lumen-aff-banner__count { display: flex; gap: 6px; }
.lumen-aff-banner__unit { display: flex; flex-direction: column; align-items: center; min-width: 48px; padding: 5px 8px 4px; border: 1px solid var(--b-unit-line); border-radius: 8px; background: var(--b-unit); line-height: 1.05; }
.lumen-aff-banner__unit b { font-size: 19px; font-weight: 800; font-variant-numeric: tabular-nums; }
.lumen-aff-banner__unit i { font-style: normal; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; opacity: .85; }
.lumen-aff-banner a.lumen-aff-banner__cta { display: inline-flex; align-items: center; background: var(--b-cta-bg); color: var(--b-cta-fg); border-radius: 8px; padding: 10px 22px; font-family: var(--lp-head, inherit); font-size: .93rem; font-weight: 700; text-decoration: none; white-space: nowrap; transition: transform .16s ease, box-shadow .16s ease; }
.lumen-aff-banner a.lumen-aff-banner__cta:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,0,0,.28); }
.lumen-aff-banner__close { position: absolute; z-index: 2; right: 10px; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.14); border: 0; color: inherit; font-size: 22px; line-height: 1; cursor: pointer; display: grid; place-items: center; padding: 0; }
.lumen-aff-banner__close:hover { background: rgba(255,255,255,.28); }
@media (max-width: 640px) {
	.lumen-aff-banner__inner { padding: 9px 44px 9px 12px; gap: 6px 10px; }
	.lumen-aff-banner__msg { font-size: 14px; flex-basis: 100%; line-height: 1.25; }
	.lumen-aff-banner__count { gap: 4px; }
	.lumen-aff-banner__unit { min-width: 38px; padding: 3px 5px 2px; border-radius: 6px; }
	.lumen-aff-banner__unit b { font-size: 15px; }
	.lumen-aff-banner__unit i { font-size: 8px; }
	.lumen-aff-banner a.lumen-aff-banner__cta { padding: 8px 14px; font-size: .82rem; }
	.lumen-aff-banner__close { width: 30px; height: 30px; right: 8px; top: 18px; transform: none; }
}
