/* Shared visual hierarchy for SAT, GAT and AP free practice.
   All rules are scoped to the three public practice pages. */
.sg-free-sat{--practice-accent:#356f98;--practice-soft:#edf5fa}
.sg-free-gat{--practice-accent:#287b81;--practice-soft:#edf8f7}
.sg-free-ap{--practice-accent:#596aa1;--practice-soft:#f1f3fa}

/* Give reading, navigation and calls to action distinct surfaces. */
.sg-free-practice .free-hero{
  padding-block:clamp(42px,5vw,60px) clamp(32px,4vw,43px);
}
.sg-free-practice .free-hero-actions{gap:9px;margin-block-start:18px}
.sg-free-practice .free-hero-actions .free-btn{
  min-height:46px;padding:10px 15px;border-radius:11px;font-size:13px;line-height:1.35;
}
.sg-free-practice .free-hero-actions .free-btn-primary{
  background:linear-gradient(135deg,#ffe49a,#f7c948);color:#1d3557;
  border:1px solid #ffe7a1;box-shadow:0 8px 20px rgba(8,23,42,.16);
}
.sg-free-practice .free-hero-actions .free-btn-primary:hover{background:#ffdf83}
.sg-free-practice .free-hero-actions .free-btn-soft{
  background:rgba(255,255,255,.10);color:#fff;
  border:1px solid rgba(255,255,255,.63);
}
.sg-free-practice .free-hero-actions .free-btn-soft:hover{
  background:rgba(255,255,255,.22);
}
.sg-free-practice .free-view-pill{
  padding:6px 10px;background:transparent;border:1px solid rgba(255,255,255,.27);
  color:rgba(255,255,255,.85);font-size:11px;line-height:1.35;
}
.sg-free-practice .free-card,
.sg-free-practice .practice-guide{
  background:#fff;border:1px solid #dbe5ed;
  box-shadow:0 12px 30px rgba(29,53,87,.075);
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
.sg-free-practice .free-card h2,
.sg-free-practice .practice-guide h2{
  border-inline-start:3px solid var(--practice-accent);
  padding-inline-start:11px;
}
.sg-free-practice .tip{
  background:var(--practice-soft);border-color:#dce6ee;box-shadow:none;
}

/* The first group jumps within this page; the following links leave for
   full tests or SolvePrint. Their different treatments explain that role. */
.sg-free-practice .practice-guide nav{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-block-start:16px;
}
.sg-free-practice .practice-guide nav a{
  min-height:38px;padding:8px 12px;border:1px solid #c8dbe6;
  border-block-end:2px solid var(--practice-accent);
  border-radius:9px;background:var(--practice-soft);
  color:#1d3557;font-size:13px;font-weight:700;line-height:1.35;
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.sg-free-practice .practice-guide nav a:hover{
  background:#e0eef5;border-color:var(--practice-accent);
  box-shadow:0 6px 13px rgba(29,53,87,.1);
}
.sg-free-practice .practice-guide .guide-links{
  gap:8px 17px;padding-block-start:13px;margin-block-start:17px;
  border-block-start:1px solid #dce6ee;
}
.sg-free-practice .practice-guide .guide-links a{
  min-height:36px;padding:5px 0;border:0;border-radius:0;background:none;
  color:#235d83;font-size:13px;font-weight:750;line-height:1.4;
  text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;
}
.sg-free-practice .practice-guide .guide-links a:hover{
  color:#1d3557;background:none;text-decoration-thickness:2px;
}
.sg-free-practice .practice-guide nav a:focus-visible,
.sg-free-practice .practice-guide .guide-links a:focus-visible{
  outline:3px solid #1d3557;outline-offset:3px;
}

/* Published questions are reading material, not selectable quiz controls. */
.sg-free-practice .topic-title{
  padding-inline-start:12px;border-inline-start:4px solid var(--practice-accent);
}
.sg-free-practice .question-card{
  background:#fff;border:1px solid #dbe5ed;
  box-shadow:0 10px 25px rgba(29,53,87,.075);
}
.sg-free-practice .choice{
  background:#f3f7fa;border:1px solid #dce5ec;cursor:default;
}
.sg-free-practice .answer-box{
  background:#ecf7f5;border:1px solid #bbdcd8;
  border-inline-start:4px solid #287b81;
}
.sg-free-practice .note-box{
  background:#f7f9fc;border-color:#dce5ec;
}
.sg-free-practice .gat-topic-group{
  background:#fff;border:1px solid #cddfe5;
  box-shadow:0 9px 23px rgba(29,53,87,.075);
}
.sg-free-practice .gat-topic-group summary{
  border-inline-start:4px solid var(--practice-accent);
  background:var(--practice-soft);cursor:pointer;
  transition:background .18s ease,color .18s ease;
}
.sg-free-practice .gat-topic-group summary:hover{background:#dbeeed}
.sg-free-practice .gat-topic-group summary::after{
  flex:none;background:#d5e9e8;color:#1d3557;
}
.sg-free-practice .gat-topic-group[open] summary{
  background:#1d3557;color:#fff;
}
.sg-free-practice .gat-topic-group[open] summary::after{
  background:#f7c948;color:#1d3557;
}
.sg-free-practice .gat-topic-group[open] .group-count{
  background:rgba(255,255,255,.17);color:#fff;
}
.sg-free-practice .gat-topic-group summary:focus-visible{
  outline:3px solid #1d3557;outline-offset:3px;
}

/* A diagnostic band near the start and a decision band at the end. */
.sg-free-practice .cta-band{
  padding:clamp(23px,3vw,32px);
  background:linear-gradient(132deg,#17314e 0%,#315f7d 70%,#457b9d 100%);
}
.sg-free-practice .cta-band .free-btn-primary{
  background:#ffe188;color:#1d3557;
  border:1px solid #ffe7a1;
}
.sg-free-practice .cta-band .free-btn-primary:hover{background:#ffda72}
.sg-free-practice .cta-band .free-btn-soft{
  background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.46);
}
.sg-free-practice .cta-band .free-btn-soft:hover{
  background:rgba(255,255,255,.22);
}
/* The five end-of-page destinations previously wrapped into uneven rows.
   One principal button and quiet text links clarify the decision. */
.sg-free-practice .free-main > .cta-band:last-of-type .free-btn-primary{
  display:flex;width:max-content;max-width:100%;
  margin:5px auto 10px;padding-inline:20px;
}
.sg-free-practice .free-main > .cta-band:last-of-type .free-btn-soft{
  min-height:38px;margin:3px 5px;padding:6px 5px;
  background:none;border:0;border-radius:0;box-shadow:none;
  color:#fff;font-size:13px;font-weight:700;line-height:1.4;
  text-decoration:underline;text-underline-offset:4px;
  text-decoration-color:rgba(255,255,255,.58);
}
.sg-free-practice .free-main > .cta-band:last-of-type .free-btn-soft:hover{
  color:#ffe188;background:none;text-decoration-color:currentColor;
}
.sg-free-practice .free-main > .cta-band:last-of-type .free-btn-soft:focus-visible{
  outline:3px solid #ffe188;outline-offset:3px;
}

@media(max-width:768px){
  .sg-free-practice .free-hero{padding-block:44px 34px}
  .sg-free-practice .free-hero-actions .free-btn{
    width:100%;white-space:normal;text-align:center;
  }
  .sg-free-practice .practice-guide nav a,
  .sg-free-practice .practice-guide .guide-links a{
    width:auto;max-width:100%;
  }
  .sg-free-practice .cta-band .free-btn-primary,
  .sg-free-practice .cta-band .free-btn-soft{
    width:auto;max-width:100%;
  }
}
@media(max-width:560px){
  .sg-free-practice .practice-guide nav{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .sg-free-practice .practice-guide nav a{
    width:100%;justify-content:flex-start;text-align:start;white-space:normal;
  }
  .sg-free-practice .practice-guide .guide-links{
    display:flex;flex-direction:column;align-items:flex-start;gap:4px;
  }
  .sg-free-practice .free-main > .cta-band:last-of-type .free-btn-soft{
    display:block;width:max-content;max-width:100%;margin:5px auto;
  }
}
@media(max-width:360px){
  .sg-free-practice .practice-guide nav{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .sg-free-practice .practice-guide nav a,
  .sg-free-practice .gat-topic-group summary{transition:none}
}
