/* New Life Boys Club 1.6 — all styles scoped to #nlbc-page */
body.nlbc-boys-club-page-host { overflow-x:hidden; }
body.nlbc-boys-club-page-host .entry-title,
body.nlbc-boys-club-page-host .wp-block-post-title,
body.nlbc-boys-club-page-host .entry-header { display:none !important; }
body.nlbc-boys-club-page-host .entry-content { margin-block-start:0 !important; max-width:none !important; width:100% !important; padding-left:0 !important; padding-right:0 !important; }

#nlbc-page {
  --nlbc-blue:#082f82;
  --nlbc-blue-2:#0b3d9a;
  --nlbc-blue-dark:#061f58;
  --nlbc-gold:#b97a00;
  --nlbc-gold-soft:#fff8e9;
  --nlbc-green:#4d8e23;
  --nlbc-purple:#6330a6;
  --nlbc-teal:#1d9a9b;
  --nlbc-red:#b33f46;
  --nlbc-red-dark:#96353b;
  --nlbc-ink:#0a2d68;
  --nlbc-muted:#53627a;
  --nlbc-border:#d7deeb;
  --nlbc-soft:#f7f9fc;
  --nlbc-shadow:0 8px 28px rgba(9,47,130,.08);
  position:relative;
  width:100vw;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  background:#fff;
  color:var(--nlbc-ink);
  overflow-x:hidden;
  line-height:1.4;
}
#nlbc-page,#nlbc-page * { box-sizing:border-box; font-family:"Magallanes",Arial,Helvetica,sans-serif !important; }
#nlbc-page img { display:block; max-width:100%; height:auto; }
#nlbc-page a { color:inherit; }
#nlbc-page .nlbc-shell { width:min(1500px,calc(100% - 48px)); margin:0 auto; }
#nlbc-page .nlbc-asset-icon { object-fit:contain; flex:0 0 auto; }
#nlbc-page h1,#nlbc-page h2,#nlbc-page h3,#nlbc-page p { overflow-wrap:normal; word-break:normal; }
#nlbc-page h2 { margin:0; color:var(--nlbc-blue); font-size:clamp(1.35rem,1.7vw,1.8rem); line-height:1.08; font-weight:800; }
#nlbc-page h3 { color:var(--nlbc-blue); font-weight:800; }

