@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=Quicksand:wght@300..700&display=swap");

/* ============================================================
   FAWS Women Org – Header & Footer CSS
   ============================================================ */

/* RESET */
*, *::before, *::after { box-sizing: border-box; }

/* ---- HEADER ---- */
#faws-hdr {
  position: sticky;
  top: 0;
  z-index: 9999;
  background: #fff;
  border-bottom: 1px solid #EFE4F6;
  transition: box-shadow .3s;
}
#faws-hdr.scrolled { box-shadow: 0 2px 20px rgba(74,19,97,.10); }

.faws-hdr-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 30px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.faws-logo-link { display:flex; align-items:center; flex-shrink:0; }
.faws-logo-img { height:44px; width:auto; object-fit:contain; }

.faws-nav ul {
  display: flex;
  gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.faws-nav-link {
  font-family: "Nunito Sans", sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #1e1926;
  text-decoration: none;
  padding: 4px 0;
  position: relative;
  transition: color .2s;
}
.faws-nav-link:hover,
.faws-nav-link.active { color: #6B1A8C; }
.faws-nav-link::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -6px;
  height: 2px;
  background: #F5B800;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s;
}
.faws-nav-link:hover::after,
.faws-nav-link.active::after { transform: scaleX(1); }

.faws-hdr-actions { display:flex; align-items:center; gap:16px; }

.faws-cta {
  background: #F5B800;
  color: #2E0A41;
  font-family: "Nunito Sans",sans-serif;
  font-size: 14px;
  font-weight: 600;
  padding: 10px 24px;
  border-radius: 50px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s, transform .15s;
}
.faws-cta:hover { background:#ffc832; transform:translateY(-1px); }

.faws-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  width: 36px;
}
.faws-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: #4A1361;
  border-radius: 2px;
  transition: .3s;
}
.faws-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.faws-toggle.open span:nth-child(2){ opacity:0; }
.faws-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ---- MOBILE DRAWER ---- */
.faws-overlay {
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.5);
  z-index:10000;
}
.faws-overlay.open { display:block; }

.faws-drawer {
  position:fixed;
  top:0; left:-320px;
  width:300px;
  height:100%;
  background:#2E0A41;
  z-index:10001;
  display:flex;
  flex-direction:column;
  padding:0;
  transition:left .3s ease;
  overflow-y:auto;
}
.faws-drawer.open { left:0; }

