/* ============================================================
   HIATF — المعهد العالي للتدريب والتصنيع الزراعي
   Native Arabic RTL — Cairo — Bootstrap 4.6.2 (original)
   All values from Figma. Logical properties only.
   ============================================================ */

:root {
    --primary: #306d29;
    --primary-dark: #0d530e;
    --cream: #fbf5dd;
    --cream-border: #e7e1b1;
    --card-green: #e6f1ea;
    --card-green-2: #e6f2ea;
    --text: #4a5565;
    --text-muted: #6a7282;
    --text-nav: #364153;
    --mint: #b9f8cf;
    --light-green: #dcfce7;
    --date-gray: #99a1af;
    --bullet: #05df72;
    --bottom-green: #7bf1a8;
    --white: #ffffff;
    --black: #000000;
    --gray: #6a7282;
    --secondary: #0d530e;

    --shadow-btn: 0 4px 3px rgba(0, 0, 0, .1), 0 2px 2px rgba(0, 0, 0, .1);
    --shadow-btn-lg: 0 10px 7.5px rgba(0, 0, 0, .1), 0 4px 3px rgba(0, 0, 0, .1);
    --container: 1280px;
}

/* ---------- Base ---------- */
* {
    box-sizing: border-box;
}

body {
    font-family: 'Cairo', sans-serif;
    color: var(--text);
    margin: 0;
    background: var(--white);
    overflow-x: hidden;
    line-height: 1.6;
    text-align: start; /* override Bootstrap reboot's text-align:left for RTL */
}

a {
    text-decoration: none;
    color: inherit;
    transition: all .3s ease-in-out;
}

a:hover {
    text-decoration: none;
}

img {
    max-width: 100%;
    display: block;
}

h1, h2, h3, h4, p {
    margin: 0;
}

ul {
    margin: 0;
    padding: 0;
}

button {
    font-family: inherit;
    cursor: pointer;
    border: none;
    background: none;
}

.container {
    max-width: var(--container);
    width: 100%;
    margin-inline: auto;
    padding-inline: 24px;
}

body.over-hidden {
    overflow: hidden;
}

/* Bootstrap physical-class overrides (RTL) */
[dir="rtl"] .text-left {
    text-align: start !important;
}

[dir="rtl"] .text-right {
    text-align: end !important;
}

[dir="rtl"] .float-left {
    float: inline-start !important;
}

[dir="rtl"] .float-right {
    float: inline-end !important;
}

/* ---------- Shared section helpers ---------- */
.section-pad {
    padding-block: 80px;
}

.section-pad--cream {
    background: var(--cream);
}

.section-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 20px;
}

.section-head--start {
    align-items: flex-start;
    text-align: start;
    margin-bottom:0;
}

.section-title {
    font-weight: 800;
    font-size: 32px;
    line-height: 1.4;
    color: var(--primary-dark);
}

.section-title--white {
    color: var(--white);
}

.section-subtitle {
    margin-top: 16px;
    max-width: 672px;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: var(--text);
}

.section-subtitle--wide {
    max-width: 100%;
}

/* ---------- Badge pill ---------- */
.badge-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--cream);
    color: var(--primary);
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    padding: 6px 16px;
    border-radius: 100px;
    white-space: nowrap;
    margin-bottom: 10px;
}

.badge-pill--cream {
    background: var(--cream-border);
}

.badge-pill img {
    width: 14px;
    height: 14px;
}

/* ---------- Buttons ---------- */
.btn-primary-arrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--primary);
    color: var(--white);
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    padding: 14px 28px;
    border-radius: 100px;
    box-shadow: var(--shadow-btn);
}

.btn-primary-arrow img {
    width: 18px;
    height: 18px;
}

.btn-primary-arrow:hover {
    background: var(--primary-dark);
    color: var(--white);
    transform: translateY(-2px);
}

.btn-primary-arrow--rev {
    padding: 16px 32px;
    box-shadow: var(--shadow-btn-lg);
}

.btn-primary-arrow--rev img {
    width: 20px;
    height: 20px;
}

.btn-outline-white {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--white);
    color: var(--white);
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    padding: 14px 28px;
    border-radius: 100px;
    background: transparent;
}

.btn-outline-white:hover {
    background: var(--white);
    color: var(--primary-dark);
}

.btn-white {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    color: var(--primary-dark);
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    padding: 14px 28px;
    border-radius: 14px;
}

.btn-white:hover {
    background: var(--cream);
    color: var(--primary-dark);
}

