/* =========================================================
   النادي الاقتصادي الجزائري — Shared stylesheet
   Used by every page under public/ (homepage + subpages)
   ========================================================= */
:root{
  --green-950:#0b2e1f;
  --green-900:#0e3d29;
  --green-800:#134f34;
  --green-700:#1a6b45;
  --green-600:#238356;
  --gold:#c9a24b;
  --cream:#f6f4ec;
  --white:#ffffff;
  --ink:#0b2e1f;
  --line: rgba(246,244,236,0.18);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Tajawal', sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.9;
  overflow-x:hidden;
}
h1,h2,h3,.display{
  font-family:'Cairo', sans-serif;
  font-weight:800;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1160px; margin:0 auto; padding:0 28px;}

/* ===== Header ===== */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(11,46,31,0.94);
  backdrop-filter: blur(8px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 20px; max-width:1320px; margin:0 auto; gap:10px;
}
.brand{display:flex; align-items:center; gap:10px; flex-shrink:0;}
.brand img{height:38px; width:auto;}
.brand-text{color:var(--cream); line-height:1.3;}
.brand-text b{font-family:'Cairo',sans-serif; font-size:14px; display:block; white-space:nowrap;}
.brand-text span{font-size:10px; opacity:.75; letter-spacing:.5px; white-space:nowrap;}

.nav-center{display:flex; align-items:center; gap:0; flex-wrap:nowrap;}
.nav-center > a, .nav-center > .has-dropdown > button{
  color:var(--cream); font-size:13px; opacity:.85; transition:opacity .2s, color .2s;
  padding:10px 7px; display:inline-flex; align-items:center; gap:4px;
  background:none; border:none; font-family:inherit; cursor:pointer; white-space:nowrap;
}
.nav-center > a:hover, .nav-center > .has-dropdown > button:hover{opacity:1; color:var(--gold);}
.nav-center a.active{color:var(--gold); opacity:1;}
.has-dropdown{position:relative;}
.has-dropdown button::after{content:"▾"; font-size:10px; margin-inline-start:2px;}
.dropdown{
  position:absolute; top:100%; inset-inline-start:0; margin-top:6px;
  background:var(--green-950); border:1px solid var(--line); border-radius:10px;
  min-width:200px; padding:8px; opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .18s, transform .18s, visibility .18s;
  box-shadow:0 18px 34px rgba(0,0,0,0.35);
}
.has-dropdown:hover .dropdown, .has-dropdown:focus-within .dropdown{
  opacity:1; visibility:visible; transform:translateY(0);
}
.dropdown a{
  display:block; padding:10px 12px; border-radius:7px; font-size:13.5px;
  color:rgba(246,244,236,0.85);
}
.dropdown a:hover{background:rgba(201,162,75,0.12); color:var(--gold);}

