/*
Theme Name: SAF One
Theme URI: https://saf-1.com/
Author: SAF One Education LLC-FZ
Description: Original WordPress theme for SAF One Education and The Safwan Method.
Version: 1.1.13
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: saf-one
*/

:root{--saf-ink:#163c38;--saf-cream:#f7f1e6;--saf-paper:#fffdf8;--saf-saffron:#efac38;--saf-clay:#d9643e;--saf-mist:#dcebe3;--saf-line:rgba(22,60,56,.16);--saf-muted:#55746e;--saf-wrap:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--saf-ink);background:var(--saf-cream);font-family:Manrope,system-ui,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}img{max-width:100%;height:auto}.saf-wrap{width:min(calc(100% - 56px),var(--saf-wrap));margin-inline:auto}.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}.skip-link:focus{clip:auto!important;width:auto;height:auto;top:8px;left:8px;padding:10px;background:#fff;z-index:100000}
.saf-announcement{background:var(--saf-ink);color:#eef5ef;text-align:center;padding:10px 20px;font:500 11px/1.3 "DM Mono",monospace;letter-spacing:.11em;text-transform:uppercase}.saf-header{background:var(--saf-cream);border-bottom:1px solid var(--saf-line);position:relative;z-index:30}.saf-header__row{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:28px}.saf-brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.045em;text-decoration:none}.saf-brand__logo{display:block;width:76px;height:76px;object-fit:contain;background:#fff}.saf-brand__mark{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--saf-saffron);font:700 18px "Noto Naskh Arabic",serif}.saf-brand__text{display:grid;gap:1px;line-height:1}.saf-brand__text strong{font-size:16px}.saf-brand__text small{font:500 8px/1.3 "DM Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--saf-muted)}.saf-nav ul{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}.saf-nav a{font-size:13px;font-weight:700;text-decoration:none;opacity:.8}.saf-nav a:hover,.saf-nav .current-menu-item>a{opacity:1;color:var(--saf-clay)}.saf-nav .saf-nav__cta>a{display:inline-flex;padding:11px 16px;background:var(--saf-ink);color:#fff;opacity:1}.saf-menu-toggle{display:none;border:1px solid var(--saf-line);background:var(--saf-paper);color:var(--saf-ink);padding:9px 12px;font:700 12px Manrope}
.saf-main{min-height:52vh}.saf-page-hero{position:relative;overflow:hidden;padding:78px 0 62px;border-bottom:1px solid var(--saf-line)}.saf-page-hero:after{content:"";position:absolute;right:-90px;top:-115px;width:330px;height:330px;border-radius:50%;background:#e7c566;opacity:.45}.saf-eyebrow{font:500 11px/1.2 "DM Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:#85651e;display:flex;align-items:center;gap:9px}.saf-eyebrow:before{content:"";width:28px;border-top:1px solid currentColor}.saf-page-title{font:400 clamp(45px,6vw,76px)/1 "DM Serif Display",serif;letter-spacing:-.055em;margin:18px 0 0;max-width:900px}.saf-page-subtitle{max-width:680px;color:var(--saf-muted);font-size:18px;margin:20px 0 0}.saf-content{padding:72px 0 100px}.saf-entry{background:var(--saf-paper);border:1px solid var(--saf-line);padding:clamp(28px,5vw,64px)}.saf-entry--plain{background:transparent;border:0;padding:0}.saf-entry-content> :first-child{margin-top:0}.saf-entry-content> :last-child{margin-bottom:0}.saf-entry-content h2,.saf-entry-content h3,.saf-entry-content h4{font-family:"DM Serif Display",serif;font-weight:400;letter-spacing:-.035em;line-height:1.08}.saf-entry-content h2{font-size:clamp(36px,4vw,54px)}.saf-entry-content h3{font-size:clamp(27px,3vw,36px)}.saf-entry-content p,.saf-entry-content li{color:#426a64}.saf-entry-content a{color:var(--saf-clay)}.saf-entry-content blockquote{margin:40px 0;padding:28px 34px;background:var(--saf-mist);border:0;font:400 27px/1.35 "DM Serif Display",serif}.saf-entry-content .wp-block-button__link,.saf-button,input[type=submit],button[type=submit]{border:0;border-radius:2px;background:var(--saf-ink);color:#fff;padding:13px 19px;font:700 12px Manrope;text-decoration:none}.saf-entry-content .wp-block-button__link:hover,.saf-button:hover{background:#20564e}.saf-entry-content .alignwide{max-width:var(--saf-wrap);margin-left:auto;margin-right:auto}.saf-entry-content .alignfull{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.saf-entry-content .wp-block-group,.saf-entry-content .wp-block-cover{margin-top:28px;margin-bottom:28px}.saf-entry-content .wp-block-columns{gap:24px}.saf-entry-content .wp-block-image img{border-radius:2px}.saf-entry-content table{width:100%;border-collapse:collapse}.saf-entry-content th,.saf-entry-content td{border:1px solid var(--saf-line);padding:12px}.saf-entry-content input,.saf-entry-content select,.saf-entry-content textarea{max-width:100%;border:1px solid #c9d8d0;background:#fffefa;color:var(--saf-ink);padding:12px 13px;font:500 14px Manrope}
.saf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.saf-card{background:var(--saf-paper);border:1px solid var(--saf-line);padding:28px;display:flex;flex-direction:column}.saf-card__meta{font:500 10px "DM Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:#6a8881}.saf-card h2{font:400 30px/1.08 "DM Serif Display",serif;letter-spacing:-.04em;margin:18px 0 12px}.saf-card h2 a{text-decoration:none}.saf-card p{font-size:14px;color:var(--saf-muted)}.saf-card .saf-button{margin-top:auto;align-self:flex-start}.nav-links,.pagination{margin-top:40px;display:flex;justify-content:space-between;gap:20px}
.saf-contact{padding:72px 0 100px}.saf-contact__intro{max-width:720px;margin-bottom:38px}.saf-contact__intro p{margin:0;color:var(--saf-muted);font-size:18px}.saf-contact__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.saf-contact-card{background:var(--saf-paper);border:1px solid var(--saf-line);padding:clamp(28px,4vw,46px);display:flex;flex-direction:column;align-items:flex-start;min-height:290px}.saf-contact-card__label{font:500 10px/1.2 "DM Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:#85651e}.saf-contact-card h2{font:400 clamp(32px,4vw,44px)/1.05 "DM Serif Display",serif;letter-spacing:-.04em;margin:22px 0 12px}.saf-contact-card p{margin:0 0 26px;color:var(--saf-muted)}.saf-contact-card__value{display:block;margin-bottom:28px;font-size:clamp(18px,2vw,22px);font-weight:800;overflow-wrap:anywhere}.saf-contact-card .saf-button{margin-top:auto;display:inline-flex;align-items:center;gap:8px}.saf-contact__note{margin:30px 0 0;color:var(--saf-muted);font-size:14px}
.saf-footer{background:var(--saf-ink);color:#e4eee9;padding:58px 0 30px}.saf-footer__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:50px}.saf-footer__logo{display:block;width:112px;height:auto;background:#fff;margin:0 0 24px}.saf-footer h2{font:400 34px/1 "DM Serif Display",serif;margin:0 0 15px}.saf-footer p{color:#b9cec6;max-width:570px}.saf-footer__links{display:flex;flex-wrap:wrap;gap:12px 22px;align-content:start}.saf-footer__links a{font-size:13px;font-weight:700;text-decoration:none}.saf-footer__label{flex-basis:100%;margin-top:9px;color:#9ebbb1;font:500 9px "DM Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.saf-footer__bottom{margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;gap:20px;color:#9ebbb1;font:500 10px "DM Mono",monospace;letter-spacing:.06em;text-transform:uppercase}
.error404 .saf-content{text-align:center}.error404 .saf-entry{padding-block:90px}
@media(max-width:860px){.saf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.saf-contact__grid{grid-template-columns:1fr}.saf-menu-toggle{display:block}.saf-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--saf-paper);border-bottom:1px solid var(--saf-line);padding:20px 28px}.saf-nav.is-open{display:block}.saf-nav ul{display:grid;gap:6px}.saf-nav a{display:block;padding:9px 0}.saf-footer__grid{grid-template-columns:1fr}}
@media(max-width:620px){.saf-wrap{width:min(calc(100% - 40px),var(--saf-wrap))}.saf-brand__logo{width:66px;height:66px}.saf-page-hero{padding:56px 0 44px}.saf-content{padding:48px 0 70px}.saf-grid{grid-template-columns:1fr}.saf-entry{padding:26px 20px}.saf-footer__bottom{display:block}.saf-footer__bottom span{display:block;margin-top:8px}}

/* SAF One staging audit checkpoint — shared UX refinements */
.saf-header{position:sticky;top:0;z-index:900;background:rgba(247,241,230,.97);backdrop-filter:blur(9px)}
.admin-bar .saf-header{top:32px}.saf-menu-toggle,.saf-nav a,.saf-footer__links a{min-height:44px;display:inline-flex;align-items:center}.saf-menu-toggle{min-width:52px;justify-content:center}.saf-nav__cta>a{padding-inline:18px!important}.saf-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:34px 0}.saf-method-grid section{border:1px solid var(--saf-line);background:var(--saf-paper);padding:28px}.saf-method-grid span{font:600 10px "DM Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:#85651e}.saf-method-grid h3{margin:14px 0 10px}.saf-page-cta{margin-top:48px;padding:clamp(26px,5vw,54px);background:var(--saf-ink);color:#fff}.saf-page-cta p{color:#c5d9d1}.saf-page-cta .saf-button{display:inline-flex;min-height:48px;background:var(--saf-saffron);color:var(--saf-ink)}.saf-thank-you-page .saf-content{min-height:58vh}.saf-thank-you-page .saf-entry{max-width:820px;margin-inline:auto}.saf-method-page .saf-entry{max-width:1080px;margin-inline:auto}
@media(max-width:860px){.saf-method-grid{grid-template-columns:1fr}.saf-nav a{min-height:48px}.saf-header__row{min-height:76px}.saf-brand__mark{flex:0 0 30px}}
@media(max-width:782px){.admin-bar .saf-header{top:46px}}
@media(max-width:620px){.saf-brand__text strong{font-size:14px}.saf-brand__text small{font-size:7px}.saf-header__row{gap:12px}.saf-page-hero{padding-top:46px}}


/* SAF One logo and resilient mobile navigation */
.saf-brand__logo-wrap{display:inline-flex;align-items:center;justify-content:center;width:72px;min-width:72px;height:64px;padding:6px 8px;background:var(--saf-ink);border-radius:4px;overflow:hidden}
.saf-brand__logo.saf-brand__logo--white{display:block;width:56px;height:auto;aspect-ratio:548/484;object-fit:contain;background:transparent}
.saf-footer__logo.saf-footer__logo--white{display:block;width:118px;height:auto;aspect-ratio:548/484;object-fit:contain;background:transparent;margin:0 0 24px}
.saf-menu-toggle:focus-visible,.saf-nav a:focus-visible{outline:3px solid var(--saf-saffron);outline-offset:3px}
@media(max-width:860px){.saf-nav.is-open{display:block!important}.saf-nav.is-open ul{display:grid!important}.saf-menu-toggle[aria-expanded="true"]{background:var(--saf-ink);color:#fff}}
@media(max-width:620px){.saf-brand__logo-wrap{width:58px;min-width:58px;height:54px;padding:5px 7px}.saf-brand__logo.saf-brand__logo--white{width:46px}.saf-footer__logo.saf-footer__logo--white{width:104px}}

/* SAF One hourly pricing and monthly estimator */
.saf-programmes--rates{grid-template-columns:repeat(4,minmax(0,1fr))}.saf-programmes--rates .saf-programme{min-height:0}.saf-calculator{margin-top:38px;padding:clamp(24px,4vw,48px);background:var(--saf-paper);border:1px solid var(--saf-line)}.saf-calculator__intro{max-width:760px}.saf-calculator__intro h3{font:400 clamp(32px,4vw,48px)/1.06 "DM Serif Display",serif;letter-spacing:-.04em;margin:12px 0}.saf-calculator__intro p{color:var(--saf-muted)}.saf-calculator__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px;margin-top:28px}.saf-calculator__controls,.saf-calculator__lesson-inputs{display:grid;gap:9px}.saf-calculator__lesson-inputs{margin-top:18px}.saf-calculator__lesson-inputs[hidden]{display:none!important}.saf-calculator label{font:700 12px/1.3 Manrope,sans-serif}.saf-calculator select{width:100%;min-height:48px;border:1px solid #a9bdb6;background:#fff;color:var(--saf-ink);padding:10px 42px 10px 13px;font:600 15px Manrope,sans-serif}.saf-calculator select:focus-visible{outline:3px solid var(--saf-saffron);outline-offset:2px}.saf-calculator__result{background:var(--saf-ink);color:#fff;padding:clamp(24px,4vw,38px)}.saf-calculator__result-label{font:600 10px/1.4 "DM Mono",monospace;letter-spacing:.09em;text-transform:uppercase;color:#b9cec6}.saf-calculator__result-label span:not(:empty){display:inline-block;margin-left:8px;padding:4px 7px;background:var(--saf-saffron);color:var(--saf-ink)}.saf-calculator__total{display:block;font:400 clamp(38px,5vw,60px)/1 "DM Serif Display",serif;letter-spacing:-.04em;margin:16px 0 24px}.saf-calculator__breakdown{margin:0 0 26px}.saf-calculator__breakdown div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.14)}.saf-calculator__breakdown dt{color:#b9cec6}.saf-calculator__breakdown dd{margin:0;text-align:right;font-weight:700}.saf-calculator__breakdown-total{font-size:18px;border-bottom:0!important;padding-top:15px!important}.saf-calculator__result .saf-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:var(--saf-saffron);color:var(--saf-ink)}.saf-calculator__result .saf-button:focus-visible{outline:3px solid #fff;outline-offset:3px}.saf-calculator__note{margin:24px 0 0;color:var(--saf-muted);font-size:14px}.saf-programmes-wrap{scroll-margin-top:110px}
@media(max-width:1000px){.saf-programmes--rates{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.saf-calculator__grid{grid-template-columns:1fr}.saf-calculator__result{padding:24px}.saf-calculator__result .saf-button{width:100%;text-align:center}.saf-programmes--rates{grid-template-columns:1fr}}
.saf-calculator__controls,.saf-calculator__lesson-inputs{align-content:start}.saf-calculator__controls{align-self:start}

/* Preserve the production My Correspondent transparent-logo treatment. */
.my-correspondent-page .brand {
  display: block !important;
  width: 150px !important;
  height: 76px !important;
  min-width: 150px;
  background: url("/wp-content/uploads/2024/12/Saf-1-learn-arabic-marron-1.webp") center / contain no-repeat !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
  overflow: hidden;
}
.my-correspondent-page footer::before {
  content: "";
  display: block;
  width: 140px;
  height: 76px;
  margin: 0 auto 24px;
  background: url("/wp-content/uploads/2024/12/Saf-1-learn-arabic-blanc-1.webp") center / contain no-repeat;
}
@media (max-width: 620px) {
  .my-correspondent-page .brand {
    width: 120px !important;
    height: 64px !important;
    min-width: 120px;
  }
  .my-correspondent-page footer::before {
    width: 112px;
    height: 64px;
  }
}


/* SAF One social links — homepage and Contact footer */
.saf-footer__label--social{margin-top:18px}
.saf-footer__social-link{gap:8px}
.saf-footer__social-icon{display:block;flex:0 0 auto;width:18px;height:18px}
.saf-footer__social-link:hover{color:var(--saf-saffron)}
.saf-footer__social-link:focus-visible{outline:3px solid var(--saf-saffron);outline-offset:3px}


/* 1.1.10: keep anti-spam honeypots visually hidden without RTL overflow. */
html body .saf-honeypot,
html body .ssp-hp{
  position:absolute!important;
  left:0!important;
  right:auto!important;
  top:0!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* 1.1.13: place the language switcher inside the mobile header. */
@media (max-width:720px){
  .saf-header__row .trp-language-switcher.trp-floating-switcher.saf-language-switcher--header{
    position:static!important;
    inset:auto!important;
    --top:unset!important;
    --right:unset!important;
    --bottom:unset!important;
    --left:unset!important;
    width:122px!important;
    max-width:122px!important;
    flex:0 0 122px;
    flex-direction:column!important;
    margin-inline-start:auto;
    margin-inline-end:8px;
    padding:4px 6px!important;
    box-shadow:none!important;
    z-index:100;
  }
  .saf-header__row .saf-language-switcher--header .trp-language-switcher-inner,
  .saf-header__row .saf-language-switcher--header .trp-switcher-dropdown-list{
    flex-direction:column!important;
  }
  .saf-header__row .saf-language-switcher--header .trp-language-item{
    min-height:28px;
    padding:4px 8px;
  }
}