/* Hero */
#nlbc-page .nlbc-hero { display:grid; grid-template-columns:220px minmax(0,1fr) 230px; gap:36px; align-items:center; padding:30px 0 22px; }
#nlbc-page .nlbc-hero-logo,#nlbc-page .nlbc-hero-armor { display:flex; align-items:center; justify-content:center; }
#nlbc-page .nlbc-hero-logo img { width:185px; max-height:200px; }
#nlbc-page .nlbc-hero-anchor { width:210px; max-height:225px; }
#nlbc-page .nlbc-hero-main { text-align:center; }
#nlbc-page .nlbc-hero h1 { margin:0; color:var(--nlbc-blue); font-size:clamp(3.2rem,5vw,5.4rem); line-height:.95; font-weight:800; letter-spacing:-.035em; }
#nlbc-page .nlbc-theme { margin:10px 0 2px; color:var(--nlbc-gold); font-size:clamp(1.2rem,1.65vw,1.65rem); font-weight:800; }
#nlbc-page .nlbc-motto { margin:0 0 13px; color:var(--nlbc-blue); font-size:clamp(1.12rem,1.45vw,1.45rem); font-weight:800; }
#nlbc-page .nlbc-identity-row { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:10px; max-width:820px; margin:0 auto 11px; }
#nlbc-page .nlbc-identity-card { display:flex; align-items:center; gap:10px; min-height:66px; padding:9px 13px; border:1px solid #b9c7df; border-radius:10px; background:#fff; text-align:left; box-shadow:0 2px 8px rgba(9,47,130,.04); }
#nlbc-page .nlbc-identity-icon { width:38px; height:42px; }
#nlbc-page .nlbc-identity-card strong,#nlbc-page .nlbc-identity-card small { display:block; }
#nlbc-page .nlbc-identity-card strong { font-size:.88rem; color:var(--nlbc-blue); }
#nlbc-page .nlbc-identity-card small { margin-top:2px; font-size:.94rem; line-height:1.35; color:#334966; }
#nlbc-page .nlbc-meta { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
#nlbc-page .nlbc-meta-card { min-width:205px; display:flex; align-items:center; gap:10px; padding:11px 14px; border:1px solid #b9c7df; border-radius:10px; background:#fff; text-align:left; box-shadow:0 2px 8px rgba(9,47,130,.04); }
#nlbc-page .nlbc-meta-card.nlbc-meta-gold { border-color:#b9c7df; background:#fff; }
#nlbc-page .nlbc-meta-card .nlbc-meta-asset { width:38px; height:38px; }
#nlbc-page .nlbc-meta-card:first-child .nlbc-meta-asset { width:46px; height:40px; }
#nlbc-page .nlbc-meta-card strong,#nlbc-page .nlbc-meta-card small { display:block; }
#nlbc-page .nlbc-meta-card strong { font-size:.92rem; }
#nlbc-page .nlbc-meta-card small { margin-top:2px; font-size:.94rem; line-height:1.32; }
#nlbc-page .nlbc-actions { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-top:14px; }
#nlbc-page .nlbc-btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 20px; border:2px solid var(--nlbc-blue); border-radius:8px; text-decoration:none !important; color:#fff !important; background:var(--nlbc-blue); font-weight:800; box-shadow:none; }
#nlbc-page .nlbc-btn:hover { filter:brightness(1.08); }
#nlbc-page .nlbc-btn-gold { background:var(--nlbc-gold); border-color:var(--nlbc-gold); }

/* Creed */
#nlbc-page .nlbc-creed-strip { background:linear-gradient(100deg,var(--nlbc-blue-dark),var(--nlbc-blue)); color:#fff; }
#nlbc-page .nlbc-creed-inner { min-height:116px; display:grid; grid-template-columns:1.25fr repeat(5,1fr); align-items:stretch; }
#nlbc-page .nlbc-creed-title,#nlbc-page .nlbc-creed-item { display:flex; align-items:center; gap:12px; padding:18px 15px; border-right:1px solid rgba(255,255,255,.18); }
#nlbc-page .nlbc-creed-title { font-weight:800; line-height:1.05; }
#nlbc-page .nlbc-creed-shield { width:55px; height:65px; }
#nlbc-page .nlbc-creed-item b { color:#f2c14f; font-size:2.1rem; line-height:1; }
#nlbc-page .nlbc-creed-item span { font-size:.94rem; font-weight:700; line-height:1.18; }

/* Shared panels */
#nlbc-page .nlbc-body { padding:24px 0 56px; }
#nlbc-page .nlbc-panel,#nlbc-page .nlbc-next,#nlbc-page .nlbc-plan { margin-top:20px; border:1px solid var(--nlbc-border); border-radius:13px; background:#fff; box-shadow:var(--nlbc-shadow); overflow:hidden; }
#nlbc-page .nlbc-band-title { padding:13px 18px; color:#fff; background:linear-gradient(100deg,var(--nlbc-blue-dark),var(--nlbc-blue)); font-size:1.5rem; }

