/* FMP App Core — Scoped theme styles */
.fmpapp-template .fmp-app{min-height:100vh;background:#F8F9FA}
.fmp-app{
  --primary-blue:#1A5FED;--primary-blue-dark:#0F4BC9;
  --secondary-gold:#FFB800;
  --neutral-white:#FFFFFF;--neutral-off-white:#F8F9FA;--neutral-light-gray:#E9ECEF;
  --neutral-gray:#6C757D;--neutral-dark-gray:#343A40;--neutral-black:#121212;
  --success-green:#28A745;--info-blue:#17A2B8;--warning-orange:#FFC107;
  --font-primary:Inter,-apple-system,BlinkMacSystemFont,sans-serif;
  --font-secondary:Poppins,-apple-system,BlinkMacSystemFont,sans-serif;
  --space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;
  --radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-round:999px;
  --shadow-sm:0 2px 4px rgba(0,0,0,.05);
  --shadow-md:0 4px 12px rgba(0,0,0,.08);
  --shadow-lg:0 8px 24px rgba(0,0,0,.12);
  --shadow-xl:0 16px 48px rgba(0,0,0,.16);
  --transition-fast:150ms ease;--transition-normal:250ms ease;

  font-family:var(--font-primary);
  color:var(--neutral-dark-gray);
}

.fmp-app *{box-sizing:border-box}
.fmp-app .container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}
.fmp-app .text-center{text-align:center}
.fmpapp-skip.skip-link{position:absolute;left:-9999px;top:10px;background:#fff;color:var(--primary-blue);
  padding:10px 12px;border-radius:12px;border:2px solid rgba(26,95,237,.35);z-index:3000}
.fmpapp-skip.skip-link:focus{left:10px}

/* App-owned header (keeps navigation/account links independent of the active WP theme) */
.fmp-app .fmpapp-header{
  position:sticky;top:0;z-index:1200;
  background:rgba(248,249,250,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--neutral-light-gray);
}
.fmp-app .fmpapp-header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:var(--space-sm) 0;
  gap:var(--space-md);
}
.fmp-app .fmpapp-brand{
  font-family:var(--font-secondary);
  font-weight:800;
  color:var(--neutral-black);
  text-decoration:none;
  letter-spacing:.2px;
}
.fmp-app .fmpapp-nav{
  display:flex;align-items:center;gap:var(--space-md);
  flex-wrap:wrap;
}
.fmp-app .fmpapp-nav a{
  font-weight:800;
  color:var(--neutral-dark-gray);
  text-decoration:none;
  padding:.45rem .65rem;
  border-radius:var(--radius-round);
  transition:background var(--transition-fast),color var(--transition-fast);
}
.fmp-app .fmpapp-nav a:hover{background:rgba(26,95,237,.08);color:var(--primary-blue)}
.fmp-app .fmpapp-account{display:flex;gap:var(--space-sm);align-items:center;flex-wrap:wrap}
.fmp-app .fmpapp-account-link{
  font-weight:800;
  text-decoration:none;
  color:var(--primary-blue);
  padding:.45rem .65rem;
  border-radius:var(--radius-round);
  border:1px solid rgba(26,95,237,.18);
  background:#fff;
  transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);
}
.fmp-app .fmpapp-account-link:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);background:rgba(26,95,237,.04)}

.fmp-app .hero-section{
  background:linear-gradient(135deg,var(--primary-blue) 0%,var(--primary-blue-dark) 100%);
  color:var(--neutral-white);
  padding:var(--space-3xl) 0;
  text-align:center;
  position:relative;overflow:hidden
}
.fmp-app .hero-section h1{font-family:var(--font-secondary);font-weight:700;line-height:1.2;font-size:3rem;margin-bottom:var(--space-lg);color:var(--neutral-white)}
.fmp-app .hero-subtitle{font-size:1.25rem;margin-bottom:var(--space-2xl);opacity:.92;max-width:860px;margin-left:auto;margin-right:auto}
.fmp-app .hero-trust-row{display:flex;gap:var(--space-sm);flex-wrap:wrap;justify-content:center;margin-top:var(--space-md);opacity:.95}
.fmp-app .trust-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .85rem;border-radius:var(--radius-round);
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-weight:700;font-size:.9rem;color:rgba(255,255,255,.96)}
.fmp-app .hero-buttons{display:flex;gap:var(--space-lg);justify-content:center;flex-wrap:wrap;margin-top:var(--space-xl)}

.fmp-app .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);
  padding:var(--space-md) var(--space-xl);font-size:1rem;font-weight:800;border-radius:var(--radius-round);
  border:2px solid transparent;cursor:pointer;transition:all var(--transition-normal);text-align:center;min-width:210px;text-decoration:none}