.lang-dropdown{margin-inline-start:4px;}
.lang-dropdown-btn{
  display:flex; align-items:center; gap:4px;
  background:none; border:1px solid rgba(246,244,236,0.35); border-radius:8px;
  color:var(--cream); font-family:'Cairo',sans-serif; font-weight:700; font-size:12.5px;
  padding:7px 10px; cursor:pointer;
}
.lang-dropdown-btn::after{content:"⌄"; font-size:11px; transition:transform .18s;}
.lang-dropdown.has-dropdown:hover .lang-dropdown-btn::after,
.lang-dropdown.has-dropdown:focus-within .lang-dropdown-btn::after{transform:rotate(180deg);}
.lang-dropdown-btn:hover{border-color:var(--gold); color:var(--gold);}
.lang-dropdown-menu{
  background:var(--white); border:1px solid var(--line); min-width:110px;
  inset-inline-start:auto; inset-inline-end:0;
}
.lang-dropdown-menu a{color:var(--ink, #1a2b22); font-family:'Cairo',sans-serif; font-weight:600;}
.lang-dropdown-menu a:hover{background:var(--cream); color:var(--green-800);}
.lang-dropdown-menu a.active{background:rgba(201,162,75,0.14); color:var(--green-800);}

.lang-switch{display:flex; align-items:center; gap:2px; margin-inline-start:8px; padding-inline-start:10px; border-inline-start:1px solid rgba(246,244,236,0.2);}
.lang-switch a{
  font-family:'Cairo',sans-serif; font-size:11px; font-weight:700; letter-spacing:.4px;
  color:rgba(246,244,236,0.55); padding:4px 8px; border-radius:6px; text-decoration:none;
}
.lang-switch a:hover{color:var(--cream);}
.lang-switch a.active{background:rgba(201,162,75,0.18); color:var(--gold);}
.nav-actions{display:flex; align-items:center; gap:6px; flex-shrink:0;}
.btn-nav-member{
  background:var(--gold); color:var(--green-950);
  font-family:'Cairo',sans-serif; font-weight:700; font-size:13px;
  padding:9px 14px; border-radius:7px; white-space:nowrap;
  transition:transform .2s, box-shadow .2s;
}
.btn-nav-member:hover{transform:translateY(-2px); box-shadow:0 8px 18px rgba(201,162,75,0.35);}
.btn-nav-join{
  border:1px solid rgba(246,244,236,0.35); color:var(--cream);
  font-family:'Cairo',sans-serif; font-weight:700; font-size:13px;
  padding:9px 12px; border-radius:7px; white-space:nowrap;
}
.btn-nav-join:hover{border-color:var(--gold); color:var(--gold);}
.nav-toggle{display:none; background:none; border:none; color:var(--cream); font-size:26px; cursor:pointer;}

/* ===== Hero (homepage) ===== */
.hero{
  position:relative;
  min-height:calc(100vh - 72px);
  padding:22px 0;
  display:flex; align-items:center; justify-content:center;
  background:
    linear-gradient(120deg, rgba(11,46,31,0.94) 10%, rgba(19,79,52,0.82) 55%, rgba(11,46,31,0.94) 100%),
    repeating-linear-gradient(45deg, rgba(255,255,255,0.02) 0 2px, transparent 2px 40px);
  color:var(--cream);
  overflow:hidden;
  padding:70px 0 90px;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background-image: radial-gradient(circle at 18% 20%, rgba(201,162,75,0.10), transparent 40%),
                     radial-gradient(circle at 85% 75%, rgba(201,162,75,0.08), transparent 45%);
  pointer-events:none;
}
.hero-grid{
  position:relative; z-index:2;
  display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:center;
  width:100%;
}
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Cairo',sans-serif; font-size:13px; letter-spacing:1px;
  color:var(--gold); border:1px solid rgba(201,162,75,0.4);
  padding:6px 14px; border-radius:999px; margin-bottom:16px;
}
.eyebrow::before{content:"◆"; font-size:9px;}
.hero h1{
  font-size:clamp(30px, 4.4vw, 50px);
  line-height:1.22;
  margin-bottom:12px;
}
.hero h1 em{font-style:normal; color:var(--gold);}
.hero .fr-tag{
  font-family:'Cairo',sans-serif; font-weight:500;
  font-size:15px; letter-spacing:1px; color:rgba(246,244,236,0.65);
  margin-bottom:16px;
}
.hero .lead{
  font-size:16px; max-width:52ch; color:rgba(246,244,236,0.85); margin-bottom:20px;
}
.hero .lead p{margin-bottom:10px;}
.hero .lead p:last-child{margin-bottom:0;}
.hero-cta{display:flex; gap:16px; flex-wrap:wrap;}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 30px; border-radius:8px;
  font-family:'Cairo',sans-serif; font-weight:700; font-size:15px;
  transition:transform .2s, box-shadow .2s, background .2s;
}
.btn-primary{background:var(--gold); color:var(--green-950);}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(201,162,75,0.35);}
.btn-ghost{border:1px solid rgba(246,244,236,0.35); color:var(--cream);}
.btn-ghost:hover{border-color:var(--gold); color:var(--gold);}