.faws-drawer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:24px 20px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.faws-drawer-name {
  font-family:"Quicksand",serif;
  font-size:18px;
  font-weight:700;
  color:#F5B800;
}
.faws-drawer-tag {
  font-family:"Nunito Sans",sans-serif;
  font-size:11px;
  color:rgba(255,255,255,.55);
  text-transform:uppercase;
  letter-spacing:1px;
  margin-top:2px;
}
.faws-drawer-close {
  background:none;
  border:none;
  color:rgba(255,255,255,.6);
  font-size:24px;
  cursor:pointer;
  line-height:1;
}
.faws-drawer-nav {
  display:flex;
  flex-direction:column;
  padding:16px 0;
  flex:1;
}
.faws-drawer-nav a {
  font-family:"Nunito Sans",sans-serif;
  font-size:16px;
  font-weight:500;
  color:rgba(255,255,255,.85);
  text-decoration:none;
  padding:14px 24px;
  transition:background .2s;
}
.faws-drawer-nav a:hover,
.faws-drawer-nav a.active { background:rgba(107,26,140,.5); color:#FFE699; }
.faws-drawer-cta {
  display:block;
  margin:16px 20px 24px;
  background:#F5B800;
  color:#2E0A41;
  font-family:"Nunito Sans",sans-serif;
  font-size:15px;
  font-weight:600;
  text-align:center;
  padding:14px;
  border-radius:50px;
  text-decoration:none;
}

/* ---- FOOTER ---- */
#faws-ftr {
  background:#4A1361;
  color:#fff;
  font-family:"Nunito Sans",sans-serif;
  margin-top:0;
}
.faws-ftr-body { padding:72px 30px; }
.faws-ftr-inner {
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  gap:48px;
}
.faws-ftr-tagline {
  font-family:"Quicksand",serif;
  font-size:17px;
  font-weight:700;
  font-style:italic;
  color:#FFE699;
  margin-bottom:12px;
}
.faws-ftr-desc {
  font-size:14px;
  line-height:1.7;
  color:rgba(255,255,255,.65);
  margin:0;
}
.faws-ftr-col h5 {
  font-family:"Nunito Sans",sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:#fff;
  margin:0 0 18px;
}
.faws-ftr-col ul {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.faws-ftr-col ul a {
  font-size:14px;
  color:rgba(255,255,255,.70);
  text-decoration:none;
  transition:color .2s;
  display:flex;
  align-items:center;
  gap:8px;
}
.faws-ftr-col ul a::before { content:"›"; color:#F5B800; font-size:16px; }
.faws-ftr-col ul a:hover { color:#FFE699; }
.faws-ftr-contact {
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:14px;
  font-size:14px;
  color:rgba(255,255,255,.75);
}
.faws-ftr-icon { color:#F5B800; font-size:15px; margin-top:2px; flex-shrink:0; }
.faws-ftr-bar {
  background:#2E0A41;
  border-top:1px solid rgba(255,255,255,.12);
  padding:18px 30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  max-width:100%;
}
.faws-ftr-bar p { margin:0; font-size:13px; color:rgba(255,255,255,.45); }
.faws-ftr-bar a { font-size:13px; color:rgba(255,255,255,.55); text-decoration:none; }
.faws-ftr-bar a:hover { color:#FFE699; }

/* ---- RESPONSIVE ---- */
@media (max-width: 768px) {
  .faws-nav { display:none; }
  .faws-cta { display:none; }
  .faws-toggle { display:flex; }
  .faws-ftr-inner { grid-template-columns:1fr; gap:32px; }
  .faws-hdr-inner { padding:0 20px; }
  .faws-ftr-body { padding:48px 20px; }
  .faws-ftr-bar { padding:16px 20px; }
}

/* Gallery page */
.faws-gallery-img img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  border-radius: 10px;
  display: block;
  transition: transform .3s ease, box-shadow .3s ease;
}
.faws-gallery-img img:hover {
  transform: scale(1.02);
  box-shadow: 0 12px 32px rgba(74,19,97,.18);
}
@media (max-width:768px) {
  .faws-gallery-img img { height: 200px; }
}


/* ===== IMAGE POLISH (FAWS) ===== */
.page-id-6180 .elementor-widget-image{overflow:hidden;border-radius:16px;}
.page-id-6180 .elementor-widget-image img{width:100%;height:300px;object-fit:cover;border-radius:16px;box-shadow:0 10px 26px rgba(74,19,97,.12);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .35s;cursor:zoom-in;}
.page-id-6180 .elementor-widget-image img:hover{transform:scale(1.06);box-shadow:0 20px 46px rgba(74,19,97,.26);}
@media(max-width:767px){.page-id-6180 .elementor-widget-image img{height:230px;}}
/* Programme & About feature images: lift on hover */
.page-id-6169 .elementor-widget-image img,.page-id-6168 .elementor-widget-image img{transition:transform .45s ease,box-shadow .35s;}
.page-id-6169 .elementor-widget-image:hover img,.page-id-6168 .elementor-widget-image:hover img{transform:translateY(-5px);box-shadow:0 22px 48px rgba(74,19,97,.20);}
/* Team avatars subtle ring hover */
.page-id-6190 .elementor-widget-image img{transition:transform .4s ease;}
.page-id-6190 .elementor-widget-image:hover img{transform:scale(1.05);}


/* ===== RESPONSIVE (FAWS) ===== */
@media (min-width:768px) and (max-width:1024px){
  .elementor-element-fh-s5b .elementor-column.elementor-col-25,
  .elementor-element-fh-s7b .elementor-column.elementor-col-25{width:50% !important;}
  .elementor-element-fh-s8 .elementor-col-62{width:60% !important;}
  .elementor-element-fh-s8 .elementor-col-38{width:40% !important;}
}
@media (max-width:767px){
  .elementor-element-fh-s7b .elementor-column.elementor-col-25{width:50% !important;}
  .elementor-element-fh-s4 .elementor-widget-image img{height:320px !important;}
  .page-id-6169 .elementor-widget-image img,.page-id-6168 .elementor-widget-image img{max-height:360px;object-fit:cover;}
  #faws-ftr .faws-ftr-inner{gap:28px;}
}
/* CTA panel: keep buttons tidy, wrap gracefully */
.elementor-element-fh-s8 .elementor-button{white-space:nowrap;}

/* ===== KEEPERS v3 ===== */
body{background-color:#ffffff;}
.elementor-element-fh-s5b .elementor-element-populated{box-shadow:0 16px 28px rgba(150,128,170,.40),11px 0 22px rgba(150,128,170,.16),-11px 0 22px rgba(150,128,170,.16) !important;}
.elementor-element-fh-s5b .elementor-column:hover .elementor-element-populated{box-shadow:0 22px 36px rgba(150,128,170,.48),11px 0 22px rgba(150,128,170,.18),-11px 0 22px rgba(150,128,170,.18) !important;}
.page-id-6190 .elementor-element-ft-r1 .elementor-element-populated,.page-id-6190 .elementor-element-ft-r2 .elementor-element-populated{margin:0 12px 26px !important;}

/* ===== HERO BADGES (FAWS) ===== */
@media(max-width:1024px){.elementor-element-fh-b1,.elementor-element-fh-b2{display:none !important;}}





/* ===== MOBILE CARD GAP (FAWS) ===== */
@media(max-width:767px){.elementor-element-fh-s5b .elementor-element-populated{margin:0 0 28px !important;}.elementor-element-fh-s5b .elementor-column{padding-bottom:0 !important;}}

/* ===== NEWS CARDS (FAWS) ===== */
.elementor-element-fn-s3b .elementor-element-populated{margin:0 14px !important;}
.elementor-element-fn-s3b .elementor-widget-image img{height:170px !important;object-fit:cover;}
.elementor-element-fn-s3b .elementor-widget-heading .elementor-heading-title{font-size:17px !important;line-height:1.3 !important;}
.elementor-element-fn-s3b .elementor-widget-text-editor{font-size:13.5px !important;}
@media(max-width:767px){.elementor-element-fn-s3b .elementor-element-populated{margin:0 0 26px !important;}}

/* ===== CORE VALUES CARDS (FAWS) ===== */
.elementor-element-fa-s4-row > .elementor-container{align-items:stretch;}
.elementor-element-fa-s4-row .elementor-element-populated{margin:0 12px !important;height:100%;}
@media(max-width:1024px){.elementor-element-fa-s4-row .elementor-element-populated{margin:0 8px !important;}}
@media(max-width:767px){.elementor-element-fa-s4-row .elementor-element-populated{margin:0 0 22px !important;}}

/* === FPD-CARDGRID v1 : programme-detail card grids MUST be centered + evenly spaced === */
.fpd-cardgrid > .elementor-container{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:26px;}
.fpd-cardgrid > .elementor-container > .elementor-column{width:calc((100% - 52px)/3) !important;max-width:380px;flex:0 0 auto;}
.fpd-cardgrid > .elementor-container > .elementor-column > .elementor-widget-wrap{height:100%;}
@media(max-width:1024px){.fpd-cardgrid > .elementor-container > .elementor-column{width:calc((100% - 26px)/2) !important;}}
@media(max-width:767px){.fpd-cardgrid > .elementor-container > .elementor-column{width:100% !important;max-width:480px;}}
.fpd-btnrow > .elementor-container{justify-content:center;}

/* === FPD-CARDHOVER v1 === */
.fpd-cardgrid > .elementor-container > .elementor-column{transition:transform .22s ease, box-shadow .22s ease;}
.fpd-cardgrid > .elementor-container > .elementor-column:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(74,19,97,0.18) !important;}
.fpd-cardgrid .elementor-icon-box-wrapper .elementor-icon-box-title a,.fpd-cardgrid .elementor-icon-box-wrapper .elementor-icon-box-title{transition:color .2s;}
.fpd-cardgrid > .elementor-container > .elementor-column:hover .elementor-icon-box-title a{color:#6B1A8C;}
