
:root{--blue:#0B1F3A;--blue2:#163d70;--yellow:#F4C542;--light:#F7F9FC;--text:#132238;--muted:#657084;--line:rgba(11,31,58,.12);--white:#fff;--soft:#eef3fa;--danger:#b00020;--ok:#0e7a3d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--light);color:var(--text);font-family:Inter,Arial,sans-serif}.topbar{display:flex;justify-content:space-between;align-items:center;padding:22px 50px;background:#fff;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--line)}.logo-wrap{display:flex;align-items:center;gap:14px;text-decoration:none}.logo-icon{width:42px;height:42px;border-radius:12px;background:var(--blue);color:var(--yellow);display:flex;align-items:center;justify-content:center;font-weight:900}.logo-text{font-size:30px;font-weight:900;color:var(--blue)}.logo-text span{color:var(--yellow)}nav{display:flex;gap:24px;align-items:center}nav a{text-decoration:none;color:var(--blue);font-weight:800;font-size:14px}.hero{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;padding:100px 30px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:rgba(255,255,255,.04);top:-220px;right:-150px}.hero-content{max-width:920px;margin:auto;position:relative;z-index:2}.hero-badge{display:inline-block;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--yellow);font-weight:900;margin-bottom:20px;font-size:13px}.hero h1{font-size:clamp(42px,7vw,76px);line-height:1.05;margin:0 0 20px}.hero p{font-size:21px;max-width:820px;line-height:1.7;opacity:.95}.hero-btn,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:20px;padding:15px 24px;border-radius:999px;background:var(--yellow);color:var(--blue);font-weight:900;text-decoration:none;border:0;cursor:pointer}.btn-blue{background:var(--blue);color:#fff}.btn-danger{background:var(--danger);color:#fff}.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:-45px auto 50px;position:relative;z-index:10;padding:0 20px}.stat-box{background:#fff;border-radius:24px;padding:30px;text-align:center;box-shadow:0 18px 40px rgba(0,0,0,.08)}.stat-box strong{display:block;font-size:42px;color:var(--blue)}.stat-box span{color:var(--muted);font-weight:700}.container{max-width:1050px;margin:auto;padding:20px}.card,.intro-card,.question,.result-card,.analysis-card,.page-card{background:#fff;border-radius:24px;padding:30px;margin-bottom:24px;box-shadow:0 12px 30px rgba(0,0,0,.06)}h1,h2,h3{color:var(--blue)}p,li{line-height:1.7}.muted{color:var(--muted)}.notice{border-left:5px solid var(--yellow);background:#fff9e6;padding:16px;border-radius:14px;color:var(--blue);font-weight:700;line-height:1.6}.ad-slot{background:#fff9e6;border:2px dashed var(--yellow);border-radius:20px;padding:24px;text-align:center;font-weight:900;margin-bottom:28px;color:var(--blue)}.progress-wrap{background:#fff;border-radius:18px;padding:18px 20px;margin-bottom:24px;border:1px solid var(--line)}.progress-meta{display:flex;justify-content:space-between;gap:16px;font-size:14px;font-weight:900;color:var(--blue);margin-bottom:10px}.progressbar{height:10px;background:var(--soft);border-radius:999px;overflow:hidden}#progressFill{height:100%;width:0%;background:linear-gradient(90deg,var(--yellow),var(--blue));transition:.25s ease}.question-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.question h3{margin:0;font-size:26px;line-height:1.25}.category-pill{display:inline-flex;white-space:nowrap;background:#fff4cc;color:var(--blue);border-radius:999px;padding:8px 12px;font-weight:900;font-size:12px}.desc{color:var(--muted);line-height:1.65;margin:14px 0 8px;font-size:15px}.details-toggle{border:none;background:transparent;color:var(--blue);font-weight:900;cursor:pointer;padding:0;margin:6px 0 18px;text-decoration:underline}.source-box{display:none;background:#f8fafd;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:18px;color:var(--muted);font-size:14px;line-height:1.5}.source-box.open{display:block}.option-title{font-size:13px;font-weight:900;color:var(--blue);margin:18px 0 10px;text-transform:uppercase;letter-spacing:.05em}.options,.importance{display:flex;flex-wrap:wrap;gap:10px}.options label,.importance label{background:#f2f5fa;padding:12px 15px;border-radius:999px;cursor:pointer;font-weight:800;font-size:14px;border:1px solid transparent;transition:.18s ease}.options input,.importance input{display:none}.options label.active{background:var(--blue);color:#fff;border-color:var(--blue)}.importance label.active{background:var(--yellow);color:var(--blue);border-color:var(--yellow)}#showResult{width:100%;padding:22px;border:none;border-radius:999px;background:linear-gradient(135deg,var(--yellow),#ffda6a);color:var(--blue);font-size:22px;font-weight:900;cursor:pointer;margin:20px 0 40px;box-shadow:0 16px 34px rgba(244,197,66,.30)}.result-card h2{font-size:42px;margin-top:0}.result-lead{color:var(--muted);font-size:18px}.party-row{margin-bottom:20px}.party-head{display:flex;justify-content:space-between;margin-bottom:8px;font-weight:900;color:var(--blue)}.bar{height:16px;background:#e6edf7;border-radius:999px;overflow:hidden}.fill{height:100%;background:linear-gradient(90deg,var(--yellow),var(--blue));transition:width .5s ease}.share-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.share-buttons button{padding:14px 18px;border:none;border-radius:999px;cursor:pointer;font-weight:900;background:var(--blue);color:#fff}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.analysis-card ul{padding-left:20px;line-height:1.8;color:var(--muted)}.category-result{margin:14px 0}.category-result strong{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--blue)}.small-note{font-size:14px;color:var(--muted);line-height:1.6;background:#f8fafd;border-radius:16px;padding:14px;margin-top:18px}.footer{background:var(--blue);color:#fff;margin-top:80px}.footer h4{color:#fff}.footer-inner{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px;max-width:1100px;margin:auto;padding:60px 20px}.footer a{color:#fff;display:block;margin:8px 0;text-decoration:none}.page{max-width:950px;margin:60px auto;padding:0 20px}.admin-body{background:#eef3fa}.admin-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.admin-side{background:var(--blue);color:#fff;padding:24px;position:sticky;top:0;height:100vh}.admin-side a{display:block;color:#fff;text-decoration:none;padding:12px 10px;border-radius:12px;font-weight:800}.admin-side a:hover{background:rgba(255,255,255,.08)}.admin-main{padding:34px}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.admin-stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 10px 28px rgba(0,0,0,.04)}.admin-stat strong{font-size:34px;color:var(--blue);display:block}.form-row{margin-bottom:16px}.form-row label{display:block;font-weight:900;color:var(--blue);margin-bottom:7px}.form-row input,.form-row textarea,.form-row select{width:100%;padding:13px 14px;border-radius:14px;border:1px solid var(--line);font:inherit}.form-row textarea{min-height:140px}.alert{padding:14px 16px;border-radius:14px;margin-bottom:16px;font-weight:800}.alert-ok{background:#e9f8ef;color:var(--ok)}.alert-bad{background:#fdecef;color:var(--danger)}.login-wrap{max-width:460px;margin:80px auto;padding:20px}.login-card{background:#fff;border-radius:26px;padding:30px;box-shadow:0 18px 45px rgba(0,0,0,.08)}table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f8fafd;color:var(--blue)}.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.score-box{background:#f8fafd;border:1px solid var(--line);border-radius:14px;padding:12px}.score-box input{width:100%}.admin-tools{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef3fa;font-weight:800;color:var(--blue);font-size:12px}@media(max-width:1050px){.admin-grid,.score-grid{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:1fr}.admin-side{position:relative;height:auto}}@media(max-width:768px){.topbar{padding:18px}nav{display:none}.logo-text{font-size:24px}.stats-strip,.analysis-grid,.footer-inner,.admin-grid,.score-grid{grid-template-columns:1fr}.hero{padding:70px 20px}.question h3{font-size:22px}.question-top{display:block}.category-pill{margin-top:14px}.progress-meta{display:block}.admin-main{padding:20px}}


/* =========================
   PARTIMATCH V8 PRO ADDONS
   ========================= */

.hero h1,
.hero .hero-content h1{
  color:#fff !important;
}

.hero p,
.hero .hero-content p{
  color:rgba(255,255,255,.94) !important;
}

.hero{
  isolation:isolate;
}

.hero:after{
  content:"";
  position:absolute;
  inset:auto -10% -180px -10%;
  height:260px;
  background:linear-gradient(180deg,rgba(255,255,255,0),var(--light));
  pointer-events:none;
}

.seo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin:36px 0;
}