.hero-emblem{position:relative; display:flex; justify-content:center; align-items:center;}
.hero-emblem::before{
  content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:290px; height:290px; border-radius:50%;
  border:1px solid rgba(201,162,75,0.35);
}
.hero-emblem::after{
  content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:340px; height:340px; border-radius:50%;
  border:1px dashed rgba(246,244,236,0.15);
}
.hero-emblem img{width:220px; position:relative; z-index:2; filter:drop-shadow(0 20px 40px rgba(0,0,0,0.35));}

.hero-stats{
  position:relative; z-index:2;
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:1px; background:rgba(246,244,236,0.12);
  margin-top:26px; border-radius:12px; overflow:hidden;
  border:1px solid rgba(246,244,236,0.12);
}
.hero-stats div{background:rgba(11,46,31,0.55); padding:14px 16px; text-align:center;}
.hero-stats b{display:block; font-family:'Cairo',sans-serif; font-size:24px; color:var(--gold);}
.hero-stats span{font-size:12.5px; color:rgba(246,244,236,0.7);}

/* ===== Page header (subpages) ===== */
.page-hero{
  background:linear-gradient(120deg, var(--green-950), var(--green-800));
  color:var(--cream); padding:70px 0 56px; position:relative; overflow:hidden;
}
.page-hero::before{
  content:""; position:absolute; inset:0;
  background-image: radial-gradient(circle at 90% 10%, rgba(201,162,75,0.10), transparent 45%);
}
.page-hero .wrap{position:relative; z-index:2;}
.breadcrumb{font-size:13px; color:rgba(246,244,236,0.65); margin-bottom:16px;}
.breadcrumb a{color:rgba(246,244,236,0.65);}
.breadcrumb a:hover{color:var(--gold);}
.page-hero h1{font-size:clamp(28px,4vw,42px); color:var(--cream); margin-bottom:12px;}
.page-hero p{color:rgba(246,244,236,0.78); max-width:65ch; font-size:15.5px;}

