/* =================================================================
   MyTeacher — main design stylesheet
   Matches the approved concept pages.
   ================================================================= */

:root{
  --mt-navy:#213A47;
  --mt-green:#0E9A6E;
  --mt-green-deep:#0A7A56;
  --mt-gold:#E0A93F;
  --mt-gold-deep:#C8902A;
  --mt-cream:#F6F4EC;
  --mt-paper:#FFFFFF;
  --mt-green-tint:#E4F3EC;
  --mt-gold-tint:#FBF1DA;
  --mt-ink-soft:#52646D;
  --mt-line:#E3E0D4;
  --mt-display:'Poppins',-apple-system,'Segoe UI',sans-serif;
  --mt-sans:'Nunito',-apple-system,'Segoe UI',sans-serif;
  --mt-arabic:'Cairo',sans-serif;
  --mt-wrap:1140px;
  --mt-radius:18px;
  --mt-shadow:0 10px 30px rgba(33,58,71,.10);
  --mt-shadow-lg:0 20px 55px rgba(33,58,71,.18);
}

/* ---- Hide Astra's own header/footer; we render our own ---- */
.site-header,
#masthead,
.site-footer,
#colophon,
.ast-small-footer{
  display:none !important;
}

/* ---- Base ---- */
body{
  font-family:var(--mt-sans) !important;
  color:var(--mt-navy);
  background:var(--mt-paper);
  line-height:1.65;
  margin:0;
}
.mt-wrap{ max-width:var(--mt-wrap); margin:0 auto; padding:0 20px; }
h1,h2,h3,h4,h5,h6{ font-family:var(--mt-display) !important; font-weight:800; letter-spacing:-.3px; color:var(--mt-navy); }
a{ color:var(--mt-green-deep); text-decoration:none; }
a:hover{ color:var(--mt-green); }
img{ max-width:100%; height:auto; }

