/*
Theme Name: Nusratul Islam Masjid 2026
Author: Pixel Design
Description: Theme for Nusratul Islam Masjid and Education Centre, Pitt Street, Oldham. Prayer times from the masjid's timetable, service pages and a block pattern for new service pages.
Requires at least: 6.4
Requires PHP: 7.4
Version: 2.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nusratulislam
*/

/* Adds background colour to the header navigation bar */
header nav {
  background-color: rgba(58, 58, 58, 1);
  padding: 8px 24px;
  color: white;
  border-radius: 30px;
}

/* Adds a layer blur background image to the hero section */
@media (min-width: 676px) {
  .hero-blur-black {
    background: url("https://nusratulislam.org/wp-content/uploads/2024/07/layer-blur-black.png")
        no-repeat top right,
      black;
  }
}

@media (max-width: 676px) {
  .hero h1 {
    font-size: 3.3rem !important;
  }
  header nav {
    padding: 3px 20px 3px 3px;
    gap: 15px !important;
  }
  header nav li a,
  .wp-block-navigation__responsive-container-close {
    color: var(--wp--preset--color--contrast) !important;
  }
}

/* Rounds all buttons and adds padding for images by default */
.wp-block-button a {
  border-radius: 30px;
  font-size: 1rem;
  padding: 12px 28px;
}
.wp-block-button a img {
  margin-left: 10px;
}

@media (max-width: 676px) {
  .wp-block-buttons {
    gap: 20px;
  }
}

/* Highlights/underlines a word*/
mark {
  background: linear-gradient(
    180deg,
    transparent 70%,
    #fce305 75%,
    transparent 95%
  );
}

/* For divs that need to be rounded */
.rounded {
  border-radius: 20px;
}

footer {
  margin: 0 !important;
}

/* Make mobile menu responsive */
@media (max-width: 676px) {
  .footer-menus {
    flex-direction: column;
    text-align: center;
  }

  .footer-menus div,
  .footer-menus ul,
  .footer-menus li,
  .footer-menus a,
  .footer-menus nav,
  .footer-menus p {
    width: 100%;
  }

  .footer-menus h2,
  .footer-menus p {
    text-align: center;
  }

  footer > div {
    padding-top: 120px !important;
    padding-bottom: 120px !important;
  }

  footer .wp-container-core-column-is-layout-4 > * + * {
    margin-block-start: 80px;
  }
}

footer .copyright {
  margin-block-start: 40px;
}

.wp-block-navigation.my-custom-navigation-style {
  background-color: #333;
  padding: 10px;
  border-radius: 5px;
}
.wp-block-navigation.my-custom-navigation-style a {
  color: #fff;
  margin-right: 15px;
  text-decoration: none;
  font-weight: bold;
}
.wp-block-navigation.my-custom-navigation-style a:hover {
  color: #f39c12;
}

.tags .wp-block-button {
  text-wrap: nowrap;
}

.tags.wp-block-buttons {
  gap: 8px !important;
}

/* ==========================================================================
   Nusratul Islam Masjid: site design (8 Nov 2026)
   White pages, the logo's black and yellow, the masjid's own icon style,
   Satoshi throughout. One stylesheet for every page.
   ========================================================================== */
:root {
  --nim-ink: #14130f;
  --nim-ink-2: #34312a;
  --nim-muted: #66615a;
  --nim-line: rgba(20, 19, 15, 0.12);
  --nim-white: #ffffff;
  --nim-soft: #f6f4ef;
  --nim-sky: #eefaff;
  --nim-navy: #00303e;
  --nim-gold: #fce305;
  --nim-gold-soft: #fff8c2;
  --nim-radius: 16px;
  --nim-wide: 1200px;
  --nim-gutter: clamp(20px, 4vw, 40px);
  --nim-section: clamp(56px, 6vw, 88px);
  --nim-font: var(--wp--preset--font-family--satoshi), system-ui, sans-serif;
}

