@font-face {
	font-family: "Noto Sans Arabic";
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url("fonts/noto-sans-arabic-arabic.woff2") format("woff2");
	unicode-range: U+0600-06FF, U+0750-077F, U+0870-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;
}

@font-face {
	font-family: "Noto Sans Arabic";
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url("fonts/noto-sans-arabic-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Amiri'; font-style: normal; font-weight: 400; font-display: swap;
    src: url('fonts/amiri-arabic-400.woff2') format('woff2');
}
@font-face {
    font-family: 'Jost'; font-style: normal; font-weight: 400 500; font-display: swap;
    src: url('fonts/jost-latin.woff2') format('woff2');
}

/* Signature layout supplied by the user; selectors scoped to this page. */
body.soltan-access {
      --sfm-forest: #102f29;
      --sfm-deep: #0d2823;
      --sfm-soft: #1b4438;
      --sfm-ivory: #efe8d9;
      --sfm-gold: #bf9c71;
      --sfm-muted: #c7cabe;
    }
    .soltan-access .sfm-access, .soltan-access .sfm-access *, .soltan-access .sfm-access *::before, .soltan-access .sfm-access *::after { box-sizing: border-box; }
    body.soltan-access { background: var(--sfm-forest); }
    body.soltan-access { margin: 0; color: var(--sfm-ivory); background: var(--sfm-forest); }
    body.soltan-access { font-family: 'Noto Sans Arabic', Tahoma, Arial, sans-serif; }
    .sfm-access {
      min-height: 100vh;
      min-height: 100svh;
      display: grid;
      grid-template-rows: auto 1fr auto;
      overflow: hidden;
      position: relative;
      background:
        radial-gradient(ellipse 52% 56% at 50% 52%, rgba(38, 81, 65, .43) 0%, rgba(38, 81, 65, 0) 100%),
        linear-gradient(155deg, var(--sfm-deep), var(--sfm-forest) 68%, #13392f);
    }
    .sfm-access::before {
      content: '';
      position: absolute;
      top: 0;
      inset-inline: 0;
      height: 3px;
      background: linear-gradient(90deg, transparent, var(--sfm-gold) 38%, var(--sfm-gold) 62%, transparent);
      opacity: .7;
    }
    .sfm-access__header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 27px clamp(24px, 5.2vw, 76px) 20px;
      border-bottom: 1px solid rgba(239, 232, 217, .13);
      position: relative;
      z-index: 1;
    }
    .sfm-access__header-ar { font-size: 12px; color: rgba(239, 232, 217, .67); }
    .sfm-access__header-en { direction: ltr; font: 500 11px/1.5 'Jost', Arial, sans-serif; letter-spacing: .24em; color: var(--sfm-gold); }
    .sfm-access__main {
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 0;
      padding: 40px 24px 52px;
      text-align: center;
    }
    .sfm-access__panel { width: min(100%, 660px); }
    .sfm-access__logo {
      width: clamp(220px, 24vw, 322px);
      max-width: 90%;
      height: auto;
      display: block;
      margin: 0 auto 21px;
      filter: drop-shadow(0 12px 30px rgba(0, 0, 0, .07));
    }
    .sfm-access__ornament { display: flex; justify-content: center; align-items: center; gap: 9px; margin-bottom: 15px; }
    .sfm-access__ornament::before, .sfm-access__ornament::after { content: ''; width: 31px; height: 1px; background: rgba(191, 156, 113, .56); }
    .sfm-access__ornament i { width: 5px; height: 5px; background: var(--sfm-gold); transform: rotate(45deg); }
    .sfm-access__label { margin: 0; font-size: 12px; color: var(--sfm-gold); font-weight: 500; letter-spacing: .02em; }
    .sfm-access__heading {
      font: 400 clamp(66px, 7vw, 88px)/1.5 'Amiri', 'Noto Naskh Arabic', 'Times New Roman', serif;
      color: var(--sfm-ivory);
      padding: .02em 0 .06em;
      margin: 6px 0 0;
    }

    .sfm-access__description {
      max-width: 475px;
      margin: 0 auto;
      color: var(--sfm-muted);
      font-size: clamp(13px, 1.25vw, 15px);
      line-height: 2.25;
      font-weight: 400;
    }
    .sfm-access__foot-rule { width: 46px; height: 1px; background: rgba(191, 156, 113, .5); margin: 30px auto 0; }
    .sfm-access__footer {
      border-top: 1px solid rgba(239, 232, 217, .13);
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      padding: 19px clamp(24px, 5.2vw, 76px) 20px;
      color: rgba(239, 232, 217, .52);
      font-size: 11px;
    }
    .sfm-access__footer span[lang=en] { direction: ltr; font: 400 11px/1.5 'Jost', Arial, sans-serif; letter-spacing: .09em; }
    @media (max-width: 650px) {
      .sfm-access__header { padding: 20px 22px 17px; }
      .sfm-access__header-ar { font-size: 10px; }
      .sfm-access__header-en { font-size: 9px; letter-spacing: .12em; }
      .sfm-access__main { padding: 32px 24px 38px; }
      .sfm-access__logo { width: min(63vw, 275px); margin-bottom: 22px; }
      .sfm-access__ornament { margin-bottom: 14px; }
      .sfm-access__label { font-size: 11px; }
      .sfm-access__heading { font-size: clamp(60px, 15vw, 77px); line-height: 1.5; margin: 6px 0 0; }

      .sfm-access__description { font-size: 13px; line-height: 2.1; max-width: 305px; }
      .sfm-access__foot-rule { margin-top: 24px; }
      .sfm-access__footer { padding: 18px 22px; font-size: 10px; }
      .sfm-access__footer span[lang=en] { font-size: 10px; }
    }
    @media (max-height: 680px) and (min-width: 651px) {
      .sfm-access__main { padding-top: 18px; padding-bottom: 24px; }
      .sfm-access__logo { width: 240px; margin-bottom: 8px; }
      .sfm-access__ornament { margin-bottom: 6px; }
      .sfm-access__heading { font-size: 67px; }

      .sfm-access__foot-rule { margin-top: 15px; }
    }
    @media (prefers-reduced-motion: no-preference) {
      .sfm-access__panel { animation: sfm-access-enter .85s ease-out both; }
      @keyframes sfm-access-enter { from { transform: translateY(9px); } to { transform: translateY(0); } }
    }

/* Existing Passster presentation and accessibility. */
.soltan-access .sfm-access .passster-form,
.soltan-access .sfm-access .password-form,
.soltan-access .sfm-access fieldset {
	display: block;
	position: relative;
	float: none;
	inline-size: 100%;
	max-inline-size: 100%;
	min-inline-size: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	text-align: start;
}

.soltan-access .sfm-access input.passster-password {
	display: block;
	inline-size: 100%;
	block-size: 64px;
	min-block-size: 64px;
	margin: 0 0 12px;
	padding: 10px 18px;
	border: 1px solid var(--sfm-gold);
	border-radius: 2px;
	background: var(--sfm-input);
	color: var(--sfm-ivory);
	box-shadow: none;
	font: 400 17px / 1.8 "Noto Sans Arabic", Tahoma, Arial, sans-serif;
	text-align: start;
	transition: border-color 150ms ease;
}

.soltan-access .sfm-access input.passster-password::placeholder {
	color: var(--sfm-muted);
	opacity: 1;
}

.soltan-access .sfm-access input.passster-password:hover {
	border-color: var(--sfm-ivory);
}

.soltan-access .sfm-access input.passster-password:focus {
	border-color: var(--sfm-ivory);
	outline: 2px solid var(--sfm-gold);
	outline-offset: 3px;
	box-shadow: none;
}

.soltan-access .sfm-access .passster-submit,
.soltan-access .sfm-access__continue {
	display: flex;
	align-items: center;
	justify-content: center;
	inline-size: 100%;
	min-block-size: 62px;
	margin: 0;
	padding: 11px 20px;
	border: 1px solid var(--sfm-gold);
	border-radius: 2px;
	background: var(--sfm-gold);
	color: var(--sfm-ink);
	box-shadow: none;
	font: 600 18px / 1.8 "Noto Sans Arabic", Tahoma, Arial, sans-serif;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 150ms ease, border-color 150ms ease;
}

.soltan-access .sfm-access .passster-submit:hover,
.soltan-access .sfm-access__continue:hover {
	border-color: #c3a27b;
	background: #c3a27b;
	color: var(--sfm-ink);
}

.soltan-access .sfm-access .passster-submit:focus-visible,
.soltan-access .sfm-access__continue:focus-visible {
	outline: 2px solid var(--sfm-ivory);
	outline-offset: 4px;
}

.soltan-access .sfm-access .passster-submit:disabled {
	cursor: wait;
}

.soltan-access .sfm-access__feedback {
	min-block-size: 58px;
	padding-block-start: 12px;
}

.soltan-access .sfm-access .passster-error {
	display: none;
	inline-size: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--sfm-error);
	font: 400 14px / 1.9 "Noto Sans Arabic", Tahoma, Arial, sans-serif;
	text-align: center;
}