/* ============================================================
   HEADER
   ============================================================ */
.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--white);
    box-shadow: var(--shadow-btn);
}

.top-bar {
    background: var(--primary-dark);
    color: var(--white);
}

.top-bar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-block: 8px;
}

.top-bar__contact {
    display: flex;
    align-items: center;
    gap: 12px;
}

.top-bar__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--white);
    font-size: 14px;
    line-height: 20px;
}

.top-bar__link:hover {
    color: var(--mint);
}

.top-bar__icon {
    width: 14px;
    height: 14px;
}

.top-bar__sep {
    opacity: .4;
}

.top-bar__lang {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--white);
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
}

.top-bar__lang:hover {
    color: var(--mint);
}

.navbar-main {
    background: var(--white);
}

.main-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 80px;
}

.head-logo {
    display: flex;
    align-items: center;
    max-width: 220px;
}

.head-logo__img {
    height: 66px;
    width: auto;
    object-fit: contain;
}

.nav-list {
    display: flex;
    align-items: center;
    gap: 4px;
}

.nav-list > .menu-item {
    position: relative;
    padding: 20px 0px;
}

.nav-list > .menu-item > a {
    display: flex;
    align-items: center;
    color: var(--text-nav);
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    padding: 8px 24px;
    border-radius: 100px;
    white-space: nowrap;
}

.nav-list > .menu-item:hover > a {
    background: var(--primary);
    color: var(--white);
}

.nav-list > .menu-item.active > a {
    background: var(--primary);
    color: var(--white);
    font-weight: 600;
}

.nav-list .dd-trigger {
    display: none;
}

/* Desktop dropdown */
.nav-list .sub-menu {
    position: absolute;
    inset-inline-start: 0;
    top: 100%;
    min-width: 220px;
    background: var(--white);
    border-radius: 0 0 10px 10px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .1);
    padding-block: 12px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all .25s ease-in-out;
    z-index: 20;
}

.nav-list .menu-item-has-children:hover > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.nav-list .sub-menu > .menu-item > a {
    padding: 9px 20px;
    color: var(--text-nav);
    font-size: 14px;
    font-weight: 500;
    display: flex;
    align-items: center;
}

.nav-list .sub-menu > .menu-item > a:before {
    content: '';
    width: 4px;
    height: 5px;
    display: inline-block;
    margin-inline-end: 5px;
    background: var(--text-nav);
    margin-top: 2px;
}

.nav-list .sub-menu > .menu-item > a:hover {
    color: var(--primary);
    background: var(--cream);
}

.head-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.btn-register {
    display: inline-flex;
    align-items: center;
    background: var(--primary);
    color: var(--white);
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    padding: 10px 40px;
    border-radius: 100px;
    box-shadow: 0 1px 1.5px rgba(0, 0, 0, .1), 0 1px 1px rgba(0, 0, 0, .1);
}

.btn-register:hover {
    background: var(--primary-dark);
    color: var(--white);
}

.nav-btn {
    display: none;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: var(--white);
    background: var(--primary);
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

/* Mobile nav */
.mobile-nav-list {
    display: none;
}

.nav-overlay {
    display: none;
}

/* ============================================================
   HERO
   ============================================================ */
.hero {
    position: relative;
    overflow: hidden;
}

.hero__slider {
    position: relative;
    z-index: 2;
}

.hero__slide {
    position: relative;
    min-height: 750px;
    display: flex;
    align-items: center;
    background-size: cover;
    background-position: center;
}

.hero__slide::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(2, 43, 2, .72);
    z-index: 1;
}

.hero__slide > .container {
    position: relative;
    z-index: 2;
}

.hero__slide--1 {
    background-image: url('../images/hero-bg.png');
}

.hero__slide--2 {
    background-image: url('../images/program-1.png');
}

.hero__slide--3 {
    background-image: url('../images/news-1.png');
}

.hero__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: start;
    max-width: 80%;
    margin-inline-start: auto;
}

.hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, .15);
    color: var(--light-green);
    font-size: 14px;
    line-height: 20px;
    padding: 8px 16px;
    border-radius: 100px;
}

.hero__badge img {
    width: 16px;
    height: 16px;
}

.hero__title {
    margin-top: 20px;
    font-weight: 800;
    font-size: 48px;
    line-height: 60px;
    color: var(--white);
}

