/* =====================================================================
   pages/403.css — Forbidden / members-only error page.
   Defines the giant code numeral, rescue cards, search and helpful list.
   ===================================================================== */

.err{padding:80px 0 88px;text-align:center;display:flex;align-items:center;justify-content:center}
.err .container{max-width:680px;text-align:center}
.err .code{
  font-size:clamp(96px,15vw,180px);font-weight:900;line-height:1;
  letter-spacing:-4px;margin-bottom:14px;
  background:linear-gradient(135deg,#0091c2,#1f6cb0);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.err h1{font-size:clamp(28px,3.4vw,40px);font-weight:800;color:var(--sp-secondary-d);letter-spacing:-.5px;margin-bottom:14px}
.err p{font-size:16px;color:var(--sp-muted);line-height:1.7;margin:0 auto 24px;max-width:540px}
.err .actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:32px}
.err .hero-actions{justify-content:center;margin-top:24px}
.err .prose{margin-inline:auto}

.error-search{
  display:flex;gap:8px;max-width:560px;margin:0 auto 28px;
}
.error-search input{
  flex:1;padding:13px 18px;border-radius:10px;
  border:1.5px solid var(--sp-line);background:#fff;
  font-size:14.5px;font-family:inherit;color:var(--sp-text);
}
.error-search input:focus{outline:none;border-color:var(--sp-primary);box-shadow:0 0 0 3px rgba(0,145,194,.15)}
.error-search button{
  padding:13px 22px;border-radius:10px;border:none;cursor:pointer;
  background:linear-gradient(135deg,#0091c2,#1f6cb0);color:#fff;
  font-weight:700;font-family:inherit;
}
.error-search button:hover{background:linear-gradient(135deg,#006a9c,#062940)}

.rescue-cards{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
  margin:32px auto 36px;max-width:880px;text-align:left;
}
.rescue-cards a{
  background:#fff;border:1px solid var(--sp-line);
  border-radius:14px;padding:18px;
  display:flex;flex-direction:column;gap:6px;
  color:var(--sp-secondary-d);transition:.2s;
  box-shadow:var(--sp-shadow);
}
.rescue-cards a:hover{border-color:var(--sp-primary);transform:translateY(-2px);box-shadow:var(--sp-shadow-md)}
.rescue-cards .ic{font-size:22px}
.rescue-cards .lbl{font-weight:700;font-size:14px;color:var(--sp-secondary-d)}
.rescue-cards .desc{font-size:12px;color:var(--sp-muted);line-height:1.45}

.helpful{
  margin-top:32px;padding-top:24px;border-top:1px solid var(--sp-line);
  text-align:left;
}
.helpful h4{
  font-size:13px;font-weight:800;text-transform:uppercase;
  letter-spacing:1.4px;color:var(--sp-primary);margin-bottom:14px;
}
.helpful ul{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.helpful ul li{list-style:none}
.helpful ul li a{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;border-radius:8px;
  font-size:14px;font-weight:600;color:var(--sp-secondary-d);
  transition:.2s;
}
.helpful ul li a:hover{background:rgba(0,145,194,.08);color:var(--sp-primary)}

@media (max-width:880px){
  .rescue-cards{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .helpful ul{grid-template-columns:1fr}
}