.seo-card{
  background:#fff;
  border-radius:28px;
  padding:28px;
  box-shadow:0 18px 50px rgba(10,35,66,.08);
  border:1px solid rgba(10,35,66,.06);
}

.seo-card h3{
  margin-top:0;
  font-size:24px;
}

.seo-card p{
  color:var(--muted);
}

.seo-card a{
  color:var(--blue);
  font-weight:900;
  text-decoration:none;
}

.article-hero{
  background:linear-gradient(135deg,var(--blue),var(--blue2));
  color:#fff;
  padding:80px 24px;
}

.article-hero-inner{
  max-width:980px;
  margin:auto;
}

.article-hero h1{
  color:#fff !important;
  font-size:clamp(38px,6vw,72px);
  line-height:1;
  margin:0;
}

.article-hero p{
  color:rgba(255,255,255,.9);
  font-size:20px;
  max-width:800px;
}

.article-content{
  max-width:920px;
  margin:-40px auto 60px;
  padding:0 20px;
  position:relative;
  z-index:5;
}

.article-content .page-card{
  font-size:18px;
}

.article-content h2{
  margin-top:38px;
}

.faq-item{
  background:#f8fbff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:20px;
  margin:16px 0;
}

.faq-item strong{
  display:block;
  color:var(--blue);
  margin-bottom:8px;
  font-size:18px;
}

