/* Saud Apps — readable type pass for product pages.
   Keeps decorative film notation compact while lifting product information,
   card copy, captions, and interactive labels above micro-type sizes. */

@font-face {
  font-family: "Alexandria";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("/assets/fonts/alexandria/Alexandria-Arabic.woff2") format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

:root { --pc-arabic-display: "Alexandria", "SF Arabic", "Noto Sans Arabic", Arial, sans-serif; }

.pc-site-brand small { font-size: 10px; }
.pc-site-nav a { font-size: 11px; }
.pc-site-theme button,
.pc-site-lang button,
.pc-site-menu summary { font-size: 10px; }
.pc-site-footer__identity > span { font-size: 13px; line-height: 1.5; }
.pc-site-footer nav a { font-size: 11px; }
.pc-site-footer__base { font-size: 11px; line-height: 1.5; }

/* With JavaScript disabled, show the real English fallback from <noscript>
   instead of the network-free bootstrap placeholder. */
html:not(.pc-site-js) .pc-sshift .pc-product-hero-screen > img[data-pc-lang-image] { display: none; }

/* Language spans are content wrappers, not a second typography layer. */
.pc-sshift [data-en],
.pc-sshift [data-ar],
.pc-phonespace [data-en],
.pc-phonespace [data-ar],
.pc-filed [data-en],
.pc-filed [data-ar],
.pc-dufaat [data-en],
.pc-dufaat [data-ar] {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-transform: inherit;
}

/* SShift */
.pc-sshift .pc-product-meta { font-size: 11px; line-height: 1.45; }

/* SShift opening title: one deliberate three-line lockup in both languages. */
.pc-sshift .pc-product-opening h1 {
  inset: 34% auto auto var(--pad);
  width: min(32vw, 430px);
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(5px, .7vw, 10px);
  letter-spacing: -.055em;
  line-height: .88;
}
.pc-sshift .pc-product-opening h1 > span,
.pc-sshift .pc-product-opening h1 > span > :where([data-en], [data-ar]) {
  position: static;
  display: block;
  width: auto;
  color: inherit;
  font-size: clamp(72px, 7.3vw, 116px);
  line-height: inherit;
  white-space: nowrap;
}
.pc-sshift .pc-product-opening h1 > span:nth-child(1) { color: var(--ink); }
.pc-sshift .pc-product-opening h1 > span:nth-child(2) {
  color: transparent;
  -webkit-text-stroke: 1.5px var(--ink);
}
.pc-sshift .pc-product-opening h1 > span:nth-child(3) { color: var(--signal); }
html[lang="ar"] .pc-sshift .pc-product-opening h1 {
  right: var(--pad);
  left: auto;
  width: min(34vw, 460px);
  align-items: flex-end;
  text-align: right;
  letter-spacing: 0;
  line-height: 1.08;
}
@media (min-width: 1101px) {
  html[lang="ar"] .pc-sshift .pc-product-opening__statement {
    right: auto;
    left: var(--pad);
  }
}
.pc-sshift .pc-week-system__score > div > span { font-size: 11px; line-height: 1.4; }
.pc-sshift .pc-week-system__score small { font-size: 12px; line-height: 1.35; }
.pc-sshift .pc-week-system__notes p { padding: 28px; gap: 13px; }
.pc-sshift .pc-week-system__notes p > span { font-size: 11px; line-height: 1.4; }
.pc-sshift .pc-week-system__notes strong { line-height: 1.3; }
.pc-sshift .pc-week-system__notes small { font-size: 15px; line-height: 1.65; }
.pc-sshift .pc-story__index small,
.pc-sshift .pc-story figcaption > span,
.pc-sshift .pc-story__annotation > span { font-size: 10px; line-height: 1.45; }
.pc-sshift .pc-story__copy > p:last-child { font-size: 15px; }
.pc-sshift .pc-real-screens__grid figcaption > span { font-size: 10px; }
.pc-sshift .pc-real-screens__grid figcaption strong { font-size: 13px; line-height: 1.4; }
.pc-sshift .release-date,
.pc-sshift .pc-coda-link > span { font-size: 11px; }
.pc-sshift .release-notes { font-size: 14px; }
.pc-sshift .release-history summary,
.pc-sshift .pc-continuity__action nav a { font-size: 12px; }

/* PhoneSpace */
.pc-phonespace .ps-opening__metadata { font-size: 12px; line-height: 1.45; }
.pc-phonespace .ps-pressure-cluster span,
.pc-phonespace .ps-sequence__step > span,
.pc-phonespace .ps-review-card__index,
.pc-phonespace .ps-tool-row b { font-size: 10px; line-height: 1.4; }
.pc-phonespace .ps-pressure-cluster small { font-size: 13px; line-height: 1.55; }
.pc-phonespace .ps-sequence__step p { font-size: 14px; line-height: 1.65; }
.pc-phonespace .ps-chapter-heading > p:last-child,
.pc-phonespace .ps-review-card p { font-size: 15px; line-height: 1.65; }
.pc-phonespace .ps-control-note p { font-size: 14px; line-height: 1.65; }
.pc-phonespace .ps-tool-row small { font-size: 14px; line-height: 1.55; }
.pc-phonespace .ps-evidence-card figcaption { font-size: 11px; line-height: 1.45; }
.pc-phonespace .ps-coda__links a { font-size: 12px; }

/* Filed */
.pc-filed .fl-opening__metadata { font-size: 12px; line-height: 1.45; }
.pc-filed .fl-filing__step > span,
.pc-filed .fl-control__grid > article > span,
.pc-filed .fl-signature-board > p { font-size: 10px; line-height: 1.4; }
.pc-filed .fl-filing__step p { font-size: 14px; line-height: 1.65; }
.pc-filed .fl-folder-row > span,
.pc-filed .fl-folder-row small { font-size: 12px; line-height: 1.4; }
.pc-filed .fl-organize__system > p { font-size: 11px; line-height: 1.5; }
.pc-filed .fl-reader__index span { font-size: 13px; }
.pc-filed .fl-reader__index b { font-size: 11px; }
.pc-filed .fl-control__grid p { font-size: 15px; line-height: 1.65; }
.pc-filed .fl-product-figure figcaption,
.pc-filed .fl-record-card figcaption { font-size: 11px; line-height: 1.45; }
.pc-filed .fl-release-static header span { font-size: 11px; }
.pc-filed .fl-coda__links a { font-size: 12px; }

/* Dufaat */
.pc-dufaat .df-opening__metadata { font-size: 12px; line-height: 1.45; }
.pc-dufaat .df-obligation > span,
.pc-dufaat .df-due-marker > span,
.pc-dufaat .df-proof-marker > span,
.pc-dufaat .df-settlement__steps span,
.pc-dufaat .df-record__grid article > span,
.pc-dufaat .df-plus__purchase > div:first-child > span,
.pc-dufaat .df-plus__grid article > span { font-size: 10px; line-height: 1.4; }
.pc-dufaat .df-due-marker strong,
.pc-dufaat .df-paid-marker strong,
.pc-dufaat .df-proof-marker strong { font-size: 13px; }
.pc-dufaat .df-settled-line { font-size: 10px; line-height: 1.4; }
.pc-dufaat .df-settlement__steps p,
.pc-dufaat .df-progress__ledger p { font-size: 14px; line-height: 1.6; }
.pc-dufaat .df-status-rail span { font-size: 13px; }
.pc-dufaat .df-status-rail b,
.pc-dufaat .df-progress__ledger article > span { font-size: 11px; }
.pc-dufaat .df-progress__ledger article > b { font-size: 10px; }
.pc-dufaat .df-proof-sheet__head,
.pc-dufaat .df-proof-sheet__foot { font-size: 10px; line-height: 1.45; }
.pc-dufaat .df-proof-sheet__line { font-size: 12px; }
.pc-dufaat .df-proof-sheet__attachment small { font-size: 13px; line-height: 1.45; }
.pc-dufaat .df-record__grid p,
.pc-dufaat .df-plus__purchase p,
.pc-dufaat .df-plus__grid p,
.pc-dufaat .df-plus__free { font-size: 15px; line-height: 1.65; }
.pc-dufaat .df-record__grid article > b,
.pc-dufaat .df-plus__grid article > b { font-size: 10px; }
.pc-dufaat .df-plus__price span { font-size: 12px; line-height: 1.55; }
.pc-dufaat .df-product-figure figcaption,
.pc-dufaat .df-gallery-card figcaption { font-size: 11px; line-height: 1.45; }
.pc-dufaat .df-release-entry header span { font-size: 11px; }
.pc-dufaat .df-coda__links a { font-size: 12px; }

/* Arabic glyphs need natural spacing and a little more breathing room. */
html[lang="ar"] :where(.pc-sshift, .pc-phonespace, .pc-filed, .pc-dufaat) [data-ar] {
  letter-spacing: 0;
  text-transform: none;
}
html[lang="ar"] :where(.pc-sshift, .pc-phonespace, .pc-filed, .pc-dufaat) :where(h1, h2) [data-ar] {
  font-family: var(--pc-arabic-display);
  font-weight: 800;
  line-height: 1.24;
}
html[lang="ar"] :where(.pc-sshift, .pc-phonespace, .pc-filed, .pc-dufaat) h3 [data-ar] {
  font-family: var(--pc-arabic-display);
  font-weight: 750;
  line-height: 1.32;
}
html[lang="ar"] :where(.pc-week-system__notes strong, .pc-story figcaption strong, .ps-control-note strong, .ps-tool-row strong, .fl-folder-row strong, .df-proof-sheet__attachment strong) [data-ar] {
  font-family: var(--pc-arabic-display);
  font-weight: 650;
  line-height: 1.4;
}
html[lang="ar"] :where(.pc-week-system__notes small, .ps-review-card p, .ps-tool-row small, .fl-control__grid p, .df-record__grid p, .df-plus__grid p) {
  line-height: 1.8;
}

@media (max-width: 900px) {
  .pc-sshift .pc-week-system__score small { font-size: 12px; }
  .pc-sshift .pc-week-system__notes p { padding: 24px; }
  .pc-phonespace .ps-pressure-cluster small { font-size: 12px; }
}

@media (max-width: 720px) {
  .pc-site-brand small { font-size: 9px; }
  .pc-site-theme button,
  .pc-site-lang button,
  .pc-site-menu summary { font-size: 9px; }

  .pc-sshift .pc-week-system__score > div > span { font-size: 11px; }
  .pc-sshift .pc-week-system__score small { font-size: 11.5px; overflow-wrap: anywhere; }
  .pc-sshift .pc-week-system__notes small { font-size: 14px; }
  .pc-sshift .pc-story__copy > p:last-child { font-size: 14px; }
  .pc-sshift .pc-product-opening h1,
  html[lang="ar"] .pc-sshift .pc-product-opening h1 {
    position: static;
    width: auto;
    align-items: flex-start;
    gap: 5px;
    line-height: .92;
    text-align: left;
  }
  html[lang="ar"] .pc-sshift .pc-product-opening h1 {
    align-items: flex-end;
    line-height: 1.15;
    text-align: right;
  }
  .pc-sshift .pc-product-opening h1 > span,
  .pc-sshift .pc-product-opening h1 > span > :where([data-en], [data-ar]) {
    font-size: clamp(36px, 11.5vw, 52px) !important;
  }

  html[lang="ar"] :where(.pc-sshift, .pc-phonespace, .pc-filed, .pc-dufaat) :where(h1, h2) [data-ar] {
    line-height: 1.32;
  }

  .pc-phonespace .ps-opening__metadata,
  .pc-filed .fl-opening__metadata,
  .pc-dufaat .df-opening__metadata { font-size: 11.5px; line-height: 1.4; }

  .pc-phonespace .ps-review-card p,
  .pc-filed .fl-control__grid p,
  .pc-dufaat .df-record__grid p,
  .pc-dufaat .df-plus__grid p { font-size: 14px; }
}

/* Bring route-local labels onto SShift's readable desktop scale without
   overriding the deliberately tighter mobile compositions in route CSS. */
@media (min-width: 721px) {
  .pc-phonespace .ps-opening__edition,
  .pc-filed .fl-opening__edition,
  .pc-dufaat .df-opening__edition { font-size: 10px; line-height: 1.35; }

  .pc-phonespace .ps-lockup small,
  .pc-filed .fl-lockup small,
  .pc-dufaat .df-lockup small { font-size: 9px; line-height: 1.45; }

  .pc-phonespace :where(.ps-kicker, .ps-rule-label),
  .pc-filed :where(.fl-kicker, .fl-rule-label),
  .pc-dufaat :where(.df-kicker, .df-rule-label) { font-size: 10px; line-height: 1.45; }

  .pc-phonespace .ps-hero-cluster { font-size: 10px; }
  .pc-filed .fl-folder-plane > span { font-size: 10px; }
  .pc-filed .fl-rail > span { font-size: 8px; }
  .pc-dufaat .df-opening__eyebrow { font-size: 10px; line-height: 1.45; }
  .pc-dufaat .df-opening__rail > span,
  .pc-dufaat .df-opening__evidence-note > span { font-size: 9px; line-height: 1.4; }
  .pc-dufaat .df-proof-sheet__attachment > i { font-size: 10px; }

  .pc-phonespace .release-date,
  .pc-filed .release-date,
  .pc-dufaat .release-date { font-size: 11px; line-height: 1.45; }
}

/* Bilingual wrappers must inherit the component's size even when a broad
   route-local span selector appears later in the cascade. Arabic weight,
   spacing, transform, and line-height remain owned by the rules above. */
:where(.pc-sshift, .pc-phonespace, .pc-filed, .pc-dufaat) :where([data-en], [data-ar]) {
  font-size: inherit !important;
}