.fmp-app .btn-primary{background:var(--neutral-white);color:var(--primary-blue)}
.fmp-app .btn-primary:hover{background:var(--primary-blue-dark);color:var(--neutral-white);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.fmp-app .btn-secondary{background:transparent;color:var(--neutral-white);border-color:rgba(255,255,255,.95)}
.fmp-app .btn-secondary:hover{background:var(--neutral-white);color:var(--primary-blue);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.fmp-app .btn-tertiary{background:rgba(255,255,255,.14);color:var(--neutral-white);border-color:rgba(255,255,255,.06)}
.fmp-app .btn-tertiary:hover{background:var(--neutral-white);color:var(--primary-blue);transform:translateY(-2px);box-shadow:var(--shadow-md)}

.fmp-app .section{padding:var(--space-3xl) 0}
.fmp-app .section-header{text-align:center;margin-bottom:var(--space-2xl)}
.fmp-app .section-header h2{font-family:var(--font-secondary);font-weight:700;line-height:1.2;font-size:2rem;margin-bottom:var(--space-sm);color:var(--neutral-black)}
.fmp-app .section-description{font-size:1.15rem;color:var(--neutral-gray);max-width:860px;margin:0 auto}

.fmp-app .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-lg);margin-top:var(--space-2xl)}
.fmp-app .card{
  background:var(--neutral-white);padding:var(--space-xl);border-radius:var(--radius-lg);
  color:var(--neutral-dark-gray);box-shadow:var(--shadow-md);
  transition:transform var(--transition-normal),box-shadow var(--transition-normal);
  border-left:4px solid var(--primary-blue);text-decoration:none
}
.fmp-app .card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.fmp-app .card-icon{width:48px;height:48px;border-radius:var(--radius-round);display:flex;align-items:center;justify-content:center;
  background:var(--primary-blue);color:var(--neutral-white);font-size:1.2rem;margin-bottom:var(--space-md)}
.fmp-app .card h3{font-family:var(--font-secondary);font-weight:700;line-height:1.2;font-size:1.15rem;margin-bottom:.35rem;color:var(--primary-blue)}
.fmp-app .card p{color:var(--neutral-gray);font-size:.95rem;margin:0}

.fmp-app .trust-section{background:linear-gradient(135deg,var(--neutral-off-white) 0%,var(--neutral-light-gray) 100%)}
.fmp-app .trust-callout{margin-top:var(--space-xl);padding:var(--space-lg);border-radius:var(--radius-lg);
  background:rgba(26,95,237,.06);border:1px solid rgba(26,95,237,.14);color:var(--neutral-dark-gray)}
.fmp-app .trust-callout strong{color:var(--neutral-black)}

.fmp-app .badge-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:var(--space-md)}
.fmp-app .badge{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .75rem;border-radius:var(--radius-round);
  font-weight:800;font-size:.85rem;border:1px solid rgba(0,0,0,.08);background:#fff}
.fmp-app .badge.gold{border-color:rgba(255,184,0,.25);background:rgba(255,184,0,.08)}
.fmp-app .badge.blue{border-color:rgba(26,95,237,.22);background:rgba(26,95,237,.06)}
.fmp-app .badge.green{border-color:rgba(40,167,69,.22);background:rgba(40,167,69,.06)}
.fmp-app .badge.orange{border-color:rgba(255,193,7,.25);background:rgba(255,193,7,.10)}

.fmp-app .suburbs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--space-sm);margin-top:var(--space-2xl)}
.fmp-app .suburb-link{
  background:var(--neutral-off-white);border:1px solid var(--neutral-light-gray);border-radius:var(--radius-md);
  padding:var(--space-md);text-decoration:none;color:var(--neutral-dark-gray);font-weight:800;font-size:.95rem;text-align:center;
  transition:all var(--transition-normal)
}
.fmp-app .suburb-link:hover{background:var(--primary-blue);color:var(--neutral-white);border-color:var(--primary-blue);transform:translateY(-2px)}
.fmpapp-suburbs-cta{margin-top:var(--space-xl)}

.fmp-app .community-cta{background:linear-gradient(135deg,var(--neutral-black) 0%,var(--neutral-dark-gray) 100%);color:var(--neutral-white);text-align:center}
.fmp-app .community-cta h2{color:var(--neutral-white);margin-bottom:var(--space-lg)}
.fmp-app .community-cta p{font-size:1.1rem;opacity:.86;max-width:860px;margin:0 auto var(--space-2xl)}
.fmp-app .community-buttons{display:flex;gap:var(--space-lg);justify-content:center;flex-wrap:wrap}

/* -----------------------------
   Absorption (Majin Buu effect)
   ----------------------------- */
.fmp-app .fmpapp-absorb{position:relative}

.fmp-app .fmpapp-absorb-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:var(--space-lg);
  margin-top:var(--space-2xl);
}

.fmp-app .fmpapp-tile{
  background:var(--neutral-white);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-md);
  text-decoration:none;
  color:var(--neutral-dark-gray);
  transition:transform var(--transition-normal), box-shadow var(--transition-normal);
}
.fmp-app .fmpapp-tile:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}

.fmp-app .fmpapp-tile-media{
  background:linear-gradient(135deg, rgba(26,95,237,.10), rgba(15,75,201,.08));
  aspect-ratio: 16 / 10;
  display:flex;
  align-items:center;
  justify-content:center;
}
.fmp-app .fmpapp-tile-media img{width:100%;height:100%;object-fit:cover;display:block}
.fmp-app .fmpapp-tile-placeholder{font-size:2rem;opacity:.9}

