/* ── Wigmorean Page Builder — Front-End Styles ─────────────────────────────── */

:root {
  --wig-navy:  #0C1A2E;
  --wig-gold:  #C9A84C;
  --wig-cream: #F7F3EC;
  --wig-blue:  #1A4A8C;
  --wig-muted: #6B7280;
  --wig-ink:   #1A1A2E;
}

/* ── Shared layout ───────────────────────────────────────────────────────────── */
.wig-pb-page { font-family:'DM Sans','Helvetica Neue',Arial,sans-serif; }
.wig-pb-container { max-width:1140px;margin:0 auto;padding:0 32px;box-sizing:border-box; }
.wig-pb-section-title {
  font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;
  color:var(--wig-navy);margin:0 0 12px;line-height:1.2;
}
.wig-pb-label {
  display:inline-block;background:var(--wig-gold);color:var(--wig-navy);
  font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;
  padding:4px 14px;border-radius:20px;margin-bottom:16px;
}

/* ── Buttons ─────────────────────────────────────────────────────────────────── */
.wig-pb-btn {
  display:inline-block;padding:14px 32px;border-radius:6px;font-weight:700;
  font-size:.9rem;text-decoration:none;cursor:pointer;border:none;
  transition:transform .15s,box-shadow .15s;
}
.wig-pb-btn:hover { transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.15); }
.wig-pb-btn--gold    { background:var(--wig-gold);color:var(--wig-navy); }
.wig-pb-btn--outline { border:2px solid var(--wig-gold);color:var(--wig-gold);background:transparent;padding:12px 32px; }
.wig-pb-btn--outline-dark { border:2px solid var(--wig-navy);color:var(--wig-navy);background:transparent;padding:12px 32px; }

/* ── Hero ────────────────────────────────────────────────────────────────────── */
.wig-pb-hero { padding:100px 0;overflow:hidden; }
.wig-pb-hero .wig-pb-container {
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
}
@media(max-width:780px){ .wig-pb-hero .wig-pb-container { grid-template-columns:1fr; } }
.wig-pb-hero__title {
  font-size:clamp(2rem,5vw,3.8rem);color:#fff;font-weight:900;
  line-height:1.1;margin:12px 0 20px;
}
.wig-pb-hero__title em { color:var(--wig-gold);font-style:italic; }
.wig-pb-hero__sub { color:rgba(255,255,255,.7);font-size:1.1rem;line-height:1.7;margin-bottom:32px; }
.wig-pb-hero__btns { display:flex;gap:14px;flex-wrap:wrap; }

/* DAG */
.wig-pb-dag { max-width:320px;width:100%; }
.wig-pb-dag svg { width:100%;height:auto; }
.wig-dag-line { animation:wig-draw 1.5s ease forwards; }
.wig-dag-node { animation:wig-pulse 3s ease-in-out infinite; }
@keyframes wig-draw  { to { stroke-dashoffset:0; } }
@keyframes wig-pulse { 0%,100%{opacity:.75;transform:scale(.97)} 50%{opacity:1;transform:scale(1)} }
.wig-dag-line:nth-child(2) { animation-delay:.3s; }
.wig-dag-line:nth-child(3) { animation-delay:.6s; }
.wig-dag-line:nth-child(4) { animation-delay:.9s; }
.wig-dag-line:nth-child(5) { animation-delay:1.1s; }
.wig-dag-line:nth-child(6) { animation-delay:1.3s; }

/* ── Stats band ──────────────────────────────────────────────────────────────── */
.wig-pb-stats { padding:40px 0; }
.wig-pb-stats__grid { display:grid;grid-template-columns:repeat(4,1fr);gap:20px; }
@media(max-width:700px){ .wig-pb-stats__grid { grid-template-columns:repeat(2,1fr); } }
.wig-pb-stat { text-align:center; }
.wig-pb-stat__num { font-size:2.2rem;font-weight:900;line-height:1; }
.wig-pb-stat__lbl { font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-top:4px;opacity:.85; }

/* ── Feature grid ────────────────────────────────────────────────────────────── */
.wig-pb-features { padding:80px 0; }
.wig-pb-features__grid { display:grid;gap:24px;margin-top:40px; }
.wig-pb-cols-3 { grid-template-columns:repeat(3,1fr); }
.wig-pb-cols-2 { grid-template-columns:repeat(2,1fr); }
@media(max-width:780px){ .wig-pb-cols-3,.wig-pb-cols-2 { grid-template-columns:1fr; } }
.wig-pb-feature-card {
  background:#fff;border:1px solid #eee;border-radius:12px;padding:28px 24px;
  transition:transform .15s,box-shadow .15s;
}
.wig-pb-feature-card:hover { transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.08); }
.wig-pb-feature-card__icon { font-size:2rem;margin-bottom:14px; }
.wig-pb-feature-card h3    { font-size:1.1rem;color:var(--wig-navy);margin:0 0 8px; }
.wig-pb-feature-card p     { font-size:.9rem;color:var(--wig-muted);line-height:1.6;margin:0; }

