/* 800Sport Loyalty — frontend (cart, checkout, My Account). Inherits the theme's fonts. */
:root {
	--eslr-ink: var(--tt-ink, #000);
	--eslr-line: var(--tt-line, rgba(0, 0, 0, .14));
	--eslr-soft: var(--tt-soft, rgba(0, 0, 0, .035));
	--eslr-muted: rgba(0, 0, 0, .56);
	--eslr-radius: var(--tt-radius, 16px);
	--eslr-plus: #0b6b3a;
	--eslr-minus: #9b1c1c;
}

.eslr-icon { display: block; width: 18px; height: 18px; }
.eslr-muted { color: var(--eslr-muted); font-size: .875em; }
.eslr-eyebrow { display: block; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--eslr-muted); }

/* Notices */
.eslr-notice,
.eslr-card__earn {
	display: flex; align-items: center; gap: .75em;
	margin: 0 0 1.25em; padding: .9em 1.1em;
	border: 1px solid var(--eslr-line); border-radius: var(--eslr-radius);
	background: var(--eslr-soft); color: var(--eslr-ink);
	font-size: .9375em; line-height: 1.45;
}
.eslr-notice__icon { flex: none; display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; border-radius: 50%; background: var(--eslr-ink); color: #fff; }
.eslr-notice--guest { background: transparent; }
.eslr-notice a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.eslr-notice strong, .eslr-card strong { font-weight: 600; }

/* Checkout card */
.eslr-checkout-panel { margin: 0 0 1.5em; }
.eslr-card {
	border: 1px solid var(--eslr-line); border-radius: var(--eslr-radius);
	padding: 1.1em; background: #fff; color: var(--eslr-ink);
	transition: opacity .2s;
}
.eslr-card--blocks { margin: 0 0 16px; }
.eslr-card .eslr-card__earn { margin: 0 0 1em; border: 0; padding: 0 0 1em; border-radius: 0; background: none; border-bottom: 1px solid var(--eslr-line); }
.eslr-card__balance { display: flex; flex-wrap: wrap; align-items: baseline; gap: .15em .6em; margin-bottom: .75em; }
.eslr-card__balance .eslr-eyebrow { flex-basis: 100%; }
.eslr-card__balance-value { font-size: 1.25em; font-weight: 600; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.is-loading .eslr-card, .eslr-card.is-loading, .eslr-checkout-panel.is-loading { opacity: .55; pointer-events: none; }

.eslr-form { display: flex; gap: 8px; }
.eslr-input {
	flex: 1 1 auto; min-width: 0; height: 46px; margin: 0 !important; padding: 0 14px !important;
	border: 1px solid var(--eslr-line) !important; border-radius: 999px !important;
	background: #fff !important; color: var(--eslr-ink) !important; font: inherit; font-variant-numeric: tabular-nums;
	box-shadow: none !important; -moz-appearance: textfield;
}
.eslr-input:focus { outline: none; border-color: var(--eslr-ink) !important; }
.eslr-input::-webkit-outer-spin-button, .eslr-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.eslr-btn {
	flex: none; display: inline-flex; align-items: center; justify-content: center;
	height: 46px; padding: 0 22px !important; margin: 0;
	border: 1px solid var(--eslr-ink) !important; border-radius: 999px !important;
	background: var(--eslr-ink) !important; color: #fff !important;
	font: inherit; font-size: 13px !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
	line-height: 1; cursor: pointer; text-decoration: none !important; transition: background-color .2s, color .2s;
}
.eslr-btn:hover, .eslr-btn:focus-visible { background: #fff !important; color: var(--eslr-ink) !important; }
.eslr-btn:disabled { opacity: .5; cursor: default; }
.eslr-btn--ghost { background: transparent !important; color: var(--eslr-ink) !important; border-color: var(--eslr-line) !important; height: 40px; }
.eslr-btn--ghost:hover { border-color: var(--eslr-ink) !important; }

.eslr-link { padding: 0 !important; border: 0 !important; background: none !important; color: var(--eslr-ink) !important; font: inherit; font-size: .875em; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.eslr-applied { display: flex; align-items: center; justify-content: space-between; gap: 1em; padding: .8em 1em; border-radius: 12px; background: var(--eslr-soft); font-size: .9375em; }
.eslr-hint { margin: .6em 0 0 !important; }
.eslr-error { margin: .6em 0 0 !important; color: var(--eslr-minus); font-size: .875em; }

/* Classic cart notice spacing */
.eslr-notice--cart { margin-bottom: 1em; }

/* My Account */
.eslr-account { color: var(--eslr-ink); }
.eslr-hero {
	display: flex; align-items: center; gap: 1.5em;
	padding: 2em; border-radius: var(--eslr-radius);
	background: var(--eslr-ink); color: #fff;
}
.eslr-hero .eslr-eyebrow { color: rgba(255, 255, 255, .6); }
.eslr-hero__mark { flex: none; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; }
.eslr-hero__mark .eslr-icon { width: 28px; height: 28px; }
.eslr-hero__points { margin: .15em 0 0 !important; font-size: clamp(2rem, 5vw, 3rem); font-weight: 600; line-height: 1.05; letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: #fff; }
.eslr-hero__points span { font-size: .4em; font-weight: 500; letter-spacing: 0; opacity: .7; }
.eslr-hero__value { margin: .5em 0 0 !important; color: rgba(255, 255, 255, .75); }
.eslr-hero__value .amount { color: #fff; }

.eslr-rules { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 16px 0 2.25em !important; padding: 0 !important; list-style: none !important; }
.eslr-rules li { margin: 0 !important; padding: 1em 1.1em; border: 1px solid var(--eslr-line); border-radius: var(--eslr-radius); font-size: .9375em; }
.eslr-rules .eslr-eyebrow { margin-bottom: .35em; }

.eslr-title { margin: 0 0 .75em !important; font-size: 1.125em; font-weight: 600; }
.eslr-empty { padding: 2em; border: 1px dashed var(--eslr-line); border-radius: var(--eslr-radius); text-align: center; color: var(--eslr-muted); }
.eslr-empty a { display: inline-block; margin-left: .35em; color: var(--eslr-ink); }

.eslr-history { margin: 0 !important; padding: 0 !important; list-style: none !important; border-top: 1px solid var(--eslr-line); }
.eslr-history__row { display: flex; align-items: center; justify-content: space-between; gap: 1em; margin: 0 !important; padding: 1em 0; border-bottom: 1px solid var(--eslr-line); }
.eslr-history__main { display: flex; flex-direction: column; gap: .2em; min-width: 0; }
.eslr-history__type { font-weight: 600; }
.eslr-history__meta { color: var(--eslr-muted); font-size: .875em; }
.eslr-history__meta a { color: inherit; }
.eslr-history__pts { flex: none; font-weight: 600; font-variant-numeric: tabular-nums; }
.eslr-history__pts.is-plus { color: var(--eslr-plus); }
.eslr-history__pts.is-minus { color: var(--eslr-ink); }

.eslr-pager { display: flex; align-items: center; justify-content: space-between; gap: 1em; margin-top: 1.25em; }

@media (max-width: 600px) {
	.eslr-hero { padding: 1.5em; gap: 1em; }
	.eslr-hero__mark { width: 48px; height: 48px; }
	.eslr-rules { grid-template-columns: 1fr; }
	.eslr-btn { padding: 0 16px !important; }
}

/* Theme hardening: the Fynode theme styles every <button> (height, padding, radius) with high specificity. */
.eslr-card .eslr-btn, .eslr-checkout-panel .eslr-btn, .eslr-account .eslr-btn {
	display: inline-flex !important; height: 46px !important; min-height: 0 !important; width: auto !important;
	font-family: inherit !important; line-height: 1 !important; box-shadow: none !important;
}
.eslr-account .eslr-btn--ghost { height: 40px !important; }
.eslr-card .eslr-link, .eslr-checkout-panel .eslr-link {
	display: inline !important; height: auto !important; min-height: 0 !important; width: auto !important;
	margin: 0 !important; border-radius: 0 !important; font-family: inherit !important; font-weight: 500 !important;
	letter-spacing: 0 !important; text-transform: none !important; box-shadow: none !important;
}
.eslr-card .eslr-input { width: auto !important; font-family: inherit !important; font-size: 15px !important; }
.eslr-card, .eslr-notice, .eslr-rules li, .eslr-hero, .eslr-history, .eslr-history__row { border-style: solid; }