.share-preview{
  background:linear-gradient(135deg,var(--blue),var(--blue2));
  color:#fff;
  border-radius:32px;
  padding:34px;
  margin-top:28px;
  position:relative;
  overflow:hidden;
}

.share-preview:before{
  content:"PartiMatch";
  position:absolute;
  right:-20px;
  bottom:-18px;
  font-size:70px;
  font-weight:900;
  color:rgba(255,255,255,.06);
}

.share-preview h3{
  color:#fff;
  font-size:34px;
  margin:0 0 10px;
}

.share-preview p{
  color:rgba(255,255,255,.88);
  margin:0;
}

.admin-badge{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:#fff5cf;
  color:var(--blue);
  font-weight:900;
  font-size:12px;
}

.dashboard-panel{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:22px;
  margin-top:24px;
}

.admin-checklist li{
  margin-bottom:10px;
}

.seo-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.source-pill{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#eef3fa;
  color:var(--blue);
  font-size:12px;
  font-weight:900;
  margin:4px 4px 4px 0;
}

.result-actions-premium{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-top:24px;
}

.result-actions-premium button{
  border:0;
  border-radius:20px;
  padding:18px;
  background:#eef3fa;
  color:var(--blue);
  font-weight:900;
  cursor:pointer;
}

.result-actions-premium button.primary{
  background:var(--blue);
  color:#fff;
}

@media(max-width:1000px){
  .seo-grid,
  .dashboard-panel,
  .seo-form-grid,
  .result-actions-premium{
    grid-template-columns:1fr;
  }
}


/* =========================
   PARTIMATCH V9 PUBLIC POLISH
   ========================= */

.party-head{
  align-items:center;
  gap:14px;
}

.party-name-wrap{
  display:flex;
  align-items:center;
  gap:12px;
}

.party-logo-badge{
  width:42px;
  height:42px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:950;
  font-size:15px;
  box-shadow:0 10px 24px rgba(10,35,66,.14);
  flex:0 0 auto;
  border:2px solid rgba(255,255,255,.9);
}

.result-card .party-row:first-of-type .party-logo-badge{
  width:52px;
  height:52px;
  border-radius:18px;
  font-size:17px;
}

.advertise-card{
  background:linear-gradient(135deg,#ffffff,#f8fbff);
  border:1px solid rgba(10,35,66,.08);
  border-radius:32px;
  padding:34px;
  box-shadow:0 18px 50px rgba(10,35,66,.08);
  margin:34px 0;
}

.advertise-card h2{
  margin-top:0;
  font-size:34px;
}

.advertise-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin:24px 0;
}

.advertise-plan{
  background:#fff;
  border:1px solid rgba(10,35,66,.10);
  border-radius:24px;
  padding:24px;
}

.advertise-plan strong{
  display:block;
  font-size:26px;
  color:var(--blue);
  margin-bottom:8px;
}

.advertise-plan span{
  display:block;
  color:var(--muted);
  line-height:1.6;
}

.advertise-price{
  font-size:30px;
  font-weight:950;
  color:var(--blue);
  margin:18px 0 8px;
}

.advertise-note{
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
}

.contact-strip{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  background:var(--blue);
  color:#fff;
  border-radius:24px;
  padding:22px 24px;
  margin-top:24px;
}

.contact-strip strong{
  font-size:20px;
}

.contact-strip a{
  background:var(--yellow);
  color:var(--blue);
  padding:13px 18px;
  border-radius:999px;
  font-weight:950;
  text-decoration:none;
}

@media(max-width:1000px){
  .advertise-grid{
    grid-template-columns:1fr;
  }
}
