/* Freebies For A Cause Pro — frontend styles */

/* ============ Tokens ============ */
:root {
	--ffac-cream:      #fff7ef;
	--ffac-cream-2:    #fdeede;
	--ffac-coral:      #ff7a59;
	--ffac-coral-2:    #e6553a;
	--ffac-teal:       #2bbbad;
	--ffac-teal-2:     #15938a;
	--ffac-yellow:     #ffd166;
	--ffac-blue:       #3a7ed5;
	--ffac-blue-2:     #1f5cab;
	--ffac-green:      #4caf6c;
	--ffac-charcoal:   #1f2733;
	--ffac-charcoal-2: #2c3849;
	--ffac-muted:      #5b6776;
	--ffac-line:       #ead9c4;
	--ffac-bg:         #fffaf3;
	--ffac-card:       #ffffff;
	--ffac-card-soft:  #fff3e6;
	--ffac-warn:       #c75a2c;
	--ffac-ok:         #2f8a4a;
	--ffac-radius:     16px;
	--ffac-radius-lg:  22px;
	--ffac-shadow:     0 6px 24px rgba(45, 30, 20, 0.08);
	--ffac-shadow-lg:  0 18px 60px rgba(45, 30, 20, 0.10);
	--ffac-font:       -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--ffac-max:        1180px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--ffac-font);
	color: var(--ffac-charcoal);
	background: var(--ffac-bg);
	line-height: 1.55;
	font-size: 16px;
}
img, video { max-width: 100%; height: auto; display: block; }
a { color: var(--ffac-blue-2); text-decoration: underline; text-underline-offset: 2px; }
a:hover { color: var(--ffac-coral-2); }
h1,h2,h3,h4 { color: var(--ffac-charcoal); line-height: 1.2; letter-spacing: -0.01em; margin: 0 0 0.4em; }
h1 { font-size: clamp(1.9rem, 4vw + 1rem, 3.2rem); }
h2 { font-size: clamp(1.4rem, 2vw + 1rem, 2rem); }
h3 { font-size: 1.15rem; }
.screen-reader-text { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.ffac-skip { position: absolute; left: -9999px; }
.ffac-skip:focus { left: 8px; top: 8px; background: var(--ffac-card); padding: 8px 12px; border-radius: 8px; z-index: 999; }

/* ============ Layout ============ */
.ffac-container { max-width: var(--ffac-max); margin: 0 auto; padding: 0 16px; }
.ffac-section { padding: 48px 0; }
.ffac-section--alt { background: var(--ffac-cream); }
.ffac-section__head { text-align: center; margin-bottom: 28px; }
.ffac-section__title { margin-bottom: 6px; }
.ffac-section__sub { color: var(--ffac-muted); max-width: 720px; margin: 0 auto; }

.ffac-grid { display: grid; gap: 18px; }
.ffac-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ffac-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ffac-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 880px) {
	.ffac-grid--3, .ffac-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.ffac-grid--2, .ffac-grid--3, .ffac-grid--4 { grid-template-columns: 1fr; }
}