.hero__text {
    margin-top: 24px;
    font-weight: 400;
    font-size: 18px;
    line-height: 30px;
    color: var(--light-green);
    max-width: 640px;
}

.hero__actions {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 40px;
}

.hero__actions .btn-primary-arrow {
    padding: 16px 30px;
    border: 2px solid rgba(255, 255, 255, .2);
        min-width: 260px;
        justify-content: center;
    box-shadow: var(--shadow-btn-lg);
}

.hero__actions .btn-outline-white {
    padding: 16px 30px;
    min-width: 200px;
}

.hero__slider .owl-dots {
    position: absolute;
    inset-block-end: 30px;
    inset-inline: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.hero__slider .owl-dots .owl-dot span {
    width: 10px;
    height: 10px;
    margin: 0;
    background: rgba(255, 255, 255, .4);
    border-radius: 100px;
    transition: all .3s ease;
}

.hero__slider .owl-dots .owl-dot.active span {
    width: 24px;
    background: var(--white);
}

/* ============================================================
   ABOUT
   ============================================================ */
.about__row {
    display: flex;
    align-items: center;
    gap: 28px;
}

.about__text {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: start;
}

.about__media {
    flex: 0 0 631px;
    max-width: 631px;
}

.about__img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    border-radius: 8px;
}

.about__para {
    margin-top: 20px;
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    color: var(--text);
}

.about__btn {
    margin-top: 32px;
}

.about .section-title {
    text-align: start;
    margin-bottom: 15px;
}

/* ============================================================
   PROGRAMS
   ============================================================ */
.programs__slider {
    margin-top: 40px;
}

.program-card {
    display: flex;
    align-items: stretch;
    background: var(--white);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);
    height: 192px;
}

.program-card__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: start;
    gap: 12px;
    padding: 30px 20px;
}

.program-card__logo {
    width: auto;
    height: auto;
    max-width: 60px;
    max-height: 65px;
    object-fit: contain;
}

.program-card__logo--raster {
    width: 60px;
    height: 60px;
    border-radius: 10px;
    object-fit: cover;
}

.program-card__title {
    font-weight: 700;
    font-size: 16px;
    line-height: 28px;
    color: var(--primary-dark);
}

.program-card__media {
    flex: 0 0 230px;
}

.program-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ============================================================
   STATS
   ============================================================ */
.stats {
    position: relative;
    overflow: hidden;
    background: linear-gradient(164deg, var(--primary-dark) 0%, var(--primary) 100%);
    padding-block: 80px;
}

.stats .container {
    position: relative;
    z-index: 2;
}

.stats .section-title {
    text-align: center;
}

.stats__blob {
    position: absolute;
    border: 2px solid rgba(255, 255, 255, .5);
    border-radius: 50%;
    opacity: .08;
    z-index: 1;
}

.stats__blob--a {
    width: 160px;
    height: 160px;
    inset-block-start: 40px;
    inset-inline-start: 80px;
}

.stats__blob--b {
    width: 256px;
    height: 256px;
    inset-block-start: 141px;
    inset-inline-end: 60px;
}

.stats__row {
    display: flex;
    gap: 16px;
    margin-top: 48px;
}

.stat-card {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 16px;
    padding: 25px;
}

.stat-card__icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .3);
    display: flex;
    align-items: center;
    justify-content: center;
}

.stat-card__icon img {
    width: 26px;
    height: 26px;
}

.stat-card__num {
    margin-top: 16px;
    font-weight: 800;
    font-size: 35px;
    line-height: 1;
    color: var(--white);
    direction: ltr;
}

.stat-card__label {
    margin-top: 4px;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: var(--mint);
}

/* ============================================================
   WHY CHOOSE US
   ============================================================ */
.why__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 56px;
}

.feature-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: start;
    background: var(--card-green);
    border-radius: 16px;
    padding: 24px;
    border: 2px solid transparent;
    transition: all .3s ease-in-out !important;
}

.feature-card__icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: var(--cream);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease-in-out !important;
}

.feature-card__icon img {
    width: 26px;
    height: 26px;
}

.feature-card__title {
    margin-top: 20px;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: var(--primary-dark);
}

.feature-card__text {
    margin-top: 12px;
    font-weight: 400;
    font-size: 14px;
    line-height: 22.75px;
    color: var(--text-muted);
}

/* active / hover highlight (first card style) */
.feature-card--active,
.feature-card:hover {
    background: var(--cream);
    box-shadow: 0 0 5px rgba(0, 0, 0, .28);
}

