/* =====================================================================
   Naber Visual Home Builder (community.127)
   Part 1 — public Home sections (.nhb-home, .nhb-hero, .nhb-footer).
            Loaded on every Naber page; the editor canvas uses exactly this.
   Part 2 — editor workspace (.nhb-editor). Neutral blue-gray controls only.
   ===================================================================== */

/* ---------- Part 1: public Home ---------- */
.nhb-home{--nhb-ink:#1f2a33;--nhb-muted:#5f6b75;--nhb-line:#e3e7eb;--nhb-accent:#4e6b8a;container-type:inline-size;container-name:nhbhome;display:flex;flex-direction:column;gap:clamp(28px,4vw,44px);margin:8px 0 0;padding:0}
.nhb-block{margin:0;min-width:0}
.nhb-eyebrow{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--nhb-accent)}

/* Header hero options (built on the shared .naber-hero component) */
.nhb-hero .naber-hero-scrim{background:linear-gradient(115deg,rgba(10,14,20,calc(var(--nhb-overlay,.55)*1.5)) 0%,rgba(10,14,20,calc(var(--nhb-overlay,.55)*1.1)) 28%,rgba(10,14,20,calc(var(--nhb-overlay,.55)*.4)) 55%,rgba(10,14,20,calc(var(--nhb-overlay,.55)*.12)) 80%)}
.nhb-hero.is-align-center .naber-hero-scrim,.nhb-hero.is-align-right .naber-hero-scrim{background:linear-gradient(180deg,rgba(10,14,20,calc(var(--nhb-overlay,.55)*.55)) 0%,rgba(10,14,20,var(--nhb-overlay,.55)) 100%)}
.nhb-hero.is-align-right .naber-hero-scrim{background:linear-gradient(245deg,rgba(10,14,20,calc(var(--nhb-overlay,.55)*1.5)) 0%,rgba(10,14,20,calc(var(--nhb-overlay,.55)*1.1)) 28%,rgba(10,14,20,calc(var(--nhb-overlay,.55)*.4)) 55%,rgba(10,14,20,calc(var(--nhb-overlay,.55)*.12)) 80%)}
.nhb-hero.is-default .naber-hero-scrim{background:linear-gradient(180deg,rgba(36,38,43,.06) 0%,rgba(36,38,43,calc(.2 + var(--nhb-overlay,.55)*.5)) 100%)}
.nhb-hero.is-v-top .naber-hero-scrim,.nhb-hero.is-v-top .naber-hero-body{align-items:flex-start}
.nhb-hero.is-v-center .naber-hero-scrim,.nhb-hero.is-v-center .naber-hero-body{align-items:center}
.nhb-hero.is-align-center .naber-hero-body{justify-content:center;text-align:center}
.nhb-hero.is-align-center .naber-hero-desc{margin-left:auto;margin-right:auto}
.nhb-hero.is-align-right .naber-hero-body{justify-content:flex-end;text-align:right}
.nhb-hero.is-align-right .naber-hero-desc{margin-left:auto}
.nhb-hero.has-avatar.is-align-center .naber-hero-identity,.nhb-hero.has-avatar.is-align-right .naber-hero-identity{margin-left:0}