/* Base: one side gutter for every full width section, the header and the footer */
body { --wp--style--root--padding-left: var(--nim-gutter) !important; --wp--style--root--padding-right: var(--nim-gutter) !important; }
body { background: var(--nim-white) !important; color: var(--nim-ink-2) !important; font-family: var(--nim-font) !important; }
body p, body li { font-family: var(--nim-font); }
h1, h2, h3, h4, h5, h6, .wp-block-heading { font-family: var(--nim-font) !important; color: var(--nim-ink); letter-spacing: -0.015em; }
mark { background-color: transparent !important; }
main.wp-block-group { margin-top: 0 !important; }
.nim-wrap { max-width: var(--nim-wide); margin: 0 auto; padding: 0 var(--nim-gutter); }
.entry-content > .alignfull { max-width: none !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.entry-content.is-layout-constrained > * + .alignfull { margin-block-start: 0 !important; }
.nim-h2 { margin: 0 0 28px !important; font-size: clamp(1.9rem, 1.3rem + 2vw, 2.6rem) !important; font-weight: 700 !important; line-height: 1.1 !important; color: var(--nim-ink); }
.nim-kicker { margin: 0 0 10px !important; font-size: .9rem !important; font-weight: 700; color: var(--nim-muted); }
.nim-section { padding: var(--nim-section) 0; }
.nim-section--soft { background: var(--nim-soft); }
.nim-section--white { background: var(--nim-white); }
.nim-section--ink { background: var(--nim-ink); color: #fff; }
.nim-section--ink :is(h2, h3) { color: #fff !important; }
.nim-section--gold { background: var(--nim-gold); }

/* Buttons and links */
.nim-btn { display: inline-block; padding: 14px 26px; border-radius: 999px; background: var(--nim-ink); color: #fff !important; font-weight: 600; text-decoration: none !important; line-height: 1.2; transition: opacity 150ms ease-out; }
.nim-btn:hover { opacity: .88; }
.nim-btn--gold { background: var(--nim-gold) !important; color: var(--nim-ink) !important; }
.nim-btn--ghost { background: transparent; color: #fff !important; box-shadow: inset 0 0 0 2px rgba(255,255,255,.7); }
.nim-link { color: var(--nim-ink) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.wp-block-button__link { border-radius: 999px !important; font-family: var(--nim-font); font-weight: 600; transition: opacity 150ms ease-out; }
.wp-block-button__link:hover { opacity: .88; }
.entry-content .wp-block-button:not(.is-style-outline) .wp-block-button__link { background-color: var(--nim-ink) !important; color: #fff !important; }
.entry-content .wp-block-button.is-style-outline .wp-block-button__link { background: none !important; color: var(--nim-ink) !important; border: 0 !important; padding-left: 0 !important; padding-right: 0 !important; text-decoration: underline; text-underline-offset: 5px; }
.wp-block-button__link img { display: none; }

/* Header */
header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
header.wp-block-template-part > * { margin-block: 0 !important; }
.nim-header { background: var(--nim-ink); }
.nim-header__inner { max-width: var(--nim-wide); margin: 0 auto !important; padding: 12px var(--nim-gutter); gap: 24px; }
.nim-header__logo { margin: 0; }
.nim-header__logo img { height: 54px; width: auto; display: block; }
.nim-header__nav { gap: 28px; }
header nav.nim-nav { background: none !important; padding: 0 !important; border-radius: 0 !important; }
.nim-nav .wp-block-navigation__container { gap: 26px !important; }
.nim-nav .wp-block-navigation-item__content { color: rgba(255,255,255,.85) !important; font-weight: 500; }
.nim-nav .wp-block-navigation-item__content:hover { color: #fff !important; }
.nim-header nav.nim-nav .wp-block-button { display: none !important; }
.nim-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--nim-ink) !important; padding: 24px var(--nim-gutter) !important; }
.nim-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: #fff !important; font-size: 1.4rem; }
.nim-nav .wp-block-navigation__responsive-container-open { background: none !important; padding: 6px !important; }
/* Phone menu: left aligned rows on the ink overlay, a visible close button and Donate at the foot */
.nim-nav .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; justify-content: center; align-items: center; }
.nim-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { top: 18px; right: var(--nim-gutter); width: 44px; height: 44px; display: grid; place-items: center; color: #fff !important; }
.nim-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; fill: #fff; }
.nim-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 72px !important; align-items: stretch !important; }
.nim-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: stretch !important; gap: 0 !important; width: 100%; }
.nim-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid rgba(255,255,255,.12); }
.nim-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: flex; align-items: center; min-height: 60px; font-size: 1.5rem !important; font-weight: 600; text-decoration: none !important; }
.nim-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item, .nim-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { justify-content: flex-start !important; align-items: flex-start !important; text-align: left; }
.nim-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { width: 100%; justify-content: flex-start; }
.nim-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible { outline: 2px solid var(--nim-gold); outline-offset: 4px; border-radius: 4px; }
.nim-nav .wp-block-navigation-item.nim-menu-donate { display: none; }
.nim-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.nim-menu-donate { display: block; border: 0; margin-top: 32px; }
.nim-nav .wp-block-navigation__responsive-container.is-menu-open .nim-menu-donate .wp-block-navigation-item__content { justify-content: center; min-height: 52px; border-radius: 999px; background: var(--nim-gold); color: var(--nim-ink) !important; font-size: 1.1rem !important; }

.nim-btn-gold .wp-block-button__link { background: var(--nim-gold) !important; color: var(--nim-ink) !important; padding: 11px 22px !important; font-size: .95rem !important; white-space: nowrap; }
@media (max-width: 781px) {
  .nim-header__nav { gap: 12px; }
  .nim-header__logo img { height: 40px; }
  .nim-btn-gold .wp-block-button__link { padding: 8px 16px !important; }
}

/* Prayer bar on inner pages */
.nim-bar { background: #0b0a08; color: rgba(255,255,255,.75); font-size: .85rem; }
.nim-bar__inner { max-width: var(--nim-wide); margin: 0 auto; padding: 8px var(--nim-gutter); display: flex; align-items: center; gap: 24px; }
.nim-bar__date { display: flex; flex-direction: column; line-height: 1.3; }
.nim-bar__date strong { color: #fff; font-weight: 600; }
.nim-bar__date span { color: var(--nim-gold); }
.nim-bar__times { display: flex; gap: 4px; margin-left: auto; }
.nim-bar__legend, .nim-bar__p { display: grid; text-align: center; padding: 2px 10px; border-radius: 8px; line-height: 1.25; }
.nim-bar__legend { align-content: end; text-align: right; color: rgba(255,255,255,.5); font-size: .75rem; }
.nim-bar__n { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: rgba(255,255,255,.55); }
.nim-bar__j { color: #fff; font-weight: 600; font-variant-numeric: tabular-nums; }
.nim-bar__b { font-variant-numeric: tabular-nums; font-size: .78rem; }
.nim-bar__p.is-next { background: var(--nim-gold); }
.nim-bar__p.is-next span { color: var(--nim-ink) !important; }
.nim-bar__p.is-tomorrow { display: none; }
.nim-bar__p.is-tomorrow.is-next { display: grid; }
.nim-bar__all { color: #fff !important; text-underline-offset: 3px; white-space: nowrap; }
@media (min-width: 901px) { body.home .nim-bar, body.nim-page-prayer-times .nim-bar { display: none; } }
.nim-today--empty { padding: 24px; border-radius: 16px; background: var(--nim-soft); }
@media (max-width: 900px) {
  .nim-bar__legend, .nim-bar__p:not(.is-next), .nim-bar__date span { display: none; }
  .nim-bar__inner { gap: 12px; }
  .nim-bar__all { margin-left: 4px; font-size: .8rem; }
  .nim-bar__p.is-next { grid-template-columns: auto auto; gap: 6px; align-items: center; }
  .nim-bar__p.is-next .nim-bar__b { display: none; }
}

/* Home: welcome hero on a real photo */
.nim-welcome-hero { position: relative; min-height: clamp(520px, 72vh, 680px); display: flex; align-items: center; color: #fff; overflow: hidden; background: var(--nim-ink); }
.nim-welcome-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.nim-welcome-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,9,7,.92) 0%, rgba(10,9,7,.78) 42%, rgba(10,9,7,.25) 100%); }
.nim-welcome-hero__in { position: relative; z-index: 1; width: 100%; padding-top: 72px; padding-bottom: 140px; }
.nim-welcome-hero__in > * { max-width: 640px; }
.nim-welcome-hero .nim-kicker { color: var(--nim-gold) !important; }
.nim-welcome-hero h1 { margin: 0; color: #fff; font-size: clamp(2.5rem, 5vw, 4.25rem); font-weight: 800; line-height: 1.03; letter-spacing: -0.03em; }
.nim-welcome-hero p.nim-welcome-hero__lead { margin: 20px 0 0; font-size: 1.25rem; line-height: 1.55; color: rgba(255,255,255,.88); }
.nim-welcome-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }

/* Home: prayer band over the bottom of the hero */
.nim-band { position: relative; z-index: 2; margin-top: -96px; }
.nim-band__card { display: grid; grid-template-columns: 260px 1fr auto; align-items: stretch; border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 20px 50px rgba(10,9,7,.18); }
.nim-band__next { padding: 22px 24px; background: var(--nim-gold); color: var(--nim-ink); }
.nim-band__next span { display: block; font-size: .85rem; font-weight: 700; }
.nim-band__next strong { display: block; margin-top: 2px; font-size: 2rem; line-height: 1.1; }
.nim-band__next em { display: block; margin-top: 6px; font-style: normal; font-size: .95rem; }
.nim-band__list { display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; margin: 0; padding: 0; }
.nim-band__list li { padding: 20px 14px; text-align: center; border-right: 1px solid var(--nim-line); display: flex; flex-direction: column; justify-content: center; gap: 2px; }
.nim-band__list li span { font-size: .85rem; font-weight: 700; color: var(--nim-muted); }
.nim-band__list li strong { font-size: 1.45rem; font-variant-numeric: tabular-nums; color: var(--nim-ink); }
.nim-band__list li small { font-size: .78rem; color: var(--nim-muted); font-variant-numeric: tabular-nums; }
.nim-band__list li.is-next { background: var(--nim-gold-soft); }
.nim-band__side { display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 18px 24px; min-width: 200px; }
.nim-band__side span { font-size: .85rem; color: var(--nim-muted); }
.nim-band__side strong { font-size: 1.1rem; color: var(--nim-ink); }
.nim-band__side a { margin-top: 4px; font-size: .95rem; }
@media (max-width: 1000px) {
  .nim-band__card { grid-template-columns: 1fr; }
  .nim-band__list li { border-right: 0; border-bottom: 1px solid var(--nim-line); }
}
@media (max-width: 600px) {
  .nim-welcome-hero { min-height: 0; }
  .nim-welcome-hero::after { background: linear-gradient(180deg, rgba(10,9,7,.6) 0%, rgba(10,9,7,.9) 100%); }
  .nim-welcome-hero__in { padding-top: 56px; padding-bottom: 120px; }
  .nim-band__list { grid-template-columns: repeat(5, 1fr); }
  .nim-band__list li { padding: 14px 4px; border-bottom: 0; }
  .nim-band__list li strong { font-size: 1.05rem; }
}

/* Discover: the masjid's services as icon tiles */
.nim-discover__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 12px 32px; margin-bottom: 32px; }
.nim-discover__head .nim-h2 { margin: 0 !important; }
.nim-discover__head p { margin: 0; max-width: 460px; color: var(--nim-muted); font-size: 1.05rem; }
.nim-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.nim-tile { display: grid; grid-template-columns: 64px 1fr; gap: 18px; align-items: start; padding: 24px; border-radius: var(--nim-radius); background: #fff; border: 1px solid var(--nim-line); color: var(--nim-ink) !important; text-decoration: none !important; transition: border-color 150ms ease-out, transform 150ms ease-out; }
.nim-tile:hover { border-color: var(--nim-ink); transform: translateY(-2px); }
.nim-tile img { width: 64px; height: 64px; object-fit: contain; padding: 8px; border-radius: 16px; background: var(--nim-sky); }
.nim-tile strong { display: block; font-size: 1.15rem; margin: 2px 0 4px; }
.nim-tile span { display: block; color: var(--nim-muted); line-height: 1.5; font-size: .98rem; }
.nim-tile--feature { background: var(--nim-ink); border-color: var(--nim-ink); color: #fff !important; }
.nim-tile--feature strong { color: #fff; }
.nim-tile--feature span { color: rgba(255,255,255,.75); }
.nim-tile--feature img { background: var(--nim-gold); }
@media (max-width: 1000px) { .nim-tiles { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .nim-tiles { grid-template-columns: 1fr; } }

/* Learning: photo beside the two programmes */
.nim-learn2 { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; }
.nim-learn2__photo { margin: 0; }
.nim-learn2__photo img { width: 100%; aspect-ratio: 4/3.2; object-fit: cover; border-radius: 20px; display: block; }
.nim-learn2__item { display: grid; grid-template-columns: 56px 1fr; gap: 18px; padding: 24px 0; border-top: 1px solid var(--nim-line); color: var(--nim-ink) !important; text-decoration: none !important; }
.nim-learn2__item img { width: 56px; height: 56px; object-fit: contain; }
.nim-learn2__item strong { display: block; font-size: 1.4rem; margin-bottom: 6px; }
.nim-learn2__item span { display: block; color: var(--nim-muted); }
.nim-learn2__item em { display: inline-block; margin-top: 10px; font-style: normal; font-weight: 700; }
.nim-learn2__item em::after { content: " \2192"; }
.nim-learn2__item:hover em { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 900px) { .nim-learn2 { grid-template-columns: 1fr; gap: 28px; } }

/* Latest from the masjid */
.nim-status { margin: 0 0 8px !important; font-size: .82rem !important; font-weight: 700; color: #1d6b3a !important; }
.nim-status::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: currentColor; vertical-align: 1px; }
.nim-status--soon { color: var(--nim-muted) !important; }
.nim-news .nim-wrap { max-width: var(--nim-wide) !important; }
.nim-news__grid { gap: 28px !important; align-items: stretch !important; }
.nim-news__feature { display: grid; grid-template-columns: 1fr 1fr; border-radius: 20px; overflow: hidden; background: var(--nim-soft); }
.nim-news__img { margin: 0 !important; height: 100%; }
.nim-news__img img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; display: block; }
.nim-news__body { padding: 30px; display: flex; flex-direction: column; }
.nim-news__body h3 { margin: 0 0 10px !important; font-size: 1.55rem !important; font-weight: 700; line-height: 1.2; }
.nim-news__links { margin-top: auto !important; padding-top: 16px; display: flex; flex-wrap: wrap; gap: 12px 22px; align-items: center; }
.nim-news__side { display: flex; flex-direction: column; }
.nim-news__item { padding: 22px 0; border-top: 1px solid var(--nim-line); }
.nim-news__item:last-child { border-bottom: 1px solid var(--nim-line); }
.nim-news__item h3 { margin: 0 0 6px !important; font-size: 1.2rem !important; font-weight: 700; }
.nim-news__item h3 a { color: var(--nim-ink); text-decoration: none; }
.nim-news__item h3 a::after { content: " \2192"; font-weight: 500; }
.nim-news__item p { margin: 0; color: var(--nim-muted); }
@media (max-width: 900px) { .nim-news__feature { grid-template-columns: 1fr; } .nim-news__img img { min-height: 220px; aspect-ratio: 16/9; } }

/* Visit */
.nim-visit2 { display: grid; grid-template-columns: 1fr 1.2fr; gap: 48px; align-items: stretch; }
.nim-visit2__addr { font-size: 1.2rem; color: var(--nim-ink); line-height: 1.5; }
.nim-visit2 dl { margin: 28px 0 0; display: grid; grid-template-columns: max-content 1fr; gap: 12px 24px; }
.nim-visit2 dt { color: var(--nim-muted); }
.nim-visit2 dd { margin: 0; color: var(--nim-ink); }
.nim-visit2 a:not(.nim-btn) { color: var(--nim-ink); }
.nim-map { width: 100%; min-height: 360px; height: 100%; border: 0; border-radius: 20px; }
@media (max-width: 900px) { .nim-visit2 { grid-template-columns: 1fr; } .nim-map { min-height: 280px; } }

/* Inner page headers: one calm header for every page */
.hero, .nim-page-hero {
  margin-top: 0 !important;
  padding-top: clamp(56px, 7vw, 96px) !important;
  padding-bottom: clamp(48px, 6vw, 80px) !important;
  background: var(--nim-soft) !important;
  background-image: none !important;
}
.hero h1, .hero .wp-block-heading, .nim-page-hero h1 { color: var(--nim-ink) !important; font-size: clamp(2.4rem, 4.4vw, 3.6rem) !important; font-weight: 800 !important; line-height: 1.06 !important; letter-spacing: -0.025em !important; }
.hero p, .hero p.has-base-2-color, .hero p.has-base-color, .nim-page-hero__intro { color: var(--nim-muted) !important; font-size: 1.15rem !important; font-style: normal !important; line-height: 1.6 !important; }
.hero p em { font-style: normal; }
.hero h1.has-base-2-color { color: var(--nim-ink) !important; }
.hero .wp-block-buttons:not(.tags) .wp-block-button:first-child .wp-block-button__link { background: var(--nim-ink) !important; color: #fff !important; }
.hero .wp-block-buttons:not(.tags) .wp-block-button:not(:first-child) .wp-block-button__link { background: none !important; color: var(--nim-ink) !important; text-decoration: underline; text-underline-offset: 5px; }
.hero .tags .wp-block-button__link { background: #fff !important; color: var(--nim-ink) !important; border: 1px solid var(--nim-line) !important; font-size: .85rem !important; padding: 6px 14px !important; text-decoration: none !important; }
.hero .nim-hero-note { display: table; margin: 18px auto 0 !important; padding: 6px 14px; border-radius: 999px; background: var(--nim-gold); color: var(--nim-ink) !important; font-size: .9rem !important; font-weight: 700; }
.nim-page-hero__in { max-width: var(--nim-wide); }
.nim-page-hero h1 { max-width: 820px; margin: 0; }
.nim-page-hero__strap { margin: 12px 0 0; color: var(--nim-ink-2) !important; font-weight: 700; font-size: 1.15rem !important; }
.nim-page-hero__intro { max-width: 640px; margin: 14px 0 0; }
.nim-page-hero__cta { margin: 28px 0 0; }
.nim-mark { display: block; width: 72px; height: 72px; padding: 10px; border-radius: 18px; background: var(--nim-sky); margin-bottom: 22px; object-fit: contain; }

/* Sections inside the older pages */
.entry-content > .wp-block-group.alignfull:not(.hero):not(.nim-news):not(.nim-hero) { padding-top: var(--nim-section) !important; padding-bottom: var(--nim-section) !important; }
.entry-content .wp-block-group.alignfull[style*="#f7f9fc"], .entry-content .wp-block-group.alignfull.has-base-background-color { background-color: var(--nim-white) !important; }
.entry-content h2.wp-block-heading { font-size: clamp(1.9rem, 1.3rem + 2vw, 2.6rem) !important; font-weight: 700 !important; line-height: 1.12 !important; }
.entry-content h3.wp-block-heading { font-weight: 700; }
.entry-content p { line-height: 1.7; }
.nim-lead, .entry-content p[style*="#00000099"] { color: var(--nim-muted) !important; }
.wp-block-column.rounded { background: var(--nim-white) !important; border: 1px solid var(--nim-line) !important; border-radius: var(--nim-radius) !important; }
.wp-block-column.rounded p[style*="font-size:0.8rem"] { font-size: .95rem !important; }
.hero + .wp-block-group.has-contrast-background-color { background-color: var(--nim-white) !important; }
.hero + .wp-block-group.has-contrast-background-color :is(h2, h3, p, li, strong, a) { color: var(--nim-ink) !important; }
.hero + .wp-block-group.has-contrast-background-color p { color: var(--nim-ink-2) !important; }
.wp-block-themeisle-blocks-tabs .wp-block-themeisle-blocks-tabs__header_item.active { border-bottom-color: var(--nim-ink) !important; }

/* Service page layouts */
.nim-page-body { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px 72px; align-items: start; }
.nim-page-body p, .nim-page-body li, .nim-read p, .nim-read li { font-size: 1.08rem; color: var(--nim-ink-2); }
.nim-page-body ul, .nim-read ul { padding-left: 1.2em; }
.nim-page-body li + li, .nim-read li + li { margin-top: 6px; }
.nim-page-body h2, .nim-read h2 { margin: 40px 0 12px; font-size: 1.5rem; font-weight: 700; }
.nim-page-body h2:first-child, .nim-read h2:first-child { margin-top: 0; }
.nim-aside { position: sticky; top: 110px; padding: 30px; border-radius: 20px; background: var(--nim-soft); }
.nim-aside h2 { margin: 0 0 10px !important; font-size: 1.35rem !important; }
.nim-aside p { margin: 0 0 20px; color: var(--nim-muted) !important; font-size: 1rem !important; }
.nim-aside .nim-note { margin-top: 18px; font-size: .92rem !important; }
.nim-read { max-width: var(--nim-wide) !important; }
.nim-read > * { max-width: 760px; }
.nim-close { margin-top: 48px; padding: 30px; border-radius: 20px; background: var(--nim-ink); color: #fff; }
.nim-close h2 { margin: 0 0 8px !important; color: #fff !important; }
.nim-close p, .nim-close .nim-note { color: rgba(255,255,255,.78) !important; }
.nim-close a:not(.nim-btn) { color: #fff; }
.nim-close .nim-btn { background: var(--nim-gold); color: var(--nim-ink) !important; }
.nim-steps-band { padding-top: 64px !important; padding-bottom: 64px !important; }
.nim-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; counter-reset: s; }
.nim-steps li { counter-increment: s; padding: 24px; border-radius: var(--nim-radius); background: var(--nim-soft); }
.nim-steps li::before { content: counter(s); display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 14px; border-radius: 50%; background: var(--nim-gold); color: var(--nim-ink); font-weight: 800; }
.nim-steps strong { display: block; font-size: 1.15rem; margin-bottom: 6px; color: var(--nim-ink); }
.nim-steps span { color: var(--nim-muted); }
@media (max-width: 900px) { .nim-page-body { grid-template-columns: 1fr; } .nim-aside { position: static; } .nim-steps { grid-template-columns: 1fr; } }

/* Alimiyyah parts */
.nim-split h2 { margin-top: 0; }
.nim-split p { line-height: 1.7; }
.nim-photo img { border-radius: 20px; width: 100%; height: auto; }
.nim-course-card { background: var(--nim-white); overflow: hidden; padding: 0 !important; }
.nim-course-card .nim-photo { margin: 0; }
.nim-course-card .nim-photo img { border-radius: 0; aspect-ratio: 16 / 10; object-fit: cover; }
.nim-course-body { padding: 26px 30px 30px; }
.nim-course-body h3 { margin: 0; }
.nim-tagline { margin-top: 4px !important; font-weight: 700; color: var(--nim-muted); }
.nim-muted { color: var(--nim-muted); }
.nim-statement { font-size: 1.5rem !important; line-height: 1.35; font-weight: 600; color: var(--nim-ink); }
.nim-dark, .entry-content .wp-block-group.alignfull.nim-dark { background: var(--nim-ink) !important; }
.nim-dark :is(h2, h3, p) { color: #fff !important; }
.nim-videos iframe { border-radius: var(--nim-radius); }
.nim-split .wp-block-columns + .wp-block-columns { margin-top: 24px !important; }
.nim-facts { list-style: none; margin: 24px 0 0; padding: 0; }
.nim-facts li { padding: 14px 0; border-top: 1px solid var(--nim-line); color: var(--nim-muted); }
.nim-facts strong { display: block; color: var(--nim-ink); font-size: 1.1rem; }
.nim-check { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 40px; }
.nim-check li { break-inside: avoid; padding: 12px 0 12px 30px; position: relative; border-top: 1px solid var(--nim-line); color: var(--nim-ink); font-size: 1.05rem; }
.nim-check li::before { content: ""; position: absolute; left: 0; top: 18px; width: 14px; height: 8px; border-left: 2px solid var(--nim-ink); border-bottom: 2px solid var(--nim-ink); transform: rotate(-45deg); }
.nim-quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; margin-top: 48px; }
.is-layout-constrained > .nim-quotes, .is-layout-constrained > .nim-more-q { max-width: 1232px !important; width: 100%; margin-left: auto !important; margin-right: auto !important; }
.nim-q { margin: 0; }
.nim-q blockquote { margin: 0; padding: 0 0 0 18px; border-left: 3px solid var(--nim-gold); color: var(--nim-ink-2); line-height: 1.7; }
.nim-q figcaption { margin-top: 12px; padding-left: 21px; font-weight: 700; color: var(--nim-ink); }
details.nim-more-q { background: none; margin: 32px auto 0 !important; padding: 0; }
.nim-more-q summary { cursor: pointer; font-weight: 700; color: var(--nim-ink); }
@media (max-width: 900px) { .nim-quotes { grid-template-columns: 1fr; } .nim-check { columns: 1; } }

/* Prayer times page */
.nim-today { display: flex; flex-direction: column; border-radius: 20px; overflow: hidden; border: 1px solid var(--nim-line); background: #fff; }
.nim-today__next { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "label in" "name pair"; align-items: end; gap: 4px 20px; padding: 22px 24px; background: var(--nim-ink); color: #fff; }
.nim-today__label { grid-area: label; color: var(--nim-gold); font-weight: 700; font-size: .95rem; }
.nim-today__in { grid-area: in; text-align: right; color: rgba(255,255,255,.7); font-size: .9rem; }
.nim-today__name { grid-area: name; font-size: clamp(2.2rem, 3.2vw, 2.8rem); font-weight: 800; line-height: 1; }
.nim-today__pair { grid-area: pair; display: flex; gap: 24px; }
.nim-today__pair span { display: block; font-size: .85rem; color: rgba(255,255,255,.6); }
.nim-today__pair strong { font-size: 1.6rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.nim-today__pair div:last-child strong { color: var(--nim-gold); }
.nim-today__side { display: flex; flex-direction: column; }
.nim-today__list { order: 1; list-style: none; margin: 0; padding: 4px 24px 0; }
.nim-today__list li { display: grid; grid-template-columns: 1fr 70px 70px; padding: 11px 0; border-bottom: 1px solid var(--nim-line); font-variant-numeric: tabular-nums; color: var(--nim-ink); }
.nim-today__list li:last-child { border-bottom: 0; }
.nim-today__list li span:nth-child(2), .nim-today__list li strong, .nim-today__head span:last-child { text-align: right; }
.nim-today__list .nim-today__head { font-size: .8rem; color: var(--nim-muted); align-items: end; }
.nim-today__head span:first-child { color: var(--nim-ink); font-weight: 700; font-size: .9rem; }
.nim-today__head em { display: block; font-style: normal; font-weight: 400; color: var(--nim-muted); }
.nim-today__list li.is-next { margin: 0 -24px; padding-left: 24px; padding-right: 24px; background: var(--nim-gold-soft); font-weight: 700; }
.nim-today__jumuah { order: 2; display: grid; grid-template-columns: auto auto 1fr; gap: 12px; align-items: baseline; padding: 14px 24px; background: var(--nim-soft); border-top: 1px solid var(--nim-line); color: var(--nim-ink); }
.nim-today__jumuah span:first-child { font-weight: 700; }
.nim-today__jumuah strong { font-size: 1.1rem; font-variant-numeric: tabular-nums; }
.nim-today__jumuah span:last-child { text-align: right; font-size: .9rem; }
.nim-pt { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; align-items: start; }
.nim-tip { padding: 26px; border-radius: 20px; background: var(--nim-sky); }
.nim-tip h2 { margin: 0 0 8px; font-size: 1.2rem; font-weight: 700; }
.nim-tip p, .nim-tip li { color: var(--nim-ink-2); font-size: .98rem; }
.nim-tip ol { padding-left: 1.2em; margin: 6px 0 14px; }
.nim-month { overflow-x: auto; border-radius: 16px; border: 1px solid var(--nim-line); background: #fff; }
.nim-month table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.nim-month caption { text-align: left; padding: 18px 20px; font-weight: 700; color: var(--nim-ink); }
.nim-month caption small { margin-top: 2px; font-weight: 400; font-size: .85rem; }
.nim-month th, .nim-month td { padding: 10px 14px; text-align: left; border-top: 1px solid var(--nim-line); white-space: nowrap; color: var(--nim-ink); }
.nim-month thead th { font-size: .85rem; color: var(--nim-muted); font-weight: 700; }
.nim-month small { display: block; color: var(--nim-muted); font-size: .8rem; }
.nim-month th[scope="row"], .nim-month thead th:first-child { position: sticky; left: 0; z-index: 1; background-color: #fff; }
.nim-month tr.is-friday, .nim-month tr.is-friday th[scope="row"] { background-color: var(--nim-soft); }
.nim-month tr.is-today, .nim-month tr.is-today th[scope="row"] { background-color: var(--nim-gold); }
.nim-month tr.is-today small { color: var(--nim-ink-2); }
.nim-swipe { display: none; margin: 0 0 10px; color: var(--nim-muted); font-size: .9rem; }
.nim-more { margin: 28px 0 0; }
@media (max-width: 900px) { .nim-pt { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .nim-swipe { display: block; } .nim-month th, .nim-month td { padding: 9px 10px; } }
@media (max-width: 600px) { .nim-today__next { grid-template-columns: 1fr; grid-template-areas: "label" "name" "pair" "in"; } .nim-today__in { text-align: left; } }

/* Forms */
.entry-content > .wpcf7, .entry-content > .wp-block-columns:has(.wpcf7) { margin-top: 64px !important; margin-bottom: 96px !important; }
.wpcf7 form legend, .wpcf7 form h2, .wpcf7 form h3, .wpcf7 form h4 { font-weight: 700; color: var(--nim-ink) !important; background: none !important; }
.wpcf7 form legend { font-size: 1.4rem !important; }
.wpcf7 form label { color: var(--nim-ink); }
.wpcf7 form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]), .wpcf7 form select, .wpcf7 form textarea { background-color: #fff !important; border-color: #d6d1c6 !important; }
.wpcf7 form p.explanation { background: var(--nim-sky) !important; border: 0; padding-left: 1rem !important; color: var(--nim-ink); }
.wpcf7 form p.explanation:before { content: none !important; }
.wpcf7 form input[type="submit"] { background: var(--nim-ink) !important; color: #fff !important; font-family: var(--nim-font); font-weight: 600; font-size: 1.05rem !important; padding: 14px 32px !important; text-transform: none; }
.wpcf7 form input[type="file"]::file-selector-button { margin-right: 12px; padding: 8px 18px; border: 1px solid var(--nim-ink); border-radius: 999px; background: #fff; color: var(--nim-ink); font-family: var(--nim-font); cursor: pointer; }
.wpcf7 form input[type="submit"] { border-radius: 999px !important; min-height: 48px; cursor: pointer; }
.wpcf7 form input[type="submit"]:hover { background: #000 !important; }
.wpcf7 form label, .wpcf7 form .wpcf7-list-item-label { font-size: 1rem !important; line-height: 1.5; }
.wpcf7 form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .wpcf7 form select, .wpcf7 form textarea { font-size: 16px !important; min-height: 48px; }
.wpcf7 form p.explanation { font-size: .95rem !important; line-height: 1.6; border-radius: 12px; padding: 14px 18px !important; }
.wpcf7 form .wpcf7-list-item { display: inline-flex; align-items: center; min-height: 44px; margin: 0 20px 0 0 !important; }
.wpcf7 form input[type="radio"], .wpcf7 form input[type="checkbox"] { width: 20px !important; height: 20px !important; margin: 0 10px 0 0 !important; accent-color: var(--nim-ink); flex: none; }
.wpcf7 form input:focus-visible, .wpcf7 form select:focus-visible, .wpcf7 form textarea:focus-visible { outline: 0; border-color: var(--nim-ink) !important; box-shadow: 0 0 0 3px rgba(252,227,5,.6) !important; }
.wpcf7 form { counter-reset: nimgroup; }
.wpcf7 form fieldset fieldset { counter-increment: nimgroup; background: #fff; border: 1px solid var(--nim-line) !important; border-radius: 16px; padding: 24px 26px 18px !important; margin: 0 0 20px !important; }
.wpcf7 form fieldset fieldset > legend { float: left; width: 100%; margin: 0 0 14px; padding: 0; }
.wpcf7 form fieldset fieldset > legend::before { content: counter(nimgroup); display: inline-grid; place-items: center; width: 30px; height: 30px; margin-right: 12px; border-radius: 50%; background: var(--nim-gold); color: var(--nim-ink); font-size: .95rem; vertical-align: 3px; }
.wpcf7 form fieldset fieldset > legend + * { clear: both; }

/* WhatsApp banner and footer */
footer.wp-block-template-part > .wp-block-group { background: var(--nim-ink) !important; padding-top: 0 !important; padding-bottom: 48px !important; }
footer .nim-wa { max-width: none !important; width: 100vw !important; margin: 0 0 0 calc(50% - 50vw) !important; background: var(--nim-gold); text-align: left; }
.nim-wa__inner { max-width: var(--nim-wide); margin: 0 auto; padding: 24px var(--nim-gutter); display: flex; flex-wrap: wrap; gap: 14px 32px; align-items: center; justify-content: space-between; }
.nim-wa__inner > div { flex: 1; min-width: 260px; }
.nim-wa strong { display: block; color: var(--nim-ink); font-size: 1.15rem; }
.nim-wa span { display: block; margin-top: 2px; color: var(--nim-ink-2); }
.nim-wa .nim-btn { background: var(--nim-ink) !important; color: #fff !important; }
.site-footer { width: 100%; max-width: calc(var(--nim-wide) - 2 * var(--nim-gutter)); margin: 56px auto 0 !important; text-align: left; }
.site-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 40px; }
.site-footer__brand p { max-width: 300px; }
.site-footer__col a.site-footer__more { display: inline-block; margin-top: 6px; text-decoration: underline; text-underline-offset: 4px; }
.site-footer__col p { margin: 0 0 10px; font-size: .98rem; color: rgba(255,255,255,.7); }
.site-footer__col h2 { margin: 0 0 16px; font-size: 1.05rem; font-weight: 700; color: #fff !important; }
.site-footer__col a { color: #fff !important; text-decoration: none; }
.site-footer__col a:hover { text-decoration: underline; text-underline-offset: 4px; }
.site-footer__logo { display: block; margin-bottom: 18px; height: 48px !important; width: auto !important; }
.site-footer__name { font-weight: 700; color: #fff !important; }
footer .copyright { max-width: var(--nim-wide) !important; margin: 40px auto 0 !important; }
footer .copyright p { text-align: left !important; color: rgba(255,255,255,.55) !important; }
@media (max-width: 900px) { .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px 24px; } .site-footer__brand, .site-footer__contact { grid-column: 1 / -1; } }
footer .copyright { margin-top: 48px !important; padding-top: 20px !important; border-top: 1px solid rgba(255,255,255,.14); gap: 8px 24px; }
footer .copyright p { margin: 0 !important; font-size: .9rem; color: rgba(255,255,255,.55) !important; }
footer .copyright a { color: rgba(255,255,255,.75) !important; text-decoration: none; }
footer .copyright a:hover { color: #fff !important; text-decoration: underline; text-underline-offset: 4px; }
/* Older page heroes line up left like the rest of the site */
.hero > .wp-block-group { max-width: var(--nim-wide) !important; margin: 0 auto !important; padding: 0 !important; }
.hero > .wp-block-group > * { max-width: 820px !important; margin-left: 0 !important; margin-right: auto !important; }
.hero .has-text-align-center { text-align: left !important; }
.hero .wp-block-buttons { justify-content: flex-start !important; }
.hero .nim-hero-note { margin-left: 0 !important; }
.hero { padding-left: var(--nim-gutter) !important; padding-right: var(--nim-gutter) !important; }
.entry-content .hero .tags .wp-block-button .wp-block-button__link { background: #fff !important; color: var(--nim-ink) !important; border: 1px solid var(--nim-line) !important; }
.hero p { padding-left: 0 !important; padding-right: 0 !important; }

/* ==========================================================================
   Illustration-led sections: pastel cards with the masjid's sunburst artwork
   ========================================================================== */
:root { --p-yellow: #fff7d6; --p-sky: #e6f5fc; --p-green: #ebf6e8; --p-pink: #fdebf0; --p-lilac: #f1ecfb; --p-orange: #fdf0e3; --p-teal: #e3f4f2; }
.nim-hl { background: linear-gradient(180deg, transparent 62%, var(--nim-gold) 62%, var(--nim-gold) 88%, transparent 88%); padding: 0 2px; }
.nim-center { text-align: center; }
.nim-center-head { text-align: center; max-width: 720px; margin: 0 auto 40px; }
.nim-center-head .nim-h2 { margin-bottom: 12px !important; }
.nim-center-head p { margin: 0; color: var(--nim-muted); font-size: 1.1rem; }
.nim-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.nim-feature { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 44px 32px 36px; border-radius: 24px; background: var(--bg, var(--p-yellow)); color: var(--nim-ink) !important; text-decoration: none !important; transition: transform 160ms ease-out, box-shadow 160ms ease-out; }
a.nim-feature:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(20,19,15,.10); }
.nim-feature img { width: 116px; height: 116px; margin-bottom: 18px; }
.nim-feature h3, .nim-feature strong { margin: 0 0 10px; font-size: 1.5rem; font-weight: 800; line-height: 1.2; letter-spacing: -0.015em; color: var(--nim-ink); }
.nim-feature p, .nim-feature span { margin: 0; color: var(--nim-ink-2); line-height: 1.6; }
.nim-feature em { margin-top: auto; padding-top: 20px; font-style: normal; font-weight: 700; }
.nim-feature em::after { content: " \2192"; }
.nim-minis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 20px; }
.nim-mini { display: flex; align-items: center; gap: 14px; padding: 14px 18px; border-radius: 18px; background: var(--bg, var(--nim-soft)); color: var(--nim-ink) !important; text-decoration: none !important; font-weight: 700; font-size: 1.05rem; }
.nim-mini img { width: 52px; height: 52px; flex: none; }
.nim-mini span { display: block; font-weight: 400; font-size: .92rem; color: var(--nim-muted); }
.nim-mini:hover { box-shadow: inset 0 0 0 2px var(--nim-ink); }
@media (max-width: 900px) { .nim-features, .nim-minis { grid-template-columns: 1fr; } .nim-feature { padding: 32px 24px; } }

/* Page headers with the page's illustration on the right */
.nim-page-hero__grid { display: grid; grid-template-columns: 1fr auto; gap: 32px 64px; align-items: center; }
.nim-page-hero__art { width: 180px; height: 180px; }
.nim-page-hero--photo .nim-page-hero__grid { grid-template-columns: 1fr 1fr; }
.nim-page-hero__photo { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 24px; display: block; }
@media (max-width: 800px) { .nim-page-hero__grid, .nim-page-hero--photo .nim-page-hero__grid { grid-template-columns: 1fr; } .nim-page-hero__art { width: 120px; height: 120px; order: -1; } }

/* Steps with illustrations instead of numbers */
.nim-journey { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; list-style: none; margin: 0; padding: 0; }
.nim-journey li { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 32px 26px; border-radius: 24px; background: var(--bg, var(--p-sky)); }
.nim-journey img { width: 96px; height: 96px; margin-bottom: 14px; }
.nim-journey small { font-weight: 800; color: var(--nim-muted); letter-spacing: .04em; text-transform: uppercase; font-size: .78rem; }
.nim-journey strong { display: block; margin: 6px 0 6px; font-size: 1.2rem; color: var(--nim-ink); }
.nim-journey span { color: var(--nim-ink-2); }
@media (max-width: 900px) { .nim-journey { grid-template-columns: 1fr; } }

/* Services page: one illustrated card per service */
.nim-svc { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.nim-svc a { display: grid; grid-template-columns: 96px 1fr; gap: 22px; align-items: center; padding: 26px 28px; border-radius: 24px; background: var(--bg, var(--nim-soft)); color: var(--nim-ink) !important; text-decoration: none !important; transition: transform 160ms ease-out; }
.nim-svc a:hover { transform: translateY(-3px); }
.nim-svc img { width: 96px; height: 96px; }
.nim-svc strong { display: block; font-size: 1.3rem; font-weight: 800; margin-bottom: 4px; }
.nim-svc span { color: var(--nim-ink-2); }
.nim-svc em { display: inline-block; margin-top: 8px; font-style: normal; font-weight: 700; }
.nim-svc em::after { content: " \2192"; }
@media (max-width: 800px) { .nim-svc { grid-template-columns: 1fr; } .nim-svc a { grid-template-columns: 72px 1fr; } .nim-svc img { width: 72px; height: 72px; } }
.nim-section--soft .nim-steps li { background: #fff; }
.nim-svc span { display: block; }
/* Alimiyyah: stage markers on the three course cards */
.entry-content { counter-reset: stage; }
.nim-course-card { counter-increment: stage; position: relative; }
.nim-course-card::before { content: "Stage " counter(stage); position: absolute; top: 16px; left: 16px; z-index: 1; padding: 6px 14px; border-radius: 999px; background: var(--nim-gold); color: var(--nim-ink); font-weight: 800; font-size: .85rem; }
.nim-page-hero .nim-hero-note { display: inline-block; padding: 6px 14px; border-radius: 999px; background: var(--nim-gold); color: var(--nim-ink) !important; font-size: .9rem !important; font-weight: 700; }
/* Wide blocks in older pages share the site's content width */
.entry-content .alignwide, .is-layout-constrained > .nim-quotes, .is-layout-constrained > .nim-more-q { max-width: calc(var(--nim-wide) - 2 * var(--nim-gutter)) !important; }
.hero { padding-left: 0 !important; padding-right: 0 !important; }
.hero > .wp-block-group { padding: 0 var(--nim-gutter) !important; }
.entry-content > .wp-block-group.alignfull.has-global-padding > .wp-block-group,
.entry-content > .wp-block-group.alignfull.has-global-padding > .wp-block-columns { max-width: calc(var(--nim-wide) - 2 * var(--nim-gutter)) !important; }

/* Course facts: a clean list of rows, no box */
.wp-block-column.rounded[style*="padding-top:0"] { border: 0 !important; background: none !important; padding: 0 !important; border-radius: 0 !important; }
.wp-block-column.rounded[style*="padding-top:0"] > .wp-block-group { padding: 16px 0 !important; margin: 0 !important; border-bottom: 1px solid var(--nim-line) !important; align-items: center; }
.wp-block-column.rounded[style*="padding-top:0"] > .wp-block-group:first-child { border-top: 1px solid var(--nim-line) !important; }
.wp-block-column.rounded[style*="padding-top:0"] h3 { margin: 0 !important; }

/* Active section in the menu */
.nim-nav .wp-block-navigation-item.is-current > .wp-block-navigation-item__content { color: var(--nim-gold) !important; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 8px; }
.nim-nav .wp-block-navigation__responsive-container.is-menu-open .is-current > .wp-block-navigation-item__content { color: var(--nim-gold) !important; }

/* Breadcrumb on inner pages */
.nim-crumbs { background: var(--nim-soft); }
.nim-crumbs ol { max-width: var(--nim-wide); margin: 0 auto; padding: 16px var(--nim-gutter) 0; list-style: none; display: flex; flex-wrap: wrap; gap: 4px 8px; font-size: .9rem; color: var(--nim-muted); }
.nim-crumbs li + li::before { content: "/"; margin-right: 8px; color: var(--nim-line); color: rgba(20,19,15,.3); }
.nim-crumbs a { color: var(--nim-muted); text-decoration: none; }
.nim-crumbs a:hover { color: var(--nim-ink); text-decoration: underline; }
.nim-crumbs [aria-current] { color: var(--nim-ink); font-weight: 600; }
.nim-crumbs + .entry-content > .nim-page-hero:first-child, .nim-crumbs + .entry-content > .hero:first-child { padding-top: clamp(32px, 4vw, 56px) !important; }

main .nim-crumbs { margin: 0 !important; }
main .nim-crumbs + .entry-content { margin-top: 0 !important; }
.nim-crumbs ol { padding-bottom: 0; }

/* Form pages: the form sits on the content grid, notes in the site's cream */
.nim-form-sec .wpcf7 { max-width: 760px; margin: 0 0 0 max(0px, calc((100% - (var(--nim-wide) - 2 * var(--nim-gutter))) / 2)) !important; }
.wpcf7 form p.explanation { background: var(--nim-soft) !important; color: var(--nim-ink-2) !important; }
@media (max-width: 600px) {
  .wpcf7 form fieldset fieldset { border: 0 !important; padding: 0 !important; border-radius: 0; background: none; }
}
/* Copyright line on the footer grid */
footer .wp-block-group.alignwide.copyright, .copyright { max-width: calc(var(--nim-wide) - 2 * var(--nim-gutter)) !important; margin-left: auto !important; margin-right: auto !important; }
.copyright p { text-align: left !important; }
/* Every full width section uses the site gutter, whatever padding its block saved */
.entry-content > .wp-block-group.alignfull { padding-left: var(--nim-gutter) !important; padding-right: var(--nim-gutter) !important; }
