/* Nekud course pages (Learn Yiddish 4552, Learn Ladino 4569): modular layout. v2, 11 Nov 2026.
   Symmetrical flush grid: every group shares the content column's left and right edges; equal columns; equal tile heights. */
.nkp-banner{position:relative;z-index:200;background:var(--fl-accent-tint,#e3eefb);color:var(--fl-text);font:500 13px/1.4 var(--fl-sans);text-align:center;padding:7px 12px}
.nkp-modular{--nkp-r:18px;--nkp-gx:16px;--nkp-gy:14px;--nkp-top:86px}
@supports (corner-shape:squircle){.nkp-modular{--nkp-r:28px}.nkp-modular .nkp-card,.nkp-modular .nkp-panel,.nkp-modular .nkp-tile,.nkp-modular .nkp-tc,.nkp-modular .nkp-pbody{corner-shape:squircle}}
.nkp-modular .nkp-card,.nkp-modular .nkp-panel,.nkp-modular .nkp-tile,.nkp-modular .nkp-tc,.nkp-modular .nkp-pbody{background:var(--fl-surface);border:1px solid var(--fl-rule);border-radius:var(--nkp-r);box-shadow:0 1px 2px rgba(15,34,54,.04);box-sizing:border-box}
.nkp-modular>*,.nkp-modular .nkp-sec>*{box-sizing:border-box}
.nkp-modular .nkp-kicker{display:block;font:500 10.5px/1.3 var(--fl-mono)!important;letter-spacing:.18em;text-transform:uppercase;color:var(--fl-muted);margin:0 0 6px}
.nkp-modular .nkp-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px;color:var(--fl-muted);font:400 .8125rem/1.3 var(--fl-sans)}
.nkp-modular .nkp-meta{display:inline-flex;align-items:center;gap:6px}
.nkp-modular svg{flex:none}
.nkp-modular .nkp-chev{transition:transform .25s ease}

/* one column, flush: every block spans the full content column */
.nkp-modular .nkp-overview,.nkp-modular .nkp-jump,.nkp-modular .nkp-sec,.nkp-modular .nkp-grid,.nkp-modular .nkp-about-grid,.nkp-modular .nkp-card,.nkp-modular .nk-dict.nkp-panel{width:100%;max-width:none;margin-left:0;margin-right:0}

/* overview strip: one row of five equal tiles */
.nkp-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:1fr;gap:var(--nkp-gy) var(--nkp-gx);margin:28px 0 18px}
.nkp-modular a.nkp-tile{display:flex;flex-direction:column;min-height:118px;padding:16px 18px 14px;text-decoration:none!important;color:var(--fl-text)!important;transition:transform .2s ease,box-shadow .25s ease}
.nkp-modular a.nkp-tile:hover{transform:translateY(-3px);box-shadow:0 12px 24px -14px rgba(0,0,0,.35)}
.nkp-tile-title{font-family:var(--fl-display,var(--fl-sans));font-weight:600;font-size:1.3125rem;line-height:1.2}
.nkp-go{transition:transform .2s}.nkp-tile:hover .nkp-go{transform:translate(2px,-2px);color:var(--fl-accent-text)}

/* sticky jump bar */
.nkp-jump{position:sticky;top:var(--nkp-top);z-index:40;margin:0 0 26px;padding:6px;background:color-mix(in srgb,var(--fl-bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--fl-rule);border-radius:999px}
.nkp-jump ul{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin:0!important;padding:0!important;list-style:none!important}
.nkp-jump li{margin:0!important;padding:0!important}.nkp-jump li::before,.nkp-jump li::marker{content:none!important}
.nkp-jump a{display:block;text-align:center;padding:7px 6px;border-radius:999px;font:500 14px/1.2 var(--fl-sans)!important;color:var(--fl-text)!important;text-decoration:none!important;white-space:nowrap}
.nkp-jump a:hover{background:var(--fl-band)}
.nkp-jump a.is-active{background:var(--fl-text);color:var(--fl-bg)!important}

/* sections */
.nkp-sec{margin-top:0;margin-bottom:44px}
.nkp-modular h2,.nkp-modular h3,.nkp-modular h4,.nkp-modular [id]{scroll-margin-top:calc(var(--nkp-top) + 70px)}
.nkp-about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--nkp-gy) var(--nkp-gx);align-items:stretch}
.nkp-panel{padding:22px 26px}
.nkp-modular .nkp-about-text>h2.wp-block-heading,.nkp-modular .nkp-about-text>h2{margin-top:0!important;padding-top:0!important}
.nkp-modular .nkp-contents-card{position:relative;min-height:240px;padding:0}
.nkp-modular .nkp-contents-card>.nk-contents{position:absolute;inset:0;overflow:auto;margin:0;background:none;padding:22px 26px;scrollbar-width:thin}
.nkp-modular .nkp-contents-card .nk-contents-lessons{columns:1}

