/* Alnodom Visual Refinements 1.3 — site-wide base
 * Non-destructive presentation/accessibility layer.
 */

:root {
  --alnodom-ink: #173238;
  --alnodom-ink-soft: #36565a;
  --alnodom-gold: #9d7838;
  --alnodom-green: #315f59;
  --alnodom-line: rgba(23, 50, 56, .14);
  --alnodom-shadow: 0 12px 34px rgba(23, 50, 56, .08);
  --alnodom-radius: 18px;
  --alnodom-focus: #9d7838;
  --alnodom-arabic-font: "Noto Naskh Arabic", "Traditional Arabic", "Arabic Typesetting", "Geeza Pro", "Times New Roman", serif;
}

html {
  font-size: 18px !important;
  scroll-behavior: smooth;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body,
button,
input,
select,
textarea {
  font-family: var(--alnodom-arabic-font) !important;
}

body {
  color: var(--alnodom-ink);
  font-size: 21px !important;
  line-height: 1.88 !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

p, li, input, select, textarea { font-weight: 400; }
strong, b { font-weight: 700; }

h1, h2, h3, h4, h5, h6,
.brand strong,
.thesis-card h3,
.service-card h4 {
  font-family: var(--alnodom-arabic-font) !important;
  font-weight: 800;
  letter-spacing: 0;
}

/* Keyboard accessibility: strong, consistent, and non-layout-shifting. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--alnodom-focus) !important;
  outline-offset: 3px !important;
  box-shadow: none;
}

.skip-link:focus {
  position: fixed !important;
  z-index: 100000 !important;
  inset-block-start: 12px !important;
  inset-inline-start: 12px !important;
  width: auto !important;
  height: auto !important;
  padding: 10px 16px !important;
  clip: auto !important;
  overflow: visible !important;
  background: #fff !important;
  color: var(--alnodom-ink) !important;
  border: 2px solid var(--alnodom-focus) !important;
  border-radius: 8px !important;
}

/* Header and navigation readability. */
.topbar,
.topbar a,
.topbar span {
  font-size: 1.02rem !important;
}

.site-header .brand strong {
  font-size: clamp(1.35rem, 1.5vw, 1.65rem) !important;
  line-height: 1.35 !important;
}

.site-header .brand small {
  font-size: 1.05rem !important;
  line-height: 1.5 !important;
}

.site-nav a,
.drs-basket-header {
  font-size: 1.12rem !important;
  font-weight: 700 !important;
}

.site-nav a,
.drs-basket-header,
.button,
.drs-basket-button,
.thesis-request-link,
.text-link,
.drs-share-button {
  min-height: 44px;
}

.button,
.drs-basket-button,
.thesis-request-link,
.text-link,
.drs-share-button {
  font-family: var(--alnodom-arabic-font) !important;
  font-size: 1.08rem !important;
  font-weight: 800 !important;
}

.button,
.drs-basket-button { border-radius: 12px; }

/* Cards: safe on archives, singles, and front page. */
.thesis-card,
.service-card {
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid var(--alnodom-line);
  border-radius: var(--alnodom-radius);
  box-shadow: var(--alnodom-shadow);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.thesis-card { border-top: 4px solid var(--alnodom-gold); }
.service-card { border-top: 4px solid var(--alnodom-green); }

.thesis-card:hover,
.service-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 44px rgba(23, 50, 56, .11);
}

.thesis-card h3,
.thesis-card h3 a,
.service-card h4 {
  font-size: clamp(1.42rem, 1.65vw, 1.72rem) !important;
  line-height: 1.58 !important;
  font-weight: 800 !important;
  overflow-wrap: anywhere;
  word-break: normal;
}

.thesis-card p,
.service-card p,
.thesis-card .card-bottom,
.thesis-card .tag {
  font-size: 1.10rem !important;
  line-height: 1.78 !important;
}

.card-bottom,
.thesis-card,
.service-card,
.drs-share,
.drs-share-actions { min-width: 0; }

/* Sharing controls: readable and touch-friendly. */
.drs-share {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--alnodom-line);
}

.drs-share-heading {
  margin: 0 0 10px !important;
  color: var(--alnodom-ink-soft);
  font-size: 1.08rem !important;
  font-weight: 800 !important;
}

.drs-share-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.drs-share-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 10px 15px;
  border: 1px solid rgba(23, 50, 56, .14);
  border-radius: 999px;
  line-height: 1.2;
  transition: transform .15s ease, box-shadow .15s ease;
}

.drs-share-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 5px 14px rgba(23, 50, 56, .10);
}

.drs-share-button svg,
.button svg,
.text-link svg,
.thesis-request-link svg {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
}

/* Footer readability. */
.site-footer,
.site-footer p,
.site-footer a,
.site-footer span {
  font-size: 1.08rem !important;
  line-height: 1.8 !important;
}

.site-footer h3 {
  font-size: 1.3rem !important;
  font-weight: 800;
}