/* Next meeting */
#nlbc-page .nlbc-next { display:grid; grid-template-columns:minmax(280px,1.15fr) minmax(260px,1fr) minmax(260px,1fr) 175px; gap:0; align-items:stretch; }
#nlbc-page .nlbc-next>div { padding:20px 22px; }
#nlbc-page .nlbc-next>div { border-left:0; }
#nlbc-page .nlbc-next>div:nth-child(2) { border-left:1px solid var(--nlbc-border); }
#nlbc-page .nlbc-next-date { display:flex; align-items:center; gap:16px; background:#fff; }
#nlbc-page .nlbc-next-date h2 { font-size:1.55rem; }
#nlbc-page .nlbc-next-date-text { margin:7px 0 2px; color:var(--nlbc-gold); font-weight:800; font-size:1.06rem; }
#nlbc-page .nlbc-next-time { margin:0; color:#53627a; font-size:.94rem; }
#nlbc-page .nlbc-next-details { display:flex; flex-direction:column; justify-content:center; gap:12px; }
#nlbc-page .nlbc-detail-row { display:flex; gap:10px; align-items:flex-start; }
#nlbc-page .nlbc-detail-row img { width:31px; height:31px; }
#nlbc-page .nlbc-detail-row strong,#nlbc-page .nlbc-detail-row em { display:block; }
#nlbc-page .nlbc-detail-row strong { font-size:.78rem; text-transform:uppercase; letter-spacing:.03em; color:var(--nlbc-blue); }
#nlbc-page .nlbc-detail-row em { margin-top:1px; color:#30435f; font-size:.94rem; font-style:normal; line-height:1.35; }
#nlbc-page .nlbc-trio { display:flex; justify-content:center; align-items:center; align-content:center; flex-wrap:wrap; gap:7px; background:#fff; }
#nlbc-page .nlbc-trio[hidden] { display:none; }
#nlbc-page .nlbc-trio img { width:52px; height:62px; max-height:62px; object-fit:contain; }
#nlbc-page .nlbc-trio[data-count="1"] img { width:64px; height:72px; }
#nlbc-page .nlbc-trio[data-count="2"] img { width:58px; height:68px; }
#nlbc-page .nlbc-trio[data-count="4"] img,
#nlbc-page .nlbc-trio[data-count="5"] img,
#nlbc-page .nlbc-trio[data-count="6"] img { width:39px; height:49px; }

/* Circle icons */
#nlbc-page .nlbc-round { width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex:0 0 64px; padding:10px; }
#nlbc-page .nlbc-round img { width:100%; height:100%; object-fit:contain; }
#nlbc-page .nlbc-calendar-round { padding:13px; }
#nlbc-page .nlbc-blue { background:var(--nlbc-blue); }
#nlbc-page .nlbc-gold { background:#d7a22a; }
#nlbc-page .nlbc-green { background:var(--nlbc-green); }
#nlbc-page .nlbc-purple { background:var(--nlbc-purple); }
#nlbc-page .nlbc-teal { background:var(--nlbc-teal); }
#nlbc-page .nlbc-red { background:var(--nlbc-red); }

/* Quick links */
#nlbc-page .nlbc-quick-links { margin-top:16px; display:grid; grid-template-columns:repeat(5,1fr); border:1px solid var(--nlbc-border); border-radius:11px; background:#fff; overflow:hidden; box-shadow:var(--nlbc-shadow); }
#nlbc-page .nlbc-quick-links a { display:flex; align-items:center; justify-content:center; gap:12px; min-height:98px; padding:15px; text-decoration:none !important; border-right:1px solid var(--nlbc-border); color:var(--nlbc-blue); font-weight:800; text-align:left; }
#nlbc-page .nlbc-quick-links a:last-child { border-right:0; }
#nlbc-page .nlbc-quick-links strong { display:inline; font-size:1.2em; }
#nlbc-page .nlbc-quick-links .nlbc-round { width:55px; height:55px; flex-basis:55px; }
#nlbc-page .nlbc-quick-links .nlbc-green { padding:6px; }
#nlbc-page .nlbc-quick-links .nlbc-purple img { width:35px; height:35px; }