.fmp-app .fmpapp-tile-body{padding:var(--space-lg)}
.fmp-app .fmpapp-tile-title{font-family:var(--font-secondary);font-weight:800;line-height:1.2;font-size:1.05rem;color:var(--neutral-black)}

.fmp-app .fmpapp-tile-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.fmp-app .fmpapp-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:.35rem .6rem;
  border-radius:var(--radius-round);
  border:1px solid rgba(0,0,0,.08);
  background:rgba(26,95,237,.06);
  font-weight:800;
  font-size:.82rem;
  color:var(--neutral-dark-gray);
}
.fmp-app .fmpapp-chip-gold{background:rgba(255,184,0,.10);border-color:rgba(255,184,0,.25)}

.fmp-app .fmpapp-list{margin-top:var(--space-xl);display:grid;gap:12px}
.fmp-app .fmpapp-list-item{
  background:var(--neutral-white);
  border:1px solid var(--neutral-light-gray);
  border-radius:var(--radius-lg);
  padding:var(--space-lg);
  box-shadow:var(--shadow-sm);
}
.fmp-app .fmpapp-list-title{font-family:var(--font-secondary);font-weight:800;color:var(--primary-blue);text-decoration:none}
.fmp-app .fmpapp-list-title:hover{color:var(--primary-blue-dark)}
.fmp-app .fmpapp-list-meta{margin-top:6px;color:var(--neutral-gray);font-weight:700;font-size:.9rem}

/* Ranking embed -> cards (JS transforms tables/lists into grids) */
.fmp-app .fmpapp-ranking-embed{margin-top:var(--space-xl)}
.fmp-app .award-template{background:transparent}
.fmp-app .award-template .award-header{padding:var(--space-xl) 0 var(--space-lg);text-align:center}
.fmp-app .award-template .award-title{font-family:var(--font-secondary);font-weight:900;font-size:2.1rem;margin:0 0 var(--space-sm);color:var(--neutral-black)}
.fmp-app .award-template .award-subtitle{margin:0;color:var(--neutral-gray);font-weight:700}
.fmp-app .award-template .container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}

/* If the Power Ranking plugin's CSS is not loaded, provide an app-owned grid look */
.fmp-app .fpr-fitness-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-lg);margin-top:var(--space-xl);overflow:visible}
.fmp-app .fpr-fitness-card{background:var(--neutral-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-lg);border-left:4px solid var(--primary-blue);position:relative;overflow:visible}
.fmp-app .fpr-fc-link{display:block;color:inherit;text-decoration:none}
.fmp-app .fpr-fc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:var(--space-md)}
.fmp-app .fpr-fc-rank{font-weight:900;font-size:.95rem;color:rgba(0,0,0,.8)}
.fmp-app .fpr-fc-score{font-weight:900;font-size:1.05rem;color:var(--primary-blue)}
.fmp-app .fpr-fc-award{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-round);font-weight:900;font-size:.8rem;margin-top:6px}
.fmp-app .fpr-fc-award--winner{background:rgba(255,184,0,.18);border:1px solid rgba(255,184,0,.35)}
.fmp-app .fpr-fc-award--runnerup{background:rgba(26,95,237,.08);border:1px solid rgba(26,95,237,.18)}
.fmp-app .fpr-fc-move{margin-top:6px;font-weight:900;font-size:.8rem;color:var(--neutral-gray)}
.fmp-app .fpr-fc-body{display:flex;gap:12px;align-items:flex-start}
.fmp-app .fpr-fc-avatar{width:56px;height:56px;border-radius:var(--radius-round);display:grid;place-items:center;background:rgba(26,95,237,.12);color:var(--primary-blue);font-weight:900;overflow:hidden;flex:0 0 auto}
.fmp-app .fpr-fc-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.fmp-app .fpr-fc-name{font-family:var(--font-secondary);font-weight:900;font-size:1.05rem;color:var(--neutral-black)}
.fmp-app .fpr-fc-meta{margin-top:4px;color:var(--neutral-gray);font-weight:700;font-size:.92rem}
.fmp-app .fpr-fc-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.fmp-app .fpr-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:var(--radius-round);background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.06);font-weight:800;font-size:.78rem;color:rgba(0,0,0,.7)}
.fmp-app .fpr-small{font-weight:900;color:rgba(0,0,0,.7)}
.fmp-app .fpr-fc-cta .btn{min-width:0}
.fmp-app .fpr-fc-cta .btn.btn-outline{background:transparent;border-color:rgba(26,95,237,.28);color:var(--primary-blue)}
.fmp-app .fpr-fc-cta .btn.btn-outline:hover{background:rgba(26,95,237,.08)}

.fmp-app .fmpapp-ranking-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-lg);overflow:visible}
.fmp-app .fmpapp-ranking-card{
  background:var(--neutral-white);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
  padding:var(--space-lg);
  border-left:4px solid var(--secondary-gold);
  position:relative;
  overflow:visible;
}
.fmp-app .fmpapp-ranking-card .rank{font-weight:900;font-size:.9rem;color:rgba(0,0,0,.75)}
.fmp-app .fmpapp-ranking-card .name{font-family:var(--font-secondary);font-weight:900;font-size:1.05rem;margin-top:6px;color:var(--neutral-black)}
.fmp-app .fmpapp-ranking-card .details{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}

