
.fpl-page {
  --fpl-purple:       #7c3aed;
  --fpl-purple-dark:  #6d28d9;
  --fpl-purple-light: #a78bfa;
  --fpl-ink:          #101424;
  --fpl-line:         #e9e8ef;
  --fpl-wa:           #25d366;
  --fpl-wa-dark:      #1ebe5d;
  --fpl-amber:        #f59e0b;
  --fpl-green:        #22c55e;
  --fpl-red:          #ef4444;
  color: var(--fpl-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;
}

/* ── SHARED ── */
.fpl-eyebrow { display:inline-block; margin-bottom:12px; color:var(--fpl-purple); font-size:11px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.fpl-section-title { margin:0; color:var(--fpl-ink); font-size:clamp(26px,2.7vw,40px); font-weight:800; line-height:1.08; letter-spacing:-.04em; }
.fpl-section-text { margin:14px 0 0; color:#6f7584; font-size:14px; line-height:1.75; }
.fpl-prose { color:#454d5e; font-size:14.5px; line-height:1.82; }
.fpl-prose p { margin:0 0 16px; }
.fpl-prose p:last-child { margin-bottom:0; }
.fpl-prose strong { color:var(--fpl-ink); font-weight:800; }
.fpl-prose h3 { color:var(--fpl-ink); font-size:18px; font-weight:800; letter-spacing:-.025em; margin:28px 0 10px; }
.fpl-text-link { color:var(--fpl-purple); font-weight:700; text-decoration:none; font-size:inherit; }
.fpl-text-link:hover { color:var(--fpl-purple-dark); text-decoration:underline; }

/* ── BUTTONS ── */
.fpl-btn-purple { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 28px; color:#fff !important; border:0; border-radius:10px; background:linear-gradient(135deg,var(--fpl-purple-dark),var(--fpl-purple) 55%,#9333ea); box-shadow:0 10px 26px rgba(124,58,237,.22); font-size:14px; font-weight:700; text-decoration:none !important; transition:transform .2s,box-shadow .2s; }
.fpl-btn-purple:hover { transform:translateY(-2px); box-shadow:0 14px 32px rgba(124,58,237,.3); }
.fpl-btn-outline { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 26px; color:#1a2030 !important; border:1.5px solid #c4b8f7; border-radius:10px; background:#fff; font-size:14px; font-weight:700; text-decoration:none !important; transition:transform .2s,border-color .2s; }
.fpl-btn-outline:hover { border-color:var(--fpl-purple); transform:translateY(-2px); }
.fpl-wa-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 28px; color:#fff !important; border:0; border-radius:10px; background:var(--fpl-wa); box-shadow:0 10px 26px rgba(37,211,102,.26); font-size:14px; font-weight:700; text-decoration:none !important; transition:background .2s,transform .2s; }
.fpl-wa-btn:hover { background:var(--fpl-wa-dark); transform:translateY(-2px); }
.fpl-wa-btn-lg { min-height:58px; padding:0 34px; font-size:15px; border-radius:12px; box-shadow:0 12px 30px rgba(37,211,102,.28); }
.fpl-outline-dark { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:0 24px; color:rgba(255,255,255,.86) !important; border:1.5px solid rgba(255,255,255,.2); border-radius:10px; background:rgba(255,255,255,.06); font-size:13.5px; font-weight:700; text-decoration:none !important; transition:background .2s,border-color .2s,transform .2s; }
.fpl-outline-dark:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.38); transform:translateY(-2px); }

/* ── HERO ── */
.fpl-hero { position:relative; overflow:hidden; background:#fff; isolation:isolate; }
.fpl-hero-bg { position:absolute; inset:0; z-index:-2; background:url("/wp-content/uploads/2026/09/iptv-sports-playlist-uk.webp") center right/cover no-repeat; }
.fpl-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.99) 28%,rgba(255,255,255,.94) 42%,rgba(255,255,255,.58) 56%,rgba(255,255,255,.08) 70%,rgba(255,255,255,0) 82%); pointer-events:none; }
.fpl-hero-title { margin:0; color:var(--fpl-ink); font-size:clamp(40px,4.6vw,62px); font-weight:800; line-height:.98; letter-spacing:-.05em; }
.fpl-hero-title span { display:block; margin-top:8px; font-size:.6em; font-weight:700; line-height:1.06; letter-spacing:-.04em; color:#3a4258; }
.fpl-hero-desc { max-width:560px; margin:20px 0 0; color:#596174; font-size:16px; line-height:1.68; }
.fpl-answer-box { max-width:590px; margin:22px 0 0; padding:18px 22px; border-left:4px solid var(--fpl-purple); border-radius:0 10px 10px 0; background:linear-gradient(90deg,#faf8ff,#fff); }
.fpl-answer-box p { margin:0; color:#3a3f52; font-size:13.5px; font-weight:600; line-height:1.68; }
.fpl-trust-div { width:1px; height:18px; background:#d4d6df; }
.fpl-meta { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-bottom:20px; }
.fpl-meta-item { display:flex; align-items:center; gap:6px; color:#6f7584; font-size:12.5px; font-weight:600; }
.fpl-meta-dot { width:4px; height:4px; border-radius:50%; background:#d4d6df; }

/* ── AUDIT STATS BAR ── */
.fpl-audit { background:linear-gradient(135deg,#0d0b1a,#1a0e35); position:relative; overflow:hidden; }
.fpl-audit::before { content:""; position:absolute; inset:0; background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(124,58,237,.18),transparent 68%); pointer-events:none; }
.fpl-audit-label { color:rgba(255,255,255,.5); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:4px; }
.fpl-audit-num { color:#fff; font-size:clamp(26px,3vw,38px); font-weight:900; line-height:1; letter-spacing:-.04em; }
.fpl-audit-num.bad { color:#f87171; }
.fpl-audit-num.ok  { color:#86efac; }
.fpl-audit-num.wa  { color:var(--fpl-wa); }
.fpl-audit-desc { color:rgba(255,255,255,.6); font-size:12px; font-weight:600; margin-top:4px; line-height:1.4; }
.fpl-audit-divider { width:1px; background:rgba(255,255,255,.1); align-self:stretch; }
.fpl-source-note { color:rgba(255,255,255,.3); font-size:11px; text-align:center; margin-top:8px; }

/* ── TABLE OF CONTENTS ── */
.fpl-toc { background:#faf8ff; border:1px solid rgba(124,58,237,.14); border-radius:14px; padding:22px 24px; }
.fpl-toc-title { color:var(--fpl-ink); font-size:12px; font-weight:800; margin:0 0 12px; text-transform:uppercase; letter-spacing:.08em; }
.fpl-toc ol { margin:0; padding-left:18px; display:flex; flex-direction:column; gap:7px; }
.fpl-toc ol li { color:#5c6273; font-size:13px; line-height:1.4; }
.fpl-toc ol li a { color:var(--fpl-purple-dark); font-weight:700; text-decoration:none; font-size:13px; }
.fpl-toc ol li a:hover { text-decoration:underline; }

/* ── TYPE CARDS ── */
.fpl-type-card { border-radius:16px; overflow:hidden; border:1px solid var(--fpl-line); background:#fff; box-shadow:0 6px 20px rgba(18,23,38,.05); height:100%; display:flex; flex-direction:column; }
.fpl-type-header { padding:20px 22px 16px; }
.fpl-type-legal { background:linear-gradient(135deg,#f0fdf6,#e8faf0); border-bottom:1px solid #bbf7d0; }
.fpl-type-mixed { background:linear-gradient(135deg,#fffbeb,#fef9e7); border-bottom:1px solid #fde68a; }
.fpl-type-illegal { background:linear-gradient(135deg,#fef2f2,#fee2e2); border-bottom:1px solid #fecaca; }
.fpl-type-badge { display:inline-block; padding:3px 10px; border-radius:20px; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; margin-bottom:10px; }
.fpl-badge-legal   { background:#15803d; color:#fff; }
.fpl-badge-mixed   { background:#b45309; color:#fff; }
.fpl-badge-illegal { background:#dc2626; color:#fff; }
.fpl-type-name { font-size:17px; font-weight:800; color:var(--fpl-ink); margin:0 0 4px; letter-spacing:-.025em; }
.fpl-type-tagline { font-size:12.5px; color:#6f7584; margin:0; }
.fpl-type-body { padding:18px 22px; flex:1; }
.fpl-type-body p { margin:0 0 10px; color:#454d5e; font-size:13px; line-height:1.65; }
.fpl-type-body p:last-child { margin-bottom:0; }
.fpl-sport-pill { display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border-radius:20px; font-size:11px; font-weight:800; margin-top:12px; }
.fpl-sport-bad  { background:#fef2f2; color:#dc2626; border:1px solid #fecaca; }
.fpl-sport-ok   { background:#f0fdf6; color:#15803d; border:1px solid #bbf7d0; }
.fpl-sport-warn { background:#fffbeb; color:#b45309; border:1px solid #fde68a; }

/* ── PROGRESS BARS (sport survival rates) ── */
.fpl-sport-row { padding:14px 0; border-bottom:1px solid var(--fpl-line); }
.fpl-sport-row:last-child { border-bottom:0; }
.fpl-sport-name { font-size:14px; font-weight:800; color:var(--fpl-ink); margin-bottom:3px; }
.fpl-sport-sub  { font-size:12px; color:#6f7584; margin-bottom:8px; }
.fpl-bar-track { height:10px; border-radius:20px; background:#e9e7f0; overflow:hidden; }
.fpl-bar-fill { height:100%; border-radius:20px; transition:width 1s ease; }
.fpl-bar-free    { background:linear-gradient(90deg,#ef4444,#f87171); }
.fpl-bar-paid    { background:linear-gradient(90deg,var(--fpl-purple-dark),var(--fpl-purple)); }
.fpl-bar-labels { display:flex; justify-content:space-between; margin-top:5px; }
.fpl-bar-label-item { font-size:11px; font-weight:700; color:#6f7584; }
.fpl-bar-pct-free { color:#ef4444; font-weight:800; }
.fpl-bar-pct-paid { color:var(--fpl-purple); font-weight:800; }

/* ── SETUP TABS ── */
.fpl-device-tabs { display:flex; flex-wrap:nowrap; gap:5px; padding:5px; border:1px solid #e8e5f0; border-radius:14px; background:#f4f2f8; overflow-x:auto; scrollbar-width:none; }
.fpl-device-tabs::-webkit-scrollbar { display:none; }
.fpl-device-tab { display:inline-flex; align-items:center; gap:7px; min-height:44px; padding:0 18px; border:0; border-radius:9px; background:transparent; font-size:13px; font-weight:700; color:#676d7b; cursor:pointer; white-space:nowrap; font-family:inherit; transition:color .2s,background .2s,box-shadow .2s; }
.fpl-device-tab:hover { color:var(--fpl-purple-dark); }
.fpl-device-tab.active { color:#fff; background:linear-gradient(135deg,var(--fpl-purple-dark),var(--fpl-purple) 55%,#9333ea); box-shadow:0 6px 18px rgba(124,58,237,.22); }
.fpl-panel { display:none; }
.fpl-panel.active { display:block; }
.fpl-step { display:flex; align-items:flex-start; gap:16px; padding-bottom:24px; position:relative; }
.fpl-step:not(:last-child)::after { content:""; position:absolute; left:17px; top:36px; bottom:0; width:2px; background:linear-gradient(180deg,rgba(124,58,237,.22),rgba(124,58,237,.04)); }
.fpl-step-num { width:36px; height:36px; flex:0 0 36px; display:flex; align-items:center; justify-content:center; border-radius:50%; font-size:13px; font-weight:900; color:#fff; background:linear-gradient(135deg,var(--fpl-purple-dark),var(--fpl-purple)); box-shadow:0 5px 14px rgba(124,58,237,.22); position:relative; z-index:1; align-self:flex-start; }
.fpl-step-body { padding-top:6px; }
.fpl-step-body h3 { margin:0 0 6px; color:var(--fpl-ink); font-size:15px; font-weight:800; line-height:1.25; letter-spacing:-.02em; }
.fpl-step-body p { margin:0; color:#6f7584; font-size:13px; line-height:1.7; }
.fpl-path { display:inline-flex; align-items:center; flex-wrap:wrap; gap:4px; margin-top:8px; padding:7px 11px; border:1px solid #e4e2ef; border-radius:8px; background:#faf8ff; font-size:11.5px; }
.fpl-path-s { color:var(--fpl-purple-dark); font-weight:800; white-space:nowrap; }
.fpl-path-a { color:#a0a6b8; font-size:10px; }
.fpl-note { display:flex; align-items:flex-start; gap:9px; margin-top:12px; padding:11px 13px; border-left:3px solid var(--fpl-amber); border-radius:0 8px 8px 0; background:#fffbeb; }
.fpl-note p { margin:0; color:#78350f; font-size:12px; font-weight:600; line-height:1.58; }
.fpl-tip { display:flex; align-items:flex-start; gap:9px; margin-top:12px; padding:11px 13px; border-left:3px solid var(--fpl-purple); border-radius:0 8px 8px 0; background:#faf8ff; }
.fpl-tip p { margin:0; color:#3d3560; font-size:12px; font-weight:600; line-height:1.58; }

/* ── COMPARISON TABLE ── */
.fpl-cmp-wrap { overflow-x:auto; border:1px solid var(--fpl-line); border-radius:16px; box-shadow:0 8px 26px rgba(18,23,38,.05); }
.fpl-cmp-table { width:100%; border-collapse:separate; border-spacing:0; font-size:13px; min-width:640px; }
.fpl-cmp-table th, .fpl-cmp-table td { padding:13px 16px; border-bottom:1px solid #eeedf4; vertical-align:middle; }
.fpl-cmp-table tr:last-child td { border-bottom:0; }
.fpl-cmp-table thead th { font-size:11.5px; font-weight:800; text-align:center; }
.fpl-cmp-table thead th:first-child { text-align:left; background:#f5f4fb; color:#6b7280; border-radius:14px 0 0 0; }
.fpl-th-free-bad { background:#fef2f2; color:#dc2626; }
.fpl-th-free-ok  { background:#f0fdf6; color:#15803d; }
.fpl-th-paid  { background:linear-gradient(135deg,#faf7ff,#f3eeff); color:var(--fpl-purple-dark); }
.fpl-cmp-table td:first-child { font-weight:700; color:#363d52; font-size:12.5px; }
.fpl-cmp-table td:not(:first-child) { text-align:center; }
.fpl-cmp-table tbody tr:nth-child(odd) td { background:#faf9ff; }
.fpl-cmp-table tbody tr:nth-child(odd) td:first-child { background:#f7f6fc; }
.fpl-cmp-table tbody tr:nth-child(even) td { background:#fff; }
.fpl-yes { color:var(--fpl-green); font-size:17px; }
.fpl-no  { color:var(--fpl-red);   font-size:17px; }
.fpl-part { color:var(--fpl-amber); font-size:11.5px; font-weight:700; }
.fpl-win { display:inline-block; padding:2px 8px; border-radius:20px; background:linear-gradient(135deg,var(--fpl-purple-dark),#8b5cf6); color:#fff; font-size:9px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }

/* ── PLAN CARDS ── */
.fpl-plan-card { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; padding:28px 18px 22px; border:1px solid var(--fpl-line); border-radius:18px; background:#fff; box-shadow:0 8px 26px rgba(18,23,38,.052); height:100%; transition:transform .22s,border-color .22s,box-shadow .22s; }
.fpl-plan-card:hover { transform:translateY(-4px); border-color:rgba(124,58,237,.2); box-shadow:0 16px 38px rgba(18,23,38,.09); }
.fpl-plan-card-best { border:2px solid var(--fpl-purple); background:linear-gradient(180deg,#faf7ff,#fff 28%); box-shadow:0 14px 40px rgba(124,58,237,.14); }
.fpl-plan-card-deal { border:2px solid #f59e0b; background:linear-gradient(180deg,#fffbeb,#fff 28%); box-shadow:0 14px 40px rgba(245,158,11,.13); }
.fpl-plan-tag { position:absolute; top:0; left:50%; transform:translateX(-50%); padding:4px 14px; color:#fff; border-radius:0 0 9px 9px; background:linear-gradient(135deg,var(--fpl-purple-dark),#8b5cf6); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.fpl-plan-tag-deal { background:linear-gradient(135deg,#b45309,#f59e0b); }
.fpl-plan-dur { display:block; margin-bottom:8px; color:#222736; font-size:13px; font-weight:800; }
.fpl-plan-price { display:flex; align-items:flex-start; gap:2px; justify-content:center; margin-bottom:4px; }
.fpl-plan-curr { margin-top:5px; color:var(--fpl-purple); font-size:16px; font-weight:800; line-height:1; }
.fpl-plan-card-deal .fpl-plan-curr { color:#b45309; }
.fpl-plan-amt  { color:var(--fpl-ink); font-size:36px; font-weight:900; line-height:1; letter-spacing:-.055em; }
.fpl-plan-per  { align-self:flex-end; padding-bottom:2px; color:#8a8f9d; font-size:10px; font-weight:600; }
.fpl-plan-save { display:inline-block; margin:4px 0 10px; padding:3px 9px; border-radius:20px; background:#f0fdf6; color:#15803d; border:1px solid #bbf7d0; font-size:10px; font-weight:800; }
.fpl-plan-card-deal .fpl-plan-save { background:#fffbeb; color:#92400e; border-color:#fde68a; }
.fpl-plan-features { display:flex; flex-direction:column; gap:6px; margin:8px 0 14px; padding:0; list-style:none; text-align:left; width:100%; }
.fpl-plan-features li { display:flex; align-items:flex-start; gap:7px; color:#606675; font-size:11px; line-height:1.4; }
.fpl-plan-chk { flex:0 0 14px; width:14px; height:14px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#f0eaff; color:var(--fpl-purple); font-size:7px; font-weight:900; margin-top:1px; }
.fpl-plan-btn { display:flex; align-items:center; justify-content:center; gap:7px; width:100%; min-height:40px; margin-top:auto; border:1px solid #cabcf6; border-radius:9px; background:#fff; color:var(--fpl-purple-dark) !important; font-size:12px; font-weight:700; text-decoration:none !important; transition:color .2s,background .2s,border-color .2s,transform .2s; }
.fpl-plan-btn:hover { color:#fff !important; border-color:var(--fpl-purple); background:var(--fpl-purple); transform:translateY(-1px); }
.fpl-plan-btn-best { color:#fff !important; border-color:transparent; background:linear-gradient(135deg,var(--fpl-purple-dark),var(--fpl-purple) 55%,#9333ea); box-shadow:0 8px 20px rgba(124,58,237,.2); }
.fpl-plan-btn-deal { color:#fff !important; border-color:transparent; background:linear-gradient(135deg,#b45309,#d97706 55%,#f59e0b); box-shadow:0 8px 20px rgba(180,83,9,.2); }

/* ── FAQ ── */
.fpl-faq { background:linear-gradient(180deg,#fbfaff,#fff); }
.fpl-faq-accordion .accordion-item { overflow:hidden; border:1px solid #e8e7ef !important; border-radius:11px !important; background:#fff; box-shadow:0 5px 16px rgba(18,23,38,.03); }
.fpl-faq-accordion .accordion-button { min-height:62px; padding:16px 18px; color:#1b1f2d; background:#fff; box-shadow:none !important; font-size:12.5px; font-weight:700; line-height:1.4; }
.fpl-faq-accordion .accordion-button:not(.collapsed) { color:var(--fpl-purple-dark); background:#fbf9ff; }
.fpl-faq-accordion .accordion-button:hover { color:var(--fpl-purple-dark); }
.fpl-faq-accordion .accordion-button::after { width:25px; height:25px; flex:0 0 25px; margin-left:14px; display:flex; align-items:center; justify-content:center; content:"+"; color:#343947; border-radius:50%; background:#f5f4f8; background-image:none !important; font-size:17px; font-weight:500; transform:none !important; }
.fpl-faq-accordion .accordion-button:not(.collapsed)::after { content:"\2212"; color:#fff; background:var(--fpl-purple); }
.fpl-faq-accordion .accordion-body { padding:0 18px 19px; color:#6f7583; background:#fbf9ff; font-size:12.5px; line-height:1.72; }
.fpl-faq-accordion .accordion-body p { margin:0; }
.fpl-faq-accordion .accordion-body p + p { margin-top:8px; }
.fpl-faq-accordion .accordion-body a { display:inline-flex; margin-top:8px; color:var(--fpl-purple); font-size:11.5px; font-weight:700; text-decoration:none; }
.fpl-faq-accordion .accordion-body a:hover { color:#5b21b6; text-decoration:underline; }

/* ── FINAL CTA ── */
.fpl-final { background:linear-gradient(135deg,#0d0b1a,#1a0e35 48%,#0f1324); position:relative; overflow:hidden; isolation:isolate; }
.fpl-final::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse 55% 65% at 78% 50%,rgba(124,58,237,.22),transparent 68%), radial-gradient(ellipse 38% 48% at 18% 60%,rgba(37,211,102,.08),transparent 64%); }
.fpl-final-eyebrow { display:inline-block; margin-bottom:16px; color:var(--fpl-purple-light); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.fpl-final-title { margin:0; color:#fff; font-size:clamp(30px,3.4vw,48px); font-weight:800; line-height:1.04; letter-spacing:-.045em; }
.fpl-final-text { max-width:560px; margin:18px auto 0; color:rgba(255,255,255,.7); font-size:15px; line-height:1.68; }
.fpl-final-note { margin-top:16px; color:rgba(255,255,255,.42); font-size:11.5px; font-weight:600; }

/* ── RESPONSIVE ── */
@media (max-width:991.98px) { .fpl-hero-bg,.fpl-hero::before { display:none; } }
@media (max-width:767.98px) { .fpl-hero-title { font-size:clamp(36px,9.5vw,52px); } .fpl-device-tab { padding:0 13px; font-size:12px; } }
@media (max-width:575.98px) { .fpl-faq-accordion .accordion-button { min-height:56px; padding:14px 15px; font-size:12px; } .fpl-faq-accordion .accordion-body { padding:0 15px 17px; font-size:12px; } }
@media (prefers-reduced-motion:reduce) { .fpl-page *,.fpl-page *::before,.fpl-page *::after { transition-duration:.01ms !important; animation-duration:.01ms !important; } }