/* RTL */
[dir="rtl"] body, .rtl body{ font-family:var(--mt-arabic) !important; }
[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3,[dir="rtl"] h4{ font-family:var(--mt-arabic) !important; }


/* =================================================================
   HEADER
   ================================================================= */
.mt-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--mt-line);
}
.mt-bar{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 20px; max-width:var(--mt-wrap); margin:0 auto; }
.mt-logo{ display:flex; align-items:center; gap:2px; font-family:var(--mt-display); font-weight:800; font-size:1.5rem; letter-spacing:-.5px; }
.mt-logo img{ max-height:44px; width:auto; border-radius:0; }
.mt-logo .my{ color:var(--mt-green); }
.mt-logo .tch{ color:var(--mt-navy); }
.mt-logo .dot{ width:9px; height:9px; border-radius:50%; background:var(--mt-gold); display:inline-block; margin-inline-start:3px; }
.mt-menu{ list-style:none; display:flex; gap:24px; margin:0; padding:0; font-weight:700; font-size:.95rem; }
.mt-menu a{ color:var(--mt-navy); padding:6px 2px; border-bottom:3px solid transparent; }
.mt-menu a:hover{ border-color:var(--mt-green); color:var(--mt-navy); }
.mt-menu .current-menu-item>a{ border-color:var(--mt-green); }
.mt-head-right{ display:flex; align-items:center; gap:12px; }
.mt-lang{ font-family:var(--mt-display); font-weight:700; font-size:.85rem; border:2px solid var(--mt-navy); background:transparent; color:var(--mt-navy); padding:7px 16px; border-radius:999px; cursor:pointer; white-space:nowrap; }
.mt-lang:hover{ background:var(--mt-navy); color:#fff; }
.mt-menu-btn{ display:none; background:none; border:0; cursor:pointer; font-size:1.6rem; color:var(--mt-navy); }

/* =================================================================
   GENERIC SECTION + CONTENT
   ================================================================= */
.mt-section{ padding:56px 0; }
.mt-eyebrow{ font-family:var(--mt-display); font-weight:800; font-size:.78rem; letter-spacing:1.5px; text-transform:uppercase; color:var(--mt-gold-deep); display:block; }
.mt-title{ font-family:var(--mt-display); font-weight:800; font-size:clamp(1.7rem,4.4vw,2.5rem); margin:8px 0; letter-spacing:-.5px; }
.mt-crumb{ padding:16px 20px 0; max-width:var(--mt-wrap); margin:0 auto; font-size:.85rem; font-weight:700; color:var(--mt-ink-soft); }
.mt-crumb a:hover{ color:var(--mt-green); }
.mt-crumb span{ margin:0 6px; opacity:.5; }

/* =================================================================
   SINGLE POST / LESSON
   ================================================================= */
.mt-article-layout{ display:grid; grid-template-columns:1fr 320px; gap:34px; max-width:var(--mt-wrap); margin:0 auto; padding:20px 20px 50px; align-items:start; }
.mt-article{ background:var(--mt-paper); border-radius:var(--mt-radius); padding:34px 38px; box-shadow:var(--mt-shadow); }
.mt-badges{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.mt-badge{ font-family:var(--mt-display); font-weight:700; font-size:.74rem; padding:5px 12px; border-radius:999px; }
.mt-badge.lvl{ background:var(--mt-gold-tint); color:var(--mt-gold-deep); }
.mt-badge.cat{ background:var(--mt-green-tint); color:var(--mt-green-deep); }
.mt-article h1.entry-title{ font-size:clamp(1.8rem,4.5vw,2.5rem); line-height:1.1; margin:0 0 12px; }
.mt-article .mt-meta{ display:flex; gap:16px; flex-wrap:wrap; color:var(--mt-ink-soft); font-weight:600; font-size:.88rem; margin:0 0 18px; border-bottom:1px solid var(--mt-line); padding-bottom:18px; }
.mt-article .entry-content{ font-size:1.06rem; }
.mt-article .entry-content h2{ font-size:1.4rem; margin:30px 0 10px; }
.mt-article .entry-content h3{ font-size:1.18rem; margin:24px 0 8px; }
.mt-article .entry-content img{ border-radius:12px; }
.mt-article .entry-content blockquote{ background:var(--mt-green-tint); border-inline-start:5px solid var(--mt-green); border-radius:12px; padding:14px 18px; margin:16px 0; }
.mt-article .entry-content table{ width:100%; border-collapse:collapse; margin:16px 0; }
.mt-article .entry-content th{ background:var(--mt-navy); color:#fff; padding:10px 12px; text-align:start; }
.mt-article .entry-content td{ border:1px solid var(--mt-line); padding:10px 12px; }

/* sidebar */
.mt-sidebar{ display:flex; flex-direction:column; gap:22px; position:sticky; top:84px; }
.mt-side-card{ background:var(--mt-paper); border-radius:var(--mt-radius); padding:22px; box-shadow:var(--mt-shadow); }
.mt-side-title{ font-family:var(--mt-display); font-weight:800; font-size:1.05rem; margin:0 0 12px; }

/* =================================================================
   ARCHIVE / CATEGORY
   ================================================================= */
.mt-phead{ max-width:var(--mt-wrap); margin:0 auto; padding:18px 20px 6px; }
.mt-phead h1{ font-size:clamp(1.9rem,5vw,2.8rem); letter-spacing:-.7px; margin:4px 0 0; }
.mt-phead p{ color:var(--mt-ink-soft); font-weight:600; max-width:60ch; margin-top:8px; }
.mt-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:var(--mt-wrap); margin:0 auto; padding:20px 20px 10px; }
.mt-res{ background:var(--mt-paper); border-radius:var(--mt-radius); overflow:hidden; box-shadow:var(--mt-shadow); display:flex; flex-direction:column; transition:transform .18s,box-shadow .18s; }
.mt-res:hover{ transform:translateY(-4px); box-shadow:var(--mt-shadow-lg); }
.mt-res .strip{ height:6px; background:var(--mt-green); }
.mt-res .thumb{ aspect-ratio:16/9; background:var(--mt-green-tint); overflow:hidden; }
.mt-res .thumb img{ width:100%; height:100%; object-fit:cover; border-radius:0; }
.mt-res .in{ padding:20px; display:flex; flex-direction:column; flex:1; }
.mt-res .type{ font-family:var(--mt-display); font-weight:800; font-size:.72rem; letter-spacing:1px; text-transform:uppercase; color:var(--mt-green-deep); }
.mt-res h3{ font-size:1.12rem; line-height:1.25; margin:8px 0 6px; }
.mt-res h3 a{ color:var(--mt-navy); }
.mt-res p{ color:var(--mt-ink-soft); font-weight:600; font-size:.9rem; flex:1; margin:0; }
.mt-res .open{ margin-top:14px; font-family:var(--mt-display); font-weight:800; color:var(--mt-green-deep); font-size:.9rem; }
.mt-pager{ display:flex; justify-content:center; gap:8px; padding:14px 0 50px; }
.mt-pager .page-numbers{ font-family:var(--mt-display); font-weight:800; min-width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:#fff; border:2px solid var(--mt-line); color:var(--mt-navy); padding:0 8px; }
.mt-pager .page-numbers.current{ background:var(--mt-green); color:#fff; border-color:var(--mt-green); }
.mt-pager a.page-numbers:hover{ border-color:var(--mt-green); }

/* =================================================================
   BUTTONS
   ================================================================= */
.wp-block-button__link,.ast-button,.button,input[type="submit"],.mt-btn{
  font-family:var(--mt-display) !important; font-weight:800 !important;
  background-color:var(--mt-green-deep) !important; border-color:var(--mt-green-deep) !important;
  color:#fff !important; border-radius:999px !important; padding:13px 26px; display:inline-block;
}
.wp-block-button__link:hover,.button:hover,.mt-btn:hover{ background-color:var(--mt-green) !important; color:#fff !important; }
.mt-btn-gold{ background-color:var(--mt-gold) !important; border-color:var(--mt-gold) !important; color:var(--mt-navy) !important; }
.mt-btn-gold:hover{ background-color:var(--mt-gold-deep) !important; color:#fff !important; }

/* =================================================================
   AD SLOTS
   ================================================================= */
.mt-ad{ min-height:120px; margin:30px auto; max-width:var(--mt-wrap); border:1px dashed #C9C4B4; border-radius:14px; background:#FAF9F4; display:flex; align-items:center; justify-content:center; text-align:center; position:relative; padding-top:28px; }
.mt-ad::before{ content:"Advertisement"; position:absolute; top:8px; left:0; right:0; font-family:var(--mt-display); font-size:.66rem; letter-spacing:2px; text-transform:uppercase; font-weight:800; color:#9A9276; }
.mt-ad.box{ min-height:250px; }

/* =================================================================
   FOOTER
   ================================================================= */
.mt-footer{ background:var(--mt-navy); color:#B9C6CC; padding:46px 0 30px; font-weight:600; }
.mt-footer .cols{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:26px; max-width:var(--mt-wrap); margin:0 auto; padding:0 20px; }
.mt-footer h4,.mt-foot-widget h4{ color:#fff; font-family:var(--mt-display); font-size:1rem; margin:0 0 12px; font-weight:800; }
.mt-footer a{ color:#B9C6CC; display:block; padding:4px 0; }
.mt-footer a:hover{ color:var(--mt-gold); }
.mt-footer .copy{ max-width:var(--mt-wrap); margin:30px auto 0; padding:18px 20px 0; border-top:1px solid #34505C; font-size:.82rem; }
.mt-footer .mt-foot-widget ul{ list-style:none; margin:0; padding:0; }

/* =================================================================
   RESPONSIVE
   ================================================================= */
@media (max-width:920px){
  .mt-menu{ display:none; }
  .mt-menu-btn{ display:block; }
  .mt-menu.mt-open{ display:flex; flex-direction:column; position:absolute; top:100%; inset-inline-end:0; background:#fff; padding:16px 22px; box-shadow:var(--mt-shadow-lg); border-radius:0 0 14px 14px; gap:14px; min-width:220px; }
  .mt-article-layout{ grid-template-columns:1fr; }
  .mt-sidebar{ position:static; }
  .mt-grid{ grid-template-columns:1fr 1fr; }
  .mt-footer .cols{ grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .mt-grid{ grid-template-columns:1fr; }
  .mt-article{ padding:24px 20px; }
  .mt-footer .cols{ grid-template-columns:1fr 1fr; }
}
@media (prefers-reduced-motion:reduce){ *{ transition:none !important; scroll-behavior:auto !important; } }

/* =================================================================
   HOMEPAGE (front-page.php)
   ================================================================= */
.mt-hero{
  padding:54px 0 38px;
  background:
    radial-gradient(130% 90% at 8% -10%, var(--mt-green-tint) 0%, transparent 52%),
    radial-gradient(130% 90% at 100% -5%, var(--mt-gold-tint) 0%, transparent 50%);
}
.mt-hero h1{
  font-family:var(--mt-display); font-weight:800; line-height:1.05;
  font-size:clamp(2.1rem,7.5vw,3.7rem); letter-spacing:-1px; max-width:15ch; color:var(--mt-navy); margin:0;
}
.mt-hero h1 .hl{ color:var(--mt-green); }
.mt-hero .mt-lead{ margin-top:18px; font-size:1.15rem; font-weight:600; color:var(--mt-ink-soft); max-width:48ch; }

.mt-paths{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:38px; }
.mt-path{ border-radius:var(--mt-radius); overflow:hidden; box-shadow:var(--mt-shadow); display:flex; flex-direction:column; background:#fff; transition:transform .18s,box-shadow .18s; }
.mt-path:hover{ transform:translateY(-5px); box-shadow:var(--mt-shadow-lg); }
.mt-path .top{ padding:24px 22px 20px; color:#fff; display:flex; flex-direction:column; gap:6px; }
.mt-path.teacher .top{ background:linear-gradient(135deg,var(--mt-green) 0%,var(--mt-green-deep) 100%); }
.mt-path.student .top{ background:linear-gradient(135deg,#2C4A57 0%,var(--mt-navy) 100%); }
.mt-path .top h2{ color:#fff; font-size:1.55rem; font-weight:800; margin:0; }
.mt-path .icon{ font-size:2.1rem; line-height:1; }
.mt-path .body{ padding:18px 22px 24px; display:flex; flex-direction:column; flex:1; }
.mt-path .body p{ font-size:1rem; color:var(--mt-ink-soft); font-weight:600; flex:1; margin:0; }
.mt-path .go{ margin-top:18px; align-self:flex-start; font-family:var(--mt-display); font-weight:700; font-size:.97rem; padding:12px 22px; border-radius:999px; color:#fff; }
.mt-path.teacher .go{ background:var(--mt-green-deep); }
.mt-path.student .go{ background:var(--mt-gold); color:var(--mt-navy); }

.mt-levels{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.mt-level-card{ background:#fff; border:1px solid var(--mt-line); border-radius:var(--mt-radius); padding:0; overflow:hidden; transition:transform .18s,box-shadow .18s; display:block; }
.mt-level-card:hover{ transform:translateY(-4px); box-shadow:var(--mt-shadow-lg); }
.mt-level-card::before{ content:""; display:block; height:8px; }
.mt-level-card.a::before{ background:var(--mt-green); }
.mt-level-card.b::before{ background:var(--mt-gold); }
.mt-level-card.c::before{ background:var(--mt-navy); }
.mt-level-card>*:not(.num){ padding-inline:26px; }
.mt-level-card .num{ font-family:var(--mt-display); font-size:1rem; font-weight:800; padding:24px 26px 0; }
.mt-level-card .link{ margin-bottom:24px; }
.mt-level-card.a .num{ color:var(--mt-green); } .mt-level-card.b .num{ color:var(--mt-gold-deep); } .mt-level-card.c .num{ color:var(--mt-navy); }
.mt-level-card .en-name{ font-family:var(--mt-display); font-size:1.35rem; font-weight:800; margin:4px 0 2px; color:var(--mt-navy); }
.mt-level-card .ar-name{ font-family:var(--mt-arabic); font-size:1.18rem; font-weight:700; color:var(--mt-green-deep); direction:rtl; }
.mt-level-card p{ font-size:.95rem; color:var(--mt-ink-soft); font-weight:600; margin-top:12px; }
.mt-level-card .link{ margin-top:14px; display:inline-block; font-family:var(--mt-display); font-weight:800; font-size:.9rem; }
.mt-level-card.a .link{ color:var(--mt-green-deep); } .mt-level-card.b .link{ color:var(--mt-gold-deep); } .mt-level-card.c .link{ color:var(--mt-navy); }

.mt-feat{ background:var(--mt-cream); }
.mt-types{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:24px; }
.mt-types .card{ border-radius:16px; padding:24px 18px; text-align:center; }
.mt-types .ic{ font-size:2rem; }
.mt-types h3{ font-size:1.12rem; margin:10px 0 4px; font-weight:800; }
.mt-types p{ font-size:.88rem; color:var(--mt-ink-soft); font-weight:600; margin:0; }
.mt-types .c1{ background:var(--mt-green-tint); } .mt-types .c1 h3{ color:var(--mt-green-deep); }
.mt-types .c2{ background:var(--mt-gold-tint); } .mt-types .c2 h3{ color:var(--mt-gold-deep); }
.mt-types .c3{ background:#E7EEF1; } .mt-types .c3 h3{ color:var(--mt-navy); }
.mt-types .c4{ background:#F3EAF6; } .mt-types .c4 h3{ color:#7B4D8E; }

.mt-cta{ background:linear-gradient(120deg,var(--mt-green) 0%,var(--mt-navy) 100%); text-align:center; }
.mt-cta h2{ color:#fff; font-size:clamp(1.7rem,4.4vw,2.6rem); }
.mt-cta p{ color:#E6F1EB; font-weight:600; margin:12px auto 24px; max-width:44ch; }

@media (max-width:860px){
  .mt-paths{ grid-template-columns:1fr; }
  .mt-levels{ grid-template-columns:1fr; }
  .mt-types{ grid-template-columns:1fr 1fr; }
}

/* =================================================================
   RTL — when TranslatePress shows the Arabic version
   (WordPress adds the "rtl" body class automatically)
   ================================================================= */
.rtl body, body.rtl{ font-family:var(--mt-arabic) !important; direction:rtl; }
.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6,
.rtl .entry-title,.rtl .site-title,.rtl .mt-title{ font-family:var(--mt-arabic) !important; }

/* Homepage hero + lead align right in Arabic */
.rtl .mt-hero h1,.rtl .mt-lead{ max-width:none; }
.rtl .mt-eyebrow{ }

/* Path cards: keep icon/title flow natural, button moves to the right */
.rtl .mt-path .go{ align-self:flex-end; }

/* Level cards: the coloured stripe stays full width; text aligns right */
.rtl .mt-level-card .num,
.rtl .mt-level-card .en-name,
.rtl .mt-level-card p,
.rtl .mt-level-card .link{ text-align:right; }
.rtl .mt-level-card .ar-name{ text-align:right; }

/* Resource grid + breadcrumb align right */
.rtl .mt-crumb,.rtl .mt-phead,.rtl .mt-res .in{ text-align:right; }
.rtl .mt-crumb span{ }

/* Lesson article reads right-to-left */
.rtl .mt-article .entry-content{ direction:rtl; text-align:right; }
.rtl .mt-article .entry-content th{ text-align:right; }

/* Footer columns align right */
.rtl .mt-footer .cols{ text-align:right; }

/* TranslatePress switcher spacing in the header */
.mt-trp-switch{ display:flex; align-items:center; }
.mt-trp-switch select,
.mt-trp-switch .trp-language-switcher{ font-family:var(--mt-display); font-weight:700; }