/* Intro / About */
.nhb-intro{display:grid;gap:clamp(18px,3vw,36px);align-items:center;padding:clamp(22px,3.4vw,40px);border:1px solid var(--nhb-line);border-radius:16px;background:#fff;color:var(--nhb-ink)}
.nhb-intro.is-space-compact{padding:clamp(16px,2.4vw,24px)}
.nhb-intro.is-space-roomy{padding:clamp(30px,5vw,64px)}
.nhb-intro-title{margin:0 0 10px;font:600 clamp(24px,3vw,32px)/1.18 Georgia,'Times New Roman',serif;color:var(--nhb-ink)}
.nhb-intro-text{color:#3d4852;font-size:16px;line-height:1.7}
.nhb-intro-text p{margin:0 0 .8em}.nhb-intro-text p:last-child{margin-bottom:0}
.nhb-intro.is-text{max-width:none}
.nhb-intro.is-text .nhb-intro-copy{max-width:760px}
.nhb-intro.is-text.is-align-center .nhb-intro-copy,.nhb-intro.is-spotlight.is-align-center .nhb-intro-copy{margin:0 auto;text-align:center}
.nhb-intro.is-split.has-image{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.nhb-intro.is-split.has-image.is-image-right .nhb-intro-media{order:2}
.nhb-intro.is-split.is-align-center .nhb-intro-copy{text-align:center}
.nhb-intro-media{border-radius:12px;overflow:hidden;aspect-ratio:3/2;max-height:420px;background:#eef1f4}
.nhb-intro-media img{display:block;width:100%;height:100%;object-fit:cover}
.nhb-intro.is-spotlight{min-height:280px;border:0;background-color:#24313b;background-image:linear-gradient(90deg,rgba(18,28,35,.9),rgba(18,28,35,.55)),var(--nhb-intro-image,linear-gradient(135deg,#3b4d5b,#24313b));background-size:cover;background-position:center}
.nhb-intro.is-spotlight .nhb-intro-copy{max-width:640px}
.nhb-intro.is-spotlight .nhb-eyebrow{color:#c7d6e4}
.nhb-intro.is-spotlight .nhb-intro-title{color:#fff}
.nhb-intro.is-spotlight .nhb-intro-text{color:rgba(255,255,255,.88)}

/* Shared content blocks */
.nhb-content-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 16px}
.nhb-content-head h2{margin:0;font:600 clamp(21px,2.4vw,26px)/1.2 Georgia,'Times New Roman',serif;color:var(--nhb-ink)}
.nhb-view-all{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;color:var(--nhb-accent)!important;font-size:14px;font-weight:600;text-decoration:none!important;white-space:nowrap}
.nhb-view-all .nhb-ico{width:16px;height:16px}
.nhb-view-all:hover{text-decoration:underline!important}
.nhb-home .nhb-grid{display:grid;grid-template-columns:repeat(var(--nhb-cols,3),minmax(0,1fr));gap:clamp(12px,1.8vw,20px);margin:0;padding:0}
/* Keep the owner's desktop column choice in the editor canvas, too; only real narrow layouts step down. */
@container nhbhome (max-width: 680px){.nhb-home .nhb-grid{grid-template-columns:repeat(var(--nhb-cols-t,2),minmax(0,1fr))}}
@container nhbhome (max-width: 560px){.nhb-home .nhb-grid{grid-template-columns:repeat(var(--nhb-cols-m,1),minmax(0,1fr))}.nhb-content-head{align-items:flex-start;flex-direction:column;gap:6px}.nhb-intro.is-split.has-image{grid-template-columns:1fr}.nhb-intro.is-split.has-image.is-image-right .nhb-intro-media{order:0}}
.nhb-home .nhb-grid > *{min-width:0;margin:0!important}
/* Cards share equal grid fractions while their text and media scale with density. */
.nhb-home .nhb-grid{--nhb-card-heading:17px;--nhb-card-padding:16px}
.nhb-home .nhb-grid[style*="--nhb-cols:4"]{--nhb-card-heading:15px;--nhb-card-padding:12px}
.nhb-home .nhb-grid[style*="--nhb-cols:5"]{--nhb-card-heading:14px;--nhb-card-padding:10px}
.nhb-home .nhb-grid[style*="--nhb-cols:6"]{--nhb-card-heading:13px;--nhb-card-padding:9px}
.nhb-home .nhb-grid .nhb-card-title{font-size:var(--nhb-card-heading);line-height:1.35}
.nhb-home .nhb-grid .nhb-card-body{padding:var(--nhb-card-padding)}
.nhb-home .nhb-grid .naber-article-card-title{font-size:var(--nhb-card-heading);overflow-wrap:anywhere}
.nhb-home .nhb-grid .nhb-card-media{width:100%;aspect-ratio:16/10}
.nhb-home .nhb-grid .nhb-card-media img{max-width:100%;object-fit:cover}

.nhb-home .naber-series-tile-cover,.nhb-home .nhb-card-media,.nhb-home .naber-article-card-cover{min-width:0;max-width:100%}
.nhb-home .naber-series-grid.nhb-grid > .naber-series-tile:first-child{grid-column:auto}

.nhb-card{min-width:0;border:1px solid var(--nhb-line);border-radius:14px;background:#fff;overflow:hidden;transition:box-shadow .18s,border-color .18s}
.nhb-card:hover{border-color:#cdd5dd;box-shadow:0 6px 18px rgba(19,33,44,.07)}
.nhb-card-link{display:flex;flex-direction:column;height:100%;color:inherit!important;text-decoration:none!important}
.nhb-card-media{display:block;aspect-ratio:16/10;background:#eef1f4;overflow:hidden}
.nhb-card-media img{display:block;width:100%;height:100%;object-fit:cover}
/* A link or audio post without an available public image still gets a visual card. */
.nhb-card-media-fallback{display:grid;width:100%;height:100%;place-items:center;background:linear-gradient(135deg,#e7eef1 0%,#d8e5e9 100%);color:#3e6170}
.nhb-card-media-fallback svg{display:block;width:50px;height:50px;max-width:25%;flex:none}

/* A family of identifiable Home Feed media cards: same shape, distinct purpose. */
.nhb-card-media-fallback{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.nhb-card-fallback-label{display:block;font-size:11px;font-weight:750;letter-spacing:.11em;text-transform:uppercase;text-align:center;line-height:1.5}
.nhb-feed-card.is-event .nhb-card-media{background:#e8eef4}
.nhb-card-fallback-event{background:radial-gradient(circle at 80% 15%,rgba(255,255,255,.9),transparent 46%),linear-gradient(145deg,#dfe9ee,#b6cbd6);color:#315267}
.nhb-feed-card.is-prayer .nhb-card-media{background:#eeeaf2}
.nhb-card-fallback-prayer{background:radial-gradient(circle at 82% 15%,rgba(255,255,255,.92),transparent 48%),linear-gradient(145deg,#f2edf1,#dccfdc);color:#65526e}
.nhb-feed-card.is-event .nhb-card-kicker{color:#365d72}
.nhb-feed-card.is-prayer .nhb-card-kicker{color:#785a7c}
.nhb-feed-card.is-event .nhb-card-media img,.nhb-feed-card.is-prayer .nhb-card-media img{object-fit:cover}


.nhb-card-body{display:flex;flex-direction:column;gap:7px;padding:14px 16px 16px;min-width:0}
.nhb-card-meta{display:flex;align-items:center;gap:6px;color:var(--nhb-muted);font-size:12px;min-width:0}
.nhb-card-meta img,.nhb-card-meta .neighbor-avatar{width:24px!important;height:24px!important;border-radius:50%;flex:0 0 auto}
.nhb-card-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nhb-card-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--nhb-muted)}
.nhb-card-title{display:block;color:var(--nhb-ink);font-size:17px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}
.nhb-card-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#4c5862;font-size:14px;line-height:1.55}
.nhb-content.layout-compact .nhb-card-title{font-size:15px}
.nhb-content.layout-compact .nhb-card-body{padding:13px 14px}
.nhb-article-row .nhb-card-link{flex-direction:row;align-items:stretch}
.nhb-article-row .nhb-card-media{flex:0 0 34%;aspect-ratio:auto;min-height:96px}
.nhb-home .naber-article-card{height:100%;margin:0!important;display:flex;flex-direction:column}
.nhb-home .naber-article-card-body{display:flex;flex-direction:column;flex:1}
.nhb-home .naber-article-card-excerpt{flex:1}
.nhb-home .naber-article-readbtn{align-self:flex-start}
.nhb-home .naber-article-card-title{font-size:19px}
.nhb-home .nhb-series-tile{height:100%}
/* Series art is editorial artwork, not a decorative crop. Show the full image
   inside the card even with one Series or narrower responsive card sizes. */
.nhb-home .nhb-series-tile .naber-series-tile-cover{background:#e9edf0}
.nhb-home .nhb-series-tile .naber-series-tile-cover .naber-series-cover-img,
.nhb-home .nhb-series-tile .naber-series-tile-cover img{object-fit:contain!important;object-position:center!important;transform:none!important}
.nhb-home .nhb-series-tile .naber-series-tile-cover:hover .naber-series-cover-img{transform:none!important}
.nhb-content.is-series.layout-cover .naber-series-tile{border:0;box-shadow:none;background:transparent}
.nhb-content.is-series.layout-cover .naber-series-tile-cover{border-radius:12px}
.nhb-content.is-series.layout-cover .naber-series-cover-shade,.nhb-content.is-series.layout-cover .naber-series-cover-title{opacity:1;transform:none}

.nhb-member{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 12px;border:1px solid var(--nhb-line);border-radius:14px;background:#fff;text-align:center;min-width:0}
.nhb-member-avatar img,.nhb-member-avatar .neighbor-avatar{display:block;width:72px!important;height:72px!important;border-radius:50%;object-fit:cover}
.nhb-member-copy{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:100%}
.nhb-member-copy strong{color:var(--nhb-ink);font-size:15px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nhb-member-role{color:var(--nhb-muted);font-size:12px}
.nhb-member.is-row{flex-direction:row;padding:10px 12px;text-align:left}
.nhb-member.is-row .nhb-member-avatar img,.nhb-member.is-row .nhb-member-avatar .neighbor-avatar{width:40px!important;height:40px!important}

/* Subscribe */
.nhb-subscribe{display:flex;align-items:center;gap:18px;padding:clamp(18px,2.6vw,28px);border:1px solid #d6dee6;border-radius:16px;background:linear-gradient(135deg,#f4f7fa,#e9eff4);color:var(--nhb-ink);flex-wrap:wrap}
.nhb-subscribe-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--nhb-accent);flex:0 0 auto}
.nhb-subscribe-icon .nhb-ico{width:24px;height:24px}
.nhb-subscribe-copy{flex:1 1 260px;min-width:0}
.nhb-subscribe h2{margin:0 0 4px;font:600 22px/1.25 Georgia,'Times New Roman',serif;color:var(--nhb-ink)}
.nhb-subscribe p{margin:0;color:#4c5862}
.nhb-subscribe-button{display:inline-flex;align-items:center;min-height:42px;padding:0 20px;border-radius:999px;background:#253342;color:#fff!important;font-weight:650;text-decoration:none!important}
.nhb-subscribe-button:hover{background:#34475a}
.nhb-subscribe.is-card{flex-direction:column;text-align:center;max-width:560px;margin-inline:auto}
.nhb-subscribe.is-card .nhb-subscribe-copy{flex:0 1 auto}

/* Footer */
.nhb-footer{margin:8px 0 12px;padding:22px clamp(16px,2.6vw,28px) 16px;border:1px solid var(--nhb-line);border-radius:16px;background:#fff;color:var(--nhb-ink)}
.nhb-footer-main{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap}
.nhb-footer-brand{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 280px}
.nhb-footer-name{display:inline-flex;align-items:center;gap:10px;font-size:17px}
.nhb-footer-name img{width:32px;height:32px;border-radius:50%;object-fit:cover}
.nhb-footer-message{margin:0;color:var(--nhb-muted);font-size:14px;line-height:1.5}
.nhb-footer-social{display:flex;gap:8px;flex-wrap:wrap}
.nhb-footer-social a{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--nhb-line);border-radius:50%;color:#3f5163!important;background:#f7f9fb;transition:background .15s,border-color .15s}
.nhb-footer-social a:hover{background:#e9eff4;border-color:#c9d3dc}
.nhb-footer-social a:focus-visible,.nhb-footer-policies a:focus-visible,.nhb-view-all:focus-visible,.nhb-subscribe-button:focus-visible{outline:2px solid var(--nhb-accent);outline-offset:2px}
.nhb-footer-social .nhb-ico{width:18px;height:18px}
.nhb-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;margin-top:16px;padding-top:12px;border-top:1px solid var(--nhb-line);font-size:12.5px;color:var(--nhb-muted)}
.nhb-footer-policies{display:flex;flex-wrap:wrap;gap:6px 18px}
.nhb-footer-policies a{color:var(--nhb-muted)!important;text-decoration:none!important}
.nhb-footer-policies a:hover{color:var(--nhb-ink)!important;text-decoration:underline!important}
@container nhbhome (max-width: 560px){.nhb-footer-main{flex-direction:column;align-items:flex-start}.nhb-footer-bottom{flex-direction:column;align-items:flex-start}}
.nhb-ico{width:20px;height:20px;flex:0 0 auto}

/* Updates block opens the existing Updates popup (public.js) */
[data-nhb-open-updates]{cursor:pointer}

/* ---------- Settings → Pages → Home launcher ---------- */
.nhb-launch-card{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:16px 18px;border:1px solid #dde3e9;border-radius:12px;background:#f7f9fb}
.nhb-launch-copy strong{font-size:16px;color:#1f2a33}
.nhb-launch-copy p{margin:4px 0 10px;color:#5f6b75}
.nhb-launch-summary{display:grid;gap:4px;margin:0;font-size:13px}
.nhb-launch-summary div{display:flex;gap:8px}
.nhb-launch-summary dt{min-width:64px;font-weight:650;color:#3f5163}
.nhb-launch-summary dd{margin:0;color:#5f6b75}
.nhb-launch-button{background:#253342!important;border-color:#253342!important;color:#fff!important;text-decoration:none!important;white-space:nowrap}
.nhb-launch-button:hover,.nhb-launch-button:focus{background:#34475a!important;border-color:#34475a!important}

/* ---------- Part 2: editor workspace ---------- */
body.nhb-editor-open{overflow:hidden!important}
.nhb-editor{--e-ink:#1f2a33;--e-muted:#5f6b75;--e-line:#dfe4e9;--e-soft:#f3f5f7;--e-ctl:#56687a;--e-ctl-hover:#e8edf2;--e-sel:#4e6b8a;--e-sel-soft:#e7eef5;
  position:fixed;inset:0;z-index:100000;display:flex;flex-direction:column;background:#eceff2;color:var(--e-ink);font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.nhb-editor *,.nhb-editor *::before,.nhb-editor *::after{box-sizing:border-box}
.nhb-editor button,.nhb-editor input,.nhb-editor select,.nhb-editor textarea{font:inherit;letter-spacing:normal;text-transform:none;box-shadow:none;margin:0}
/* Theme-proof button reset (themes such as Neve paint every <button> with a brand colour, padding and borders).
   Specificity (0,1,1)/(0,2,1) beats element/pseudo theme rules; every editor class below is prefixed with .nhb-editor. */
.nhb-editor button{background:transparent;background-image:none;color:inherit;border:0;padding:0;box-shadow:none;text-shadow:none;text-transform:none;letter-spacing:normal;min-height:0;line-height:inherit;border-radius:8px;font:inherit;fill:currentColor;cursor:pointer;-webkit-appearance:none;appearance:none}
.nhb-editor button:hover,.nhb-editor button:focus,.nhb-editor button:active{background-color:transparent;background-image:none;color:inherit;border-color:transparent;box-shadow:none;text-shadow:none}
.nhb-editor .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nhb-editor .nhb-ico{width:18px;height:18px}
.nhb-editor svg circle[r="1.6"]{fill:currentColor}

/* Top bar */
.nhb-topbar{display:flex;align-items:center;gap:16px;min-height:58px;padding:8px 16px;background:#fff;border-bottom:1px solid var(--e-line);flex:0 0 auto}
.nhb-topbar-title{display:flex;align-items:center;gap:10px;min-width:0}
.nhb-topbar-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--e-sel-soft);color:var(--e-sel)}
.nhb-topbar-title h1{margin:0;font-size:16px;font-weight:700;line-height:1.2;color:var(--e-ink)}
.nhb-topbar-title span{display:block;font-size:12.5px;color:var(--e-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.nhb-status{margin:0 auto 0 8px;font-size:12.5px;color:var(--e-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nhb-status.is-dirty{color:#2c3a47;font-weight:600}
.nhb-devices{display:flex;gap:2px;padding:3px;border:1px solid var(--e-line);border-radius:10px;background:var(--e-soft)}
.nhb-devices .nhb-icon-btn[aria-pressed="true"]{background:#fff;color:var(--e-sel);box-shadow:0 1px 2px rgba(20,30,40,.12)}
.nhb-topbar-actions{display:flex;gap:8px}
/* Batch 1: top-right exit (same action as .nhb-return); matches .nhb-btn, visible focus ring. */
.nhb-exit{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-left:4px;border:1px solid #cdd5dd;border-radius:9px;background:#fff;color:var(--e-ctl)!important;text-decoration:none!important;flex:0 0 auto}
.nhb-exit:hover{background:var(--e-soft);color:var(--e-ink)!important}
.nhb-exit:focus-visible{outline:2px solid var(--e-ink);outline-offset:2px}
.nhb-exit .nhb-ico{width:20px;height:20px}
.nhb-editor .nhb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;border:1px solid #cdd5dd;border-radius:9px;background:#fff;color:#2c3a47;font-weight:600;font-size:13.5px;cursor:pointer;white-space:nowrap;text-decoration:none}
.nhb-editor .nhb-btn:hover,.nhb-editor .nhb-btn:focus,.nhb-editor .nhb-btn:active{background:var(--e-ctl-hover);border-color:#bcc7d1}
.nhb-editor .nhb-btn.is-primary{background:#253342;border-color:#253342;color:#fff}
.nhb-editor .nhb-btn.is-primary:hover,.nhb-editor .nhb-btn.is-primary:focus,.nhb-editor .nhb-btn.is-primary:active{background:#34475a;border-color:#34475a}
.nhb-editor .nhb-btn:disabled{opacity:.6;cursor:progress}
.nhb-editor .nhb-btn.is-small{min-height:32px;padding:0 12px;font-size:13px}
.nhb-editor .nhb-btn.is-quiet{border-color:transparent;background:none;color:var(--e-ctl)}
.nhb-editor .nhb-btn.is-quiet:hover{background:var(--e-ctl-hover)}
.nhb-editor .nhb-icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--e-ctl);cursor:pointer}
.nhb-editor .nhb-icon-btn:hover{background:var(--e-ctl-hover);color:var(--e-ink)}
.nhb-editor button:focus-visible,.nhb-editor a:focus-visible,.nhb-editor input:focus-visible,.nhb-editor select:focus-visible,.nhb-editor textarea:focus-visible,.nhb-editor label:focus-within>.nhb-switch{outline:2px solid var(--e-sel);outline-offset:2px}

/* Body: sidebar + canvas */
.nhb-body{display:flex;flex:1 1 auto;min-height:0}
.nhb-sidebar{display:flex;flex-direction:column;width:324px;flex:0 0 324px;background:#fff;border-right:1px solid var(--e-line);min-height:0}
.nhb-sidebar-scroll{flex:1 1 auto;overflow-y:auto;padding:14px 12px 16px;min-height:0}
.nhb-side-group+.nhb-side-group{margin-top:20px}
.nhb-side-label{margin:0 4px 8px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--e-muted)}
.nhb-side-hint{margin:-4px 4px 8px;font-size:12px;color:var(--e-muted)}
.nhb-rows,.nhb-library{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.nhb-row{display:flex;align-items:center;gap:4px;height:44px;padding:0 4px 0 2px;border:1px solid var(--e-line);border-radius:10px;background:#fff;transition:border-color .12s,background .12s}
.nhb-row:hover{border-color:#c8d1da}
.nhb-row.is-selected{border-color:var(--e-sel);background:var(--e-sel-soft)}
.nhb-row.is-dragging{opacity:.4}
.nhb-editor .nhb-row-grip,.nhb-row-lead{display:inline-grid;place-items:center;width:28px;height:32px;flex:0 0 28px;color:#8795a3;border-radius:7px}
.nhb-editor .nhb-row-grip{cursor:grab}
.nhb-editor .nhb-row-grip:hover{background:var(--e-ctl-hover);color:var(--e-ink)}
.nhb-row-lead .nhb-ico{width:17px;height:17px}
.nhb-editor .nhb-row-name,.nhb-editor .nhb-row-name:hover,.nhb-editor .nhb-row-name:focus{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:8px;height:32px;padding:0 4px;text-align:left;font-size:14px;font-weight:550;color:var(--e-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nhb-row-text{min-width:0;overflow:hidden;text-overflow:ellipsis}
.nhb-row.is-hidden .nhb-row-name{color:#8a96a1}
.nhb-row-badge{flex:0 0 auto;padding:1px 7px;border-radius:999px;background:var(--e-soft);border:1px solid var(--e-line);font-size:11px;font-weight:600;color:var(--e-muted)}
.nhb-row-actions{display:flex;align-items:center;gap:0;flex:0 0 auto}
.nhb-editor .nhb-row-actions .nhb-icon-btn{width:30px;height:30px}
.nhb-row.is-fixed{background:#fafbfc}
.nhb-row.is-fixed .nhb-row-actions{margin-right:30px}
.nhb-lib-item{display:flex;align-items:center;gap:10px;padding:8px 6px 8px 10px;border:1px dashed #cdd5dd;border-radius:10px;background:#fafbfc;cursor:grab}
.nhb-lib-item:hover{border-color:#aebbc7;background:#f3f6f8}
.nhb-lib-item.is-dragging{opacity:.5}
.nhb-lib-item.is-unavailable{cursor:default;opacity:.65}
.nhb-lib-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#fff;border:1px solid var(--e-line);color:var(--e-sel);flex:0 0 auto}
.nhb-lib-copy{display:flex;flex-direction:column;min-width:0;flex:1}
.nhb-lib-copy strong{font-size:13.5px;font-weight:600}
.nhb-lib-copy small{font-size:12px;color:var(--e-muted);line-height:1.35}
.nhb-lib-done{padding:10px;border:1px dashed var(--e-line);border-radius:10px;color:var(--e-muted);font-size:12.5px;text-align:center}
.nhb-return{display:flex;align-items:center;gap:8px;margin:0;padding:12px 16px;border-top:1px solid var(--e-line);background:#fff;color:var(--e-ctl)!important;font-weight:600;font-size:13.5px;text-decoration:none!important;flex:0 0 auto}
.nhb-return:hover{background:var(--e-soft);color:var(--e-ink)!important}

.nhb-canvas-wrap{flex:1 1 auto;min-width:0;overflow:auto;padding:22px clamp(12px,2vw,28px) 40px;scroll-padding:24px}
.nhb-canvas{margin:0 auto;max-width:1240px;transition:max-width .25s ease}
.nhb-canvas[data-device="tablet"]{max-width:820px}
/* Tablet preview uses the tablet column count. Its Home measures ~778px, above the 680px container step
   that c9fefd9 lowered from 900px so the narrower desktop canvas keeps 6 columns; key it to the device toggle. */
.nhb-canvas[data-device="tablet"] .nhb-home .nhb-grid{grid-template-columns:repeat(var(--nhb-cols-t,2),minmax(0,1fr))}
.nhb-canvas[data-device="mobile"]{max-width:390px}
.nhb-canvas-page{padding:clamp(10px,1.6vw,20px)!important;margin:0!important;max-width:none!important;background:#fff;border:1px solid var(--e-line);border-radius:14px;box-shadow:0 8px 28px rgba(20,32,44,.08);font-size:16px}
.nhb-canvas-page .naber-hero{width:100%!important;min-width:0!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;border-radius:12px!important}
.nhb-canvas-page .naber-hero-media,.nhb-canvas-page .naber-hero-scrim{border-radius:12px!important}
.nhb-canvas-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 18px;padding:10px 4px;border-bottom:1px solid #eceff2;color:#5f6b75;font-size:14px}
.nhb-canvas-nav-tabs{display:flex;gap:18px}
.nhb-canvas-nav-tabs b{color:#1f2a33}
.nhb-canvas-nav-note{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#98a3ad}
.nhb-canvas[data-device="mobile"] .nhb-canvas-nav-note{display:none}
.nhb-canvas[data-device="mobile"] .naber-hero{aspect-ratio:auto;min-height:240px}
.nhb-canvas[data-device="mobile"] .naber-hero.has-avatar .naber-hero-identity{margin-left:0}
.nhb-canvas[data-device="mobile"] .naber-hero.has-avatar .naber-hero-scrim{padding-bottom:64px}
.nhb-canvas[data-device="mobile"] .naber-hero-name{font-size:24px}

/* Canvas parts: real markup + always-visible compact tools */
.nhb-part{position:relative;border-radius:16px;outline:2px solid transparent;outline-offset:6px;transition:outline-color .12s,opacity .2s}
.nhb-part:hover{outline-color:#c9d3dc}
.nhb-part.is-selected{outline-color:var(--e-sel)}
.nhb-part.is-dragging{opacity:.35}
.nhb-part.is-updating .nhb-part-content{opacity:.65;transition:opacity .2s}
.nhb-part.is-hidden .nhb-part-content{opacity:.38;filter:grayscale(.6)}
.nhb-part-fixed[data-nhb-part="header"]{margin-bottom:6px}
.nhb-part-fixed[data-nhb-part="header"] .nhb-part-tools{top:10px}
.nhb-home[data-nhb-canvas-blocks]{padding-top:6px}
.nhb-part-fixed[data-nhb-part="footer"]{margin-top:clamp(28px,4vw,44px)}
.nhb-part-tools{position:absolute;top:-17px;right:14px;z-index:5;display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--e-line);border-radius:10px;background:rgba(255,255,255,.96);box-shadow:0 2px 8px rgba(20,32,44,.12);font:13px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--e-ink)}
.nhb-editor .nhb-part-tools button{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--e-ctl);cursor:pointer;min-height:0}
.nhb-editor .nhb-part-tools button:hover{background:var(--e-ctl-hover);color:var(--e-ink)}
.nhb-editor .nhb-part-tools .nhb-tool-grip{cursor:grab}
.nhb-tool-fixed{display:inline-grid;place-items:center;width:26px;height:30px;color:#8795a3}
.nhb-tool-fixed .nhb-ico{width:15px;height:15px}
.nhb-tool-name{padding:0 6px 0 2px;font-weight:600;font-size:12.5px;white-space:nowrap}
.nhb-tool-name em{margin-left:4px;padding:1px 6px;border-radius:999px;background:var(--e-soft);font-style:normal;font-size:11px;color:var(--e-muted)}
.nhb-canvas[data-device="mobile"] .nhb-tool-name{display:none}
.nhb-part-content a,.nhb-part-content button{cursor:default}
.nhb-part-content img{-webkit-user-drag:none;user-select:none}
.nhb-home[data-nhb-canvas-blocks]{min-height:120px}
.nhb-home[data-nhb-canvas-blocks].is-empty{border:2px dashed #cdd5dd;border-radius:14px;align-items:center;justify-content:center}
.nhb-canvas-empty{margin:0;padding:34px;color:var(--e-muted);text-align:center}
.nhb-empty{display:flex;align-items:center;gap:12px;padding:22px;border:1px dashed #cdd5dd;border-radius:14px;background:#f8fafb;color:#5f6b75;font-size:14px}
.nhb-empty .nhb-ico{color:#8795a3}
.nhb-editor-note{flex-basis:100%;margin:6px 0 0;font-size:12.5px;color:#5f6b75}
.nhb-drop-line{position:fixed;z-index:100003;height:4px;border-radius:4px;background:var(--e-sel,#4e6b8a);box-shadow:0 0 0 3px rgba(78,107,138,.18);pointer-events:none}
.nhb-editor.is-dragging .nhb-rows,.nhb-editor.is-dragging [data-nhb-canvas-blocks]{background:rgba(78,107,138,.04);border-radius:12px}

/* Settings panel (non-modal so the canvas stays visible and updates live) */
.nhb-panel{position:fixed;z-index:100001;top:70px;right:16px;bottom:16px;display:flex;flex-direction:column;width:min(400px,calc(100vw - 32px));background:#fff;border:1px solid var(--e-line);border-radius:14px;box-shadow:0 18px 50px rgba(20,32,44,.22)}
.nhb-panel[hidden]{display:none}
.nhb-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 12px 18px;border-bottom:1px solid var(--e-line)}
.nhb-panel-head h2{margin:0;font-size:16px;font-weight:700;color:var(--e-ink)}
.nhb-panel-body{flex:1 1 auto;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:14px;margin:0}
.nhb-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px;border-top:1px solid var(--e-line)}
.nhb-panel-note{font-size:12px;color:var(--e-muted)}
.nhb-panel-sub{margin:6px 0 -6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--e-muted)}
@media (min-width: 1700px){.nhb-editor.has-panel .nhb-canvas-wrap{padding-right:432px}}
.nhb-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.nhb-label{font-size:13px;font-weight:650;color:#2c3a47}
.nhb-hint{margin:0;font-size:12px;line-height:1.45;color:var(--e-muted)}
.nhb-editor .nhb-input{width:100%;min-height:38px;padding:8px 10px;border:1px solid #cdd5dd;border-radius:8px;background:#fff;color:var(--e-ink);font-size:14px}
.nhb-editor select.nhb-input{-webkit-appearance:none;appearance:none;padding-right:34px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2356687a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/16px 16px}
.nhb-editor textarea.nhb-input{resize:vertical;line-height:1.5}
.nhb-editor .nhb-input:focus{border-color:var(--e-sel);outline:none;box-shadow:0 0 0 3px rgba(78,107,138,.16)}
.nhb-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nhb-field-pair .nhb-field-cols{grid-column:auto}
.nhb-seg{display:flex;flex-wrap:wrap;gap:2px;padding:3px;border:1px solid #d5dce3;border-radius:9px;background:var(--e-soft)}
.nhb-seg-opt{position:relative;flex:1 1 auto;display:grid;place-items:center;min-height:30px;padding:0 8px;border-radius:7px;font-size:13px;font-weight:550;color:var(--e-ctl);cursor:pointer;text-align:center}
.nhb-seg-opt input{position:absolute;opacity:0;pointer-events:none}
.nhb-seg-opt:hover{color:var(--e-ink)}
.nhb-seg-opt.is-on{background:#fff;color:var(--e-ink);box-shadow:0 1px 2px rgba(20,30,40,.14)}
.nhb-seg-opt:focus-within{outline:2px solid var(--e-sel);outline-offset:1px}
.nhb-toggle{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#2c3a47;cursor:pointer}
.nhb-toggle input{position:absolute;opacity:0;width:1px;height:1px}
.nhb-switch{position:relative;width:36px;height:20px;border-radius:999px;background:#c3ccd5;flex:0 0 auto;transition:background .15s}
.nhb-switch::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}
.nhb-toggle input:checked+.nhb-switch{background:var(--e-sel)}
.nhb-toggle input:checked+.nhb-switch::after{transform:translateX(16px)}
.nhb-range{display:flex;align-items:center;gap:10px}
.nhb-range input{flex:1;accent-color:var(--e-sel)}
.nhb-range output{min-width:38px;text-align:right;font-size:12.5px;color:var(--e-muted)}
.nhb-image{display:flex;flex-direction:column;gap:8px}
.nhb-image.is-busy{opacity:.6}
.nhb-image-preview{display:grid;place-items:center;aspect-ratio:16/7;border:1px dashed #cdd5dd;border-radius:10px;background:var(--e-soft);overflow:hidden;color:var(--e-muted);font-size:12.5px;text-align:center;padding:0}
.nhb-image-preview img{width:100%;height:100%;object-fit:cover}
.nhb-image-preview span{padding:10px}
.nhb-image-actions{display:flex;gap:8px;flex-wrap:wrap}
.nhb-image-actions label.nhb-btn{cursor:pointer}
/* Home Header and Intro/About: a real, keyboard-reachable image drop target.
   The existing Upload image action remains available for all devices. */
.nhb-image-preview[data-nhb-image-drop]{position:relative;cursor:pointer;outline-offset:3px;transition:border-color .15s,background .15s,box-shadow .15s}
.nhb-image-preview[data-nhb-image-drop]:hover{border-color:#73899b;background:#edf2f5}
.nhb-image-preview[data-nhb-image-drop]:focus-visible{outline:2px solid #456783}
.nhb-image.is-dragover .nhb-image-preview[data-nhb-image-drop]{border:2px dashed #456d88;background:#e6eef5;box-shadow:inset 0 0 0 2px rgba(69,109,136,.12)}
.nhb-image.is-busy .nhb-image-preview[data-nhb-image-drop]{cursor:progress}
.nhb-image-preview .nhb-drop-prompt{display:none;position:absolute;inset:0;align-items:center;justify-content:center;background:rgba(230,238,245,.94);color:#27485c;font-size:15px;font-weight:700;pointer-events:none}
.nhb-image.is-dragover .nhb-drop-prompt{display:flex}
.nhb-image-hint{margin:0;color:var(--e-muted);font-size:12px;line-height:1.45}

.nhb-layouts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.nhb-layout{position:relative;display:flex;flex-direction:column;gap:3px;padding:8px;border:1px solid #d5dce3;border-radius:10px;cursor:pointer;background:#fff}
.nhb-layout input{position:absolute;opacity:0;pointer-events:none}
.nhb-layout.is-on{border-color:var(--e-sel);box-shadow:0 0 0 2px rgba(78,107,138,.18)}
.nhb-layout:focus-within{outline:2px solid var(--e-sel);outline-offset:1px}
.nhb-layout strong{font-size:12.5px}
.nhb-layout small{font-size:11px;color:var(--e-muted);line-height:1.3}
.nhb-layout-art{display:grid;gap:3px;height:42px;padding:5px;border-radius:6px;background:var(--e-soft);margin-bottom:3px}
.nhb-layout-art i{display:block;border-radius:2px;background:#c3ccd5}
.nhb-layout-art.is-text{grid-template-rows:6px 4px 4px;align-content:center;justify-items:center}.nhb-layout-art.is-text i:nth-child(1){width:60%}.nhb-layout-art.is-text i:nth-child(2){width:80%}.nhb-layout-art.is-text i:nth-child(3){width:70%}
.nhb-layout-art.is-split{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr 1fr}.nhb-layout-art.is-split i:nth-child(1){grid-row:1/4;background:#9fb1c2}.nhb-layout-art.is-split i:nth-child(2){height:5px;align-self:end}.nhb-layout-art.is-split i:nth-child(3){height:4px}
.nhb-layout-art.is-spotlight{background:linear-gradient(135deg,#7f93a6,#4e6b8a);align-content:center;padding-left:8px}.nhb-layout-art.is-spotlight i{background:rgba(255,255,255,.85);height:4px;width:55%}.nhb-layout-art.is-spotlight i:first-child{height:6px;width:45%}
.nhb-members-pick ul{list-style:none;margin:6px 0 0;padding:4px;max-height:220px;overflow-y:auto;border:1px solid var(--e-line);border-radius:8px}
.nhb-members-pick li label{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;font-size:13.5px;cursor:pointer}
.nhb-members-pick li label:hover{background:var(--e-soft)}
.nhb-members-pick input[type=checkbox]{accent-color:var(--e-sel)}
.nhb-policy-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.nhb-policy-list li{display:flex;justify-content:space-between;gap:10px;font-size:13px}
.nhb-policy-list em{font-style:normal;color:var(--e-muted)}
.nhb-policy-list em.is-on{color:#2f6b4f}
.nhb-editor .nhb-link-btn{align-self:flex-start;padding:0;border:0;background:none;color:var(--e-ctl);font-size:12.5px;text-decoration:underline;cursor:pointer;min-height:0}
.nhb-callout{margin:0;padding:10px 12px;border:1px solid #d5dce3;border-radius:8px;background:var(--e-soft);font-size:13px;color:#3f5163}

/* Published View */
.nhb-published{width:min(1280px,calc(100vw - 48px));height:calc(100vh - 48px);max-width:none;max-height:none;padding:0;border:0;border-radius:14px;overflow:hidden;box-shadow:0 30px 80px rgba(10,18,26,.35);background:#fff}
.nhb-published[open]{display:flex;flex-direction:column}
.nhb-published::backdrop{background:rgba(22,30,38,.55)}
.nhb-published-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 18px;border-bottom:1px solid var(--e-line);background:#fff}
.nhb-published-head strong{display:block;font-size:15px;color:var(--e-ink)}
.nhb-published-head span{font-size:12.5px;color:var(--e-muted)}
.nhb-published iframe{flex:1 1 auto;width:100%;border:0;background:#f4f6f8}

.nhb-toast{position:fixed;z-index:100004;left:50%;bottom:22px;transform:translateX(-50%);max-width:min(560px,calc(100vw - 32px));padding:10px 16px;border-radius:10px;background:#253342;color:#fff;font-size:13.5px;box-shadow:0 10px 30px rgba(10,18,26,.25)}
.nhb-toast.is-error{background:#8a2c2c}
.nhb-toast.is-ok{background:#2f5a46}

/* Workspace responsiveness */
@media (max-width: 1100px){.nhb-devices{display:none}.nhb-status{display:none}}
@media (max-width: 860px){
  .nhb-body{flex-direction:column}
  .nhb-sidebar{width:auto;flex:0 0 auto;max-height:42vh;border-right:0;border-bottom:1px solid var(--e-line)}
  .nhb-topbar{flex-wrap:wrap;gap:8px}.nhb-topbar-actions{margin-left:auto}
  .nhb-topbar-title span{max-width:150px}
  .nhb-panel{top:auto;left:8px;right:8px;bottom:8px;width:auto;max-height:70vh}
}
@media (max-width: 560px){.nhb-topbar-actions .nhb-btn{padding:0 10px;font-size:12.5px}.nhb-topbar-mark{display:none}}



/* Home Builder adaptive density. 5–6 across is a deliberate compact tile,
   not a miniature full-size post. Labels and image hierarchy remain readable. */
.nhb-home .nhb-grid[style*="--nhb-cols:5"] .nhb-card-media,
.nhb-home .nhb-grid[style*="--nhb-cols:6"] .nhb-card-media{aspect-ratio:1/1}
.nhb-home .nhb-grid[style*="--nhb-cols:5"] .nhb-card-body,
.nhb-home .nhb-grid[style*="--nhb-cols:6"] .nhb-card-body{gap:5px}
.nhb-home .nhb-grid[style*="--nhb-cols:5"] .nhb-card-title,
.nhb-home .nhb-grid[style*="--nhb-cols:6"] .nhb-card-title,
.nhb-home .nhb-grid[style*="--nhb-cols:5"] .naber-article-card-title,
.nhb-home .nhb-grid[style*="--nhb-cols:6"] .naber-article-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nhb-home .nhb-grid[style*="--nhb-cols:5"] .nhb-card-excerpt,
.nhb-home .nhb-grid[style*="--nhb-cols:6"] .nhb-card-excerpt,
.nhb-home .nhb-grid[style*="--nhb-cols:5"] .naber-article-card-excerpt,
.nhb-home .nhb-grid[style*="--nhb-cols:6"] .naber-article-card-excerpt,
.nhb-home .nhb-grid[style*="--nhb-cols:5"] .naber-series-tile-desc,
.nhb-home .nhb-grid[style*="--nhb-cols:6"] .naber-series-tile-desc{display:none}
.nhb-home .nhb-grid[style*="--nhb-cols:5"] .nhb-card-meta,
.nhb-home .nhb-grid[style*="--nhb-cols:6"] .nhb-card-meta{font-size:11px}
.nhb-home .nhb-grid[style*="--nhb-cols:5"] .nhb-card-meta img,
.nhb-home .nhb-grid[style*="--nhb-cols:6"] .nhb-card-meta img{width:20px!important;height:20px!important}
.nhb-home .nhb-grid[style*="--nhb-cols:5"] .naber-series-tile-cover,
.nhb-home .nhb-grid[style*="--nhb-cols:6"] .naber-series-tile-cover{aspect-ratio:1/1}
.nhb-home .nhb-grid[style*="--nhb-cols:5"] .naber-series-cover-title strong,
.nhb-home .nhb-grid[style*="--nhb-cols:6"] .naber-series-cover-title strong{font-size:clamp(12px,1.3vw,16px);line-height:1.2}
.nhb-home .nhb-grid[style*="--nhb-cols:5"] .naber-article-card-body,
.nhb-home .nhb-grid[style*="--nhb-cols:6"] .naber-article-card-body{padding:10px}
.nhb-home .nhb-grid[style*="--nhb-cols:5"] .naber-article-card-cover,
.nhb-home .nhb-grid[style*="--nhb-cols:6"] .naber-article-card-cover{aspect-ratio:1/1}
.nhb-home .nhb-grid[style*="--nhb-cols:5"] .nhb-member,
.nhb-home .nhb-grid[style*="--nhb-cols:6"] .nhb-member{padding:12px 6px}
.nhb-home .nhb-grid[style*="--nhb-cols:5"] .nhb-member-avatar img,
.nhb-home .nhb-grid[style*="--nhb-cols:6"] .nhb-member-avatar img{width:52px!important;height:52px!important}
.nhb-home .nhb-grid[style*="--nhb-cols:5"] .nhb-member-copy strong,
.nhb-home .nhb-grid[style*="--nhb-cols:6"] .nhb-member-copy strong{font-size:13px}

.nhb-mobile-swipe-hint{display:none;margin:4px 0 0;color:var(--nhb-muted);font-size:12px;font-weight:600;text-align:right;letter-spacing:.01em}
/* Mobile-only: one swipeable row; nothing spills horizontally from the page.
   Native scrolling, CSS snap and keyboard focus need no carousel JS dependency.
   Desktop rows/count remain independent of the mobile presentation. */
@container nhbhome (max-width: 560px){
  .nhb-home .nhb-mobile-swipe-hint{display:block}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"]{
    display:grid;
    grid-template-columns:none;
    grid-template-rows:1fr;
    grid-auto-flow:column;
    grid-auto-columns:minmax(0,88%);
    align-items:stretch;
    gap:10px;
    width:100%;
    padding:2px 12px 14px 2px;
    margin:0;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:2px;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="2"]{grid-auto-columns:calc((100% - 10px)/2)}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"]{grid-auto-columns:calc((100% - 20px)/3)}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"] > *{
    width:100%;min-width:0;max-width:100%;height:100%;
    scroll-snap-align:start;scroll-snap-stop:normal;
  }
  .nhb-home .nhb-grid[data-mobile-mode="swipe"] > :nth-child(n+7){display:none!important}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"] .nhb-card-title,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"] .naber-article-card-title{
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
    font-size:15px;line-height:1.28;
  }
  .nhb-home .nhb-grid[data-mobile-mode="swipe"] .nhb-card-media,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"] .naber-article-card-cover{aspect-ratio:4/3}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"] .nhb-card-body{gap:5px;padding:10px}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"] .nhb-card-excerpt,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"] .naber-article-card-excerpt{-webkit-line-clamp:2}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"] .naber-series-tile-cover{aspect-ratio:4/3}
  /* At 2–3 visible, prioritise a clean image and legible headline. */
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="2"] .nhb-card-excerpt,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .nhb-card-excerpt,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="2"] .naber-article-card-excerpt,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .naber-article-card-excerpt,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="2"] .naber-series-tile-desc,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .naber-series-tile-desc{display:none}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="2"] .nhb-card-meta,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .nhb-card-meta{display:none}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="2"] .nhb-card-kicker,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .nhb-card-kicker{font-size:9px;line-height:1.3;letter-spacing:.03em}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="2"] .nhb-card-title,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="2"] .naber-article-card-title{font-size:13px}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .nhb-card-title,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .naber-article-card-title{font-size:11px}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="2"] .nhb-card-body,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .nhb-card-body{padding:7px;gap:4px}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="2"] .nhb-card-media,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .nhb-card-media,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="2"] .naber-article-card-cover,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .naber-article-card-cover{aspect-ratio:1/1}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .nhb-card-fallback-label{display:none}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .nhb-card-media-fallback svg{width:30px;height:30px}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="2"] .naber-series-tile-cover,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .naber-series-tile-cover{aspect-ratio:1/1}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="2"] .naber-series-cover-title strong,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .naber-series-cover-title strong{font-size:11px;line-height:1.15}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="2"] .nhb-member,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .nhb-member{padding:10px 4px;gap:6px}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .nhb-member-avatar img,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .nhb-member-avatar .neighbor-avatar{width:42px!important;height:42px!important}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .nhb-member-copy strong{font-size:11px}
}

/* Home Builder layout clarity (2026-11-14) ------------------------------------------------------------------
   1. Section panel: Desktop layout and Mobile layout are separate, clearly headed groups. */
.nhb-layout-group{display:flex;flex-direction:column;gap:14px;padding:12px 12px 14px;border:1px solid #e3e7eb;border-radius:10px;background:#fafbfc}
.nhb-layout-group-head{margin:0;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#4e6b8a}
.nhb-layout-group .nhb-rows-note{margin:-6px 0 0}
/* 2. Mobile swipe with 2 or 3 cards visible hides the author line to save space. A card with no title (e.g. an Auto
      Text Card, whose text is in the card itself) was left with an empty white strip; it keeps its author line. */
@container nhbhome (max-width: 560px){
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="2"] .nhb-card-body:not(:has(.nhb-card-title)) .nhb-card-meta,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .nhb-card-body:not(:has(.nhb-card-title)) .nhb-card-meta{display:flex;font-size:11px;gap:4px;min-width:0;overflow:hidden;white-space:nowrap}
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="2"] .nhb-card-body:not(:has(.nhb-card-title)) .nhb-card-meta img,
  .nhb-home .nhb-grid[data-mobile-mode="swipe"][data-mobile-cards="3"] .nhb-card-body:not(:has(.nhb-card-title)) .nhb-card-meta img{width:16px;height:16px}
/* 3. Phones: section headings (eyebrow, title, "View all") had no side gutter and touched the screen edge. Inset them
      to the same 16px as card text. Cards and the desktop layout are unchanged. */
  .nhb-home .nhb-content-head{padding-inline:16px;box-sizing:border-box}
}

/* Series thumbnail fit (2026-11-14): the full cover stays visible (contain, never cropped); the space a wide or tall cover
   leaves is filled with a soft blurred copy of the same image instead of a flat grey band. No cover → unchanged. */
.nhb-home .nhb-series-tile .naber-series-tile-cover.has-backdrop{position:relative;overflow:hidden;isolation:isolate}
.nhb-home .nhb-series-tile .naber-series-tile-cover.has-backdrop::before{content:"";position:absolute;inset:-28px;z-index:-1;background:var(--nhb-series-backdrop) center/cover no-repeat;filter:blur(22px) saturate(1.05) brightness(.96);transform:scale(1.06);pointer-events:none}
.nhb-home .nhb-series-tile .naber-series-tile-cover.has-backdrop .naber-series-cover{background:transparent!important}