/* tile grids: equal columns, equal tile heights, open panels take their own full row below the tiles' row */
.nkp-grid{display:grid;grid-template-columns:repeat(var(--nkp-cd,3),minmax(0,1fr));gap:var(--nkp-gy) var(--nkp-gx);grid-auto-flow:row dense;align-items:stretch}
.nkp-grid>section.nk-lesson.nkp-contents-wrap{display:contents}
.nkp-tc{display:flex;flex-direction:column;min-width:0;min-height:var(--nkp-th,150px);padding:18px 20px 14px;cursor:pointer;transition:background-color .2s,border-color .2s}
.nkp-tc:hover{background:var(--fl-band)}
.nkp-tc.is-open{border-color:var(--fl-accent-text);box-shadow:inset 0 0 0 1px var(--fl-accent-text)}
.nkp-modular .nkp-tc>h3{margin:0 0 8px!important;padding:0!important;border:0!important;font-family:var(--fl-display,var(--fl-sans));font-weight:600;font-size:1.25rem!important;line-height:1.25!important;hyphens:none!important;-webkit-hyphens:none!important;text-align:left!important;overflow-wrap:break-word}
.nkp-modular .nkp-hist-grid[data-nkp-cols^="5/"] .nkp-tc>h3{font-size:1.0625rem!important}
.nkp-modular .nkp-tc>h3 .nk-lesson-n{display:block;font:500 10.5px/1.3 var(--fl-mono)!important;letter-spacing:.18em;text-transform:uppercase;color:var(--fl-muted);margin:0 0 6px}
.nkp-toggle,.nkp-close{display:inline-flex;align-items:center;gap:4px;padding:4px 2px;border:0;background:none;color:var(--fl-accent-text);font:500 .8125rem/1.2 var(--fl-sans);cursor:pointer}
.nkp-toggle-close{display:none}.nkp-toggle[aria-expanded="true"] .nkp-toggle-open{display:none}.nkp-toggle[aria-expanded="true"] .nkp-toggle-close{display:inline}
.nkp-toggle[aria-expanded="true"] .nkp-chev,.nkp-close .nkp-chev{transform:rotate(180deg)}
.nkp-pbody{grid-column:1/-1;min-width:0;padding:24px max(28px,calc((100% - 800px)/2)) 18px;overflow-wrap:break-word}
.nkp-js:not(.nkp-ready) .nkp-pbody:not(.is-open){display:none}
.nkp-pbody[hidden]{display:none}
.nkp-pbody>*:first-child{margin-top:0!important}
.nkp-pend{display:flex;justify-content:flex-end;border-top:1px solid var(--fl-rule);margin-top:18px;padding-top:10px}
.nkp-modular .nkp-pbody>.nk-goal{text-align:left!important}

/* orphan balancing: a last tile that cannot fill its row spans the full row at the same height */
.nkp-span-last-d>.nkp-tc:nth-last-child(2),.nkp-span-last-d>section:last-child>.nkp-tc,.nkp-modular dl.nk-gloss.nkp-span-last-d>.nk-gloss-item:last-child{grid-column:1/-1}

/* toolbar */
.nkp-toolbar{display:flex;justify-content:flex-end;gap:8px;margin:-4px 0 12px}
.nkp-tool{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--fl-rule);border-radius:999px;background:var(--fl-surface);color:var(--fl-text);font:500 13px/1.2 var(--fl-sans);cursor:pointer}
.nkp-tool:hover{background:var(--fl-band)}
.nkp-tool[data-nkp-all="close"] .nkp-chev{transform:rotate(180deg)}