/* Keep feedback readable after Passster's short visual fade; clear on editing. */
.soltan-access .sfm-access .passster-error:not(:empty) {
	display: block !important;
	opacity: 1 !important;
}

.soltan-access .sfm-access .ps-loader {
	inline-size: 100%;
	max-inline-size: none;
	margin: 0;
	color: var(--sfm-muted);
	font-size: 13px;
	text-align: center;
}

.soltan-access .sfm-access .ps-loader img {
	inline-size: 20px;
	block-size: 20px;
	margin-inline-end: 6px;
	vertical-align: middle;
}

.soltan-access .sfm-access__notice {
	color: var(--sfm-error);
	font-size: 14px;
	text-align: center;
}

.soltan-access .sfm-access .sfm-access__sr-only {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}


/* Private-access adaptation of the supplied signature reference. */
body.soltan-access {
    --sfm-ink: #0d2823;
    --sfm-input: rgb(13 40 35 / 45%);
    --sfm-error: #f2c5b7;
    font-size: 16px;
    line-height: 1.8;
    -webkit-font-smoothing: antialiased;
    color-scheme: dark;
}
.soltan-access.admin-bar .sfm-access {
    min-height: calc(100svh - var(--wp-admin--admin-bar--height, 32px));
}
.soltan-access .sfm-access__header, .soltan-access .sfm-access__footer {
    margin: 0;
    background: transparent;
}
.soltan-access .sfm-access__header-ar { color: rgb(239 232 217 / 72%); }
.soltan-access .sfm-access__main { padding: 36px 24px 34px; }
.soltan-access .sfm-access__panel { min-width: 0; }
.soltan-access .sfm-access__label {
    color: var(--sfm-gold);
    font: 500 10px/1.8 'Jost', Arial, sans-serif;
    letter-spacing: .24em;
    text-indent: .24em;
}
.soltan-access .sfm-access__heading {
    font-size: clamp(60px, 6.2vw, 78px);
    letter-spacing: 0;
}
.soltan-access .sfm-access__content { width: min(100%, 368px); margin: 26px auto 0; }
.soltan-access .sfm-access input.passster-password {
    height: 52px; min-height: 52px; font-size: 16px;
    border-color: rgb(239 232 217 / 32%);
}
.soltan-access .sfm-access .passster-submit, .soltan-access .sfm-access__continue {
    min-height: 50px; font-size: 15px;
}
.soltan-access .sfm-access .passster-submit:hover, .soltan-access .sfm-access__continue:hover {
    background: #d6b68e; border-color: #d6b68e;
}
.soltan-access .sfm-access__feedback { min-height: 40px; min-block-size: 40px; padding-top: 10px; }
.soltan-access .sfm-access .passster-error { font-size: 13px; }
.soltan-access .sfm-access__foot-rule { margin-top: 10px; }
.soltan-access .sfm-access__footer { color: rgb(239 232 217 / 62%); }
@media (max-width: 650px) {
    .soltan-access .sfm-access__main { padding: 30px 24px 25px; }
    .soltan-access .sfm-access__label { font-size: 9px; }
    .soltan-access .sfm-access__heading { font-size: clamp(42px, 11.5vw, 56px); }
    .soltan-access .sfm-access__content { margin-top: 24px; }
}
@media (max-height: 680px) and (min-width: 651px) {
    .soltan-access .sfm-access__main { padding-top: 18px; padding-bottom: 24px; }
    .soltan-access .sfm-access__heading { font-size: 60px; }
    .soltan-access .sfm-access__content { margin-top: 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .soltan-access .sfm-access * { transition: none !important; }
}