/* ── Image + Text ────────────────────────────────────────────────────────────── */
.wig-pb-imgtext { padding:80px 0; }
.wig-pb-imgtext__row {
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
}
.wig-pb-imgtext--left  .wig-pb-imgtext__img  { order:-1; }
@media(max-width:780px){ .wig-pb-imgtext__row { grid-template-columns:1fr; } }
.wig-pb-imgtext__img img { width:100%;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.12); }
.wig-pb-imgtext__copy p  { color:var(--wig-muted);line-height:1.8;margin:0 0 24px; }

/* ── Text block ──────────────────────────────────────────────────────────────── */
.wig-pb-text { padding:80px 0; }
.wig-pb-text__body { color:var(--wig-muted);line-height:1.8;margin-top:16px; }

/* ── Quote ───────────────────────────────────────────────────────────────────── */
.wig-pb-quote { padding:80px 0; }
.wig-pb-quote blockquote {
  font-size:clamp(1.2rem,2.5vw,1.8rem);line-height:1.6;
  font-style:italic;font-weight:300;max-width:780px;margin:0 auto 20px;text-align:center;
}
.wig-pb-quote cite { display:block;text-align:center;font-size:.85rem;letter-spacing:.08em;opacity:.7; }

/* ── CTA Banner ──────────────────────────────────────────────────────────────── */
.wig-pb-cta { padding:80px 0; }
.wig-pb-cta__inner { text-align:center; }
.wig-pb-cta__sub { color:rgba(255,255,255,.75);font-size:1.1rem;margin:12px 0 32px; }
.wig-pb-cta__btns { display:flex;gap:14px;justify-content:center;flex-wrap:wrap; }
.wig-pb-cta .wig-pb-label { background:rgba(255,255,255,.15);color:#fff; }

/* ── Contact form ────────────────────────────────────────────────────────────── */
.wig-pb-contact { padding:80px 0; }
.wig-pb-contact__inner { max-width:600px;margin:0 auto; }
.wig-pb-form { margin-top:28px; }
.wig-pb-form__row { display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px; }
@media(max-width:600px){ .wig-pb-form__row { grid-template-columns:1fr; } }
.wig-pb-form input,
.wig-pb-form select,
.wig-pb-form textarea {
  width:100%;box-sizing:border-box;padding:12px 16px;margin-bottom:14px;
  border:1px solid #ddd;border-radius:6px;font-size:.95rem;font-family:inherit;
  transition:border-color .15s;
}
.wig-pb-form input:focus,
.wig-pb-form select:focus,
.wig-pb-form textarea:focus { border-color:var(--wig-blue);outline:none;box-shadow:0 0 0 3px rgba(26,74,140,.1); }
.wig-pb-form textarea { min-height:120px;resize:vertical; }
.wig-pb-form__status { margin-top:14px;padding:10px 16px;border-radius:6px;display:none; }
.wig-pb-form__status.success { display:block;background:#e7f7e7;color:#1a7a1a; }
.wig-pb-form__status.error   { display:block;background:#fff0f0;color:#8c1a1a; }

/* ── Countdown ───────────────────────────────────────────────────────────────── */
.wig-pb-countdown { padding:80px 0;text-align:center; }
.wig-pb-countdown__timer {
  display:flex;justify-content:center;gap:32px;flex-wrap:wrap;margin-top:32px;
}
.wig-pb-countdown__unit { text-align:center; }
.wig-pb-cd-num {
  display:block;font-size:clamp(2.5rem,6vw,4rem);font-weight:900;
  color:var(--wig-gold);line-height:1;font-variant-numeric:tabular-nums;
}
.wig-pb-cd-lbl {
  display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;
  color:rgba(255,255,255,.6);margin-top:6px;
}
.wig-pb-countdown__after { color:#fff;font-size:1.4rem;font-weight:700; }

/* ── Team ────────────────────────────────────────────────────────────────────── */
.wig-pb-team { padding:80px 0; }
.wig-pb-team__grid { display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px; }
@media(max-width:780px){ .wig-pb-team__grid { grid-template-columns:1fr; } }
.wig-pb-team-card { text-align:center; }
.wig-pb-team-card__photo {
  width:100px;height:100px;border-radius:50%;object-fit:cover;
  margin:0 auto 16px;display:block;border:3px solid var(--wig-gold);
}
.wig-pb-team-card__avatar {
  width:100px;height:100px;border-radius:50%;background:var(--wig-navy);
  color:var(--wig-gold);font-size:2rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;border:3px solid var(--wig-gold);
}
.wig-pb-team-card h3     { margin:0 0 4px;color:var(--wig-navy); }
.wig-pb-team-card__role  { color:var(--wig-gold);font-size:.85rem;font-weight:600;margin-bottom:10px; }
.wig-pb-team-card p      { color:var(--wig-muted);font-size:.9rem;line-height:1.6; }

/* ── Courses ─────────────────────────────────────────────────────────────────── */
.wig-pb-courses { padding:80px 0; }
.wig-pb-courses__grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px; }
@media(max-width:780px){ .wig-pb-courses__grid { grid-template-columns:1fr; } }
.wig-pb-course-card {
  background:#fff;border:1px solid #eee;border-radius:12px;padding:28px 24px;
  transition:transform .15s,box-shadow .15s;
}
.wig-pb-course-card:hover { transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.08); }
.wig-pb-course-card__num { font-size:1.8rem;margin-bottom:12px; }
.wig-pb-course-card h3   { color:var(--wig-navy);margin:0 0 8px; }
.wig-pb-course-card p    { color:var(--wig-muted);font-size:.88rem;line-height:1.6;margin:0 0 16px; }

/* ── Bar prep CTA ────────────────────────────────────────────────────────────── */
.wig-pb-bar-cta { padding:80px 0; }
.wig-pb-bar-cta__inner { text-align:center; }
.wig-pb-bar-cta__badge {
  display:inline-block;border:2px solid var(--wig-gold);color:var(--wig-gold);
  padding:4px 18px;border-radius:4px;font-size:.8rem;font-weight:700;
  letter-spacing:.2em;margin-bottom:20px;
}

/* ── Proof engine intro ──────────────────────────────────────────────────────── */
.wig-pb-proof { padding:80px 0; }
.wig-pb-proof__inner { display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:32px; }
@media(max-width:780px){ .wig-pb-proof__inner { grid-template-columns:1fr; } }
.wig-pb-proof__text p { color:var(--wig-muted);line-height:1.8;margin-bottom:24px; }

/* ── Service times ───────────────────────────────────────────────────────────── */
.wig-pb-services { padding:80px 0; }
.wig-pb-services__grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px; }
@media(max-width:780px){ .wig-pb-services__grid { grid-template-columns:1fr; } }
.wig-pb-service-card {
  border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:24px;text-align:center;
}
.wig-pb-service-card__day  { color:var(--wig-gold);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px; }
.wig-pb-service-card__time { color:#fff;font-size:1.3rem;font-weight:700;margin-bottom:6px; }
.wig-pb-service-card__name { color:rgba(255,255,255,.7);font-size:.9rem; }

/* ── Giving / Prayer / Volunteer / Donate ────────────────────────────────────── */
.wig-pb-giving,
.wig-pb-prayer,
.wig-pb-volunteer { padding:80px 0; }
.wig-pb-giving__inner,
.wig-pb-prayer__inner,
.wig-pb-volunteer__inner { max-width:600px;margin:0 auto;text-align:center; }
.wig-pb-giving h2,.wig-pb-prayer h2,.wig-pb-volunteer h2 { margin-bottom:16px; }
.wig-pb-giving p,.wig-pb-prayer p,.wig-pb-volunteer p { margin-bottom:28px;line-height:1.7; }

/* ── Impact numbers ──────────────────────────────────────────────────────────── */
.wig-pb-impact { padding:80px 0; }
.wig-pb-impact__grid { display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px; }
@media(max-width:700px){ .wig-pb-impact__grid { grid-template-columns:repeat(2,1fr); } }
.wig-pb-impact-card { text-align:center; }
.wig-pb-impact-card__num { font-size:2.4rem;font-weight:900;color:var(--wig-gold);line-height:1; }
.wig-pb-impact-card__lbl { font-size:.82rem;color:rgba(255,255,255,.7);margin-top:6px; }

/* ── Promo Banner ────────────────────────────────────────────────────────────── */
.wig-pb-promo-banner { padding:12px 0;position:relative;z-index:10; }
.wig-pb-promo-banner__inner {
  display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;
}
.wig-pb-promo-banner__text { font-weight:600;font-size:.95rem; }
.wig-pb-promo-banner .wig-pb-btn--outline {
  border-color:currentColor;color:inherit;padding:6px 18px;font-size:.82rem;
}

/* ── Product Grid ────────────────────────────────────────────────────────────── */
.wig-pb-products { padding:80px 0; }
.wig-pb-products__grid { display:grid;gap:24px;margin-top:40px; }
.wig-pb-product-card {
  background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden;
  position:relative;transition:transform .15s,box-shadow .15s;
}
.wig-pb-product-card:hover { transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.1); }
.wig-pb-product-card__badge {
  position:absolute;top:12px;right:12px;z-index:2;
  background:var(--wig-gold);color:var(--wig-navy);
  font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:20px;text-transform:uppercase;
}
.wig-pb-product-card__img {
  width:100%;height:220px;object-fit:cover;display:block;
}
.wig-pb-product-card__placeholder {
  width:100%;height:220px;background:var(--wig-cream);
  display:flex;align-items:center;justify-content:center;font-size:3.5rem;
}
.wig-pb-product-card__body  { padding:20px; }
.wig-pb-product-card__body h3 { margin:0 0 6px;font-size:1rem;color:var(--wig-navy); }
.wig-pb-product-card__body h3 a { color:inherit;text-decoration:none; }
.wig-pb-product-card__body h3 a:hover { color:var(--wig-gold); }
.wig-pb-product-card__body p  { color:var(--wig-muted);font-size:.85rem;margin:0 0 10px;line-height:1.5; }
.wig-pb-product-card__price {
  font-size:1.25rem;font-weight:900;color:var(--wig-navy);margin-bottom:14px;
}
.wig-pb-btn--sm { padding:9px 20px;font-size:.82rem; }

/* ── Pricing Table ───────────────────────────────────────────────────────────── */
.wig-pb-pricing { padding:80px 0; }
.wig-pb-pricing__sub { color:var(--wig-muted);text-align:center;margin:-4px 0 36px;font-size:1rem; }
.wig-pb-pricing__grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:16px;align-items:start;
}
@media(max-width:780px){ .wig-pb-pricing__grid { grid-template-columns:1fr; } }
.wig-pb-pricing-card {
  background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:36px 28px;
  position:relative;overflow:hidden;transition:box-shadow .15s;
}
.wig-pb-pricing-card:hover { box-shadow:0 12px 32px rgba(0,0,0,.1); }
.wig-pb-pricing-card--featured {
  border-color:var(--wig-gold);box-shadow:0 8px 40px rgba(201,168,76,.2);
  transform:scale(1.03);
}
.wig-pb-pricing-card__ribbon {
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  background:var(--wig-gold);color:var(--wig-navy);
  font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  padding:4px 20px;border-radius:0 0 8px 8px;
}
.wig-pb-pricing-card__name {
  font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  color:var(--wig-muted);margin-bottom:12px;margin-top:12px;
}
.wig-pb-pricing-card--featured .wig-pb-pricing-card__name { color:var(--wig-gold); }
.wig-pb-pricing-card__price {
  font-size:2.6rem;font-weight:900;color:var(--wig-navy);line-height:1;margin-bottom:6px;
}
.wig-pb-pricing-card__billing { font-size:1rem;color:var(--wig-muted);font-weight:400; }
.wig-pb-pricing-card__desc {
  font-size:.85rem;color:var(--wig-muted);margin-bottom:20px;line-height:1.5;
}
.wig-pb-pricing-card__features {
  list-style:none;padding:0;margin:0 0 28px;
  border-top:1px solid #eee;padding-top:20px;
}
.wig-pb-pricing-card__features li {
  font-size:.88rem;color:var(--wig-ink);padding:5px 0;
  border-bottom:1px solid #f5f5f5;
}
.wig-pb-pricing-card .wig-pb-btn { width:100%;text-align:center;display:block; }