/* Award badges (Winner / Runner-Up / 3rd) */
.fmp-app .fmpapp-award-badge{
  position:absolute;
  top:12px;
  right:12px;
  padding:6px 12px;
  border-radius:var(--radius-round);
  font-size:.8rem;
  font-weight:900;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  z-index:3;
  white-space:nowrap;
}
.fmp-app .fmpapp-ranking-card.has-award-badge{padding-top:calc(var(--space-lg) + 14px)}

.fmp-app .fmpapp-winner-badge{background:linear-gradient(135deg,#FFD700 0%,#FFA500 100%);color:#1b1b1b}
.fmp-app .fmpapp-runnerup-badge{background:linear-gradient(135deg,#e5e7eb 0%,#9ca3af 100%);color:#111827}
.fmp-app .fmpapp-thirdplace-badge{background:linear-gradient(135deg,#CD7F32 0%,#8B4513 100%);color:#fff}

/* Subtle top border accents by rank */
.fmp-app .fmpapp-ranking-card[data-rank="1"]{border-top:3px solid rgba(255,215,0,.85)}
.fmp-app .fmpapp-ranking-card[data-rank="2"]{border-top:3px solid rgba(156,163,175,.85)}
.fmp-app .fmpapp-ranking-card[data-rank="3"]{border-top:3px solid rgba(205,127,50,.85)}
.fmp-app .fmpapp-hidden{display:none !important}

@media (max-width:992px){
  .fmp-app .hero-section h1{font-size:2.4rem}
  .fmp-app .btn{min-width:0;width:100%;max-width:360px}
  .fmp-app .hero-buttons{flex-direction:column;align-items:center}
}
@media (max-width:768px){
  .fmp-app .hero-section h1{font-size:2.1rem}
  .fmp-app .section-header h2{font-size:1.65rem}
}


/* ============================================================
   QFA / Max-Authority Header + Footer + FAQ (scoped + safe)
   ============================================================ */

.fmp-app,
.fmp-app .qfa-nav,
.fmp-app .qfa-footer,
.fmp-app .qfa-faq{
  --qfa-blue:#1A5FED; --qfa-blue-dark:#0F4BC9;
  --qfa-gold:#FFB800;
  --qfa-black:#121212;
  --qfa-text:#343A40;
  --qfa-muted:#6C757D;
  --qfa-bg:#FFFFFF;
  --qfa-border:rgba(0,0,0,.08);
  --qfa-shadow:0 10px 30px rgba(0,0,0,.10);
  --qfa-radius:14px;
  --font-primary:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-secondary:'Poppins', sans-serif;
}

.fmp-app .qfa-skip-link{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.fmp-app .qfa-skip-link:focus{
  left:16px; top:12px; width:auto; height:auto; padding:10px 12px;
  background:#fff; border:2px solid var(--qfa-blue); border-radius:10px; z-index:9999;
}

/* Header */
.fmp-app .qfa-nav{
  position:sticky; top:0; z-index:9998;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--qfa-border);
  font-family:var(--font-primary);
}
.fmp-app .qfa-nav .wrap{
  max-width:1200px; margin:0 auto; padding:12px 16px;
  display:grid; align-items:center; gap:16px;
  grid-template-columns: 1fr auto 1fr; /* Left: brand | Center: nav | Right: actions */
}
.fmp-app .qfa-brand{ display:flex; align-items:center; gap:10px; text-decoration:none; }
.fmp-app .qfa-mark{
  width:40px; height:40px; border-radius:12px;
  display:grid; place-items:center;
  background:linear-gradient(135deg,var(--qfa-blue), #8338EC);
  color:#fff; box-shadow:0 6px 18px rgba(0,0,0,.12);
  flex:0 0 auto;
}
.fmp-app .qfa-brand strong{
  font-family:var(--font-secondary);
  color:var(--qfa-black);
  font-size:1.05rem;
  letter-spacing:.2px;
  line-height:1.05;
}
.fmp-app .qfa-brand .sub{
  display:block;
  font-family:var(--font-primary);
  color:var(--qfa-muted);
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.6px;
  text-transform:uppercase;
  margin-top:2px;
}

.fmp-app .qfa-menu{
  grid-column: 2 / 4; /* Center + right column area */
  display:grid;
  grid-template-columns: auto 1fr; /* left = centered nav, right = actions */
  align-items:center;
  gap:12px;
}

.fmp-app .qfa-center{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:6px;
}

.fmp-app .qfa-actions{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:8px;
}

.fmp-app .qfa-navbtn{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 12px;
  border-radius:12px;
  font-weight:900;
  font-size:.95rem;
  color:var(--qfa-text);
  background:transparent;
  border:1px solid transparent;
  cursor:pointer;
  white-space:nowrap;
  font-family:var(--font-primary);
}
.fmp-app .qfa-navbtn:hover{
  background:rgba(26,95,237,.08);
  color:var(--qfa-blue);
}
.fmp-app .qfa-navbtn:focus-visible{
  outline:3px solid rgba(26,95,237,.35);
  outline-offset:2px;
}
.fmp-app .qfa-links{
  display:flex; align-items:center; gap:6px;
  margin:0; padding:0; list-style:none;
}
.fmp-app .qfa-links a,
.fmp-app .qfa-links button{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 12px;
  border-radius:12px;
  font-weight:800;
  font-size:.95rem;
  color:var(--qfa-text);
  text-decoration:none;
  border:1px solid transparent;
  background:transparent;
  cursor:pointer;
  white-space:nowrap;
  font-family:var(--font-primary);
}
.fmp-app .qfa-links a:hover,
.fmp-app .qfa-links button:hover{
  background:rgba(26,95,237,.08);
  color:var(--qfa-blue);
}
.fmp-app .qfa-links a:focus-visible,
.fmp-app .qfa-links button:focus-visible,
.fmp-app .qfa-cta:focus-visible,
.fmp-app .qfa-burger:focus-visible{
  outline:3px solid rgba(26,95,237,.35);
  outline-offset:2px;
}

.fmp-app .qfa-cta{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 14px;
  border-radius:14px;
  font-weight:900;
  border:1px solid rgba(26,95,237,.20);
  text-decoration:none;
  font-family:var(--font-primary);
}
.fmp-app .qfa-cta.verify{
  background:var(--qfa-blue);
  color:#fff;
  box-shadow:0 10px 22px rgba(26,95,237,.25);
}
.fmp-app .qfa-cta.verify:hover{ background:var(--qfa-blue-dark); }
.fmp-app .qfa-cta.contact{ background:#fff; color:var(--qfa-blue); }
.fmp-app .qfa-cta.contact:hover{ background:rgba(26,95,237,.08); }

/* Dropdown */
.fmp-app .qfa-dd{ position:relative; }
.fmp-app .qfa-dd-menu{
  position:absolute; right:0; top:calc(100% + 10px);
  width:min(320px, 92vw);
  background:#fff;
  border:1px solid var(--qfa-border);
  border-radius:16px;
  box-shadow:var(--qfa-shadow);
  padding:10px;
  display:none;
}
.fmp-app .qfa-dd[aria-expanded="true"] .qfa-dd-menu{ display:block; }
.fmp-app .qfa-dd-item{
  display:flex; gap:10px; padding:10px 10px;
  border-radius:12px; text-decoration:none;
  border:1px solid transparent;
}
.fmp-app .qfa-dd-item:hover{
  background:rgba(0,0,0,.03);
  border-color:rgba(0,0,0,.06);
  text-decoration:none;
}
.fmp-app .qfa-dd-ico{
  width:38px; height:38px; border-radius:12px;
  display:grid; place-items:center;
  background:rgba(255,184,0,.18);
  color:#7a5b00;
  flex:0 0 auto;
}
.fmp-app .qfa-dd-item strong{ color:var(--qfa-black); font-weight:900; display:block; }
.fmp-app .qfa-dd-item span{ color:var(--qfa-muted); font-weight:700; font-size:.9rem; display:block; margin-top:2px; }

/* Mobile */
.fmp-app .qfa-drawer{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  z-index:9999;
}
.fmp-app .qfa-drawer[data-open="true"]{ display:block; }
.fmp-app .qfa-drawer-inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 16px;
}
.fmp-app .qfa-drawer-inner[role="dialog"]{
  margin-top:76px;
  background:#fff;
  border:1px solid var(--qfa-border);
  border-radius:18px;
  box-shadow:var(--qfa-shadow);
  overflow:hidden;
}
.fmp-app .qfa-drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  border-bottom:1px solid var(--qfa-border);
}
.fmp-app .qfa-drawer-title{
  font-family:var(--font-secondary);
  font-weight:900;
  color:var(--qfa-black);
}
.fmp-app .qfa-drawer-close{
  width:44px; height:44px;
  border-radius:14px;
  border:1px solid var(--qfa-border);
  background:#fff;
  cursor:pointer;
}
.fmp-app .qfa-drawer-body{ padding:12px 16px 16px; }
.fmp-app .qfa-drawer-panel{ display:none; }
.fmp-app .qfa-drawer-panel[data-open="true"]{ display:grid; gap:10px; }
.fmp-app .qfa-drawer-link{
  display:grid;
  gap:4px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid var(--qfa-border);
  background:#fff;
  text-decoration:none;
  color:var(--qfa-black);
}
.fmp-app .qfa-drawer-link span{ color:var(--qfa-muted); font-weight:800; }
.fmp-app .qfa-drawer-link:hover{ background:rgba(26,95,237,.06); }

.fmp-app .qfa-burger{
  display:none;
  width:44px; height:44px; border-radius:14px;
  border:1px solid var(--qfa-border);
  background:#fff;
  align-items:center; justify-content:center;
  cursor:pointer;
}
.fmp-app .qfa-mobile{
  display:none;
  border-top:1px solid var(--qfa-border);
  background:rgba(255,255,255,.96);
}
.fmp-app .qfa-mobile .inner{
  max-width:1200px; margin:0 auto; padding:10px 16px 16px;
  display:grid; gap:8px;
  font-family:var(--font-primary);
}
.fmp-app .qfa-mobile a{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:12px 14px;
  border-radius:14px;
  text-decoration:none;
  font-weight:900;
  color:var(--qfa-black);
  border:1px solid var(--qfa-border);
  background:#fff;
}
.fmp-app .qfa-mobile a small{ color:var(--qfa-muted); font-weight:800; }
.fmp-app .qfa-mobile a:hover{ background:rgba(26,95,237,.06); }

@media (max-width: 980px){
  .fmp-app .qfa-center{ display:none; }
  .fmp-app .qfa-burger{ display:inline-flex; }
  .fmp-app .qfa-menu{
    grid-template-columns: 1fr;
    grid-column: 2 / 4;
  }
}
.fmp-app .qfa-mobile[data-open="true"]{ display:block; }

/* Trust microcopy bar */
.fmp-app .qfa-trustbar{
  font-family:var(--font-primary);
  font-weight:800;
  color:rgba(0,0,0,.68);
  font-size:.82rem;
  letter-spacing:.4px;
  display:flex; gap:12px; align-items:center;
  padding:8px 16px;
  border-top:1px solid rgba(0,0,0,.06);
}
.fmp-app .qfa-dot{ width:8px; height:8px; border-radius:999px; background:var(--qfa-gold); }

/* Footer */
.fmp-app .qfa-footer{
  background:linear-gradient(180deg, rgba(26,95,237,.03), rgba(0,0,0,0));
  border-top:1px solid var(--qfa-border);
  padding:34px 0 24px;
  font-family:var(--font-primary);
}
.fmp-app .qfa-footer .container{ max-width:1200px; margin:0 auto; padding:0 16px; }
.fmp-app .qfa-footer-top{
  display:flex; gap:24px; align-items:flex-start; justify-content:space-between;
  flex-wrap:wrap;
}
.fmp-app .qfa-footer-brand{
  display:flex; gap:12px; align-items:center;
}
.fmp-app .qfa-footer-mark{
  width:44px; height:44px; border-radius:14px;
  display:grid; place-items:center;
  background:linear-gradient(135deg,var(--qfa-blue), #8338EC);
  color:#fff; box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.fmp-app .qfa-footer-brand strong{
  font-family:var(--font-secondary);
  color:var(--qfa-black);
  font-size:1.05rem;
}
.fmp-app .qfa-footer-sub{
  margin-top:2px;
  color:var(--qfa-muted);
  font-weight:800;
  font-size:.82rem;
  letter-spacing:.6px;
  text-transform:uppercase;
}
.fmp-app .qfa-footer-cols{
  display:grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap:18px;
  flex:1;
}
.fmp-app .qfa-footer-col h3{
  margin:0 0 10px;
  font-size:.95rem;
  color:var(--qfa-black);
  font-weight:900;
}
.fmp-app .qfa-footer-col a{
  display:block;
  padding:8px 0;
  color:var(--qfa-text);
  text-decoration:none;
  font-weight:800;
}
.fmp-app .qfa-footer-col a:hover{ color:var(--qfa-blue); text-decoration:underline; }
.fmp-app .qfa-footer-account{ margin-top:10px; padding-top:10px; border-top:1px solid rgba(0,0,0,.06); }

.fmp-app .qfa-footer-bottom{
  margin-top:22px;
  padding-top:14px;
  border-top:1px solid rgba(0,0,0,.06);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.fmp-app .qfa-footer-note{
  display:flex; align-items:center; gap:10px;
  color:rgba(0,0,0,.68);
  font-weight:800;
  font-size:.86rem;
}
.fmp-app .qfa-footer-copy{
  color:rgba(0,0,0,.60);
  font-weight:800;
  font-size:.86rem;
}

/* FAQ */
.fmp-app .qfa-faq{
  padding:40px 0;
  border-top:1px solid rgba(0,0,0,.06);
  background:rgba(26,95,237,.02);
  font-family:var(--font-primary);
}
.fmp-app .qfa-faq .container{ max-width:1200px; margin:0 auto; padding:0 16px; }
.fmp-app .qfa-faq .section-header h2{
  margin:0;
  font-family:var(--font-secondary);
  color:var(--qfa-black);
  font-size:1.8rem;
  font-weight:900;
}
.fmp-app .qfa-faq .section-description{
  margin:8px 0 0;
  color:var(--qfa-muted);
  font-weight:800;
}
.fmp-app .qfa-faq-list{
  margin-top:18px;
  display:grid;
  gap:10px;
}
.fmp-app .qfa-faq-item{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  padding:14px 16px;
  box-shadow:0 8px 18px rgba(0,0,0,.06);
}
.fmp-app .qfa-faq-item summary{
  cursor:pointer;
  font-weight:900;
  color:var(--qfa-black);
  list-style:none;
}
.fmp-app .qfa-faq-item summary::-webkit-details-marker{ display:none; }
.fmp-app .qfa-faq-answer{
  margin-top:10px;
  color:var(--qfa-text);
  font-weight:700;
  line-height:1.6;
}
@media (max-width: 980px){
  .fmp-app .qfa-footer-cols{ grid-template-columns: repeat(2, minmax(160px, 1fr)); }
}
@media (max-width: 520px){
  .fmp-app .qfa-footer-cols{ grid-template-columns: 1fr; }
}


/* =========================
   Authority booster (process + trust blocks)
   ========================= */
.fmp-app .fmpapp-authority{
  padding: var(--space-2xl) 0;
}
.fmp-app .fmpapp-authority h2{
  font-family: var(--font-secondary);
  font-weight: 900;
  letter-spacing: .2px;
  margin: 0 0 var(--space-sm);
}
.fmp-app .fmpapp-authority p{
  margin: 0 0 var(--space-md);
  color: var(--neutral-gray);
  font-weight: 700;
  line-height: 1.55;
}

/* Process summary strip (the one currently looking "unstyled" and off-flow) */
.fmp-app .fmpapp-authority.process-summary{
  background: linear-gradient(135deg, rgba(26,95,237,.10) 0%, rgba(255,184,0,.10) 100%);
  border-top: 1px solid rgba(0,0,0,.06);
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.fmp-app .fmpapp-authority.process-summary h2{
  text-align: center;
  font-size: 1.75rem;
  color: var(--neutral-black);
}
.fmp-app .fmpapp-authority.process-summary p{
  text-align:center;
  max-width: 820px;
  margin-left:auto;
  margin-right:auto;
}
.fmp-app .process-list{
  margin: var(--space-lg) auto 0;
  padding: 0;
  list-style: none;
  max-width: 980px;
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: var(--space-md);
}
.fmp-app .process-list li{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: var(--radius-xl);
  padding: 14px 16px;
  box-shadow: var(--shadow-sm);
  font-weight: 700;
  color: var(--neutral-dark-gray);
}
.fmp-app .process-list li strong{
  color: var(--primary-blue);
  font-weight: 900;
}
@media (max-width: 900px){
  .fmp-app .process-list{grid-template-columns: 1fr;}
}

/* How-it-works cards */
.fmp-app .authority-section .process-steps{
  margin-top: var(--space-lg);
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: var(--space-md);
}
.fmp-app .authority-section .process-step{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius: var(--radius-xl);
  padding: 16px;
  box-shadow: var(--shadow-sm);
}
.fmp-app .authority-section .step-number{
  width: 34px;height:34px;
  display:grid;place-items:center;
  border-radius: var(--radius-round);
  background: rgba(26,95,237,.10);
  color: var(--primary-blue);
  font-weight: 900;
  margin-bottom: 10px;
}
.fmp-app .authority-section h3{ margin:0 0 6px; font-weight: 900; }
.fmp-app .authority-section .process-step p{ margin:0; }
@media (max-width: 1000px){
  .fmp-app .authority-section .process-steps{ grid-template-columns: repeat(2, minmax(200px, 1fr)); }
}
@media (max-width: 560px){
  .fmp-app .authority-section .process-steps{ grid-template-columns: 1fr; }
}

/* Trust comparison */
.fmp-app .trust-comparison .comparison-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: var(--space-md);
  margin-top: var(--space-lg);
}
.fmp-app .trust-comparison .comparison-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius: var(--radius-xl);
  overflow:hidden;
  box-shadow: var(--shadow-sm);
}
.fmp-app .trust-comparison .comparison-header{
  padding: 14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: var(--space-md);
  background: rgba(26,95,237,.07);
}
.fmp-app .trust-comparison .comparison-header h3{ margin:0; font-weight: 900; }
.fmp-app .trust-comparison .comparison-header.ausactive{ background: rgba(255,184,0,.12); }
.fmp-app .trust-comparison .comparison-header.famt{ background: rgba(26,95,237,.10); }
.fmp-app .trust-comparison .comparison-body{ padding: 14px 16px; }
.fmp-app .trust-comparison .comparison-body ul{ margin: 10px 0 0; padding-left: 18px; color: var(--neutral-gray); font-weight: 700; }
.fmp-app .trust-comparison .badge{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: var(--radius-round);
  background: rgba(0,0,0,.06);
  font-weight: 900;
  font-size: .8rem;
}
.fmp-app .trust-comparison .comparison-footer{
  margin-top: var(--space-lg);
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: var(--radius-xl);
  padding: 14px 16px;
  box-shadow: var(--shadow-sm);
}
@media (max-width: 900px){
  .fmp-app .trust-comparison .comparison-grid{ grid-template-columns: 1fr; }
}

/* ---------- BUU ABSORPTION DEDUPE ----------
   When multiple plugins embed Fitness Power Ranking on the same page,
   we keep the version rendered inside the BUU "absorption" wrapper.
*/
#fmp-app .fpr-rankings{display:none !important;}
#fmp-app .fmpapp-ranking-embed .fpr-rankings{display:block !important;}

/* Ensure the BUU container wins over theme "container" rules */
#fmp-app .container{max-width:1120px;margin:0 auto;padding:0 24px;}

/* ---------- MOBILE OVERFLOW GUARD (Weekly Power Rankings) ----------
   Prevent provider shortcodes (tables/nowrap/min-width) from stretching the site on mobile.
   Scoped to the app shell.
*/
#fmp-app, .fmp-app{
  max-width:100%;
  overflow-x:hidden;
}
#fmp-app .container, .fmp-app .container,
#fmp-app .fmpapp-ranking-embed, .fmp-app .fmpapp-ranking-embed,
#fmp-app .fmpapp-report-embed, .fmp-app .fmpapp-report-embed{
  max-width:100%;
}
#fmp-app .fmpapp-ranking-embed *, .fmp-app .fmpapp-ranking-embed *,
#fmp-app .fmpapp-report-embed *,  .fmp-app .fmpapp-report-embed *,
#fmp-app .fpr-rankings *,        .fmp-app .fpr-rankings *{
  box-sizing:border-box;
  max-width:100%;
}

/* If provider outputs tables or wide blocks, make them scroll safely */
#fmp-app .fmpapp-ranking-embed table,
#fmp-app .fmpapp-report-embed table,
.fmp-app .fmpapp-ranking-embed table,
.fmp-app .fmpapp-report-embed table{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

/* Prevent long text/URLs from forcing horizontal width */
#fmp-app .fmpapp-ranking-embed a,
#fmp-app .fmpapp-ranking-embed p,
#fmp-app .fmpapp-ranking-embed h1,
#fmp-app .fmpapp-ranking-embed h2,
#fmp-app .fmpapp-ranking-embed h3,
#fmp-app .fmpapp-report-embed a,
#fmp-app .fmpapp-report-embed p,
#fmp-app .fmpapp-report-embed h1,
#fmp-app .fmpapp-report-embed h2,
#fmp-app .fmpapp-report-embed h3,
.fmp-app .fmpapp-ranking-embed a,
.fmp-app .fmpapp-ranking-embed p,
.fmp-app .fmpapp-ranking-embed h1,
.fmp-app .fmpapp-ranking-embed h2,
.fmp-app .fmpapp-ranking-embed h3,
.fmp-app .fmpapp-report-embed a,
.fmp-app .fmpapp-report-embed p,
.fmp-app .fmpapp-report-embed h1,
.fmp-app .fmpapp-report-embed h2,
.fmp-app .fmpapp-report-embed h3{
  overflow-wrap:anywhere;
  word-break:break-word;
  white-space:normal;
}

@media (max-width: 768px){
  /* Force card grids to 1 column so nothing overflows */
  #fmp-app .fpr-fitness-cards,
  #fmp-app .award-template .fpr-fitness-cards,
  .fmp-app .fpr-fitness-cards,
  .fmp-app .award-template .fpr-fitness-cards{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    margin-left:0;
    margin-right:0;
    padding-left:0;
    padding-right:0;
  }
  #fmp-app .fpr-fitness-card,
  #fmp-app .award-template .fpr-fitness-card,
  .fmp-app .fpr-fitness-card,
  .fmp-app .award-template .fpr-fitness-card{
    width:100%;
    margin:0;
  }
}


/* Winners banner + pillar section (Buuhan) */

#fmp-app .fmpapp-winner-banner,
.fmpapp-winner-banner{
  margin: 18px auto 22px;
  max-width: 1200px;
  padding: 0 16px;
}
#fmp-app .fmpapp-winner-banner__inner,
.fmpapp-winner-banner__inner{
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 14px;
  padding: 14px 16px;
  background: rgba(255,255,255,0.7);
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}
#fmp-app .fmpapp-winner-banner__title,
.fmpapp-winner-banner__title{
  font-weight: 800;
  font-size: 1.05rem;
  margin-bottom: 6px;
  text-align: center;
}
#fmp-app .fmpapp-winner-banner__row,
.fmpapp-winner-banner__row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap: 8px;
  line-height:1.4;
}
#fmp-app .fmpapp-badge,
.fmpapp-badge{
  display:inline-flex;
  align-items:center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  border: 1px solid rgba(0,0,0,0.10);
  background: #fff;
}
#fmp-app .fmpapp-badge.winner,
.fmpapp-badge.winner{ background: rgba(255, 204, 0, 0.18); }
#fmp-app .fmpapp-badge.runner,
.fmpapp-badge.runner{ background: rgba(180, 200, 255, 0.25); }
#fmp-app .fmpapp-badge.third,
.fmpapp-badge.third{ background: rgba(255, 170, 120, 0.25); }
#fmp-app .fmpapp-dot,
.fmpapp-dot{ opacity:0.6; }
#fmp-app .fmpapp-winner-banner__link,
.fmpapp-winner-banner__link{
  margin-top: 8px;
  text-align: center;
}
#fmp-app .fmpapp-winner-banner__link a,
.fmpapp-winner-banner__link a{ font-weight:700; }

#fmp-app .fmpapp-pillar,
.fmpapp-pillar{
  margin: 14px 0 22px;
}
#fmp-app .fmpapp-pillar__inner,
.fmpapp-pillar__inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px dashed rgba(0,0,0,0.18);
  text-align:center;
}