.feature-card--active .feature-card__icon,
.feature-card:hover .feature-card__icon {
    background: var(--primary);
}

.feature-card--active .feature-card__icon img,
.feature-card:hover .feature-card__icon img {
    filter: brightness(0) invert(1);
}

/* ============================================================
   BOARD MEMBERS
   ============================================================ */
.board__slider {
    margin-top: 36px;
}

.member-card {
    position: relative;
    height: 320px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);
    background: #e9e5e2;
}

.member-card > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.member-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, .9) 0%, rgba(0, 0, 0, .3) 60%, rgba(0, 0, 0, 0) 100%);
}

.member-card__caption {
    position: absolute;
    inset-block-end: 0;
    inset-inline: 0;
    padding: 16px 20px;
    text-align: center;
}

.member-card__name {
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: var(--white);
}

.member-card__role {
    margin-top: 4px;
    font-weight: 400;
    font-size: 15px;
    line-height: 24px;
    color: var(--mint);
}

/* ============================================================
   NEWS
   ============================================================ */
.news__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.news__viewall {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--primary);
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
}

.news__viewall img {
    width: 16px;
    height: 16px;
}

.news__viewall:hover {
    color: var(--primary-dark);
    gap: 12px;
}

.news__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 56px;
}

.news-card {
    background: var(--white);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 0 6px 2px rgba(0, 0, 0, .07);
    transition: all .3s ease-in-out;
}

.news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, .12);
}

.news-card__media {
    height: 192px;
    overflow: hidden;
}

.news-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.news-card:hover .news-card__media img {
    transform: scale(1.05);
}

.news-card__body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: start;
    gap: 10px;
}

.news-card__date {
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    color: var(--date-gray);
}

.news-card__title {
    font-weight: 700;
    font-size: 15.2px;
    line-height: 22.8px;
    color: var(--primary-dark);
}

.news-card__text {
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    color: var(--text-muted);
}

.news-card__more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--primary);
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    margin-top: 4px;
}

.news-card__more img {
    width: 14px;
    height: 14px;
}

.news-card__more:hover {
    gap: 10px;
    color: var(--primary-dark);
}

/* ============================================================
   REGISTRATION STEPS
   ============================================================ */
.steps__row {
    display: flex;
    justify-content: space-between;
    margin-top: 56px;
}

.step {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-inline: 8px;
}

.step__circle {
    position: relative;
    z-index: 2;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--primary);
    color: var(--white);
    font-weight: 800;
    font-size: 20.8px;
    line-height: 64px;
    box-shadow: var(--shadow-btn-lg);
}

/* connector line — between steps (RTL: line goes from each step toward the one on its right) */
.step:not(:first-child)::before {
    content: "";
    position: absolute;
    inset-block-start: 31px;
    inset-inline-end: calc(50% + 32px);
    width: calc(100% - 64px);
    height: 2px;
    background: var(--primary);
    opacity: .3;
    z-index: 1;
}

.step__title {
    margin-top: 16px;
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    color: var(--primary-dark);
}

.step__text {
    margin-top: 8px;
    font-weight: 400;
    font-size: 12px;
    line-height: 19.5px;
    color: var(--text-muted);
}

.steps__cta {
    display: flex;
    justify-content: center;
    margin-top: 48px;
}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testimonials__slider {
    margin-top: 56px;
}

.testimonial-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: start;
    background: var(--cream);
    border: 2px solid var(--cream-border);
    border-radius: 16px;
    padding: 26px;
    box-shadow: var(--shadow-btn);
}

.testimonial-card__stars {
    display: flex;
    gap: 4px;
}

.testimonial-card__stars img {
    width: 16px;
    height: 16px;
}

.testimonial-card__quote {
    margin-top: 16px;
    font-weight: 400;
    font-size: 14px;
    line-height: 22.75px;
    color: var(--text-nav);
}

.testimonial-card__author {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
}

.testimonial-card__avatar {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--primary);
    color: var(--white);
    font-weight: 700;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.testimonial-card__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: end;
}

.testimonial-card__name {
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    color: var(--primary-dark);
}

.testimonial-card__job {
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    color: var(--text-muted);
}

/* ============================================================
   STRATEGIC PARTNER
   ============================================================ */
.strategic {
    background: var(--white);
    padding-block: 64px;
}

.strategic__title {
    text-align: center;
    font-size: 28.8px;
}

.strategic__row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    margin-top: 40px;
}

