/* ════════════════════════════════════════════════════════════
   قله — ابزارهای رایگان
   از متغیرهای تم استفاده می‌کند و اگر نبودند، خودش مقدار دارد.
   ════════════════════════════════════════════════════════════ */

.gt{
  --gt-ink:var(--g-ink,#1B1B2F); --gt-ink2:var(--g-ink-2,#4A4A66);
  --gt-ink3:var(--g-ink-3,#6E6E8A); --gt-ink4:var(--g-ink-4,#8E8DA6);
  --gt-line:var(--g-line,#E6E5EF); --gt-surface:var(--g-surface,#fff);
  --gt-in:var(--g-in-600,#3D3A8C); --gt-in50:var(--g-in-50,#F2F1FA);
  --gt-lime:var(--g-lime,#A8DF25); --gt-lime-deep:var(--g-lime-deep,#5C7A0F);
  --gt-lime-soft:var(--g-lime-soft,#F3FAE3);
  --gt-warn:#B9791A; --gt-warn-soft:#FFF7E8; --gt-warn-line:#F3DFB4;
  --gt-bad:#B03030; --gt-bad-soft:#FDEBEB; --gt-bad-line:#F5CFCF;
  --gt-r:14px;
  font-family:inherit; color:var(--gt-ink); text-align:start;
}

/* ── فرم ── */
.gt-form{margin:0}
.gt-label{display:block;font-size:14px;font-weight:600;margin-bottom:8px;color:var(--gt-ink2)}
.gt-row{display:flex;gap:10px;flex-wrap:wrap}
.gt-row input{
  flex:1 1 260px;min-width:0;padding:15px 18px;font:inherit;font-size:16px;
  background:var(--gt-surface);border:1px solid var(--gt-line);
  border-radius:var(--gt-r);color:var(--gt-ink);
}
.gt-row input:focus{outline:none;border-color:var(--gt-in);box-shadow:0 0 0 3px rgba(61,58,140,.12)}
.gt-btn,.gt-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 30px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;
  border:0;border-radius:99px;background:var(--gt-lime);color:#22300A;
  transition:180ms cubic-bezier(.4,0,.2,1);text-decoration:none;
}
.gt-btn:hover,.gt-cta:hover{transform:translateY(-1px);filter:brightness(1.04)}
.gt-btn[disabled]{opacity:.55;cursor:default;transform:none}
.gt-hint{font-size:13.5px;color:var(--gt-ink4);margin:12px 0 0;line-height:1.85}

/* ── حالت انتظار ── */
.gt-state{display:flex;align-items:center;gap:12px;margin-top:26px;color:var(--gt-ink3);font-size:15px}
.gt-state p{margin:0}
.gt-spin{
  width:22px;height:22px;flex:none;border-radius:50%;
  border:2.5px solid var(--gt-line);border-top-color:var(--gt-in);
  animation:gt-spin .8s linear infinite;
}
@keyframes gt-spin{to{transform:rotate(360deg)}}

.gt-error{
  margin-top:22px;padding:16px 20px;border-radius:var(--gt-r);
  background:var(--gt-bad-soft);border:1px solid var(--gt-bad-line);
  color:var(--gt-bad);font-size:15px;line-height:1.9;
}

/* ── نمره ── */
.gt-out{margin-top:32px}
.gt-score{
  display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  background:var(--gt-surface);border:1px solid var(--gt-line);
  border-radius:20px;padding:26px 28px;
}
.gt-dial{position:relative;width:118px;height:118px;flex:none}
.gt-dial svg{width:100%;height:100%;transform:rotate(-90deg)}
.gt-dial circle{fill:none;stroke-width:9;stroke-linecap:round}
.gt-dial .bg{stroke:var(--gt-in50)}
.gt-dial .fg{
  stroke:var(--gt-lime);stroke-dasharray:327;stroke-dashoffset:327;
  transition:stroke-dashoffset 1.1s cubic-bezier(.2,.8,.2,1),stroke .4s;
}
.gt-dial.mid .fg{stroke:#E8B33A}
.gt-dial.low .fg{stroke:#D96A6A}
.gt-num{
  position:absolute;inset:0;display:grid;place-items:center;
  font-family:'Space Grotesk',ui-monospace,monospace;font-size:34px;font-weight:600;
  color:var(--gt-in);
}
.gt-score-t{flex:1 1 240px;min-width:0}
.gt-score-t h3{margin:0 0 6px;font-size:20px}
.gt-verdict{margin:0 0 8px;color:var(--gt-ink2);font-size:15.5px;line-height:1.85}
.gt-url{margin:0;font-size:13px;color:var(--gt-ink4);word-break:break-all}

/* ── اولویت‌ها ── */
.gt-fixes{margin-top:24px}
.gt-fixes h4,.gt-checks h4{font-size:17px;margin:0 0 14px}
.gt-fixes ol{margin:0;padding:0;list-style:none;counter-reset:gt}
.gt-fixes li{
  counter-increment:gt;position:relative;padding:16px 18px 16px 18px;
  padding-inline-start:56px;margin-bottom:10px;
  background:var(--gt-surface);border:1px solid var(--gt-line);border-radius:var(--gt-r);
}
.gt-fixes li::before{
  content:counter(gt);position:absolute;inset-inline-start:16px;inset-block-start:16px;
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  font-family:'Space Grotesk',monospace;font-size:14px;font-weight:600;
  background:var(--gt-in50);color:var(--gt-in);
}
.gt-fixes b{display:block;font-size:15px;margin-bottom:3px}
.gt-fixes span{font-size:14.5px;color:var(--gt-ink3);line-height:1.9}
.gt-fixes li.bad::before{background:var(--gt-bad-soft);color:var(--gt-bad)}

/* ── همهٔ بررسی‌ها ── */
.gt-checks{margin-top:28px}
.gt-checks ul{margin:0;padding:0;list-style:none;
  display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.gt-checks li{
  display:flex;align-items:flex-start;gap:10px;padding:12px 14px;
  border:1px solid var(--gt-line);border-radius:11px;background:var(--gt-surface);
  font-size:14px;line-height:1.75;
}
.gt-checks i{
  flex:none;width:19px;height:19px;border-radius:50%;margin-top:2px;
  display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:700;
}
.gt-checks .ok i{background:var(--gt-lime-soft);color:var(--gt-lime-deep)}
.gt-checks .warn i{background:var(--gt-warn-soft);color:var(--gt-warn)}
.gt-checks .bad i{background:var(--gt-bad-soft);color:var(--gt-bad)}
.gt-checks b{font-weight:600;display:block}
.gt-checks span{color:var(--gt-ink4);font-size:13px}

/* ── پایین ── */
.gt-after{
  margin-top:28px;padding:22px 24px;border-radius:var(--gt-r);
  background:var(--gt-in50);border:1px solid var(--gt-line);
}
.gt-after p{margin:0 0 16px;font-size:15px;color:var(--gt-ink2);line-height:1.95}
.gt-after .gt-cta{background:var(--gt-in);color:#fff}

/* ── ماشین‌حساب ── */
.gt-price{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:start}
.gt-fields{
  background:var(--gt-surface);border:1px solid var(--gt-line);
  border-radius:20px;padding:24px 26px;
}
.gt-fields label{display:block;margin-bottom:18px}
.gt-fields label:last-child{margin-bottom:0}
.gt-fields label>span{display:block;font-size:14px;font-weight:600;margin-bottom:7px;color:var(--gt-ink2)}
.gt-fields select{
  width:100%;padding:12px 14px;font:inherit;font-size:15px;
  background:var(--gt-surface);border:1px solid var(--gt-line);
  border-radius:11px;color:var(--gt-ink);
}
.gt-fields select:focus{outline:none;border-color:var(--gt-in)}
.gt-check{display:flex!important;align-items:center;gap:10px}
.gt-check input{width:18px;height:18px;accent-color:var(--gt-lime-deep);flex:none}
.gt-check span{margin:0!important;font-weight:500!important}
.gt-result{
  background:var(--gt-in,#3D3A8C);color:#fff;border-radius:20px;
  padding:30px 28px;text-align:center;position:sticky;top:20px;
}
.gt-cap{display:block;font-size:14px;opacity:.75;margin-bottom:6px}
.gt-money{
  display:block;font-family:'Space Grotesk',ui-monospace,monospace;
  font-size:34px;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums;
}
.gt-unit{display:block;font-size:14px;opacity:.75;margin-bottom:16px}
.gt-fine{font-size:13px;line-height:1.9;opacity:.8;margin:0 0 18px}
.gt-result .gt-cta{background:var(--gt-lime);color:#22300A;width:100%}

@media (max-width:880px){
  .gt-checks ul{grid-template-columns:1fr}
  .gt-price{grid-template-columns:1fr}
  .gt-result{position:static}
  .gt-score{padding:22px 20px;gap:18px}
  .gt-dial{width:96px;height:96px}
  .gt-num{font-size:28px}
}

@media (prefers-reduced-motion:reduce){
  .gt-spin{animation:none}
  .gt-dial .fg{transition:none}
  .gt-btn,.gt-cta{transition:none}
}

/* ── «از فلان تومان» ── */
.g-from{display:inline-flex;align-items:baseline;gap:6px;
  font-family:'Space Grotesk',ui-monospace,monospace;font-variant-numeric:tabular-nums}
.g-from b{font-size:1.5em;font-weight:600;color:var(--g-in-600,#3D3A8C)}
.g-from i{font-style:normal;font-size:.78em;color:var(--g-ink-4,#8E8DA6);font-family:inherit}

/* ════════ چیزهایی که صفحه‌های تازه لازم دارند ════════ */

/* نان‌ریزه بالای صفحه */
.g-crumb-row{margin-bottom:18px}

/* شبکهٔ بیست بررسی */
.g-checks-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.g-cell{
  background:var(--g-surface,#fff);border:1px solid var(--g-line,#E6E5EF);
  border-radius:12px;padding:14px 16px;
}
.g-cell b{display:block;font-size:14.5px;margin-bottom:3px;font-weight:600}
.g-cell span{font-size:13px;color:var(--g-ink-4,#8E8DA6);line-height:1.75}

/* کارت‌های تعرفه */
.g-packs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
.g-pack{
  background:var(--g-surface,#fff);border:1px solid var(--g-line,#E6E5EF);
  border-radius:20px;padding:28px 26px;display:flex;flex-direction:column;
  transition:200ms cubic-bezier(.4,0,.2,1);
}
.g-pack:hover{transform:translateY(-3px);box-shadow:var(--g-sh-3,0 12px 32px rgba(27,27,47,.1))}
.g-pack .top h3{margin:0 0 5px;font-size:21px}
.g-pack .top p{margin:0;font-size:14px;color:var(--g-ink-4,#8E8DA6)}
.g-pack .price{
  margin:20px 0;padding:18px 0;
  border-block:1px solid var(--g-line,#E6E5EF);
}
.g-pack ul{margin:0 0 22px;padding:0;list-style:none;flex:1}
.g-pack li{
  position:relative;padding-inline-start:24px;margin-bottom:10px;
  font-size:14.5px;color:var(--g-ink-2,#4A4A66);line-height:1.85;
}
.g-pack li::before{
  content:"";position:absolute;inset-inline-start:0;inset-block-start:.72em;
  width:9px;height:9px;border-radius:50%;background:var(--g-lime,#A8DF25);
}
.g-pack .g-btn{width:100%;justify-content:center}

/* کارت ابزار، وقتی خودش لینک است */
a.g-plug2{color:inherit;text-decoration:none}

@media (max-width:1024px){
  .g-checks-grid{grid-template-columns:repeat(2,1fr)}
  .g-packs{grid-template-columns:1fr 1fr}
}
@media (max-width:880px){
  .g-checks-grid{grid-template-columns:1fr}
  .g-packs{grid-template-columns:1fr}
}