.site-footer .brand strong { font-size: 1.45rem !important; }
.site-footer .brand small { font-size: 1.02rem !important; }
.site-footer a { text-underline-offset: 4px; }

/* Long strings should never force horizontal scrolling. */
main,
.site-footer,
.thesis-card,
.service-card {
  overflow-wrap: anywhere;
}

@media (max-width: 1024px) {
  html { font-size: 17px !important; }
  body { font-size: 20px !important; }
}

@media (max-width: 780px) {
  html { font-size: 16.5px !important; }
  body { font-size: 19px !important; line-height: 1.82 !important; }

  .thesis-card h3,
  .thesis-card h3 a,
  .service-card h4 {
    font-size: 1.4rem !important;
  }

  .drs-share-button { min-height: 46px; }
}

@media (max-width: 480px) {
  body { font-size: 18.5px !important; }
  .site-nav a { font-size: 1.08rem !important; }
  .drs-share-button { flex: 1 1 auto; }
  .thesis-card,
  .service-card { border-radius: 14px; }
}

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

@media (prefers-contrast: more) {
  :root { --alnodom-line: rgba(23, 50, 56, .32); }
  .thesis-card,
  .service-card,
  .drs-share-button { border-width: 2px; }
}


/* ==========================================================
   1.6 HIGH-READABILITY OVERRIDES
   Target the actual rendered UI with stronger specificity.
   ========================================================== */

body {
  font-size: 24px !important;
  line-height: 1.88 !important;
}

body :where(p, li, label, dd, dt) {
  color: #18373d;
}

.site-header .brand strong {
  font-size: 34px !important;
  font-weight: 800 !important;
}