/* ── Trust Badges ────────────────────────────────────────────────────────────── */
.wig-pb-trust { padding:32px 0;border-top:1px solid #eee;border-bottom:1px solid #eee; }
.wig-pb-trust__grid {
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
@media(max-width:700px){ .wig-pb-trust__grid { grid-template-columns:repeat(2,1fr); } }
.wig-pb-trust-badge { display:flex;align-items:flex-start;gap:14px; }
.wig-pb-trust-badge__icon { font-size:1.8rem;min-width:36px;line-height:1; }
.wig-pb-trust-badge__title { font-weight:700;font-size:.9rem;color:var(--wig-navy);margin-bottom:2px; }
.wig-pb-trust-badge__text  { font-size:.8rem;color:var(--wig-muted);line-height:1.4; }

/* ── WooCommerce Product Grid ────────────────────────────────────────────────── */
.wig-pb-products--woo .wig-pb-product-card__img-wrap { display:block; }

/* Sale / stock badges */
.wig-pb-badge--sale    { background:#C9A84C;color:#0C1A2E; }
.wig-pb-badge--soldout { background:#6B7280;color:#fff; }
.wig-pb-badge--low     { background:#1A4A8C;color:#fff; }

/* WC price html (handles <del> sale price styling) */
.wig-pb-product-card__price del  { color:#9ca3af;font-size:.9em;font-weight:400;margin-right:6px; }
.wig-pb-product-card__price ins  { text-decoration:none;color:#C9A84C; }

/* Star ratings */
.wig-pb-product-card__rating { display:flex;align-items:center;gap:5px;margin-bottom:6px; }
.wig-pb-stars       { color:#C9A84C;font-size:1rem;letter-spacing:.05em; }
.wig-pb-rating-count{ color:#9ca3af;font-size:.78rem; }

/* Stock status */
.wig-pb-product-card__stock { font-size:.78rem;margin-bottom:8px;font-weight:600; }
.wig-pb-stock--low  { color:#d97706; }
.wig-pb-stock--out  { color:#6B7280; }

/* Add to Cart button state */
.wig-pb-add-to-cart.loading { opacity:.6;pointer-events:none;cursor:wait; }
.wig-pb-add-to-cart.added   { background:#1a7a1a;border-color:#1a7a1a; }

/* Cart count chip (appears in nav after add) */
.wig-pb-cart-chip {
  position:fixed;bottom:24px;right:24px;z-index:9999;
  background:var(--wig-navy);color:var(--wig-gold);
  padding:12px 20px;border-radius:40px;font-size:.9rem;font-weight:700;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
  display:flex;align-items:center;gap:10px;
  animation:wig-slide-up .3s ease;
}
.wig-pb-cart-chip a { color:var(--wig-gold);text-decoration:underline; }
.wig-pb-cart-chip__close { background:none;border:none;color:var(--wig-gold);cursor:pointer;font-size:1rem;padding:0 0 0 6px; }
@keyframes wig-slide-up { from{transform:translateY(20px);opacity:0} to{transform:translateY(0);opacity:1} }

/* ── Cart Upsell Banner ──────────────────────────────────────────────────────── */
.wig-pb-cart-upsell { padding:14px 0; }
.wig-pb-cart-upsell__inner {
  display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;
}
.wig-pb-cart-upsell__msg  { font-weight:600;font-size:.95rem; }
.wig-pb-cart-upsell__text { font-weight:600;font-size:.95rem; }
.wig-pb-cart-upsell__bar-wrap {
  width:200px;height:6px;background:rgba(255,255,255,.25);
  border-radius:3px;overflow:hidden;
}
.wig-pb-cart-upsell__bar {
  height:100%;background:var(--wig-gold);border-radius:3px;
  transition:width .5s ease;
}
.wig-pb-cart-upsell .wig-pb-btn--outline {
  border-color:currentColor;color:inherit;padding:6px 18px;font-size:.82rem;
}

/* ── Full-width Page Builder pages ───────────────────────────────────────────
   Hides the default WordPress page title and removes theme padding/container
   constraints when a page is built entirely with the Wigmorean Page Builder.  */
.wig-pb-page-wrap .entry-title,
.wig-pb-page-wrap h1.page-title,
.wig-pb-page-wrap .page-header { display: none !important; }

.wig-pb-page-wrap .entry-content,
.wig-pb-page-wrap .page-content,
.wig-pb-page-wrap article.page { padding: 0 !important; margin: 0 !important; }

/* Remove max-width constraints the theme may impose */
.wig-pb-page-wrap .site-content,
.wig-pb-page-wrap .content-area,
.wig-pb-page-wrap main#main { max-width: 100% !important; width: 100% !important; padding: 0 !important; }

/* ── v1.0.0 additions ─────────────────────────────────────────────────────── */

/* ── Prayer Times (Mosque) ───────────────────────────────────────────────── */
.wig-pb-prayer-times { padding:80px 0; }
.wig-pb-prayer-times .wig-pb-section-title { color:#fff; }
.wig-pb-prayer-grid {
  display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:40px;
}
@media(max-width:780px){ .wig-pb-prayer-grid { grid-template-columns:repeat(2,1fr); } }
.wig-pb-prayer-card {
  background:rgba(255,255,255,.08);border:1px solid rgba(201,168,76,.3);
  border-radius:10px;padding:20px;text-align:center;
}
.wig-pb-prayer-card__name {
  font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  color:var(--wig-gold);margin-bottom:8px;
}
.wig-pb-prayer-card__time { font-size:1.4rem;font-weight:900;color:#fff; }
.wig-pb-prayer-jummah {
  display:flex;align-items:center;gap:16px;margin-top:28px;
  padding:16px 20px;background:rgba(201,168,76,.15);border-radius:8px;
  border-left:4px solid var(--wig-gold);
}
.wig-pb-prayer-jummah .wig-pb-label { margin:0; }
.wig-pb-prayer-jummah__time { font-size:1.3rem;font-weight:900;color:#fff; }
.wig-pb-prayer-addr { color:rgba(255,255,255,.6);margin-top:20px;font-size:.9rem; }

/* ── Department Grid (Education) ──────────────────────────────────────────── */
.wig-pb-dept-grid { padding:80px 0; }
.wig-pb-dept-grid__items {
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;
}
@media(max-width:780px){ .wig-pb-dept-grid__items { grid-template-columns:1fr 1fr; } }
@media(max-width:480px){ .wig-pb-dept-grid__items { grid-template-columns:1fr; } }
.wig-pb-dept-card {
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;padding:28px 20px;background:#fff;border:1px solid #eee;border-radius:12px;
  text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;
}
.wig-pb-dept-card:hover {
  transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.08);
  border-color:var(--wig-gold);
}
.wig-pb-dept-card__icon { font-size:2.4rem; }
.wig-pb-dept-card__name {
  font-size:.95rem;font-weight:700;color:var(--wig-navy);text-align:center;
}

/* ── Community Group Navigator ────────────────────────────────────────────── */
.wig-pb-group-nav { padding:80px 0; }
.wig-pb-group-tree {
  list-style:none;padding:0;margin:32px 0 0;
  display:flex;flex-direction:column;gap:10px;
}
.wig-pb-group-tree--depth-1 {
  margin-left:32px;margin-top:10px;
  border-left:3px solid rgba(201,168,76,.3);padding-left:16px;
}
.wig-pb-group-tree--depth-2 {
  margin-left:32px;margin-top:8px;
  border-left:3px solid rgba(26,74,140,.25);padding-left:16px;
}
.wig-pb-group-item {
  background:#fff;border:1px solid #eee;border-radius:10px;overflow:hidden;
}
.wig-pb-group-item--level-0 { border-left:5px solid var(--wig-navy); }
.wig-pb-group-item--level-1 { border-left:5px solid var(--wig-blue); }
.wig-pb-group-item--level-2 { border-left:5px solid var(--wig-gold); }
.wig-pb-group-item__header {
  display:flex;align-items:center;gap:10px;padding:14px 18px;
  flex-wrap:wrap;
}
.wig-pb-group-item__icon   { font-size:1.4rem;min-width:28px; }
.wig-pb-group-item__name   { font-size:1rem;font-weight:700;color:var(--wig-navy);flex:1; }
.wig-pb-group-item__link   { font-size:1rem;font-weight:700;color:var(--wig-navy);text-decoration:none;flex:1; }
.wig-pb-group-item__link:hover { color:var(--wig-gold); }
.wig-pb-group-item__type   {
  font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  background:var(--wig-cream);color:var(--wig-navy);padding:3px 10px;border-radius:12px;
}
.wig-pb-group-item__access {
  font-size:.75rem;color:var(--wig-muted);margin-left:8px;
}
.wig-pb-group-item__desc {
  font-size:.875rem;color:var(--wig-muted);line-height:1.6;
  margin:0;padding:0 18px 14px;
}

/* ── Academic Calendar ────────────────────────────────────────────────────── */
.wig-pb-academic-cal { padding:80px 0; }

/* ── FULL-WIDTH guaranteed overrides ─────────────────────────────────────── */
body.wig-pb-page-wrap {
  /* Remove any body padding themes add */
  padding-top:0 !important;
}
/* Twenty-Twenty-One / Twenty-Twenty-Three / Twenty-Twenty-Four */
body.wig-pb-page-wrap .wp-site-blocks > .alignfull,
body.wig-pb-page-wrap .wp-block-group.alignfull,
body.wig-pb-page-wrap .wp-block-cover.alignfull { padding:0 !important; }

body.wig-pb-page-wrap #page,
body.wig-pb-page-wrap #page-container { margin:0 !important;padding:0 !important; }

/* Ensure the PB page div always goes edge-to-edge */
.wig-pb-page { width:100%;max-width:100%;margin:0;padding:0; }

/* ═══════════════════════════════════════════════════════════════════════
   NEW SECTIONS & FEATURES — v1.0.0 Feature Expansion
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Entrance Animations ──────────────────────────────────────────────── */
.wig-anim { opacity: 0; transition: opacity .6s ease, transform .6s ease; }
.wig-anim--fade-up    { transform: translateY(30px); }
.wig-anim--fade-in    { transform: none; }
.wig-anim--slide-left { transform: translateX(-40px); }
.wig-anim--slide-right{ transform: translateX(40px); }
.wig-anim--zoom-in    { transform: scale(.92); }
.wig-anim--visible    { opacity: 1 !important; transform: none !important; }

/* ── FAQ Accordion ────────────────────────────────────────────────────── */
.wig-pb-faq { padding: 60px 0; }
.wig-pb-faq__list { max-width: 800px; margin: 0 auto; }
.wig-pb-faq__item { border-bottom: 1px solid #e0e0e0; }
.wig-pb-faq__q {
    padding: 18px 0; cursor: pointer; font-weight: 600; font-size: 1.05rem;
    list-style: none; display: flex; align-items: center; justify-content: space-between;
}
.wig-pb-faq__q::after { content: '+'; font-size: 1.4em; color: #646970; transition: transform .2s; }
.wig-pb-faq__item[open] .wig-pb-faq__q::after { content: '−'; }
.wig-pb-faq__q::-webkit-details-marker { display: none; }
.wig-pb-faq__a { padding: 0 0 18px; color: #555; line-height: 1.7; }

/* ── Testimonial Grid ─────────────────────────────────────────────────── */
.wig-pb-testimonials { padding: 60px 0; }
.wig-pb-testimonials__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; margin-top: 32px; }
.wig-pb-testimonial-card { background: #fff; border-radius: 10px; padding: 28px; box-shadow: 0 2px 12px rgba(0,0,0,.06); }
.wig-pb-testimonial-card__quote { font-style: italic; color: #333; line-height: 1.7; margin-bottom: 16px; }
.wig-pb-testimonial-card__footer { display: flex; align-items: center; gap: 12px; }
.wig-pb-testimonial-card__avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.wig-pb-testimonial-card__author { font-weight: 600; font-size: .9rem; color: #555; }

/* ── Form Embed ───────────────────────────────────────────────────────── */
.wig-pb-form-embed { padding: 60px 0; }

/* ── Shortcode Embed ──────────────────────────────────────────────────── */
.wig-pb-sc-embed { padding: 60px 0; }

/* ── Popup ─────────────────────────────────────────────────────────────── */
.wig-popup {
    display: none; position: fixed; inset: 0; z-index: 999999;
    align-items: center; justify-content: center;
}
.wig-popup__overlay {
    position: absolute; inset: 0; background: rgba(0,0,0,.55);
}
.wig-popup__box {
    position: relative; z-index: 1; background: #fff; border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0,0,0,.3); overflow: hidden;
    max-height: 90vh; overflow-y: auto; width: 90%; animation: wigPopupIn .3s ease;
}
.wig-popup__box.wig-popup--center { /* default */ }
.wig-popup__box.wig-popup--top    { align-self: flex-start; margin-top: 40px; }
.wig-popup__box.wig-popup--bottom { align-self: flex-end; margin-bottom: 40px; }
.wig-popup__close {
    position: absolute; top: 12px; right: 14px; z-index: 2;
    background: rgba(0,0,0,.06); border: none; border-radius: 50%;
    width: 32px; height: 32px; font-size: 20px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    color: #333; transition: background .2s;
}
.wig-popup__close:hover { background: rgba(0,0,0,.12); }
.wig-popup__content { padding: 0; }
.wig-popup__content .wig-pb-page { margin: 0; }
.wig-popup__content section { border-radius: 0; }
@keyframes wigPopupIn { from { opacity:0; transform:scale(.95) translateY(10px); } to { opacity:1; transform:none; } }

/* ═══════════════════════════════════════════════════════════════════
   Branded Assembly Sections — Design System
   Uses CSS variables from the Wigmorean design system:
   --fh: Cinzel  --fb: Cormorant Garamond  --fu: Jost
   --cr: #2271b1  --gd: #646970  --db: #1d2327  --cm: #f6f7f7
   --td: #1A1008  --tm: #6B5A4A  --in: #1A1A3E
   ═══════════════════════════════════════════════════════════════════ */

/* ── Branded Hero ──────────────────────────────────────────────── */
.wig-pb-branded-hero { padding: 120px 24px; text-align: center; }
.wig-pb-branded-hero__kicker {
    font-family: var(--fu, 'Jost', sans-serif); font-size: 11px; font-weight: 400;
    letter-spacing: 5px; text-transform: uppercase; color: rgba(197,151,59,.8); margin-bottom: 12px;
}
.wig-pb-branded-hero__title {
    font-family: var(--fh, 'Cinzel', serif); font-size: clamp(32px, 5vw, 60px);
    font-weight: 700; color: var(--cm, #f6f7f7); margin-bottom: 16px; line-height: 1.15;
}
.wig-pb-branded-hero__subtitle {
    font-family: var(--fb, 'Cormorant Garamond', serif); font-size: 20px;
    font-style: italic; color: var(--gd, #646970);
}

/* ── Feature Grid ────────────────────────────────────────── */
.wig-pb-branded-faith { padding: 80px 24px; }
.wig-pb-branded-faith__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.wig-pb-branded-faith__kicker {
    font-family: var(--fu, 'Jost', sans-serif); font-size: 11px; font-weight: 400;
    letter-spacing: 5px; text-transform: uppercase; color: var(--gd, #646970); margin-bottom: 8px;
}
.wig-pb-branded-faith__title {
    font-family: var(--fh, 'Cinzel', serif); font-size: clamp(28px, 3.5vw, 42px);
    font-weight: 700; color: var(--td, #1A1008); margin-bottom: 16px;
}
.wig-pb-branded-faith__divider { width: 60px; height: 3px; background: var(--gd, #646970); margin-bottom: 24px; }
.wig-pb-branded-faith__para {
    font-family: var(--fb, 'Cormorant Garamond', serif); font-size: 18px;
    color: var(--tm, #6B5A4A); line-height: 1.8; margin-bottom: 20px;
}
.wig-pb-branded-faith__principles-heading {
    font-family: var(--fh, 'Cinzel', serif); font-size: 20px; font-weight: 700;
    color: var(--td, #1A1008); margin-bottom: 24px;
}
.wig-pb-branded-faith__principles { list-style: none; padding: 0; margin: 0; }
.wig-pb-branded-faith__principles li {
    display: grid; grid-template-columns: auto 1fr; gap: 20px; padding: 20px 0;
    border-bottom: 1px solid rgba(197,151,59,.15);
}
.wig-pb-branded-faith__num {
    font-family: var(--fh, 'Cinzel', serif); font-size: 24px; font-weight: 700;
    color: var(--gd, #646970);
}
.wig-pb-branded-faith__principle-text h4 {
    font-family: var(--fh, 'Cinzel', serif); font-size: 16px; font-weight: 600;
    color: var(--td, #1A1008); margin-bottom: 6px;
}
.wig-pb-branded-faith__principle-text p {
    font-family: var(--fb, 'Cormorant Garamond', serif); font-size: 16px;
    color: var(--tm, #6B5A4A); line-height: 1.65;
}
@media (max-width: 900px) { .wig-pb-branded-faith__grid { grid-template-columns: 1fr; } }

/* ── Leadership Grid ───────────────────────────────────── */
.wig-pb-branded-leaders { padding: 80px 24px; }
.wig-pb-branded-leaders__kicker {
    font-family: var(--fu, 'Jost', sans-serif); font-size: 11px; font-weight: 400;
    letter-spacing: 5px; text-transform: uppercase; color: var(--gd, #646970); margin-bottom: 8px;
}
.wig-pb-branded-leaders__title {
    font-family: var(--fh, 'Cinzel', serif); font-size: clamp(28px, 3.5vw, 42px);
    font-weight: 700; color: var(--td, #1A1008); margin-bottom: 16px;
}
.wig-pb-branded-leaders__subtitle {
    font-family: var(--fb, 'Cormorant Garamond', serif); font-size: 18px;
    color: var(--tm, #6B5A4A); line-height: 1.7; max-width: 680px; margin-bottom: 20px;
}
.wig-pb-branded-leaders__grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 40px;
}
.wig-pb-branded-leaders__card {
    background: var(--cm, #f6f7f7); border: 1px solid rgba(197,151,59,.15);
    border-radius: 8px; padding: 28px;
}
.wig-pb-branded-leaders__role {
    font-family: var(--fu, 'Jost', sans-serif); font-size: 10px; font-weight: 600;
    letter-spacing: 2px; text-transform: uppercase; color: var(--gd, #646970); margin-bottom: 8px;
}
.wig-pb-branded-leaders__name {
    font-family: var(--fh, 'Cinzel', serif); font-size: 17px; font-weight: 700;
    color: var(--td, #1A1008); margin-bottom: 6px;
}
.wig-pb-branded-leaders__desc {
    font-family: var(--fb, 'Cormorant Garamond', serif); font-size: 15px;
    color: var(--tm, #6B5A4A); line-height: 1.65;
}
@media (max-width: 900px) { .wig-pb-branded-leaders__grid { grid-template-columns: 1fr; } }

/* ── Branded CTA ───────────────────────────────────────────────── */
.wig-pb-branded-cta { padding: 100px 24px; text-align: center; }
.wig-pb-branded-cta__title {
    font-family: var(--fh, 'Cinzel', serif); font-size: clamp(26px, 4vw, 42px);
    font-weight: 700; color: var(--cm, #f6f7f7); margin-bottom: 20px;
}
.wig-pb-branded-cta__content {
    font-family: var(--fb, 'Cormorant Garamond', serif); font-size: 18px;
    color: rgba(250,243,232,.75); line-height: 1.7; margin-bottom: 36px;
}
.wig-pb-branded-cta__btn {
    display: inline-block; background: var(--gd, #646970); color: var(--db, #1d2327);
    font-family: var(--fu, 'Jost', sans-serif); font-size: 13px; font-weight: 600;
    letter-spacing: 1.5px; text-transform: uppercase; text-decoration: none;
    padding: 16px 36px; border-radius: 4px;
}
.wig-pb-branded-cta__btn:hover { opacity: .9; }
.wig-pb-branded-cta__closing {
    font-family: var(--fh, 'Cinzel', serif); font-size: 28px; font-weight: 700;
    color: var(--gd, #646970); margin-top: 48px;
}

/* ─── Gallery hover effects + captions (v1.0.0) ─── */
.wig-pb-gallery-item{position:relative;margin:0;overflow:hidden;border-radius:6px;}
.wig-pb-gallery-item img{display:block;width:100%;height:auto;transition:transform .35s ease,filter .35s ease;}
.wig-pb-hover--zoom:hover{transform:scale(1.06);}
.wig-pb-gallery-item:has(.wig-pb-hover--overlay):hover img{filter:brightness(.6);}
.wig-pb-hover--overlay:hover{filter:brightness(.6);}
.wig-pb-gallery-cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-size:14px;line-height:1.4;padding:18px 12px 10px;pointer-events:none;}
.wig-pb-cap--hover{opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease;}
.wig-pb-gallery-item:hover .wig-pb-cap--hover{opacity:1;transform:translateY(0);}
.wig-pb-cap--always{opacity:1;}
.wig-pb-hover--caption + .wig-pb-gallery-cap,
.wig-pb-gallery-item:hover .wig-pb-hover--caption ~ .wig-pb-gallery-cap{opacity:1;transform:translateY(0);}

/* ── Single image element: figure + caption ───────────────────────────── */
.wig-pb-image{margin:0;display:block;}
.wig-pb-image .wig-pb-img{display:block;max-width:100%;height:auto;}
.wig-pb-caption{display:block;margin-top:10px;font-size:14px;line-height:1.5;color:var(--wig-muted,#646970);text-align:center;font-style:italic;}

