/* ===================================================================
   Rank & taraz estimator — page-specific styles.
   Loaded only on /rank-estimator, on top of style.css. Reuses the site
   tokens (--navy, --carbon, --accent, --radius, --shadow …).
=================================================================== */

.page-estimator{--ok:#1d6b5c;--warn:#c98a00;--bad:#c0392b}

/* ---------- Breadcrumb ---------- */
.re-breadcrumb{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted);margin-bottom:18px;flex-wrap:wrap}
.re-breadcrumb a{color:var(--carbon);font-weight:600}
.re-breadcrumb a:hover{text-decoration:underline}
.re-breadcrumb .mi{font-size:1.1em}

/* ---------- Hero ---------- */
.re-hero{padding:calc(var(--header-h) + clamp(28px,6vw,56px)) 0 clamp(34px,6vw,56px);position:relative;overflow:hidden}
.re-hero::before{content:"";position:absolute;inset-block-start:-220px;inset-inline-start:-160px;width:560px;height:560px;
  background:radial-gradient(circle,rgba(29,78,137,.14),transparent 65%);border-radius:50%;pointer-events:none;animation:blob 18s ease-in-out infinite}
.re-hero::after{content:"";position:absolute;inset-block-end:-260px;inset-inline-end:-180px;width:560px;height:560px;
  background:radial-gradient(circle,rgba(19,67,58,.16),transparent 65%);border-radius:50%;pointer-events:none;animation:blob 22s ease-in-out infinite reverse}
.re-hero-inner{position:relative;z-index:1;max-width:820px}
.re-hero h1{font-size:clamp(1.7rem,5.6vw,2.9rem);font-weight:800;color:var(--navy);line-height:1.3;letter-spacing:-.02em}
.re-hero-lead{font-size:clamp(1rem,2.8vw,1.22rem);color:var(--carbon);font-weight:700;margin:16px 0 12px}
.re-hero-desc{color:var(--muted);font-size:clamp(.95rem,2.4vw,1.04rem);max-width:720px}
.re-hero-btns{margin-top:clamp(22px,4vw,30px)}
.re-hero-btns .btn{font-size:clamp(.92rem,2.5vw,1rem)}
.re-hero-badges{list-style:none;display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:22px;color:var(--muted);font-size:.88rem;font-weight:600}
.re-hero-badges li{display:flex;align-items:center;gap:6px}
.re-hero-badges .mi{font-size:1.2em;color:var(--accent)}

/* ---------- Form card ---------- */
.re-app-section{padding-top:clamp(20px,4vw,32px)}
.re-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(20px,4vw,32px);box-shadow:var(--shadow);margin-top:8px}
.re-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:8px}
.re-group{border:0;margin-top:22px}
.re-group legend{display:flex;align-items:center;gap:9px;font-weight:800;color:var(--navy);
  font-size:clamp(1rem,2.6vw,1.1rem);margin-bottom:14px;padding:0}
.re-group legend small{font-weight:500;color:var(--muted);font-size:.82rem}
.re-step-dot{width:28px;height:28px;flex-shrink:0;border-radius:9px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--navy),var(--carbon));color:#fff;font-size:.85rem;font-weight:700}
.re-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.re-field{display:flex;flex-direction:column;gap:6px;min-width:0}
/* Grade cells that carry their own diploma-year picker need room for both controls. */
.re-grid.has-year{grid-template-columns:repeat(auto-fill,minmax(215px,1fr))}
.re-grade-row{display:flex;gap:8px;align-items:stretch;min-width:0}
/* دو کلاسه نوشته شده چون .re-input{width:100%} پایین‌تر می‌آید و با یک کلاس بر آن غلبه می‌کند. */
.re-grade-row .re-grade{flex:1 1 auto;min-width:0;width:auto}
.re-grade-row .re-grade-year{flex:0 0 96px;width:96px;font-size:.86rem;padding:12px 8px;padding-inline-end:28px;
  background-position:left 6px center;background-size:18px;color:var(--muted)}