/* ===== Section shared ===== */
section{padding:96px 0;}
.kicker{display:flex; align-items:center; gap:14px; margin-bottom:10px;}
.kicker .num{
  font-family:'Cairo',sans-serif; font-weight:800; color:var(--green-700);
  font-size:13px; border:1px solid var(--green-700); border-radius:999px;
  padding:4px 12px;
}
.kicker .rule{height:1px; flex:1; background:linear-gradient(to left, var(--green-700), transparent);}
h2.section-title{font-size:clamp(24px,3.2vw,36px); margin-bottom:12px; color:var(--green-950);}
.section-sub{max-width:70ch; color:#3b4a41; font-size:16px; margin-bottom:26px;}
.section-sub p{margin-bottom:8px;}
.section-sub p:last-child{margin-bottom:0;}
.section-head-row{
  display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
  flex-wrap:wrap; margin-bottom:26px;
}
.section-head-row .section-sub{margin-bottom:0;}

/* Homepage sections: fit within one screen below the sticky header (desktop) */
.about, .president-preview, .vision, .services, .commit,
.activities-preview, .videos-preview, .contact, .join-cta{
  min-height:calc(100vh - 72px);
  display:flex;
  align-items:center;
}
.about > .wrap, .president-preview > .wrap, .vision > .wrap, .services > .wrap,
.commit > .wrap, .activities-preview > .wrap, .videos-preview > .wrap,
.contact > .wrap, .join-cta > .wrap{
  width:100%;
}
.activities-preview, .videos-preview{padding:40px 0;}
.activities-preview .card-grid, .videos-preview .card-grid{grid-template-columns:repeat(auto-fill, minmax(220px,1fr));}
.link-more{
  font-family:'Cairo',sans-serif; font-weight:700; font-size:14px; color:var(--green-800);
  border-bottom:2px solid var(--gold); padding-bottom:3px; white-space:nowrap; flex-shrink:0;
}
.link-more:hover{color:var(--green-700);}

/* ===== About ===== */
.about{background:var(--white); padding:40px 0;}
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start;}
.about-card{background:var(--cream); border-radius:14px; padding:22px; border-inline-start:4px solid var(--gold);}
.about-card h3{font-size:18px; color:var(--green-900); margin-bottom:8px;}
.about-card p{color:#3b4a41; font-size:15px;}
.about-card .block-img{width:100%; height:120px; object-fit:cover; border-radius:10px; margin-bottom:12px;}
.founding-strip{display:flex; gap:16px; margin-top:18px; flex-wrap:wrap;}
.founding-strip div{flex:1; min-width:150px; background:var(--green-950); color:var(--cream); border-radius:10px; padding:14px 18px;}
.founding-strip b{display:block; font-family:'Cairo',sans-serif; color:var(--gold); font-size:19px; margin-bottom:4px;}
.founding-strip span{font-size:12.5px; opacity:.8;}

/* ===== Custom sections (added by admins from the homepage content editor) ===== */
.custom-section{background:var(--cream); padding:40px 0;}
.custom-section-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.custom-section-item{background:var(--white); border-radius:14px; padding:22px; border-inline-start:4px solid var(--gold);}
.custom-section-item h3{font-size:18px; color:var(--green-900); margin-bottom:8px;}
.custom-section-item p{color:#3b4a41; font-size:15px;}
.custom-section-item .block-img{width:100%; height:auto; border-radius:10px; margin-bottom:12px;}

/* ===== Vision / Goals ===== */
.president-preview{background:var(--white); padding:40px 0;}
.president-preview-grid{max-width:70ch;}
.president-preview-grid.has-photo{
  max-width:920px; display:grid; grid-template-columns:1fr 230px; gap:44px; align-items:center;
}
.president-preview-text p{font-size:16px; color:#3b4a41; line-height:1.8; margin-bottom:14px;}
.president-preview-name{font-family:'Cairo',sans-serif; font-weight:700; color:var(--green-800); margin-bottom:10px;}
.president-preview-photo{
  width:230px; height:230px; border-radius:50%; overflow:hidden; flex-shrink:0;
  border:5px solid var(--cream); box-shadow:0 10px 28px rgba(11,46,31,.14);
}
.president-preview-photo img{width:100%; height:100%; object-fit:cover; display:block;}

.vision{background:var(--cream); padding:40px 0;}
.vision-list{display:grid; gap:12px;}
.vision-item{
  display:flex; gap:14px; align-items:flex-start;
  background:var(--white); border-radius:12px; padding:16px 20px;
  box-shadow:0 2px 10px rgba(11,46,31,0.05);
  border:1px solid rgba(11,46,31,0.06);
}
.vision-item .mark{
  flex-shrink:0; width:30px; height:30px; border-radius:50%;
  background:var(--green-900); color:var(--gold);
  display:flex; align-items:center; justify-content:center;
  font-family:'Cairo',sans-serif; font-weight:800; font-size:13px;
}
.vision-item .block-img{flex-shrink:0; width:52px; height:52px; object-fit:cover; border-radius:10px;}
.vision-item h3{font-size:15.5px; color:var(--green-900); margin-bottom:4px;}
.vision-item p{color:#33423a; font-size:15px;}

/* ===== Services ===== */
.services{background:var(--green-950); color:var(--cream); position:relative; overflow:hidden; padding:40px 0;}
.services::before{
  content:""; position:absolute; inset:0;
  background-image: radial-gradient(circle at 90% 10%, rgba(201,162,75,0.08), transparent 40%);
}
.services .kicker .rule{background:linear-gradient(to left, var(--gold), transparent);}
.services .kicker .num{border-color:var(--gold); color:var(--gold);}
.services h2.section-title{color:var(--cream);}
.services .section-sub{color:rgba(246,244,236,0.75);}
.services-grid{position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.service-card{
  background:rgba(246,244,236,0.05);
  border:1px solid rgba(246,244,236,0.12);
  border-radius:14px; padding:18px;
  transition:border-color .25s, background .25s, transform .25s;
}
.service-card:hover{border-color:var(--gold); background:rgba(246,244,236,0.08); transform:translateY(-4px);}
.service-card .ic{
  width:38px; height:38px; border-radius:10px;
  background:rgba(201,162,75,0.15); color:var(--gold);
  display:flex; align-items:center; justify-content:center; margin-bottom:10px;
  font-size:18px;
}
.service-card .block-img{width:100%; height:100px; object-fit:cover; border-radius:10px; margin-bottom:10px;}
.service-card h3{font-family:'Cairo',sans-serif; font-size:16px; margin-bottom:6px; color:var(--white);}
.service-card p{font-size:14px; color:rgba(246,244,236,0.72);}

/* ===== Commitments ===== */
.commit{background:var(--white); padding:40px 0;}
.commit-cols{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.commit-col{background:var(--cream); border-radius:16px; padding:22px; scroll-margin-top:90px;}
.commit-col h3{
  font-family:'Cairo',sans-serif; font-size:18px; color:var(--green-900);
  margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid rgba(11,46,31,0.1);
  display:flex; align-items:center; gap:10px;
}
.commit-col h3 .dot{width:9px; height:9px; border-radius:50%; background:var(--gold);}
.commit-col ul{list-style:none; display:grid; gap:9px;}
.commit-col li{position:relative; padding-inline-end:22px; font-size:14.5px; color:#33423a;}
.commit-col li p{margin:0;}
.commit-col li::before{content:"›"; position:absolute; inset-inline-end:0; top:0; color:var(--gold); font-weight:900; font-size:18px;}
.commit-col li .block-img{width:28px; height:28px; object-fit:cover; border-radius:6px; vertical-align:middle; margin-inline-end:8px;}

/* ===== Card grids (activities / videos / articles / press …) ===== */
.card-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(270px,1fr)); gap:18px;}
.item-card{
  background:var(--white); border-radius:14px; overflow:hidden;
  border:1px solid rgba(11,46,31,0.08); box-shadow:0 2px 10px rgba(11,46,31,0.05);
  transition:transform .2s, box-shadow .2s;
}
.item-card:hover{transform:translateY(-4px); box-shadow:0 14px 28px rgba(11,46,31,0.12);}
.item-card .thumb{aspect-ratio:16/9; overflow:hidden; background:var(--green-950);}
.item-card .thumb img{width:100%; height:100%; object-fit:cover;}
.item-card .body{padding:14px 16px;}
.item-card .tag{
  display:inline-block; font-family:'Cairo',sans-serif; font-size:11.5px; font-weight:700;
  color:var(--green-800); background:rgba(201,162,75,0.16); padding:3px 10px; border-radius:999px; margin-bottom:8px;
}
.item-card .date{display:block; font-size:12px; color:#7a8880; margin-bottom:5px;}
.item-card h3{font-size:15px; line-height:1.5; color:var(--green-950);}
.video-card .thumb{position:relative;}
.video-card .thumb::after{
  content:"▶"; position:absolute; inset:0; margin:auto; width:52px; height:52px;
  background:rgba(11,46,31,0.75); color:var(--gold); border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:18px;
  border:1px solid rgba(201,162,75,0.5);
}
.empty-state{
  grid-column:1/-1; text-align:center; padding:50px 20px; color:#7a8880;
  background:var(--white); border-radius:14px; border:1px dashed rgba(11,46,31,0.15);
  font-size:15px;
}

/* ===== Year tabs (activites.html) ===== */
.year-tabs{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:36px;}
.year-tab{
  font-family:'Cairo',sans-serif; font-weight:700; font-size:14px;
  padding:10px 22px; border-radius:999px; cursor:pointer;
  border:1px solid rgba(11,46,31,0.18); color:var(--green-900);
  background:var(--white); transition:all .2s;
}
.year-tab:hover{border-color:var(--gold); color:var(--green-950);}
.year-tab.active{background:var(--green-950); border-color:var(--green-950); color:var(--gold);}
.year-panel{display:none;}
.year-panel.active{display:block;}

/* ===== Feed items (full-content listing: activités / articles / presse / statements / partenariats / hommages) ===== */
.feed-list{display:flex; flex-direction:column; gap:28px;}
.feed-item{
  background:var(--white); border-radius:16px; padding:32px;
  border:1px solid rgba(11,46,31,0.08); box-shadow:0 2px 10px rgba(11,46,31,0.05);
}
.feed-item .feed-meta{display:flex; align-items:center; gap:12px; margin-bottom:14px; flex-wrap:wrap;}
.feed-item h2{font-size:19.5px; line-height:1.6; color:var(--green-950); margin-bottom:18px;}
.feed-item .feed-image{border-radius:10px; overflow:hidden; margin-bottom:18px; background:var(--green-950);}
.feed-item .feed-image img{width:100%; max-height:460px; object-fit:cover; display:block;}
.feed-item .feed-gallery{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:10px; margin-bottom:18px;
}
.feed-item .feed-gallery img{width:100%; height:130px; object-fit:cover; border-radius:8px; display:block;}
.feed-item .feed-body p{margin-bottom:14px; font-size:15.5px; color:#33423a; line-height:1.9;}
.feed-item .feed-body p:last-child{margin-bottom:0;}
.feed-item .feed-source{
  display:inline-flex; margin-top:8px; font-family:'Cairo',sans-serif; font-weight:700;
  font-size:13.5px; color:var(--green-800); border-bottom:2px solid var(--gold); padding-bottom:2px;
}
.feed-item .feed-source:hover{color:var(--green-700);}
.subsection-title{font-size:22px; color:var(--green-950); margin-bottom:24px;}

/* ===== President page (fits one screen, with expand/collapse) ===== */
.president-page{min-height:calc(100vh - 72px); display:flex; align-items:center; padding:40px 0;}
.president-page > .wrap{width:100%;}
.president-page .kicker{margin-bottom:14px;}
.president-page .section-title{margin-bottom:22px;}
.president-page-body{max-width:78ch;}
.president-page-body .feed-meta{margin-bottom:10px;}
.president-page-name{font-size:20px; color:var(--green-900); margin-bottom:14px;}
.president-page-text{
  position:relative; max-height:220px; overflow:hidden;
  transition:max-height .3s ease;
}
.president-page-body.expanded .president-page-text{max-height:4000px;}
.president-page-text::after{
  content:""; position:absolute; inset-inline:0; bottom:0; height:70px;
  background:linear-gradient(to bottom, transparent, var(--white));
  pointer-events:none; transition:opacity .2s;
}
.president-page-body.expanded .president-page-text::after{opacity:0;}
.president-page-text p{margin-bottom:14px; font-size:15.5px; color:#33423a; line-height:1.9;}
.president-page-text .block-img{border-radius:12px; margin-bottom:14px;}
.president-page-toggle{
  margin-top:16px; background:none; border:none; cursor:pointer;
  font-family:'Cairo',sans-serif; font-weight:700; font-size:14px; color:var(--green-800);
  border-bottom:2px solid var(--gold); padding-bottom:3px;
}
.president-page-toggle:hover{color:var(--green-700);}
@media (max-width:860px){
  .president-page{min-height:0; padding:24px 0;}
}

/* ===== Forms (adhesion.php) ===== */
.form-card{
  background:var(--white); border-radius:16px; padding:40px;
  border:1px solid rgba(11,46,31,0.08); box-shadow:0 2px 10px rgba(11,46,31,0.05);
  max-width:760px; margin:0 auto;
}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
.form-field{display:flex; flex-direction:column; gap:8px;}
.form-field.full{grid-column:1/-1;}
.form-field label{font-family:'Cairo',sans-serif; font-weight:700; font-size:14px; color:var(--green-900);}
.form-field label .req{color:var(--gold);}
.form-field input, .form-field textarea, .form-field select{
  padding:12px 14px; border-radius:8px; border:1px solid rgba(11,46,31,0.18);
  font-family:'Tajawal',sans-serif; font-size:15px; color:var(--ink); background:var(--cream);
  transition:border-color .2s; width:100%;
}
.form-field input:focus, .form-field textarea:focus, .form-field select:focus{outline:none; border-color:var(--gold);}
.form-field textarea{resize:vertical; min-height:130px;}
.form-field select{cursor:pointer;}
.form-field input[type="file"]{padding:9px 12px; cursor:pointer; background:var(--white);}
.form-field .field-note{font-size:12.5px; color:#7a8880;}
.form-section-title{
  font-family:'Cairo',sans-serif; font-weight:800; font-size:16px; color:var(--green-900);
  grid-column:1/-1; padding-top:6px; margin-top:6px; border-top:1px solid rgba(11,46,31,0.08);
}
.form-grid > .form-section-title:first-child{border-top:none; padding-top:0; margin-top:0;}
.radio-group{display:flex; gap:20px; align-items:center;}
.radio-group label{
  display:flex; align-items:center; gap:6px; font-family:'Tajawal',sans-serif;
  font-weight:400; font-size:15px; color:var(--ink); cursor:pointer;
}
.radio-group input{width:auto;}
.form-field.checkbox-field{flex-direction:row; align-items:flex-start; gap:10px;}
.form-field.checkbox-field input{width:auto; margin-top:4px; flex-shrink:0;}
.form-field.checkbox-field label{font-weight:400; font-size:14.5px; line-height:1.7; color:var(--ink);}
.form-field.checkbox-field label .req{color:var(--gold);}
.form-submit-date{font-size:13px; color:#7a8880; margin-top:2px;}
.form-actions{margin-top:10px; display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
.form-actions .btn{border:none; cursor:pointer;}
.btn:disabled{opacity:.6; cursor:not-allowed; transform:none !important; box-shadow:none !important;}
.form-status{font-family:'Cairo',sans-serif; font-weight:700; font-size:14px; display:none;}
.form-status.success{color:var(--green-700); display:block;}
.form-status.error{color:#b5473c; display:block;}
@media (max-width:640px){
  .form-grid{grid-template-columns:1fr;}
  .form-card{padding:26px;}
}

/* ===== Contact ===== */
.contact{background:linear-gradient(180deg, var(--green-950), var(--green-900)); color:var(--cream); padding:40px 0;}
.contact .kicker .rule{background:linear-gradient(to left, var(--gold), transparent);}
.contact .kicker .num{border-color:var(--gold); color:var(--gold);}
.contact h2.section-title{color:var(--cream);}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:14px;}
.contact-card{background:rgba(246,244,236,0.06); border:1px solid rgba(246,244,236,0.14); border-radius:14px; padding:20px;}
.contact-card .role{font-family:'Cairo',sans-serif; font-size:12.5px; color:var(--gold); letter-spacing:.5px; margin-bottom:5px;}
.contact-card .name{font-family:'Cairo',sans-serif; font-size:18px; margin-bottom:12px;}
.contact-row{display:flex; align-items:center; gap:10px; font-size:14.5px; margin-bottom:7px; color:rgba(246,244,236,0.85);}
.contact-row .ic{color:var(--gold); font-size:16px; width:20px; text-align:center;}
.site-line{margin-top:22px; text-align:center; font-family:'Cairo',sans-serif; font-size:19px; letter-spacing:1px;}
.site-line a{color:var(--gold); border-bottom:1px solid rgba(201,162,75,0.4); padding-bottom:2px;}

/* ===== Join CTA ===== */
.join-cta{
  background:linear-gradient(120deg, var(--gold), #dcb968);
  color:var(--green-950); text-align:center; padding:40px 0;
}
.join-cta h2{font-size:clamp(22px,2.8vw,32px); margin-bottom:10px;}
.join-cta p{max-width:60ch; margin:0 auto 20px; font-size:15.5px; color:rgba(11,46,31,0.82);}
.join-cta .btn-primary{background:var(--green-950); color:var(--cream);}
.join-cta .btn-primary:hover{box-shadow:0 10px 24px rgba(11,46,31,0.3);}

footer{background:var(--green-950); border-top:1px solid var(--line); color:rgba(246,244,236,0.7); padding:50px 0 24px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding-bottom:30px;}
.footer-col h4{font-family:'Cairo',sans-serif; color:var(--cream); font-size:15px; margin-bottom:16px;}
.footer-col p{font-size:13.5px; color:rgba(246,244,236,0.65); max-width:34ch;}
.footer-col ul{list-style:none; display:grid; gap:10px;}
.footer-col ul a{font-size:13.5px; color:rgba(246,244,236,0.65);}
.footer-col ul a:hover{color:var(--gold);}
.footer-social{display:flex; gap:10px; margin-top:16px;}
.footer-social a{
  width:36px; height:36px; border-radius:50%; border:1px solid rgba(246,244,236,0.25);
  display:flex; align-items:center; justify-content:center; font-size:15px; color:var(--cream);
}
.footer-social a:hover{border-color:var(--gold); color:var(--gold);}
.footer-bottom{
  border-top:1px solid var(--line); padding-top:22px; text-align:center;
  color:rgba(246,244,236,0.55); font-size:13px;
}
footer b{color:var(--gold);}

/* ===== Responsive ===== */
@media (max-width:860px){
  header .nav{flex-wrap:wrap;}
  .nav-center{
    display:none;
    position:fixed; inset:66px 0 auto 0; background:var(--green-950);
    flex-direction:column; align-items:stretch; padding:14px 28px; gap:0;
    max-height:calc(100vh - 66px); overflow-y:auto;
    border-bottom:1px solid var(--line);
  }
  .nav-center.open{display:flex;}
  .nav-center > a, .nav-center > .has-dropdown{width:100%;}
  .nav-center > a, .nav-center > .has-dropdown > button{
    display:flex; width:100%; padding:14px 0; border-bottom:1px solid var(--line); justify-content:space-between;
  }
  .has-dropdown .dropdown{
    position:static; opacity:1; visibility:visible; transform:none; display:none;
    background:rgba(246,244,236,0.04); box-shadow:none; margin-top:0; border:none; border-radius:0;
  }
  .has-dropdown.open .dropdown{display:block;}
  .nav-toggle{display:block;}
  .nav-actions{order:3; width:100%; justify-content:flex-start; padding-top:0;}
  .hero{min-height:0; padding:18px 0 28px; align-items:flex-start;}
  .hero-grid{grid-template-columns:1fr; text-align:center; gap:18px;}
  .hero .lead{margin-inline:auto; margin-bottom:14px; font-size:14.5px;}
  .hero-cta{justify-content:center; gap:10px;}
  .hero-cta .btn{padding:11px 20px; font-size:13.5px;}
  .hero-emblem{order:-1;}
  .hero-emblem img{width:110px;}
  .hero-emblem::before{width:140px;height:140px;}
  .hero-emblem::after{width:165px;height:165px;}
  .eyebrow{margin-bottom:10px;}
  .hero h1{margin-bottom:8px;}
  .hero .fr-tag{margin-bottom:10px;}
  .hero-stats{margin-top:18px;}
  .hero-stats div{padding:10px 8px;}
  .hero-stats b{font-size:19px;}
  .hero-stats span{font-size:11px;}
  .about-grid, .commit-cols, .contact-grid, .custom-section-grid{grid-template-columns:1fr;}
  .president-preview-grid.has-photo{grid-template-columns:1fr; justify-items:center; text-align:center; gap:20px;}
  .president-preview-grid.has-photo .president-preview-photo{order:-1; width:150px; height:150px; border-width:4px;}
  .services-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr; gap:28px;}
  section{padding:64px 0;}
  .section-head-row{align-items:flex-start;}
  .about, .president-preview, .vision, .services, .commit,
  .activities-preview, .videos-preview, .contact, .join-cta{
    min-height:0; display:block; padding:44px 0;
  }
}