/* single full-width cards: glossary and references */
.nkp-card{display:flex;flex-direction:column;overflow:clip}
.nkp-card>summary{list-style:none;cursor:pointer;display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;padding:18px 26px 14px;border-radius:inherit;transition:background-color .2s}
.nkp-card>summary::-webkit-details-marker{display:none}
.nkp-card>summary:hover{background:var(--fl-band)}
.nkp-card>summary:focus-visible,.nkp-tc:focus-within{outline:2px solid var(--fl-accent-text);outline-offset:-2px}
.nkp-modular .nkp-card>summary>h2{margin:0!important;padding:0!important;font-size:1.75rem!important;border:0!important}
.nkp-modular .nkp-card>summary>.nkp-foot{margin:0;padding:0 0 4px;gap:22px}
.nkp-modular .nkp-card>summary .nkp-toggle{pointer-events:none}
.nkp-card>summary .nkp-toggle-open,.nkp-card>summary .nkp-toggle-close{display:none}
.nkp-card:not([open])>summary .nkp-toggle-open{display:inline}.nkp-card[open]>summary .nkp-toggle-close{display:inline}
.nkp-card[open]>summary .nkp-chev{transform:rotate(180deg)}
.nkp-card[open]>summary{border-bottom:1px solid var(--fl-rule);border-radius:var(--nkp-r) var(--nkp-r) 0 0}
.nkp-body{padding:20px 26px 26px}
.nkp-body>*:first-child{margin-top:0!important}

/* glossary terms: equal-width cards, equal height per row */
.nkp-modular dl.nk-gloss{display:grid;grid-template-columns:repeat(var(--nkp-cd,3),minmax(0,1fr));gap:var(--nkp-gy) var(--nkp-gx);align-items:stretch;margin:0}
.nkp-modular dl.nk-gloss>.nk-gloss-item{margin:0!important;padding:14px 16px;border:1px solid var(--fl-rule);border-radius:14px;background:var(--fl-bg);min-width:0}
.nkp-modular dl.nk-gloss dt{margin:0 0 4px!important;font-weight:600}
.nkp-modular dl.nk-gloss dd{margin:0!important;font-size:15px;line-height:1.55;text-align:left!important;hyphens:none}

/* dictionary: one panel; results scroll inside it in a single column */
.nkp-modular .nk-dict.nkp-panel{padding:22px 26px}
.nkp-modular #nk-dict-groups,.nkp-modular #nk-dict-flat{position:relative;max-height:70vh;overflow:auto;scrollbar-width:thin;border-top:1px solid var(--fl-rule);padding-top:8px}

/* answer toggles: chevrons instead of plus and minus */
.nkp-modular .nk-ans>summary::before{content:""!important;display:inline-block;width:.42em;height:.42em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.18em) rotate(45deg);margin-right:.5em;transition:transform .2s}
.nkp-modular .nk-ans[open]>summary::before{content:""!important;transform:translateY(.05em) rotate(225deg)}

