
/*
TORR MASTER PROJECT
Production Readiness & Accessibility
Version: v2.5
*/

:root{
  --focus-ring:#7a3ec8;
  --focus-ring-offset:#ffffff;
}

html{
  scroll-behavior:smooth;
  text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
}

body{
  overflow-wrap:anywhere;
}

:focus-visible{
  outline:3px solid var(--focus-ring);
  outline-offset:4px;
}

.skip-link{
  position:fixed;
  left:16px;
  top:16px;
  z-index:9999;
  transform:translateY(-180%);
  padding:12px 16px;
  border-radius:10px;
  background:#17131e;
  color:#fff;
  font-weight:800;
  transition:transform .18s ease;
}

.skip-link:focus{
  transform:translateY(0);
}

img{
  max-width:100%;
  height:auto;
}

button,
input,
select,
textarea{
  font:inherit;
}

button,
a{
  -webkit-tap-highlight-color:transparent;
}

[hidden]{
  display:none!important;
}

.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.site-status{
  padding:12px 16px;
  border-bottom:1px solid rgba(91,44,160,.12);
  background:#f7f5fa;
  color:#6f6878;
  font-size:12px;
  text-align:center;
}

.error-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:40px 20px;
  background:
    radial-gradient(circle at 78% 16%,rgba(91,44,160,.18),transparent 30%),
    linear-gradient(135deg,#fff 0%,#faf8fd 58%,#f0e9f9 100%);
}

.error-card{
  width:min(760px,100%);
  padding:clamp(28px,6vw,64px);
  border:1px solid rgba(91,44,160,.14);
  border-radius:30px;
  background:#fff;
  box-shadow:0 30px 90px rgba(31,18,48,.14);
  text-align:center;
}

.error-code{
  display:block;
  color:#5b2ca0;
  font-size:clamp(72px,16vw,150px);
  font-weight:950;
  line-height:.9;
  letter-spacing:-.08em;
}

.error-card h1{
  margin:26px 0 14px;
  font-size:clamp(34px,5vw,58px);
  line-height:1.08;
  letter-spacing:-.04em;
}

.error-card p{
  max-width:600px;
  margin:0 auto;
  color:#6f6878;
  font-size:18px;
  line-height:1.75;
}

.error-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-top:30px;
}

@media(max-width:680px){
  html{scroll-behavior:auto}

  .error-actions{
    display:grid;
  }

  .error-actions .btn{
    width:100%;
  }
}

@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

@media print{
  .site-header,
  .site-footer,
  .cookie-banner,
  .cookie-dialog,
  .header-actions,
  .mobile-menu,
  .site-status{
    display:none!important;
  }

  body{
    color:#000;
    background:#fff;
  }

  a{
    color:#000;
    text-decoration:underline;
  }

  .section{
    break-inside:avoid;
  }
}