.strategic__text {
    flex: 0 0 540px;
    max-width: 540px;
}

.strategic__text p {
    font-weight: 400;
    font-size: 22px;
    line-height: 43.2px;
    color: var(--black);
    text-align: center;
}

.strategic__media {
    flex: 0 0 540px;
    max-width: 540px;
    height: 300px;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.strategic__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* ============================================================
   PARTNERS MARQUEE
   ============================================================ */
.partners {
    background: var(--white);
    padding-block: 64px;
}

.partners__slider {
    margin-top: 40px;
}

.partner-logo {
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-inline: 24px;
}

.partner-logo img {
    max-height: 90px;
    max-width: 150px;
    width: auto;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: .7;
    transition: all .3s ease;
}

.partner-logo img:hover {
    filter: grayscale(0);
    opacity: 1;
}

/* ============================================================
   CTA BANNER
   ============================================================ */
.cta-banner {
    position: relative;
    overflow: hidden;
    background: linear-gradient(165deg, var(--primary-dark) 0%, var(--primary) 100%);
    padding-block: 80px;
}

.cta-banner .container {
    position: relative;
    z-index: 2;
}

.cta-banner__blob {
    position: absolute;
    border: 2px solid var(--white);
    border-radius: 50%;
    opacity: .05;
    z-index: 1;
}

.cta-banner__blob--a {
    width: 256px;
    height: 256px;
    inset-block-start: -128px;
    inset-inline-end: 1150px;
}

.cta-banner__blob--b {
    width: 384px;
    height: 384px;
    inset-block-start: 108px;
    inset-inline-end: 96px;
}

.cta-banner__content {
    max-width: 100%;
    margin-inline: auto;
    text-align: center;
}

.cta-banner__title {
    font-weight: 800;
    font-size: 35.2px;
    line-height: 49.28px;
    color: var(--white);
}

.cta-banner__text {
    margin-top: 16px;
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    color: var(--light-green);
}

.cta-banner__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 40px;
}

.cta-banner__actions .btn-white,
.cta-banner__actions .btn-outline-white {
    min-width: 231px;
    height: 56px;
    border-radius: 14px;
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer {
    background: var(--primary-dark);
    color: var(--white);
}

.site-footer .container {
    padding-block: 56px 32px;
}

.site-footer__top {
    display: flex;
    gap: 40px;
    padding-bottom: 50px;
}

.footer-col {
    flex: 1;
}

.footer-col--brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: end;
}

.footer-col__logo {
    height: 72px;
    width: auto;
    border-radius: 14px;
    object-fit: contain;
}

.footer-col__desc {
    margin-top: 20px;
    font-weight: 400;
    font-size: 14px;
    line-height: 22.75px;
    color: var(--mint);
    text-align: start;
}

.footer-col__follow {
    margin-top: 20px;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    color: var(--white);
}

.footer-social {
    display: flex;
    gap: 12px;
    margin-top: 12px;
}

.footer-social__link {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .1);
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-social__link img {
    width: 16px;
    height: 16px;
}

.footer-social__link:hover {
    color: var(--cream);
}

.footer-col__title {
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: var(--white);
    text-align: start;
    padding-bottom: 9px;
    border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.footer-links {
    margin-top: 20px;
}

.footer-links li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin-top: 10px;
}

.footer-links li::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--bullet);
    flex: 0 0 6px;
}

.footer-links li a {
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    color: var(--mint);
}

.footer-links li a:hover {
    color: var(--white);
}

.footer-contact {
    margin-top: 20px;
}

.footer-contact li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
}

.footer-contact__icon {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .1);
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-contact__icon img {
    width: 15px;
    height: 15px;
}

.footer-contact__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: end;
    flex: 1;
}

.footer-contact__label {
    font-weight: 500;
    font-size: 14px;
    color: var(--white);
}

.footer-contact__value {
    font-weight: 400;
    font-size: 14px;
    color: var(--mint);
    transition: all linear .3s;
}

.footer-contact__value--link {
    text-decoration: underline;
}

.footer-contact__value:hover {
    color: var(--white);
}

.site-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(255, 255, 255, .15);
    padding-top: 25px;
}

.site-footer__copy {
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: var(--bottom-green);
}

.site-footer__legal {
    display: flex;
    align-items: center;
    gap: 16px;
}

.site-footer__legal a {
    font-weight: 500;
    font-size: 14px;
    color: var(--bottom-green);
}

.site-footer__legal a:hover {
    color: var(--white);
}