@media (max-width:1100px){
 .nkp-grid,.nkp-modular dl.nk-gloss{grid-template-columns:repeat(var(--nkp-ct,2),minmax(0,1fr))}
 .nkp-span-last-d>.nkp-tc:nth-last-child(2),.nkp-span-last-d>section:last-child>.nkp-tc,.nkp-modular dl.nk-gloss.nkp-span-last-d>.nk-gloss-item:last-child{grid-column:auto}
 .nkp-span-last-t>.nkp-tc:nth-last-child(2),.nkp-span-last-t>section:last-child>.nkp-tc,.nkp-modular dl.nk-gloss.nkp-span-last-t>.nk-gloss-item:last-child{grid-column:1/-1}
}
@media (max-width:760px){
 .nkp-modular{--nkp-r:16px;--nkp-gx:12px;--nkp-gy:12px}
 .nkp-overview{grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr}
 .nkp-modular a.nkp-tile{min-height:0;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"k t f";align-items:center;column-gap:12px;padding:12px 14px}
 .nkp-modular a.nkp-tile .nkp-kicker{grid-area:k;margin:0}.nkp-modular a.nkp-tile .nkp-tile-title{grid-area:t;font-size:1.0625rem}.nkp-modular a.nkp-tile .nkp-foot{grid-area:f;margin:0;padding:0}
 .nkp-jump{border-radius:14px}.nkp-jump ul{grid-template-columns:repeat(3,minmax(0,1fr))}.nkp-jump a{font-size:13px!important;padding:7px 4px}
 .nkp-about-grid{grid-template-columns:minmax(0,1fr)}
 .nkp-modular .nkp-contents-card{min-height:0}.nkp-modular .nkp-contents-card>.nk-contents{position:static;padding:18px}
 .nkp-grid,.nkp-modular dl.nk-gloss{grid-template-columns:repeat(var(--nkp-cm,1),minmax(0,1fr))}
 .nkp-span-last-t>.nkp-tc:nth-last-child(2),.nkp-span-last-t>section:last-child>.nkp-tc,.nkp-modular dl.nk-gloss.nkp-span-last-t>.nk-gloss-item:last-child{grid-column:auto}
 .nkp-panel,.nkp-modular .nk-dict.nkp-panel{padding:18px}
 .nkp-tc{padding:14px 16px 12px}
 .nkp-pbody{padding:18px 16px 14px}
 .nkp-card>summary{padding:16px}.nkp-body{padding:16px}
 .nkp-modular #nk-dict-groups,.nkp-modular #nk-dict-flat{max-height:65vh}
}
@media print{.nkp-jump,.nkp-overview,.nkp-toolbar,.nkp-banner,.nkp-toggle,.nkp-pend{display:none!important}.nkp-grid{display:block}.nkp-pbody{display:block!important}.nkp-modular #nk-dict-groups,.nkp-modular #nk-dict-flat{max-height:none;overflow:visible}}
.nkp-modular .nkp-flash{outline:2px solid var(--fl-accent-text);outline-offset:3px;border-radius:3px;transition:outline-color 1.4s}
.nkp-modular .nkp-foot{flex-wrap:wrap;text-align:left!important;row-gap:4px}
.nkp-modular .nkp-meta{white-space:nowrap;text-align:left!important}
.nkp-modular .nkp-toggle{white-space:nowrap;margin-left:auto}
.nkp-modular .nkp-tc>.nkp-kicker,.nkp-modular .nkp-tc>h3{text-align:left!important}

/* t157u: remove the theme accent bar (.fl-prose h2::before) above "About this course" only */
.nkp-modular .nkp-about-text>h2#about::before{content:none!important;display:none!important}

/* t159u tidy: no counts, no arrows; clickable affordance by hover, pointer, focus ring */
@media (min-width:761px){.nkp-modular .nkp-overview a.nkp-tile{min-height:0;justify-content:center;gap:4px;padding:16px 18px}}
.nkp-modular .nkp-card>summary .nkp-foot{justify-content:flex-end;margin-left:auto}
.nkp-modular .nkp-toggle,.nkp-modular .nkp-close,.nkp-modular .nkp-tool{text-decoration:none}
.nkp-modular .nkp-tc:hover .nkp-toggle,.nkp-modular .nkp-card>summary:hover .nkp-toggle{text-decoration:underline;text-underline-offset:3px}
.nkp-modular .nkp-tc.is-open{border-color:var(--fl-accent-text)}
.nkp-modular a.nkp-tile:focus-visible,.nkp-modular .nkp-tool:focus-visible,.nkp-modular .nkp-toggle:focus-visible,.nkp-modular .nkp-close:focus-visible{outline:2px solid var(--fl-accent-text);outline-offset:2px}

/* t158u: glossary term links take the term text colour, underline like body links */
.nkp-modular dl.nk-gloss dt a,.nkp-modular dl.nk-gloss dt a:visited{color:inherit!important;text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,currentColor 34%,transparent)!important;text-underline-offset:.18em}
.nkp-modular dl.nk-gloss dt a:hover{text-decoration-color:currentColor!important}