/* Big events */
#nlbc-page .nlbc-big-events-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
#nlbc-page .nlbc-big-event { appearance:none; border:0; border-right:1px solid var(--nlbc-border); background:#fff; padding:15px 9px 16px; min-height:160px; text-align:center; cursor:pointer; color:var(--nlbc-ink); }
#nlbc-page .nlbc-big-event:last-child { border-right:0; }
#nlbc-page .nlbc-big-event:hover { background:#f7faff; }
#nlbc-page .nlbc-big-event img { width:50px; height:50px; margin:0 auto 8px; }
#nlbc-page .nlbc-big-event[data-type="derby"] img { width:70px; height:52px; }
#nlbc-page .nlbc-big-event strong,#nlbc-page .nlbc-big-event time,#nlbc-page .nlbc-big-event small { display:block; }
#nlbc-page .nlbc-big-event strong { color:var(--nlbc-blue); font-size:1rem; line-height:1.14; }
#nlbc-page .nlbc-big-event time { margin-top:5px; color:var(--nlbc-gold); font-size:.94rem; font-weight:800; }
#nlbc-page .nlbc-big-event small { margin-top:4px; color:#5a687d; font-size:.94rem; line-height:1.3; }

#nlbc-page .nlbc-big-event .nlbc-event-meta { color:#344a68; font-weight:700; }
#nlbc-page .nlbc-big-event .nlbc-event-details { margin-top:7px; }

/* About */
#nlbc-page .nlbc-about { display:grid; grid-template-columns:minmax(280px,.82fr) minmax(0,1.8fr); }
#nlbc-page .nlbc-about-copy { padding:24px 26px; background:linear-gradient(135deg,#f8fbff,#fff); }
#nlbc-page .nlbc-about-copy p { margin:10px 0 0; color:#41536c; font-size:.94rem; line-height:1.6; }
#nlbc-page .nlbc-pillars { display:grid; grid-template-columns:repeat(4,1fr); }
#nlbc-page .nlbc-pillars>div { padding:20px 15px; text-align:center; border-left:1px solid var(--nlbc-border); }
#nlbc-page .nlbc-pillars img { width:58px; height:58px; margin:0 auto; }
#nlbc-page .nlbc-pillars>div:last-child img { width:72px; }
#nlbc-page .nlbc-pillars h3 { margin:8px 0 5px; font-size:1rem; }
#nlbc-page .nlbc-pillars p { margin:0; color:#5a687d; font-size:.94rem; line-height:1.45; }

/* Club night */
#nlbc-page .nlbc-night { padding:22px 28px 20px; }
#nlbc-page .nlbc-night h2 { text-align:center; margin-bottom:19px; }
#nlbc-page .nlbc-timeline { position:relative; display:grid; grid-template-columns:repeat(8,1fr); align-items:start; }
#nlbc-page .nlbc-timeline:before { content:""; position:absolute; left:5%; right:5%; top:10px; height:2px; background:#aac0df; }
#nlbc-page .nlbc-timeline-step { position:relative; z-index:1; text-align:center; padding:0 5px; }
#nlbc-page .nlbc-dot { display:block; width:18px; height:18px; margin:1px auto 8px; border-radius:50%; border:3px solid var(--nlbc-blue); background:#fff; }
#nlbc-page .nlbc-dot-solid { background:var(--nlbc-blue); }
#nlbc-page .nlbc-timeline-step small { display:block; color:#31445e; font-size:.94rem; font-weight:700; line-height:1.25; }

/* Armor */
#nlbc-page .nlbc-armor { display:grid; grid-template-columns:minmax(300px,.95fr) minmax(0,2fr); }
#nlbc-page .nlbc-armor-intro { padding:24px 26px; background:linear-gradient(135deg,#f9fbff,#fff); }
#nlbc-page .nlbc-armor-intro p { margin:10px 0 14px; color:#41536c; line-height:1.5; }
#nlbc-page .nlbc-verse-box { padding:13px 15px; border-radius:9px; background:var(--nlbc-blue); color:#fff; font-weight:700; font-size:.94rem; line-height:1.4; }
#nlbc-page .nlbc-verse-box strong { display:block; margin-top:6px; color:#f1c45e; font-size:.94rem; letter-spacing:.04em; }
#nlbc-page .nlbc-armor-grid { display:grid; grid-template-columns:repeat(6,1fr); }
#nlbc-page .nlbc-armor-grid>div { padding:18px 10px; text-align:center; border-left:1px solid var(--nlbc-border); }
#nlbc-page .nlbc-armor-grid img { width:70px; height:68px; margin:0 auto; }
#nlbc-page .nlbc-armor-grid h3 { margin:8px 0 7px; font-size:1.08rem; line-height:1.16; }
#nlbc-page .nlbc-armor-grid p { margin:0; color:#5a687d; font-size:.94rem; line-height:1.42; }