.re-field-label{font-size:.88rem;font-weight:600;color:var(--ink)}
.re-input{width:100%;font-family:inherit;font-size:1rem;font-weight:600;color:var(--ink);
  background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;
  transition:border-color .2s,box-shadow .2s,background .2s}
.re-input::placeholder{color:#9aa8b6;font-weight:400;font-size:.9rem}
.re-input:hover{border-color:#cdd8e6}
.re-input:focus{outline:0;background:#fff;border-color:var(--carbon);box-shadow:0 0 0 4px rgba(29,78,137,.12)}
select.re-input{cursor:pointer;appearance:none;padding-inline-end:38px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='https://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235b6b7c'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:left 12px center;background-size:20px}
select.re-input option:disabled{color:#9aa8b6}
.re-error{margin-top:18px;background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.3);
  color:var(--bad);border-radius:12px;padding:13px 16px;font-weight:600;font-size:.94rem}
.re-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.re-actions .btn{flex:1 1 200px}
.re-noscript{background:rgba(201,138,0,.1);border:1px solid rgba(201,138,0,.35);color:#8a6100;
  border-radius:12px;padding:14px 18px;font-weight:600;display:flex;align-items:center;gap:9px}

/* ---------- Results ---------- */
.re-results{margin-top:clamp(24px,4vw,34px);display:flex;flex-direction:column;gap:18px}
.re-results-title{display:flex;align-items:center;gap:10px;font-size:clamp(1.25rem,4vw,1.7rem);
  font-weight:800;color:var(--navy)}
.re-results-title .mi{color:var(--accent)}
.re-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(18px,3.5vw,28px);box-shadow:var(--shadow-sm)}
.re-panel-title{font-size:clamp(1.02rem,2.8vw,1.15rem);font-weight:800;color:var(--navy);margin-bottom:16px}
.re-hint{color:var(--muted);font-size:.88rem;margin-top:12px;line-height:1.9}
.re-hint b{font-weight:700}
.re-hint .is-ahead{color:var(--ok)}
.re-hint .is-behind{color:var(--bad)}
.re-hint .is-even{color:var(--warn)}

/* Spectrum bars */
.re-spectrum{display:flex;flex-direction:column;gap:16px}
.re-spectrum-row{display:flex;flex-direction:column;gap:7px}
.re-spectrum-row.is-total{border-top:1.5px dashed var(--line);padding-top:16px;margin-top:2px}
.re-spectrum-label{font-size:.92rem;font-weight:600;color:var(--ink)}
.re-spectrum-row.is-total .re-spectrum-label{font-weight:800;color:var(--navy);font-size:1.02rem}
.re-spectrum-values{display:flex;justify-content:space-between;font-weight:800;color:var(--carbon);font-size:1.05rem}
.re-spectrum-row.is-total .re-spectrum-values{font-size:1.25rem;color:var(--navy)}
.re-spectrum-bar{height:9px;border-radius:20px;background:linear-gradient(90deg,var(--carbon),var(--accent),var(--green-2))}
.re-spectrum-row.is-total .re-spectrum-bar{height:12px}

/* Rank cards — two-column grid; the range spans the full width.
   A three-across row overflowed on mobile and clipped the side cards. */
.re-rank + .re-rank{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.re-rank-title{display:flex;align-items:center;gap:9px;font-size:clamp(1rem,2.7vw,1.12rem);
  font-weight:800;color:var(--navy);margin-bottom:14px}
.re-rank-title .mi{color:var(--accent)}
.re-rank-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.re-rank-card{min-width:0;border-radius:15px;padding:16px 14px;text-align:center;border:1.5px solid var(--line);background:var(--bg)}

/* The range card is the answer students came for, so it is the only filled,
   full-contrast card here. The optimistic/pessimistic pair is deliberately
   kept quiet underneath it — earlier all three read as equal weight and the
   range got skipped over. */
.re-rank-card.is-range,.re-rank-card.is-single{grid-column:1 / -1;
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--navy),var(--carbon) 55%,var(--green-2));
  border:0;border-radius:20px;padding:clamp(22px,4vw,30px) 20px;
  box-shadow:0 20px 42px -18px rgba(15,37,64,.75),0 0 0 4px rgba(47,158,143,.28)}
/* soft glow so the card reads as lit rather than flat */
.re-rank-card.is-range::before,.re-rank-card.is-single::before{content:"";position:absolute;
  inset-block-start:-70px;inset-inline-start:-50px;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(47,158,143,.45),transparent 65%);pointer-events:none}