.site-header .brand small {
  font-size: 23px !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

.site-nav a,
.drs-basket-header {
  font-size: 24px !important;
  line-height: 1.4 !important;
}

.topbar,
.topbar span,
.topbar a {
  font-size: 21px !important;
  font-weight: 700 !important;
}

main .button,
main button,
main .text-link,
main .thesis-request-link,
main .drs-basket-button,
main .drs-share-button {
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.thesis-card h3,
.thesis-card h3 a,
.service-card h4 {
  font-size: 31px !important;
  line-height: 1.55 !important;
  font-weight: 800 !important;
}

.thesis-card p,
.service-card p,
.thesis-card .card-bottom,
.thesis-card .tag,
.service-card .text-link,
.thesis-request-link {
  font-size: 22px !important;
  line-height: 1.75 !important;
}

.site-footer,
.site-footer p,
.site-footer a,
.site-footer span {
  font-size: 21px !important;
}

.site-footer h3 {
  font-size: 27px !important;
}

@media (max-width: 1024px) {
  body { font-size: 22px !important; }

  .site-header .brand strong { font-size: 29px !important; }
  .site-header .brand small { font-size: 20px !important; }

  .site-nav a,
  .drs-basket-header { font-size: 21px !important; }

  .thesis-card h3,
  .thesis-card h3 a,
  .service-card h4 { font-size: 27px !important; }
}

@media (max-width: 780px) {
  body { font-size: 20px !important; }

  .site-header .brand strong { font-size: 25px !important; }
  .site-header .brand small { font-size: 18px !important; }

  .site-nav a { font-size: 20px !important; }

  main .button,
  main button,
  main .text-link,
  main .thesis-request-link,
  main .drs-basket-button,
  main .drs-share-button {
    font-size: 19px !important;
  }
}


/* ==========================================================
   1.7 Arabic screen readability
   Clearer system fonts + responsive type scale
   ========================================================== */

:root {
  --alnodom-ui-font:
    "Noto Sans Arabic",
    "Segoe UI",
    Arial,
    "Geeza Pro",
    sans-serif;

  --alnodom-heading-font:
    "Noto Sans Arabic",
    "Segoe UI",
    Arial,
    "Geeza Pro",
    sans-serif;

  --alnodom-reading-width: 78rem;
}

html[lang^="ar"] body,
html[dir="rtl"] body,
body {
  font-family: var(--alnodom-ui-font) !important;
  font-size: clamp(20px, 1.28vw, 25px) !important;
  line-height: 1.95 !important;
  font-weight: 500 !important;
  color: #16363c !important;
  letter-spacing: 0 !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body :where(
  p, li, label, dd, dt, blockquote,
  input, textarea, select, button,
  a, span
) {
  font-family: var(--alnodom-ui-font) !important;
}

main :where(
  p,
  li,
  .entry-content p,
  .entry-content li,
  .post-content p,
  .post-content li,
  .page-content p,
  .page-content li
) {
  font-size: clamp(20px, 1.36vw, 26px) !important;
  line-height: 2 !important;
  font-weight: 500 !important;
  color: #1b3b41 !important;
}

main :where(h1, .entry-title, .page-title),
.single-post .entry-title {
  font-family: var(--alnodom-heading-font) !important;
  font-size: clamp(42px, 4vw, 68px) !important;
  line-height: 1.34 !important;
  font-weight: 800 !important;
  color: #0d3440 !important;
}

main h2,
.single-post .entry-content h2,
.single-post .post-content h2,
.single-post article .entry-content h2 {
  font-family: var(--alnodom-heading-font) !important;
  font-size: clamp(32px, 2.55vw, 44px) !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
  color: #0d3440 !important;
  margin-block: 1.35em .55em !important;
}

main h3,
.single-post .entry-content h3,
.single-post .post-content h3 {
  font-family: var(--alnodom-heading-font) !important;
  font-size: clamp(27px, 2vw, 36px) !important;
  line-height: 1.48 !important;
  font-weight: 800 !important;
  color: #143b45 !important;
}

.single-post article,
.single-post .entry-content,
.single-post .post-content {
  max-width: var(--alnodom-reading-width);
  margin-inline: auto;
}

.single-post .entry-content > p,
.single-post .post-content > p,
.single-post article .entry-content p {
  max-width: 72ch;
  margin-inline: auto;
  margin-block: 0 1.1em !important;
  text-align: right !important;
}

@media (min-width: 1400px) {
  .single-post .entry-content,
  .single-post .post-content {
    max-width: 1200px;
  }

  .single-post .entry-content > p,
  .single-post .post-content > p,
  .single-post article .entry-content p {
    max-width: 68ch;
  }
}

.thesis-card h3,
.thesis-card h3 a,
.service-card h4,
.alnodom-blog-card h2,
.alnodom-blog-card h2 a {
  font-family: var(--alnodom-heading-font) !important;
  font-size: clamp(27px, 1.85vw, 34px) !important;
  line-height: 1.55 !important;
  font-weight: 800 !important;
}

.thesis-card p,
.service-card p,
.alnodom-blog-card p,
.thesis-card .card-bottom {
  font-size: clamp(19px, 1.18vw, 23px) !important;
  line-height: 1.85 !important;
  font-weight: 500 !important;
}

.site-header .brand strong {
  font-family: var(--alnodom-heading-font) !important;
  font-size: clamp(28px, 2vw, 36px) !important;
  font-weight: 800 !important;
}

.site-header .brand small {
  font-size: clamp(18px, 1.15vw, 22px) !important;
  font-weight: 600 !important;
}

.site-nav a,
.drs-basket-header {
  font-size: clamp(19px, 1.18vw, 23px) !important;
  font-weight: 700 !important;
}

main input,
main select,
main textarea,
main button,
.button,
.text-link,
.thesis-request-link,
.drs-basket-button,
.drs-share-button {
  font-family: var(--alnodom-ui-font) !important;
  font-size: clamp(18px, 1.08vw, 21px) !important;
  font-weight: 700 !important;
}

.entry-content p + p,
.post-content p + p {
  margin-top: .35em !important;
}

@media (max-width: 1024px) {
  body {
    font-size: 21px !important;
    line-height: 1.9 !important;
  }

  main :where(p, li, .entry-content p, .entry-content li, .post-content p, .post-content li) {
    font-size: 21px !important;
    line-height: 1.95 !important;
  }

  main h2,
  .single-post .entry-content h2,
  .single-post .post-content h2 {
    font-size: 34px !important;
  }
}

@media (max-width: 780px) {
  body {
    font-size: 19px !important;
    line-height: 1.85 !important;
  }

  main :where(p, li, .entry-content p, .entry-content li, .post-content p, .post-content li) {
    font-size: 19px !important;
    line-height: 1.9 !important;
  }

  main :where(h1, .entry-title, .page-title),
  .single-post .entry-title {
    font-size: clamp(34px, 9vw, 48px) !important;
    line-height: 1.35 !important;
  }

  main h2,
  .single-post .entry-content h2,
  .single-post .post-content h2,
  .single-post article .entry-content h2 {
    font-size: clamp(28px, 7.2vw, 36px) !important;
    line-height: 1.45 !important;
  }

  main h3 {
    font-size: clamp(24px, 6.2vw, 31px) !important;
  }

  .site-header .brand strong {
    font-size: 25px !important;
  }

  .site-header .brand small {
    font-size: 17px !important;
  }

  .site-nav a {
    font-size: 18px !important;
  }

  .single-post article,
  .single-post .entry-content,
  .single-post .post-content {
    max-width: 100%;
  }

  .single-post .entry-content > p,
  .single-post .post-content > p,
  .single-post article .entry-content p {
    max-width: none;
  }
}

@media (max-width: 480px) {
  body {
    font-size: 18px !important;
  }

  main :where(p, li, .entry-content p, .entry-content li, .post-content p, .post-content li) {
    font-size: 18px !important;
    line-height: 1.88 !important;
  }

  main h2,
  .single-post .entry-content h2,
  .single-post .post-content h2 {
    font-size: 27px !important;
  }
}