/* ============ Header ============ */
.ffac-header { background: var(--ffac-card); border-bottom: 1px solid var(--ffac-line); position: sticky; top: 0; z-index: 50; }
.ffac-header__row { display: flex; align-items: center; gap: 16px; padding: 12px 16px; flex-wrap: wrap; }
.ffac-logo-text { font-weight: 700; color: var(--ffac-coral-2); text-decoration: none; font-size: 1.1rem; }
.ffac-nav { display: flex; align-items: center; }
.ffac-nav__drawer ul { display: flex; gap: 16px; list-style: none; padding: 0; margin: 0; }
.ffac-nav__drawer a { color: var(--ffac-charcoal); text-decoration: none; font-weight: 600; font-size: 0.95rem; }
.ffac-nav__drawer a:hover { color: var(--ffac-coral-2); }
.ffac-nav__toggle { display: none; background: none; border: 0; cursor: pointer; padding: 8px; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.ffac-nav__hamburger { display: inline-flex; flex-direction: column; gap: 4px; width: 22px; }
.ffac-nav__hamburger span { display: block; height: 3px; background: var(--ffac-charcoal); border-radius: 999px; transition: transform .2s ease, opacity .2s ease; }
.ffac-nav[data-open="true"] .ffac-nav__hamburger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ffac-nav[data-open="true"] .ffac-nav__hamburger span:nth-child(2) { opacity: 0; }
.ffac-nav[data-open="true"] .ffac-nav__hamburger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.ffac-nav__scrim { display: none; position: fixed; inset: 0; background: rgba(20, 25, 35, 0.4); border: 0; padding: 0; z-index: 49; }

.ffac-search { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.ffac-search input { border: 1px solid var(--ffac-line); border-radius: 999px; padding: 8px 14px; background: var(--ffac-cream); }
.ffac-search button { background: var(--ffac-coral); color: #fff; border: 0; border-radius: 999px; width: 36px; height: 36px; cursor: pointer; }

@media (max-width: 720px) {
	.ffac-nav__toggle { display: inline-flex; }
	.ffac-nav__drawer { position: fixed; top: 0; right: 0; bottom: 0; width: min(82vw, 320px); background: var(--ffac-card); padding: 64px 20px 20px; box-shadow: -12px 0 40px rgba(0,0,0,.18); transform: translateX(100%); transition: transform .25s ease; z-index: 60; overflow-y: auto; }
	.ffac-nav__drawer ul { flex-direction: column; align-items: stretch; gap: 4px; }
	.ffac-nav__drawer li a { display: block; padding: 12px 8px; border-radius: 8px; border: 1px solid transparent; }
	.ffac-nav__drawer li a:hover { background: var(--ffac-cream-2); border-color: var(--ffac-line); }
	.ffac-nav[data-open="true"] .ffac-nav__drawer { transform: translateX(0); }
	.ffac-nav[data-open="true"] ~ .ffac-nav__scrim { display: block; }
	.ffac-search input { width: 140px; }
}

/* ============ Buttons & pills ============ */
.ffac-btn { display: inline-block; padding: 12px 20px; border-radius: 999px; font-weight: 700; text-decoration: none; border: 0; cursor: pointer; font-size: 0.95rem; line-height: 1.1; transition: transform 0.06s ease, background 0.12s ease; }
.ffac-btn--primary { background: var(--ffac-coral); color: #fff; }
.ffac-btn--primary:hover { background: var(--ffac-coral-2); color: #fff; }
.ffac-btn--ghost { background: transparent; color: var(--ffac-charcoal); border: 2px solid var(--ffac-charcoal); }
.ffac-btn--ghost:hover { background: var(--ffac-charcoal); color: #fff; }
.ffac-btn--block { display: block; width: 100%; text-align: center; }
.ffac-btn:active { transform: translateY(1px); }

.ffac-pill { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 0.78rem; font-weight: 700; background: var(--ffac-cream-2); color: var(--ffac-charcoal); }
.ffac-pill--disclose { background: var(--ffac-yellow); color: var(--ffac-charcoal-2); }
.ffac-chip { display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: 0.74rem; font-weight: 700; background: var(--ffac-card-soft); color: var(--ffac-charcoal); margin-right: 4px; }
.ffac-chip--type { background: var(--ffac-teal); color: #fff; }
.ffac-chip--cause { background: var(--ffac-blue); color: #fff; }
.ffac-chip--ok { background: #d8f1de; color: var(--ffac-ok); }
.ffac-chip--warn { background: #ffe7d6; color: var(--ffac-warn); }

/* ============ Disclosure strip ============ */
.ffac-disclosure-strip { background: var(--ffac-cream-2); padding: 8px 14px; border-radius: 12px; font-size: 0.85rem; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 14px 0; }
.ffac-disclosure-strip--footer { background: transparent; padding: 0; }

/* ============ Hero ============ */
.ffac-hero { background: linear-gradient(180deg, var(--ffac-cream) 0%, var(--ffac-bg) 100%); padding: 64px 0; }
.ffac-hero__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 36px; align-items: center; }
@media (max-width: 880px) { .ffac-hero__grid { grid-template-columns: 1fr; } }
.ffac-hero__eyebrow { color: var(--ffac-coral-2); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; font-size: 0.84rem; margin: 0 0 6px; }
.ffac-hero__title { margin-bottom: 14px; }
.ffac-hero__sub { color: var(--ffac-muted); font-size: 1.06rem; margin-bottom: 22px; max-width: 56ch; }
.ffac-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; }
.ffac-hero__pill { margin-top: 14px; color: var(--ffac-muted); font-size: 0.85rem; display: flex; gap: 8px; align-items: center; }
.ffac-hero__visual { position: relative; min-height: 380px; }
.ffac-hero__card { position: absolute; background: var(--ffac-card); border-radius: var(--ffac-radius-lg); padding: 16px 18px; box-shadow: var(--ffac-shadow-lg); width: min(240px, 70%); overflow: hidden; }
.ffac-hero__card h3 { margin: 6px 0 4px; }
.ffac-hero__card p { margin: 0; color: var(--ffac-muted); font-size: 0.86rem; }
.ffac-hero__card--deal  { top: 4%;  left: 2%;  transform: rotate(-3deg); }
.ffac-hero__card--cause { top: 40%; right: 2%; transform: rotate(2deg);  }
.ffac-hero__card--save  { bottom: 4%; left: 14%; transform: rotate(-1deg); }

/* Below 1080px the columns get tight — flatten the collage into a clean grid so cards never overlap or clip. */
@media (max-width: 1080px) and (min-width: 881px) {
	.ffac-hero__visual { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; min-height: 0; }
	.ffac-hero__card { position: static; transform: none !important; width: 100%; }
	.ffac-hero__card--save { grid-column: span 2; }
}
@media (max-width: 880px) {
	.ffac-hero__visual { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; min-height: 0; }
	.ffac-hero__card { position: static; transform: none !important; width: 100%; padding: 12px 14px; }
}
@media (max-width: 480px) {
	.ffac-hero__visual { grid-template-columns: 1fr; }
}

/* ============ Trust strip ============ */
.ffac-trust-grid { gap: 14px; }
.ffac-trust-card { background: var(--ffac-card); border-radius: var(--ffac-radius); padding: 18px; box-shadow: var(--ffac-shadow); text-align: center; }
.ffac-trust-card__icon { font-size: 1.6rem; }
.ffac-trust-card h3 { font-size: 1rem; margin: 8px 0 4px; }
.ffac-trust-card p { color: var(--ffac-muted); margin: 0; font-size: 0.9rem; }

/* ============ Quick start ============ */
.ffac-qs-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
@media (max-width: 880px) { .ffac-qs-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px) { .ffac-qs-grid { grid-template-columns: repeat(2, 1fr); } }
.ffac-qs-card { background: var(--ffac-card); border: 1px solid var(--ffac-line); border-radius: 14px; padding: 18px 8px; text-align: center; cursor: pointer; transition: transform .08s, box-shadow .12s; }
.ffac-qs-card:hover, .ffac-qs-card[aria-pressed="true"] { transform: translateY(-2px); box-shadow: var(--ffac-shadow); border-color: var(--ffac-coral); }
.ffac-qs-card[aria-pressed="true"] { background: var(--ffac-cream); }
.ffac-qs-card__icon { font-size: 1.5rem; display: block; margin-bottom: 6px; }
.ffac-qs-card__label { font-weight: 700; font-size: 0.85rem; }

/* ============ Tool shells ============ */
.ffac-tool { background: var(--ffac-card); border-radius: var(--ffac-radius-lg); padding: 26px; box-shadow: var(--ffac-shadow); margin-top: 8px; }
.ffac-tool__head { margin-bottom: 16px; }
.ffac-tool__title { margin: 0 0 4px; }
.ffac-tool__intro { color: var(--ffac-muted); margin: 0; }
.ffac-tool__body { min-height: 60px; }
.ffac-tool__privacy { margin: 14px 0 0; color: var(--ffac-muted); font-size: 0.82rem; }

.ffac-field { display: flex; flex-direction: column; gap: 6px; margin: 10px 0; }
.ffac-field label { font-weight: 600; font-size: 0.92rem; }
.ffac-field input[type="text"],
.ffac-field input[type="email"],
.ffac-field input[type="number"],
.ffac-field input[type="date"],
.ffac-field select,
.ffac-field textarea {
	font: inherit; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--ffac-line); background: #fff;
}
.ffac-field--row { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
@media (max-width: 560px) { .ffac-field--row { grid-template-columns: 1fr; } }

.ffac-progress { height: 6px; background: var(--ffac-cream-2); border-radius: 999px; overflow: hidden; margin: 10px 0; }
.ffac-progress__bar { height: 100%; background: var(--ffac-coral); width: 0; transition: width 0.2s ease; }

.ffac-tool-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }

/* ============ Quiz ============ */
.ffac-quiz__step { display: none; }
.ffac-quiz__step.is-active { display: block; }
.ffac-quiz__options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 10px 0; }
@media (max-width: 560px) { .ffac-quiz__options { grid-template-columns: 1fr; } }
.ffac-quiz__option { background: var(--ffac-card-soft); border: 2px solid transparent; border-radius: 12px; padding: 12px 14px; text-align: left; cursor: pointer; font-weight: 600; }
.ffac-quiz__option:hover { border-color: var(--ffac-coral); }
.ffac-quiz__option[aria-pressed="true"] { background: var(--ffac-cream-2); border-color: var(--ffac-coral); }
.ffac-quiz__result { display: none; }
.ffac-quiz__result.is-active { display: block; }

/* ============ Product box ============ */
.ffac-pb { background: var(--ffac-card); border-radius: var(--ffac-radius); overflow: hidden; box-shadow: var(--ffac-shadow); display: flex; flex-direction: column; }
.ffac-pb--hero { box-shadow: var(--ffac-shadow-lg); border: 2px solid var(--ffac-coral); }
.ffac-pb--sidebar { position: sticky; top: 80px; }
.ffac-pb__media { position: relative; aspect-ratio: 4/3; background: var(--ffac-card-soft); display: flex; align-items: center; justify-content: center; overflow: hidden; max-height: 220px; }
.ffac-pb__media img { width: 100%; height: 100%; object-fit: cover; }
.ffac-pb__placeholder { width: 100%; height: 100%; }
.ffac-pb__placeholder svg { width: 100%; height: 100%; display: block; }
.ffac-pb--hero .ffac-pb__media { max-height: 260px; }
@media (max-width: 560px) {
	.ffac-pb__media { max-height: 180px; }
}
.ffac-pb__badge { position: absolute; top: 10px; left: 10px; background: var(--ffac-yellow); color: var(--ffac-charcoal-2); padding: 4px 10px; border-radius: 999px; font-size: 0.75rem; font-weight: 700; }
.ffac-pb__body { padding: 16px; display: flex; flex-direction: column; gap: 8px; }
.ffac-pb__title { margin: 0; font-size: 1.05rem; }
.ffac-pb__bestfor { margin: 0; color: var(--ffac-muted); font-size: 0.85rem; }
.ffac-pb__bestfor span { color: var(--ffac-coral-2); font-weight: 700; }
.ffac-pb__benefit { margin: 0; font-size: 0.92rem; }
.ffac-pb__pc { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; font-size: 0.86rem; }
.ffac-pb__pros, .ffac-pb__cons { list-style: none; padding: 0; margin: 0; }
.ffac-pb__pros li::before { content: "✓ "; color: var(--ffac-ok); font-weight: 700; }
.ffac-pb__cons li::before { content: "• "; color: var(--ffac-warn); }
.ffac-pb__actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 6px; }
.ffac-pb__disc { color: var(--ffac-muted); font-size: 0.74rem; margin: 6px 0 0; }

/* ============ Deal cards ============ */
.ffac-deal-card { background: var(--ffac-card); border-radius: var(--ffac-radius); padding: 16px; box-shadow: var(--ffac-shadow); display: flex; flex-direction: column; gap: 8px; }
.ffac-deal-card__top { display: flex; gap: 6px; flex-wrap: wrap; }
.ffac-deal-card__title { margin: 6px 0 0; font-size: 1.05rem; }
.ffac-deal-card__merchant { margin: 0; color: var(--ffac-muted); font-size: 0.88rem; }
.ffac-deal-card__terms { list-style: none; padding: 0; margin: 0; font-size: 0.86rem; }
.ffac-deal-card__terms li { padding: 3px 0; border-top: 1px dashed var(--ffac-line); }
.ffac-deal-card__terms li:first-child { border-top: 0; }
.ffac-deal-card__disc { color: var(--ffac-muted); font-size: 0.74rem; margin: 0; }

/* ============ Category cards ============ */
.ffac-cat-card { display: block; background: var(--ffac-card); border-radius: var(--ffac-radius); padding: 18px; text-decoration: none; color: var(--ffac-charcoal); box-shadow: var(--ffac-shadow); position: relative; transition: transform .08s; }
.ffac-cat-card:hover { transform: translateY(-2px); color: var(--ffac-coral-2); }
.ffac-cat-card__badge { background: var(--ffac-teal); color: #fff; font-size: 0.74rem; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.ffac-cat-card__title { margin: 10px 0 6px; }
.ffac-cat-card__text { color: var(--ffac-muted); margin: 0; }
.ffac-cat-card__arrow { position: absolute; top: 16px; right: 16px; font-size: 1.2rem; color: var(--ffac-coral); }

/* ============ Steps ============ */
.ffac-steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.ffac-step { display: flex; gap: 14px; background: var(--ffac-card); border-radius: var(--ffac-radius); padding: 14px 16px; box-shadow: var(--ffac-shadow); }
.ffac-step__num { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: var(--ffac-coral); color: #fff; border-radius: 999px; font-weight: 700; flex-shrink: 0; }

/* ============ FAQ ============ */
.ffac-faq details { background: var(--ffac-card); border-radius: var(--ffac-radius); padding: 14px 18px; margin-bottom: 10px; box-shadow: var(--ffac-shadow); }
.ffac-faq summary { cursor: pointer; font-weight: 700; }
.ffac-faq details[open] summary { color: var(--ffac-coral-2); }

/* ============ Newsletter ============ */
.ffac-newsletter { background: var(--ffac-card); border-radius: var(--ffac-radius-lg); padding: 22px; box-shadow: var(--ffac-shadow); max-width: 560px; margin: 0 auto; display: grid; gap: 10px; }
.ffac-newsletter input[type=email] { width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--ffac-line); font: inherit; }
.ffac-newsletter__consent { font-size: 0.84rem; color: var(--ffac-muted); display: flex; gap: 8px; align-items: flex-start; }

/* ============ EEAT ============ */
.ffac-eeat-card { background: var(--ffac-card); border-radius: var(--ffac-radius); padding: 16px; box-shadow: var(--ffac-shadow); }
.ffac-eeat-card h3 { color: var(--ffac-coral-2); font-size: 1rem; }
.ffac-eeat-card p { color: var(--ffac-muted); margin: 0; font-size: 0.92rem; }
.ffac-eeat__links { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 18px; }

/* ============ Footer ============ */
.ffac-footer { background: var(--ffac-charcoal); color: #f2eee7; margin-top: 64px; }
.ffac-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 2fr; gap: 24px; padding: 40px 16px; }
@media (max-width: 880px) { .ffac-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .ffac-footer__grid { grid-template-columns: 1fr; } }
.ffac-footer h4 { color: #fff; margin: 0 0 10px; }
.ffac-footer a { color: var(--ffac-yellow); text-decoration: none; }
.ffac-footer a:hover { text-decoration: underline; }
.ffac-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.ffac-footer__disclaimer { color: #e4dccc; font-size: 0.84rem; margin: 0 0 8px; }
.ffac-footer__legal { background: #18202b; padding: 14px 0; text-align: center; font-size: 0.84rem; color: #cdc1ab; }

/* ============ Sticky CTA ============ */
.ffac-sticky-cta { position: fixed; left: 12px; right: 12px; bottom: 12px; background: var(--ffac-card); border-radius: 999px; box-shadow: var(--ffac-shadow-lg); padding: 8px 12px; display: none; align-items: center; gap: 10px; z-index: 60; }
.ffac-sticky-cta[data-hidden="false"] { display: flex; }
.ffac-sticky-cta .ffac-btn { flex: 1; text-align: center; }
.ffac-sticky-cta__close { background: transparent; border: 0; font-size: 1.4rem; color: var(--ffac-muted); cursor: pointer; }
@media (min-width: 900px) { .ffac-sticky-cta { display: none !important; } }

/* ============ Tool grid (search/404/landing) ============ */
.ffac-tool-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 12px; }
@media (max-width: 560px) { .ffac-tool-grid { grid-template-columns: 1fr 1fr; } }
.ffac-tool-link { background: var(--ffac-card); border: 1px solid var(--ffac-line); border-radius: 12px; padding: 14px 16px; text-align: center; text-decoration: none; color: var(--ffac-charcoal); font-weight: 700; }
.ffac-tool-link:hover { background: var(--ffac-cream-2); color: var(--ffac-coral-2); }

/* ============ Community planner ============ */
.ffac-community-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
@media (max-width: 880px) { .ffac-community-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .ffac-community-grid { grid-template-columns: 1fr; } }
.ffac-community-card { background: var(--ffac-card); border-radius: var(--ffac-radius); padding: 16px; box-shadow: var(--ffac-shadow); }
.ffac-community-card h3 { color: var(--ffac-blue-2); font-size: 1rem; }
.ffac-community-card p { color: var(--ffac-muted); margin: 0; font-size: 0.9rem; }

/* ============ 404 ============ */
.ffac-404 { padding: 40px 0; }
.ffac-404__product { max-width: 720px; margin: 0 auto 32px; }
.ffac-404__head { text-align: center; }
.ffac-404__tools { margin-top: 28px; }
.ffac-404__cat-list { list-style: none; padding: 0; margin: 14px 0; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.ffac-404__cat-list a { background: var(--ffac-card); border-radius: 999px; padding: 8px 14px; border: 1px solid var(--ffac-line); text-decoration: none; color: var(--ffac-charcoal); }

/* ============ Tracker / calendar / generic table-ish UI ============ */
.ffac-table { width: 100%; border-collapse: collapse; background: var(--ffac-card); border-radius: var(--ffac-radius); overflow: hidden; }
.ffac-table th, .ffac-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--ffac-line); font-size: 0.92rem; }
.ffac-table th { background: var(--ffac-cream-2); font-weight: 700; }

/* ============ Comparison rail ============ */
.ffac-compare-rail { position: fixed; right: 12px; bottom: 72px; background: var(--ffac-card); border-radius: 16px; padding: 12px; box-shadow: var(--ffac-shadow-lg); width: 280px; max-height: 60vh; overflow: auto; z-index: 55; display: none; }
.ffac-compare-rail[data-open="true"] { display: block; }
.ffac-compare-rail h4 { margin: 0 0 8px; }
.ffac-compare-rail__item { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px dashed var(--ffac-line); }

/* ============ Empty states ============ */
.ffac-empty-state { color: var(--ffac-muted); background: var(--ffac-card-soft); border: 1px dashed var(--ffac-line); border-radius: 12px; padding: 14px 16px; margin: 14px 0; font-size: 0.92rem; }
.ffac-empty-state--card { background: var(--ffac-card); box-shadow: var(--ffac-shadow); padding: 28px; text-align: center; }

/* ============ Result panels ============ */
.ffac-result { background: var(--ffac-cream-2); border-left: 4px solid var(--ffac-coral); padding: 16px; border-radius: 8px; margin-top: 14px; }
.ffac-result h4 { margin: 0 0 6px; }
.ffac-result__list { margin: 8px 0 0; padding-left: 18px; }
.ffac-result__amz { background: #fff; border-radius: 10px; padding: 10px; margin-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ffac-result__risk { font-weight: 700; }
.ffac-result__risk--low  { color: var(--ffac-ok); }
.ffac-result__risk--mid  { color: var(--ffac-warn); }
.ffac-result__risk--high { color: #c0392b; }

/* ============ Confetti ============ */
@keyframes ffacConfetti {
	0%   { transform: translate(0,0) rotate(0); opacity: 1; }
	100% { transform: translate(var(--dx), 200px) rotate(720deg); opacity: 0; }
}
.ffac-confetti { position: fixed; pointer-events: none; z-index: 90; }
.ffac-confetti span { position: absolute; width: 8px; height: 14px; animation: ffacConfetti 1.4s ease-out forwards; }

/* ============ Print ============ */
@media print {
	.ffac-header, .ffac-footer, .ffac-sticky-cta, .ffac-search, .ffac-nav, .ffac-tool-actions { display: none !important; }
	body { background: #fff; }
}

/* ============ Pros / Cons / Compare block ============ */
.ffac-proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; background: var(--ffac-card); padding: 14px; border-radius: var(--ffac-radius); }
.ffac-proscons__pros li::before { content: "✓ "; color: var(--ffac-ok); font-weight: 700; }
.ffac-proscons__cons li::before { content: "✗ "; color: var(--ffac-warn); }
.ffac-quick-answer { background: var(--ffac-card-soft); border-left: 4px solid var(--ffac-blue); padding: 12px 14px; border-radius: 10px; margin: 12px 0; }

/* ============ Landing pages ============ */
.ffac-landing { padding: 32px 0; }
.ffac-landing__hero { text-align: center; padding: 24px 0; }
.ffac-landing__terms ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.ffac-landing__terms li::before { content: "⚠ "; color: var(--ffac-warn); }

/* ============ Admin order page (admin.css owns most) ============ */

/* ============ Section feed cards ============ */
.ffac-card { background: var(--ffac-card); border-radius: var(--ffac-radius); overflow: hidden; box-shadow: var(--ffac-shadow); display: flex; flex-direction: column; }
.ffac-card__body { padding: 14px 16px; }
.ffac-card__title a { color: var(--ffac-charcoal); text-decoration: none; }
.ffac-card__title a:hover { color: var(--ffac-coral-2); }
.ffac-card__meta { color: var(--ffac-muted); font-size: 0.84rem; }
.ffac-card__media img { aspect-ratio: 16/10; object-fit: cover; width: 100%; }

/* ============ Compare table block ============ */
.ffac-compare-table table { width: 100%; border-collapse: collapse; background: var(--ffac-card); border-radius: var(--ffac-radius); overflow: hidden; }
.ffac-compare-table th, .ffac-compare-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--ffac-line); font-size: 0.92rem; }
.ffac-compare-table th { background: var(--ffac-cream-2); }

/* ============ Single & page body typography ============ */
.ffac-single, .ffac-page { padding: 32px 0; }
.ffac-single__head h1, .ffac-page__head h1 { margin-bottom: 8px; }
.ffac-single__body p, .ffac-page__body p { font-size: 1.02rem; }
.ffac-single__body img { border-radius: var(--ffac-radius); }
.ffac-amz--inline { background: var(--ffac-cream-2); padding: 1px 6px; border-radius: 6px; }