.site-footer__sep {
    color: #00a63e;
}

/* ============================================================
   BACK TO TOP
   ============================================================ */
.back-to-top {
    position: fixed;
    inset-block-end: 30px;
    inset-inline-start: 30px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--primary);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all .3s ease-in-out;
    z-index: 60;
    box-shadow: var(--shadow-btn);
}

.back-to-top.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.back-to-top:hover {
    background: var(--primary-dark);
}

/* ============================================================
   INNER PAGE — shared
   ============================================================ */
.page-hero {
    position: relative;
    background: linear-gradient(165deg, var(--primary-dark) 0%, var(--primary) 100%);
    padding-block: 70px;
    overflow: hidden;
}

.page-hero__inner {
    position: relative;
    z-index: 2;
    text-align: center;
}

.page-hero__title {
    font-weight: 800;
    font-size: 40px;
    line-height: 1.3;
    color: var(--white);
}

.page-hero__crumb {
    margin-top: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--mint);
    font-size: 14px;
}

.page-hero__crumb a {
    color: var(--mint);
}

.page-hero__crumb a:hover {
    color: var(--white);
}

.page-hero .cta-banner__blob {
    opacity: .07;
}

/* ============================================================
   OWL image-size overrides
   Owl injects `.owl-carousel .owl-item img { width:100% }` which
   stretches our icons/logos. Restore intended sizes (higher specificity).
   ============================================================ */
.owl-carousel .owl-item .badge-pill img {
    width: 14px;
    height: 14px;
}

.owl-carousel .owl-item .hero__badge img {
    width: 16px;
    height: 16px;
}

.owl-carousel .owl-item .btn-primary-arrow img {
    width: 18px;
    height: 18px;
}

.owl-carousel .owl-item .program-card__logo {
    width: auto;
    height: auto;
    max-width: 60px;
    max-height: 65px;
    object-fit: contain;
}

.owl-carousel .owl-item .program-card__logo--raster {
    width: 60px;
    height: 60px;
}

.owl-carousel .owl-item .testimonial-card__stars img {
    width: 16px;
    height: 16px;
}

.owl-carousel .owl-item .partner-logo img {
    width: auto;
    max-width: 150px;
}

/* ============================================================
   RTL number fix — phone groups must read LTR (else
   "055 913 2878" renders reversed as "2878 913 055").
   Applies to header top-bar + footer on every page.
   ============================================================ */
.top-bar__link span {
    direction: ltr;
    unicode-bidi: embed;
}

.footer-contact a[href^="tel:"] {
    direction: ltr;
    unicode-bidi: embed;
}

.footer-contact__value {
    unicode-bidi: plaintext;
}
.wpcf7{
    direction: ltr;
}
html[dir="rtl"] .wpcf7 {
    direction: rtl;
}

.wpcf7 *{
    direction: inherit !important;
}
.wpcf7 br{
    display: none;
}
.wpcf7-checkbox label{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}
.wpcf7-checkbox label input{
    width: auto;}
.reg-form { position: relative; }

/* تعتيم/تشويش محتوى الفورم لما تكون مقفولة */
.reg-form--locked .reg-form__head,
.reg-form--locked .reg-form__sub,
.reg-form--locked .wpcf7 {
    filter: blur(4px);
    pointer-events: none;
    user-select: none;
}
.reg-form--locked{
    height:600px;
    overflow: hidden;
}
.reg-form__overlay {
    position: absolute;
    inset: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    border-radius: inherit;
    text-align: center;
    background: rgba(255, 255, 255, 0.78);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.reg-form__overlay-inner { max-width: 320px; }

.reg-form__overlay-icon {
    font-size: 40px;
    display: block;
    margin-bottom: 12px;
}

.reg-form__overlay-title {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 8px;
}

.reg-form__overlay-text {
    font-size: 14px;
    color: #555;
    margin: 0;
}

.reg-form__overlay--soon  .reg-form__overlay-title { color: var(--primary); }
.reg-form__overlay--ended .reg-form__overlay-title { color: #dc2626; }
.wpcf7 textarea{
    height: 140px;
}
html[dir="ltr"] .btn-primary-arrow img ,html[dir="ltr"] .news__viewall img ,html[dir="ltr"] .news-card__more img,html[dir="ltr"] .page-hero__crumb i ,html[dir="ltr"] .course-card__foot i{
    transform: scaleX(-1);
}
html, body { overflow-x: clip; }