/* Parents — uses same blue/gold visual language as hero */
#nlbc-page .nlbc-parents h2 { padding:14px 20px; color:#fff; background:linear-gradient(100deg,var(--nlbc-red-dark),var(--nlbc-red)); font-size:1.55rem; }
#nlbc-page .nlbc-parent-grid { display:grid; grid-template-columns:repeat(4,1fr); }
#nlbc-page .nlbc-parent-card { display:flex; align-items:center; gap:14px; min-height:150px; padding:22px 20px; border-right:1px solid var(--nlbc-border); background:#fff; }
#nlbc-page .nlbc-parent-card:last-child { border-right:0; }
#nlbc-page .nlbc-parent-card:nth-child(even) { background:#fff; }
#nlbc-page .nlbc-parent-icon-wrap { width:70px; height:70px; border-radius:14px; display:flex; align-items:center; justify-content:center; padding:9px; background:#eef4ff; border:1px solid #cad8ef; flex:0 0 70px; }
#nlbc-page .nlbc-parent-card:nth-child(even) .nlbc-parent-icon-wrap { background:#eef4ff; border-color:#cad8ef; }
#nlbc-page .nlbc-parent-icon-wrap img { width:100%; height:100%; }
#nlbc-page .nlbc-parent-card strong,#nlbc-page .nlbc-parent-card small { display:block; }
#nlbc-page .nlbc-parent-card strong { color:var(--nlbc-blue); font-size:1rem; }
#nlbc-page .nlbc-parent-card small { margin-top:6px; color:#42536c; font-size:.94rem; line-height:1.48; }

/* Calendar */
#nlbc-page .nlbc-plan { overflow:visible; padding:20px 22px 24px; }
#nlbc-page .nlbc-section-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:15px; }
#nlbc-page .nlbc-section-heading h2 { font-size:1.8rem; }
#nlbc-page .nlbc-legend { display:flex; gap:14px; flex-wrap:wrap; color:#52627a; font-size:.74rem; }
#nlbc-page .nlbc-legend span { display:flex; align-items:center; gap:5px; }
#nlbc-page .nlbc-legend i { width:11px; height:11px; border-radius:50%; display:block; }
#nlbc-page .nlbc-legend .regular { background:var(--nlbc-blue); }
#nlbc-page .nlbc-legend .special { background:#d7a22a; }
#nlbc-page .nlbc-legend .derby { background:var(--nlbc-green); }
#nlbc-page .nlbc-calendar-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; width:100%; }
#nlbc-page .nlbc-calendar { padding:14px 14px 16px; border:1px solid var(--nlbc-border); border-radius:11px; background:#fff; min-width:0; }
#nlbc-page .nlbc-calendar h3 { margin:0 0 10px; text-align:center; font-size:1.05rem; }
#nlbc-page .nlbc-weekdays,#nlbc-page .nlbc-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; }
#nlbc-page .nlbc-weekdays { margin-bottom:6px; color:#6e7b8e; font-size:.72rem; font-weight:800; text-align:center; }
#nlbc-page .nlbc-day { appearance:none; border:0; display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:1/1; min-width:0; border-radius:50%; background:transparent; color:#203a61; font-size:clamp(.88rem,.78vw,1.06rem); font-weight:700; line-height:1; padding:0; }
#nlbc-page button.nlbc-day { color:#fff; cursor:pointer; font-weight:800; }
#nlbc-page .nlbc-day.regular { background:var(--nlbc-blue); }
#nlbc-page .nlbc-day.special { background:#d7a22a; color:#1b2940; }
#nlbc-page .nlbc-day.derby { background:var(--nlbc-green); }
#nlbc-page .nlbc-day-empty { visibility:hidden; }

