/*
 * Page-specific rules for the GEO Score Checker campaign landing (/geoscore).
 * Shared tokens/components come from campaign-base.css.
 */
.campaign-page.page-geoscore{--maxw:1120px;--amber:#F5B544;--coral:#E5594F}

.campaign-page .checker{max-width:640px;margin:36px auto 0}
.campaign-page .checkbar{display:flex;gap:10px;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.campaign-page .checkbar .dom{display:flex;align-items:center;gap:10px;flex:1;padding:0 10px}
.campaign-page .checkbar .dom svg{width:18px;height:18px;color:var(--muted);flex:none}
.campaign-page .checkbar input{flex:1;background:none;border:0;outline:none;color:#fff;font-family:inherit;font-size:16px;padding:12px 0}
.campaign-page .checkbar input::placeholder{color:var(--dim)}
.campaign-page .checkmicro{font-size:13px;color:var(--dim);margin-top:12px}
@media(max-width:560px){
  .campaign-page .checkbar{flex-direction:column}
  .campaign-page .checkbar .btn{width:100%}
}

#result{display:none;margin-top:14px}
#result.show{display:block;animation:campaign-fade .5s ease}
@keyframes campaign-fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.campaign-page .analyzing{text-align:center;color:var(--soft);padding:30px}
.campaign-page .spinner{width:34px;height:34px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--indigo);border-radius:50%;margin:0 auto 14px;animation:campaign-spin .8s linear infinite}
@keyframes campaign-spin{to{transform:rotate(360deg)}}

.campaign-page .report{background:linear-gradient(180deg,var(--card),var(--navy2));border:1px solid var(--line);border-radius:20px;padding:30px;margin-top:20px}
.campaign-page .report-top{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center}
.campaign-page .gauge-wrap{position:relative;width:170px;height:170px;flex:none}
.campaign-page .gauge{width:170px;height:170px;transform:rotate(-90deg)}
.campaign-page .gauge .track{fill:none;stroke:rgba(255,255,255,.09);stroke-width:13}
.campaign-page .gauge .prog{fill:none;stroke:url(#gg);stroke-width:13;stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.2,.8,.2,1)}
.campaign-page .gauge-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.campaign-page .gauge-num b{font-size:44px;font-weight:800;line-height:1}
.campaign-page .gauge-num small{font-size:12px;color:var(--muted)}
.campaign-page .grade{display:inline-block;margin-top:4px;font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px}
.campaign-page .verdict h3{font-size:22px;margin-bottom:6px}
.campaign-page .verdict p{color:var(--muted);font-size:14.5px}

.campaign-page .dims{margin-top:24px;display:grid;gap:14px}
.campaign-page .dim{display:grid;grid-template-columns:200px 1fr 44px;gap:14px;align-items:center;font-size:13.5px}
.campaign-page .dim .track{height:8px;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden}
.campaign-page .dim .fill{height:100%;border-radius:999px;transition:width 1s ease}
.campaign-page .dim .val{text-align:right;font-weight:700}

.campaign-page .problems{margin-top:24px;border-top:1px solid var(--line2);padding-top:20px}
.campaign-page .problems h4{margin:0 0 12px;font-size:14px;color:var(--soft)}
.campaign-page .problems ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.campaign-page .problems li{position:relative;padding-left:28px;color:var(--soft);font-size:14px}
.campaign-page .problems li::before{content:"!";position:absolute;left:0;top:0;width:18px;height:18px;border-radius:5px;background:rgba(229,89,79,.16);border:1px solid rgba(229,89,79,.5);color:#ff9d95;font-size:12px;font-weight:700;text-align:center;line-height:18px}

.campaign-page .conv{margin-top:22px;background:linear-gradient(135deg,rgba(109,99,240,.2),rgba(139,92,246,.12));border:1px solid rgba(139,92,246,.4);border-radius:16px;padding:24px}
.campaign-page .conv p{color:#fff;font-size:16px}
.campaign-page .conv .banner{border-left:3px solid var(--violet);padding-left:16px;margin-bottom:18px}
.campaign-page .footnote{font-size:12px;color:var(--dim);margin-top:12px;text-align:center}

.campaign-page .bullets li{padding-left:38px}
.campaign-page .bullets li .em{position:absolute;left:0;top:0;font-size:20px}

.campaign-page .tag{display:inline-block;margin-top:12px;font-size:12px;font-weight:600;color:#7fe3ac;background:rgba(56,199,128,.12);border:1px solid rgba(56,199,128,.35);border-radius:999px;padding:4px 12px}
.campaign-page .tbl td.bp{color:#fff;font-weight:600}
.campaign-page .tbl .colbp{background:linear-gradient(180deg,rgba(109,99,240,.12),rgba(139,92,246,.05))}

@media(max-width:820px){
  .campaign-page .report-top{grid-template-columns:1fr;justify-items:center;text-align:center}
  .campaign-page .dim{grid-template-columns:130px 1fr 40px}
}
@media(max-width:560px){
  .campaign-page .dim{grid-template-columns:1fr;gap:4px}
  .campaign-page .dim .val{text-align:left}
}