.re-rank-card.is-single.is-pessimistic{background:linear-gradient(135deg,#5c1f18,#96342a 60%,#c0392b);
  box-shadow:0 20px 42px -18px rgba(96,34,26,.75),0 0 0 4px rgba(192,57,43,.28)}
/* :not(.is-single) matters — a top-edge result carries .is-single.is-optimistic,
   and without this the pale tint would override the filled card while the white
   text stayed, leaving white-on-white. */
.re-rank-card.is-optimistic:not(.is-single){background:rgba(29,107,92,.06);border-color:rgba(29,107,92,.22)}
.re-rank-card.is-pessimistic:not(.is-single){background:rgba(192,57,43,.05);border-color:rgba(192,57,43,.18)}

.re-rank-label{display:flex;align-items:center;justify-content:center;gap:6px;
  font-size:.82rem;font-weight:700;color:var(--muted);margin-bottom:8px}
.re-rank-label .mi{font-size:1.2em}
.re-rank-card.is-optimistic:not(.is-single) .re-rank-label{color:var(--ok)}
.re-rank-card.is-pessimistic:not(.is-single) .re-rank-label{color:var(--bad)}
/* label becomes a pill on the filled card */
.re-rank-card.is-range .re-rank-label,.re-rank-card.is-single .re-rank-label{
  position:relative;display:inline-flex;color:#fff;background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.28);border-radius:30px;padding:6px 16px;margin-bottom:14px;
  font-size:.85rem;letter-spacing:.01em}

.re-rank-value{font-size:clamp(1.2rem,4.4vw,1.65rem);font-weight:800;color:var(--navy);
  line-height:1.35;overflow-wrap:anywhere}
.re-rank-card.is-optimistic:not(.is-single) .re-rank-value,
.re-rank-card.is-pessimistic:not(.is-single) .re-rank-value{
  font-size:clamp(1.05rem,3.4vw,1.3rem)}
.re-rank-card.is-optimistic:not(.is-single) .re-rank-value{color:var(--ok)}
.re-rank-card.is-pessimistic:not(.is-single) .re-rank-value{color:var(--bad)}
/* the headline number: roughly double the secondary cards */
.re-rank-card.is-range .re-rank-value,.re-rank-card.is-single .re-rank-value{
  position:relative;color:#fff;font-size:clamp(1.9rem,6.4vw,2.9rem);line-height:1.25;
  text-shadow:0 2px 14px rgba(0,0,0,.28)}
.re-rank-note{position:relative;margin-top:10px;font-size:.86rem;font-weight:600;
  color:rgba(255,255,255,.82)}

.re-rank-range{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.re-rank-range i{font-style:normal;font-size:.78rem;font-weight:600;color:rgba(255,255,255,.7);
  background:rgba(255,255,255,.14);border-radius:20px;padding:4px 12px}
.re-rank-scale{height:7px;border-radius:20px;margin-top:14px;
  background:linear-gradient(90deg,var(--green-2),var(--accent),#e6b800,var(--bad))}

/* Basket + preview lists */
.re-basket{list-style:none;display:flex;flex-direction:column;gap:9px}
.re-basket-row,.re-preview-row{display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 15px}
.re-basket-name{min-width:0;display:flex;flex-direction:column;line-height:1.55}
.re-basket-name b{font-size:.95rem;font-weight:700;color:var(--ink)}
.re-basket-name small{font-size:.78rem;color:var(--muted)}
.re-dots{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;flex-shrink:0;max-width:45%}
.re-dot{width:10px;height:10px;border-radius:50%;display:block}
.re-dot.is-ahead{background:var(--ok);box-shadow:0 0 5px rgba(29,107,92,.5)}
.re-dot.is-behind{background:var(--bad);box-shadow:0 0 5px rgba(192,57,43,.45)}
.re-dot.is-even{background:#e6b800;box-shadow:0 0 5px rgba(230,184,0,.5)}
.re-distance{font-weight:800;font-size:1rem;flex-shrink:0}
.re-distance.is-ahead{color:var(--ok)}
.re-distance.is-behind{color:var(--bad)}

/* Mathematics admission cards */
.re-admissions-grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.re-admission-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;
  background:linear-gradient(135deg,rgba(29,107,92,.07),var(--bg));border:1px solid rgba(29,107,92,.22);
  border-radius:14px;padding:14px 15px}
.re-admission-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;
  color:#fff;background:linear-gradient(135deg,var(--green),var(--green-2))}
.re-admission-copy{display:flex;flex-direction:column;min-width:0;line-height:1.55}
.re-admission-copy b{font-size:.94rem;color:var(--navy)}
.re-admission-copy span{font-size:.83rem;color:var(--muted)}
.re-level-badge{margin-inline-start:auto;flex-shrink:0;border-radius:20px;padding:5px 9px;
  background:rgba(29,107,92,.1);color:var(--ok);font-size:.72rem;font-weight:800}
.re-admission-options{grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px;min-width:0}
.re-admission-options>b{display:block;font-size:.76rem;color:var(--muted);margin-bottom:7px}
.re-admission-options>span{font-size:.78rem;color:var(--muted)}
.re-admission-options ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.re-possibility{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:20px;
  background:var(--card);padding:6px 9px;font-size:.76rem;color:var(--carbon)}
.re-possibility.is-current{border-color:rgba(29,107,92,.4);background:rgba(29,107,92,.09);color:var(--ok);font-weight:700}
.re-possibility small{border-radius:12px;background:var(--ok);color:#fff;padding:2px 6px;font-size:.64rem;white-space:nowrap}
.re-admission-card.is-unavailable{background:var(--bg);border-color:var(--line);opacity:.78}
.re-admission-card.is-unavailable .re-admission-icon{background:var(--muted)}

/* University level guide */
.re-guide{margin-top:18px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.re-guide h4{font-size:.98rem;font-weight:800;color:var(--navy);margin-bottom:10px}
.re-guide dl{display:flex;flex-direction:column;gap:8px;font-size:.88rem;line-height:1.8}
.re-guide dt{font-weight:700;color:var(--carbon);display:inline}
.re-guide dd{color:var(--muted);display:inline;margin-inline-start:6px}
.re-guide dt::after{content:":"}

/* Result CTA */
.re-cta{background:linear-gradient(135deg,var(--navy),var(--carbon));color:#fff;border-color:transparent}
.re-cta .re-panel-title{color:#fff}
.re-cta > p{color:rgba(255,255,255,.85);font-size:.96rem;margin-bottom:20px}
.re-cta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.re-cta-item{display:flex;align-items:center;gap:13px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);border-radius:15px;padding:14px 16px;transition:background .25s,transform .25s}
.re-cta-item:hover{background:rgba(255,255,255,.18);transform:translateY(-3px)}
.re-cta-ic{flex-shrink:0;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.16);display:grid;place-items:center;color:#fff}
.re-cta-tx{min-width:0;line-height:1.5}
.re-cta-tx b{display:block;font-size:.95rem;color:#fff}
.re-cta-tx small{display:block;font-size:.76rem;color:rgba(255,255,255,.7)}
.re-cta-val{display:block;direction:ltr;text-align:start;color:var(--accent);font-weight:700;
  font-size:.8rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;filter:brightness(1.45)}
.re-share{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:22px;
  padding-top:20px;border-top:1px solid rgba(255,255,255,.15)}
.re-share-label{display:flex;align-items:center;gap:7px;font-size:.9rem;font-weight:700;color:rgba(255,255,255,.9);margin-inline-end:4px}
.re-share-btn{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:11px;padding:10px 16px;
  font-family:inherit;font-size:.88rem;font-weight:700;cursor:pointer;transition:background .22s,transform .22s}
.re-share-btn:hover{background:rgba(255,255,255,.22);transform:translateY(-2px)}
.re-share-btn .mi{font-size:1.15em}

/* ---------- Steps ---------- */
.re-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:re-step}
.re-step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 22px;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s}
.re-step:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.re-step-num{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;margin-bottom:14px;
  background:linear-gradient(135deg,var(--navy),var(--carbon));color:#fff;font-weight:800;font-size:1.15rem}
.re-step:nth-child(even) .re-step-num{background:linear-gradient(135deg,var(--green),var(--green-2))}
.re-step h3{font-size:1.04rem;font-weight:700;color:var(--navy);margin-bottom:6px}
.re-step p{font-size:.9rem;color:var(--muted)}

/* ---------- Method explainer ---------- */
.re-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.re-method-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(22px,3.5vw,30px);box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s}
.re-method-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.re-method-card.is-total{background:linear-gradient(135deg,var(--navy),var(--green));color:#fff;border-color:transparent}
.re-method-badge{display:inline-grid;place-items:center;min-width:58px;height:44px;padding:0 12px;border-radius:14px;
  background:rgba(29,78,137,.1);color:var(--carbon);font-weight:800;font-size:1.1rem;margin-bottom:14px}
.re-method-card.is-total .re-method-badge{background:rgba(255,255,255,.16);color:#fff}
.re-method-card h3{font-size:1.1rem;font-weight:700;color:var(--navy);margin-bottom:9px}
.re-method-card.is-total h3{color:#fff}
.re-method-card p{font-size:.93rem;color:var(--muted)}
.re-method-card.is-total p{color:rgba(255,255,255,.85)}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .re-steps{grid-template-columns:1fr 1fr}
  .re-method-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .re-row{grid-template-columns:1fr}
  .re-grid{grid-template-columns:1fr 1fr}
  .re-steps{grid-template-columns:1fr}
  .re-actions .btn{flex:1 1 100%}
  .re-rank-grid{grid-template-columns:1fr}
  .re-admissions-grid{grid-template-columns:1fr}
  .re-dots{max-width:40%}
  .re-share{flex-direction:column;align-items:stretch}
  .re-share-btn{justify-content:center}
}
@media(max-width:380px){
  .re-grid{grid-template-columns:1fr}
}

/* ===================================================================
   Typography: justified body copy + full-width intros
   Scoped to .page-estimator so the home page keeps its own measure.
=================================================================== */

/* style.css caps .section-sub at 640px, which broke the "چرا سامانه…"
   intro onto a short line well before the container edge. These intros
   are single paragraphs spanning the section, so let them run full width. */
.page-estimator .section-sub{max-width:none}

/* Justify running text inside its box. Headings, labels, numbers and the
   dot/rank cards keep their own alignment. */
.page-estimator .re-hero-desc,
.page-estimator .section-sub,
.page-estimator .res-card p,
.page-estimator .re-method-card p,
.page-estimator .re-step p,
.page-estimator .faq-a p,
.page-estimator .re-cta > p,
.page-estimator .re-hint,
.page-estimator .re-guide dl{
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
}

/* Centred blocks stay centred: justify the body, centre the last line. */
.page-estimator .contact-card .intro{
  text-align:justify;
  text-align-last:center;
}

/* The advantage cards carry full sentences, not the short labels the home
   page uses, so four across leaves a ~160px measure that justifies badly.
   Two across gives the text room to set properly. */
.page-estimator #why .cards-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){
  .page-estimator #why .cards-grid{grid-template-columns:1fr}
}

/* ---------- Post-result Telegram hook ----------
   Sits at the top of the result CTA panel. The panel is dark navy, so this
   goes bright teal to break out of it rather than blend in. */
.re-join{display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  background:linear-gradient(135deg,var(--accent),var(--green-2));
  border:1px solid rgba(255,255,255,.28);border-radius:18px;
  padding:18px 20px;margin-bottom:26px;color:#fff;
  box-shadow:0 14px 30px -14px rgba(0,0,0,.55);
  transition:transform .25s,box-shadow .25s}
.re-join:hover{transform:translateY(-3px);box-shadow:0 20px 38px -16px rgba(0,0,0,.6)}
.re-join-ic{flex-shrink:0;width:52px;height:52px;border-radius:15px;display:grid;place-items:center;
  background:rgba(255,255,255,.2)}
.re-join-ic .mi{font-size:1.7em}
.re-join-tx{flex:1 1 260px;min-width:0;line-height:1.65}
.re-join-tx b{display:block;font-size:clamp(1rem,2.7vw,1.12rem);font-weight:800;color:#fff}
.re-join-tx small{display:block;font-size:.86rem;color:rgba(255,255,255,.9);margin-top:3px}
.re-join-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;
  background:#fff;color:var(--green);border-radius:13px;padding:13px 22px;
  font-weight:800;font-size:.94rem;white-space:nowrap}
.re-join:hover .re-join-btn{background:#f2fbf9}
@media(max-width:640px){
  .re-join{gap:13px}
  .re-join-btn{width:100%;justify-content:center}
}

/* ---------- امتیاز و مقایسه رشته‌ها ---------- */
.re-rating-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }

.re-rating-subtitle { margin: 16px 0 8px; font-size: .92rem; color: var(--re-muted, #64748b); }

.re-rating-card {
  padding: 12px 13px 13px;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 14px;
  background: rgba(255, 255, 255, .55);
}

.re-rating-card.is-secondary { opacity: .88; }

.re-rating-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; margin-bottom: 10px;
}

.re-rating-name { font-weight: 700; font-size: .95rem; }
.re-rating-name small { display: block; margin-top: 2px; font-weight: 400; font-size: .72rem; opacity: .65; }

.re-rating-total {
  flex: 0 0 auto; padding: 4px 11px; border-radius: 999px;
  background: rgba(37, 99, 235, .12); color: #2563eb;
  font-weight: 700; font-size: .85rem; direction: ltr;
}

.re-rating-params { display: grid; gap: 6px; }

.re-rating-param {
  display: grid; grid-template-columns: 1fr auto; align-items: center;
  gap: 10px; font-size: .84rem; font-weight: 700;
}

.re-dots { display: flex; gap: 3px; }

.re-dot { width: 16px; height: 6px; border-radius: 999px; background: rgba(15, 23, 42, .12); }
.re-dot.is-on { background: linear-gradient(90deg, #2563eb, #38bdf8); }

.re-rating-note {
  margin: 10px 0 0; padding-top: 9px;
  border-top: 1px dashed rgba(15, 23, 42, .12);
  font-size: .8rem; line-height: 2; text-align: justify; opacity: .85;
}

.re-rating-market {
  margin-top: 12px; padding: 10px 12px; border-radius: 10px;
  background: rgba(37, 99, 235, .07); font-size: .82rem; line-height: 1.9;
}

/* ---------- رشته و سطح تجربی ---------- */
.re-adm-list { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }

.re-adm-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; padding: 9px 11px; border-radius: 10px;
  background: rgba(15, 23, 42, .04); font-size: .85rem;
}

.re-adm-tier {
  flex: 0 0 auto; padding: 3px 10px; border-radius: 999px;
  font-size: .78rem; font-weight: 700;
}

.re-adm-tier.is-top { background: rgba(37, 99, 235, .14); color: #2563eb; }
.re-adm-tier.is-tier { background: rgba(22, 163, 74, .14); color: #16a34a; }
.re-adm-tier.is-none { background: rgba(15, 23, 42, .06); color: #94a3b8; }
/* داخل بازه ولی هنوز نرسیده: زرد، نه خاموش */
.re-adm-tier.is-pending { background: rgba(202, 138, 4, .16); color: #a16207; }

@media (prefers-color-scheme: dark) {
  .re-rating-card { border-color: rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .04); }
  .re-dot { background: rgba(255, 255, 255, .12); }
  .re-rating-note { border-top-color: rgba(255, 255, 255, .12); }
  .re-adm-row { background: rgba(255, 255, 255, .05); }
  .re-adm-tier.is-pending { background: rgba(234, 179, 8, .18); color: #fde047; }
}

/* ---------- اثر سوابق یازدهم ---------- */
.re-effect{margin-top:14px;padding:14px 12px;border-radius:14px;text-align:center}
.re-effect.is-applied{background:linear-gradient(140deg,rgba(22,163,74,.12),rgba(37,99,235,.09));
  border:1px solid rgba(22,163,74,.4)}
.re-effect.is-skipped{background:rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.12)}
.re-effect-title{display:flex;align-items:center;justify-content:center;gap:6px;
  margin-bottom:5px;font-size:.95rem;font-weight:700}
.re-effect.is-applied .re-effect-title{color:#16a34a}
.re-effect.is-skipped .re-effect-title{color:#5b6b7c}
.re-effect-note{margin:0;font-size:.78rem;line-height:1.8;opacity:.8}
.re-effect-pair{display:flex;justify-content:center;gap:10px;margin-top:10px;direction:ltr}
.re-effect-chip{padding:5px 11px;border-radius:999px;background:rgba(15,23,42,.06);
  font-size:.78rem;font-weight:700}

@media (prefers-color-scheme:dark){
  .re-effect.is-skipped{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
  .re-effect.is-applied .re-effect-title{color:#86efac}
  .re-effect-chip{background:rgba(255,255,255,.08)}
}

/* ---------- معرفی دانشگاه‌ها ---------- */
.re-uni-group{margin:18px 0 6px;font-size:1rem}
.re-uni-intro{margin:0 0 10px;font-size:.8rem;line-height:1.9;opacity:.78;text-align:justify}
.re-uni-list{display:grid;gap:7px}
.re-uni{border:1px solid rgba(15,23,42,.1);border-radius:12px;background:rgba(255,255,255,.5);overflow:hidden}
.re-uni summary{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px;cursor:pointer;list-style:none;font-weight:700;font-size:.9rem}
.re-uni summary::-webkit-details-marker{display:none}
.re-uni-name{flex:1 1 auto;min-width:0}
.re-uni-name small{display:block;margin-top:2px;font-weight:400;font-size:.7rem;opacity:.6}
.re-uni-score{flex:0 0 auto;padding:4px 10px;border-radius:999px;background:rgba(37,99,235,.12);
  color:#2563eb;font-size:.78rem;direction:ltr}
.re-uni p{margin:0;padding:0 12px 12px;font-size:.82rem;line-height:2;text-align:justify;opacity:.88}
.re-uni-note{margin-top:14px;padding:12px;border-radius:12px;background:rgba(37,99,235,.07);
  border:1px solid rgba(37,99,235,.18)}
.re-uni-note h4{margin:0 0 6px;font-size:.9rem;color:#2563eb}
.re-uni-note p{margin:0;font-size:.82rem;line-height:2;text-align:justify;opacity:.88}
.re-uni-closing{margin-top:14px;padding:12px;border-radius:12px;background:rgba(202,138,4,.09);
  border:1px solid rgba(202,138,4,.25);font-size:.82rem;line-height:2;text-align:justify}

@media (prefers-color-scheme:dark){
  .re-uni{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.04)}
  .re-uni-score{background:rgba(56,189,248,.16);color:#38bdf8}
  .re-uni-note h4{color:#38bdf8}
}