/* Whole Year */
#nlbc-page .nlbc-year { padding:24px 24px 26px; }
#nlbc-page .nlbc-year>h2 { font-size:clamp(1.9rem,2.35vw,2.5rem); }
#nlbc-page .nlbc-helper { margin:8px 0 18px; color:#637089; font-size:.83rem; }
#nlbc-page .nlbc-year-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
#nlbc-page .nlbc-year-month { border:1px solid var(--nlbc-border); border-radius:10px; overflow:hidden; background:#fff; min-width:0; }
#nlbc-page .nlbc-year-month h3 { margin:0; padding:10px 12px; background:#f2f6fc; border-bottom:1px solid var(--nlbc-border); font-size:1.05rem; }
#nlbc-page .nlbc-year-item { appearance:none; width:100%; display:grid; grid-template-columns:72px minmax(0,1fr); align-items:center; gap:9px; padding:9px 11px; border:0; border-bottom:1px solid #edf0f5; background:#fff; color:#31445e; text-align:left; cursor:pointer; }
#nlbc-page .nlbc-year-item:last-child { border-bottom:0; }
#nlbc-page .nlbc-year-item:hover { background:#f8faff; }
#nlbc-page .nlbc-year-item time { display:flex; align-items:center; justify-content:center; min-height:31px; padding:4px 5px; border-radius:16px; color:#fff; background:var(--nlbc-blue); font-size:.94rem; font-weight:800; white-space:nowrap; }
#nlbc-page .nlbc-year-item.special time { background:#d7a22a; color:#1b2940; }
#nlbc-page .nlbc-year-item.derby time { background:var(--nlbc-green); }
#nlbc-page .nlbc-year-item span { font-size:.94rem; line-height:1.28; font-weight:700; }


/* Memory Verses - Option 3 two-column card layout */
#nlbc-page .nlbc-memory-verses { padding:24px; }
#nlbc-page .nlbc-memory-heading { display:flex; align-items:center; justify-content:center; gap:11px; margin:0 0 18px; position:relative; padding-bottom:10px; }
#nlbc-page .nlbc-memory-heading:after { content:""; position:absolute; bottom:0; width:48px; height:3px; border-radius:4px; background:var(--nlbc-gold); }
#nlbc-page .nlbc-memory-heading-icon { width:38px; height:38px; }
#nlbc-page .nlbc-memory-heading h2 { font-size:clamp(1.7rem,2vw,2.15rem); }
#nlbc-page .nlbc-memory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
#nlbc-page .nlbc-memory-card { min-height:152px; padding:18px 20px; border:1px solid var(--nlbc-border); border-radius:11px; background:#fff; text-align:center; box-shadow:0 3px 14px rgba(9,47,130,.04); display:flex; flex-direction:column; justify-content:flex-start; align-items:center; }
#nlbc-page .nlbc-memory-card time { color:var(--nlbc-blue); font-size:1.08rem; font-weight:900; line-height:1.1; padding-bottom:7px; position:relative; }
#nlbc-page .nlbc-memory-card time:after { content:""; position:absolute; left:50%; bottom:1px; transform:translateX(-50%); width:30px; height:2px; background:var(--nlbc-gold); }
#nlbc-page .nlbc-memory-card h3 { margin:8px 0 6px; color:var(--nlbc-blue); font-size:1.06rem; line-height:1.2; }
#nlbc-page .nlbc-memory-card p { margin:0; color:#42536c; font-size:.94rem; line-height:1.48; max-width:96%; }
#nlbc-page .nlbc-memory-review { grid-column:1/-1; min-height:auto; padding-top:16px; padding-bottom:16px; }

