/* ==========================================================================
   Reset — خفيف
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 1.25rem);
}
body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,ul,ol{margin:0}
ul[class],ol[class]{list-style:none;padding:0}
body{min-height:100vh;text-rendering:optimizeSpeed}
img,picture,svg,video,canvas{display:block;max-width:100%}
img{height:auto;border-style:none}
input,button,textarea,select{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer;padding:0}
a{color:inherit;text-decoration:none}
table{border-collapse:collapse;width:100%}
hr{border:0;border-top:1px solid var(--lav-300);margin:2rem 0}

/* لا نفرض التعبئة: الأيقونات الخطّية تستخدم fill="none" كسمة عرض،
   وقاعدة CSS عامة كانت تتجاوزها فتحوّل كل أيقونة إلى كتلة مصمتة. */
:where(svg:not([fill])){fill:currentColor}
[hidden]{display:none !important}

/* إمكانية الوصول */
.screen-reader-text{
  position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;
}
.skip-link{
  position:absolute;inset-inline-start:1rem;top:-100px;z-index:9999;
  background:var(--purple-900);color:#fff;padding:.7rem 1.2rem;
  border-radius:var(--r-sm);font-weight:700;
  transition:top var(--t-fast) var(--ease);
}
.skip-link:focus{top:1rem}

:focus-visible{
  outline:2px solid var(--purple-600);
  outline-offset:3px;
  border-radius:4px;
}
.section--deep :focus-visible,
.site-footer :focus-visible{outline-color:#fff}

::selection{background:var(--purple-600);color:#fff}

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