/* Modal */
#nlbc-page .nlbc-modal[hidden] { display:none; }
#nlbc-page .nlbc-modal { position:fixed; inset:0; z-index:999999; display:flex; align-items:center; justify-content:center; padding:24px; }
#nlbc-page .nlbc-modal-backdrop { position:absolute; inset:0; border:0; background:rgba(2,16,45,.66); cursor:pointer; }
#nlbc-page .nlbc-modal-card { position:relative; z-index:2; width:min(680px,100%); max-height:min(80vh,760px); overflow:auto; border-radius:14px; background:#fff; box-shadow:0 20px 70px rgba(0,0,0,.3); padding:25px; }
#nlbc-page .nlbc-modal-card>h2 { padding-right:42px; margin-bottom:17px; font-size:1.65rem; }
#nlbc-page .nlbc-modal-close { position:absolute; right:13px; top:10px; width:38px; height:38px; border:0; border-radius:50%; background:#eef3fb; color:var(--nlbc-blue); font-size:1.7rem; cursor:pointer; }
#nlbc-page .nlbc-modal-row { display:grid; grid-template-columns:42px minmax(0,1fr); gap:12px; padding:12px 0; border-top:1px solid #edf0f5; }
#nlbc-page .nlbc-modal-row img { width:38px; height:38px; }
#nlbc-page .nlbc-modal-row strong { color:var(--nlbc-blue); font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; }
#nlbc-page .nlbc-modal-row p { margin:3px 0 0; color:#3e4e66; font-size:.94rem; line-height:1.45; }
body.nlbc-modal-open { overflow:hidden; }
.nlbc-data-error { padding:24px; border:2px solid #b00020; background:#fff6f6; color:#6d0012; }

/* Responsive */
@media (max-width:1180px) {
  #nlbc-page .nlbc-hero { grid-template-columns:165px minmax(0,1fr) 175px; gap:20px; }
  #nlbc-page .nlbc-hero-logo img { width:145px; }
  #nlbc-page .nlbc-hero-anchor { width:165px; }
  #nlbc-page .nlbc-creed-inner { grid-template-columns:1.15fr repeat(3,1fr); }
  #nlbc-page .nlbc-creed-item:nth-last-child(-n+2) { border-top:1px solid rgba(255,255,255,.18); }
  #nlbc-page .nlbc-next { grid-template-columns:1.15fr 1fr 1fr; }
  #nlbc-page .nlbc-trio { grid-column:1/-1; border-left:0 !important; border-top:0; min-height:90px; }
  #nlbc-page .nlbc-big-events-grid { grid-template-columns:repeat(4,1fr); }
  #nlbc-page .nlbc-big-event { border-bottom:1px solid var(--nlbc-border); }
  #nlbc-page .nlbc-armor { grid-template-columns:1fr; }
  #nlbc-page .nlbc-armor-grid { border-top:1px solid var(--nlbc-border); }
  #nlbc-page .nlbc-calendar-grid,#nlbc-page .nlbc-year-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:860px) {
  #nlbc-page .nlbc-shell { width:min(100% - 28px,1500px); }
  #nlbc-page .nlbc-hero { grid-template-columns:1fr; gap:15px; padding-top:20px; }
  #nlbc-page .nlbc-hero-logo { order:1; }
  #nlbc-page .nlbc-hero-main { order:2; }
  #nlbc-page .nlbc-hero-armor { order:3; }
  #nlbc-page .nlbc-hero-logo img { width:130px; }
  #nlbc-page .nlbc-hero-anchor { width:145px; }
  #nlbc-page .nlbc-identity-row { grid-template-columns:1fr; }
  #nlbc-page .nlbc-meta-card { min-width:min(100%,260px); }
  #nlbc-page .nlbc-creed-inner { grid-template-columns:1fr 1fr; }
  #nlbc-page .nlbc-creed-title { grid-column:1/-1; justify-content:center; text-align:left; }
  #nlbc-page .nlbc-creed-item { border-top:1px solid rgba(255,255,255,.18); }
  #nlbc-page .nlbc-next { grid-template-columns:1fr; }
  #nlbc-page .nlbc-next>div { border-left:0 !important; border-top:0; }
  #nlbc-page .nlbc-next>div:nth-child(2) { border-top:1px solid var(--nlbc-border); }
  #nlbc-page .nlbc-quick-links { grid-template-columns:repeat(2,1fr); }
  #nlbc-page .nlbc-quick-links a { border-right:0; border-bottom:1px solid var(--nlbc-border); justify-content:flex-start; }
  #nlbc-page .nlbc-about { grid-template-columns:1fr; }
  #nlbc-page .nlbc-pillars { grid-template-columns:repeat(2,1fr); border-top:1px solid var(--nlbc-border); }
  #nlbc-page .nlbc-pillars>div { border-left:0; border-right:1px solid var(--nlbc-border); border-bottom:1px solid var(--nlbc-border); }
  #nlbc-page .nlbc-timeline { grid-template-columns:repeat(4,1fr); row-gap:18px; }
  #nlbc-page .nlbc-timeline:before { display:none; }
  #nlbc-page .nlbc-armor-grid { grid-template-columns:repeat(3,1fr); }
  #nlbc-page .nlbc-armor-grid>div { border-bottom:1px solid var(--nlbc-border); }
  #nlbc-page .nlbc-parent-grid { grid-template-columns:repeat(2,1fr); }
  #nlbc-page .nlbc-parent-card { border-bottom:1px solid var(--nlbc-border); }
}

@media (max-width:560px) {
  #nlbc-page .nlbc-shell { width:calc(100% - 20px); }
  #nlbc-page .nlbc-hero h1 { font-size:3.1rem; }
  #nlbc-page .nlbc-actions { flex-direction:column; }
  #nlbc-page .nlbc-btn { width:100%; }
  #nlbc-page .nlbc-creed-inner { grid-template-columns:1fr; }
  #nlbc-page .nlbc-creed-title { grid-column:auto; }
  #nlbc-page .nlbc-quick-links { grid-template-columns:1fr; }
  #nlbc-page .nlbc-big-events-grid { grid-template-columns:1fr 1fr; }
  #nlbc-page .nlbc-pillars,#nlbc-page .nlbc-parent-grid { grid-template-columns:1fr; }
  #nlbc-page .nlbc-pillars>div,#nlbc-page .nlbc-parent-card { border-right:0; }
  #nlbc-page .nlbc-timeline { grid-template-columns:repeat(2,1fr); }
  #nlbc-page .nlbc-armor-grid { grid-template-columns:repeat(2,1fr); }
  #nlbc-page .nlbc-calendar-grid,#nlbc-page .nlbc-year-grid,#nlbc-page .nlbc-memory-grid { grid-template-columns:1fr; }
  #nlbc-page .nlbc-calendar { max-width:430px; width:100%; margin:0 auto; }
  #nlbc-page .nlbc-section-heading { align-items:flex-start; flex-direction:column; gap:8px; }
  #nlbc-page .nlbc-year { padding:20px 14px; }
  #nlbc-page .nlbc-year-item { grid-template-columns:68px minmax(0,1fr); }
  #nlbc-page .nlbc-day { font-size:1rem; }
}

/* v1.7 — endpoint times for the club-night timeline */
#nlbc-page .nlbc-timeline-time {
  display:block;
  min-height:1.35em;
  margin:0 auto 3px;
  color:var(--nlbc-blue);
  font-size:.94rem;
  font-weight:800;
  line-height:1.2;
}
#nlbc-page .nlbc-timeline-step:not(:first-child):not(:last-child)::before {
  content:"";
  display:block;
  min-height:1.35em;
  margin-bottom:3px;
}
#nlbc-page .nlbc-timeline:before { top:31px; }
@media (max-width:780px) {
  #nlbc-page .nlbc-timeline-step:not(:first-child):not(:last-child)::before { display:none; }
  #nlbc-page .nlbc-timeline-time { min-height:0; margin-bottom:3px; }
}
