/* Specialty Knowledge (sd-knowledge.php). Tokens come from sd-frontend.css :root. */

/* ---------- Concept entry page ---------- */
.single-concept .entry-header{ max-width:760px; margin:0 auto; padding:0 24px; }
.single-concept .entry-title{ font-size:clamp(32px,5vw,48px); line-height:1.08; text-wrap:balance; margin:6px 0 10px; }
.single-concept .entry-content{ max-width:760px; margin:0 auto; padding:0 24px; font-size:18px; line-height:1.7; color:var(--sd-ink); }
.single-concept .entry-content p{ margin:0 0 1.2em; }
.single-concept .entry-content h2{ font-size:23px; margin:1.6em 0 .5em; }
.single-concept .entry-content ul,.single-concept .entry-content ol{ margin:0 0 1.2em; padding-left:1.3em; }
.single-concept .entry-content li{ margin-bottom:.4em; }
.single-concept .entry-content a{ text-decoration:underline; text-decoration-color:var(--sd-border); text-underline-offset:3px; }
.single-concept .ast-single-post-featured-section,.single-concept .post-thumb-img-content{ max-width:760px; margin-left:auto; margin-right:auto; }

.sk-crumbs{ max-width:760px; margin:0 auto; padding:32px 24px 0; font-family:'Public Sans',system-ui,sans-serif; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--sd-muted); display:flex; flex-wrap:wrap; gap:6px 8px; }
.sk-crumbs a{ color:var(--sd-crimson); text-decoration:none; }
.sk-crumbs a:hover{ color:var(--sd-crimson-hover); }
.sk-crumb-sep{ color:var(--sd-border); }

.sk-meta{ max-width:760px; margin:0 auto 20px; padding:0 24px; font-family:'Public Sans',system-ui,sans-serif; font-size:14px; color:var(--sd-muted); display:flex; flex-wrap:wrap; }
.sk-meta span{ padding:0 12px; border-left:1px solid var(--sd-border); }
.sk-meta span:first-child{ padding-left:0; border-left:0; font-style:italic; }
.sk-meta .sk-ipa{ padding:0; border:0; font-family:'Public Sans',system-ui,sans-serif; }

.sk-answer{ max-width:712px; margin:0 auto 32px; background:var(--sd-surface); border:1px solid var(--sd-border); border-left:3px solid var(--sd-crimson); border-radius:4px; padding:18px 22px; box-sizing:border-box; }
@media (max-width:760px){ .sk-answer{ margin-left:24px; margin-right:24px; } }
.sk-answer-label{ font-family:'Public Sans',system-ui,sans-serif; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sd-crimson); margin:0 0 6px; }
.sk-answer-text{ font-family:'Piazzolla',Georgia,serif; font-size:21px; line-height:1.4; font-weight:500; color:var(--sd-navy); margin:0; }

.sk-block{ margin:36px 0 0; }
.sk-block-title,.single-concept .entry-content .sk-block-title{ font-family:'Public Sans',system-ui,sans-serif; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sd-navy); margin:0 0 14px; padding-top:18px; border-top:2px solid var(--sd-ink); }

.sk-facts{ list-style:none; padding:0 !important; margin:0; }
.sk-facts li{ position:relative; padding:0 0 0 20px; margin:0 0 10px; font-size:17px; line-height:1.6; }
.sk-facts li::before{ content:""; position:absolute; left:0; top:.7em; width:8px; height:2px; background:var(--sd-crimson); }
.sk-ref{ font-size:.7em; line-height:0; margin-left:2px; }
.sk-ref a{ color:var(--sd-crimson); text-decoration:none !important; font-weight:700; }

.sk-note{ margin:28px 0 0; padding:14px 18px; background:var(--sd-alt-bg); border-radius:4px; font-family:'Public Sans',system-ui,sans-serif; font-size:14px !important; line-height:1.55; color:var(--sd-ink); }

.sk-deeper{ display:block; margin:32px 0 0; padding:22px 24px; background:var(--sd-navy); border-radius:4px; text-decoration:none !important; }
.sk-deeper-label{ display:block; font-family:'Public Sans',system-ui,sans-serif; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sd-crimson-on-dark); margin-bottom:6px; }
.sk-deeper-title{ display:block; font-family:'Piazzolla',Georgia,serif; font-weight:700; font-size:21px; line-height:1.25; color:#F6F4EF; }
.sk-deeper:hover .sk-deeper-title{ text-decoration:underline; text-underline-offset:4px; }

.sk-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.sk-chip{ display:inline-flex; align-items:baseline; gap:6px; font-family:'Public Sans',system-ui,sans-serif; font-size:14px; color:var(--sd-navy); background:var(--sd-surface); border:1px solid var(--sd-border); border-radius:999px; padding:6px 14px; text-decoration:none !important; }
.sk-chip:hover{ border-color:var(--sd-navy); }
.sk-chip-type{ font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--sd-muted); }
.sk-chips--banner{ margin-top:18px; }
.sk-chips--banner .sk-chip{ background:transparent; color:#F6F4EF; border-color:rgba(246,244,239,.35); }
.sk-chips--banner .sk-chip:hover{ border-color:#F6F4EF; }

.sk-news{ list-style:none; padding:0 !important; margin:0; }
.sk-news li{ margin:0; border-bottom:1px solid var(--sd-border); }
.sk-news a{ display:block; padding:12px 0; text-decoration:none !important; }
.sk-news-cat{ display:block; font-family:'Public Sans',system-ui,sans-serif; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--sd-crimson); margin-bottom:3px; }
.sk-news-title{ display:block; font-family:'Piazzolla',Georgia,serif; font-weight:700; font-size:17px; line-height:1.3; color:var(--sd-ink); }
.sk-news a:hover .sk-news-title{ color:var(--sd-crimson); }

.sk-check{ margin:36px 0 0; background:var(--sd-surface); border:1px solid var(--sd-border); border-radius:4px; }
.sk-check summary{ list-style:none; cursor:pointer; padding:18px 22px; display:flex; flex-direction:column; gap:6px; }
.sk-check summary::-webkit-details-marker{ display:none; }
.sk-check summary:focus-visible{ outline:2px solid var(--sd-navy); outline-offset:2px; }
.sk-check-label{ font-family:'Public Sans',system-ui,sans-serif; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sd-crimson); }
.sk-check-q{ font-family:'Piazzolla',Georgia,serif; font-weight:700; font-size:19px; line-height:1.35; color:var(--sd-navy); }
.sk-check-reveal{ font-family:'Public Sans',system-ui,sans-serif; font-size:13px; font-weight:600; color:var(--sd-navy); text-decoration:underline; text-underline-offset:3px; }
.sk-check[open] .sk-check-reveal{ display:none; }
.sk-check-a{ margin:0 !important; padding:0 22px 18px; font-size:17px; }

.sk-sources{ margin:0; padding-left:1.3em !important; font-family:'Public Sans',system-ui,sans-serif; font-size:14px !important; line-height:1.55; color:var(--sd-muted); }
.sk-sources li{ margin-bottom:8px; }
.sk-sources a{ color:var(--sd-navy); word-break:break-word; }
.sk-accessed{ white-space:nowrap; }

.sk-trust{ display:flex; flex-wrap:wrap; margin:36px 0 64px !important; padding-top:16px; border-top:1px solid var(--sd-border); font-family:'Public Sans',system-ui,sans-serif; font-size:13px !important; line-height:1.6; color:var(--sd-muted); }
.sk-trust span{ padding:0 12px; border-left:1px solid var(--sd-border); }
.sk-trust span:first-child{ padding-left:0; border-left:0; }
.sk-trust a{ color:var(--sd-navy); }

/* ---------- In articles: linked terms, Key concepts box, Quick definition box ---------- */
.entry-content a.sk-term{ position:relative; color:inherit; text-decoration:underline; text-decoration-style:dotted; text-decoration-color:var(--sd-crimson); text-decoration-thickness:1.5px; text-underline-offset:4px; }
.entry-content a.sk-term:hover{ color:var(--sd-crimson); }
@media (hover:hover){
  .entry-content a.sk-term[data-sk-def]:not([data-sk-def=""])::after{
    content:attr(data-sk-def); position:absolute; left:0; bottom:calc(100% + 8px); z-index:30;
    width:max-content; max-width:min(300px,80vw); padding:10px 12px; border-radius:4px;
    background:var(--sd-navy); color:#F6F4EF; font-family:'Public Sans',system-ui,sans-serif; font-size:13px; font-weight:400; line-height:1.45; font-style:normal;
    text-align:left; white-space:normal; box-shadow:0 8px 24px rgba(11,29,51,.18);
    opacity:0; visibility:hidden; transition:opacity .12s ease; pointer-events:none;
  }
  .entry-content a.sk-term:hover::after,.entry-content a.sk-term:focus-visible::after{ opacity:1; visibility:visible; }
}
@media (prefers-reduced-motion:reduce){ .entry-content a.sk-term::after{ transition:none; } }

.sk-keyconcepts{ margin:40px 0 8px; padding:22px 24px; background:var(--sd-alt-bg); border-radius:4px; }
.sk-kc-title{ font-family:'Public Sans',system-ui,sans-serif; font-style:normal !important; font-size:12px !important; font-weight:700 !important; letter-spacing:.12em; text-transform:uppercase; color:var(--sd-navy) !important; margin:0 0 12px !important; }
.sk-keyconcepts ul{ list-style:none; margin:0 !important; padding:0 !important; }
.sk-keyconcepts li{ margin:0 0 10px !important; font-family:'Public Sans',system-ui,sans-serif; font-size:15px; line-height:1.5; }
.sk-keyconcepts li:last-child{ margin-bottom:0 !important; }
.sk-keyconcepts a{ font-weight:700; color:var(--sd-navy); margin-right:8px; }
.sk-keyconcepts span{ color:var(--sd-muted); }

.sk-quickdef{ max-width:720px; margin:0 auto 32px; padding:20px 24px; box-sizing:border-box; background:var(--sd-surface); border:1px solid var(--sd-border); border-left:3px solid var(--sd-crimson); border-radius:4px; font-family:'Public Sans',system-ui,sans-serif; }
@media (max-width:768px){ .sk-quickdef{ margin-left:24px; margin-right:24px; } }
.sk-qd-label{ font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sd-crimson); margin:0 0 4px; }
.sk-qd-term{ font-family:'Piazzolla',Georgia,serif; font-weight:700; font-size:22px; color:var(--sd-navy); margin:0 0 6px; line-height:1.2; }
.sk-qd-line{ font-size:17px; line-height:1.55; color:var(--sd-ink); margin:0 0 12px; }
.sk-quickdef .sk-facts li{ font-size:15px; }
.sk-qd-sources summary{ cursor:pointer; font-size:13px; font-weight:600; color:var(--sd-navy); }
.sk-sources--compact{ margin-top:10px; font-size:13px !important; }

/* ---------- Hub pages ---------- */
.sk-hub-page .entry-header{ display:none; }
.sk-hub-page .entry-content{ max-width:none !important; padding:0 0 64px !important; }
.sk-hub-page .entry-content p:first-of-type{ font-family:inherit; font-style:normal; font-size:inherit; color:inherit; }
.sk-hub{ max-width:1200px; margin:0 auto; padding:32px 24px 0; box-sizing:border-box; font-family:'Public Sans',system-ui,sans-serif; }
.sk-hub a{ text-decoration:none; }
.sk-hub-h,.sk-hub-page .entry-content .sk-hub-h{ font-family:'Public Sans',system-ui,sans-serif; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--sd-navy); margin:40px 0 16px; padding-top:16px; border-top:2px solid var(--sd-ink); }

.sk-search{ display:flex; gap:0; max-width:720px; margin:0; }
.sk-search input[type=search]{ flex:1; min-width:0; padding:14px 16px; font-family:'Public Sans',system-ui,sans-serif; font-size:17px; color:var(--sd-ink); background:var(--sd-surface); border:1px solid var(--sd-navy); border-right:0; border-radius:4px 0 0 4px; }
.sk-search input[type=search]::placeholder{ color:var(--sd-muted); }
.sk-search input[type=search]:focus{ outline:2px solid var(--sd-crimson); outline-offset:1px; }
.sk-search button{ padding:0 22px; font-family:'Public Sans',system-ui,sans-serif; font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#FFFFFF; background:var(--sd-crimson); border:0; border-radius:0 4px 4px 0; cursor:pointer; }
.sk-search button:hover{ background:var(--sd-crimson-hover); }

.sk-groups{ display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:1px; background:var(--sd-border); border:1px solid var(--sd-border); border-radius:4px; overflow:hidden; }
.sk-group{ display:flex; flex-direction:column; gap:4px; padding:18px 20px; background:var(--sd-surface); }
a.sk-group:hover{ background:var(--sd-bg); }
.sk-group-name{ font-family:'Piazzolla',Georgia,serif; font-weight:700; font-size:18px; line-height:1.25; color:var(--sd-navy); }
.sk-group-desc{ font-size:13px; line-height:1.45; color:var(--sd-muted); }
.sk-group-count{ margin-top:6px; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--sd-crimson); }
.sk-group.is-soon .sk-group-name{ color:var(--sd-muted); }
.sk-group.is-soon .sk-group-count{ color:var(--sd-muted); }

.sk-hub-split{ display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:48px; }
@media (max-width:900px){ .sk-hub-split{ grid-template-columns:1fr; gap:0; } }

.sk-entry-list{ list-style:none; margin:0 !important; padding:0 !important; }
.sk-entry-list li{ margin:0 !important; border-bottom:1px solid var(--sd-border); }
.sk-entry-list a{ display:block; padding:14px 0; }
.sk-el-term{ display:block; font-family:'Piazzolla',Georgia,serif; font-weight:700; font-size:19px; color:var(--sd-navy); }
.sk-el-line{ display:block; margin-top:3px; font-size:15px; line-height:1.5; color:var(--sd-muted); }
.sk-entry-list a:hover .sk-el-term{ color:var(--sd-crimson); }

.sk-az{ display:flex; flex-wrap:wrap; gap:4px; margin:0 0 8px; }
.sk-az a{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; font-size:14px; font-weight:700; color:var(--sd-navy); border:1px solid var(--sd-border); border-radius:4px; background:var(--sd-surface); }
.sk-az a:hover,.sk-az a[aria-current]{ background:var(--sd-navy); border-color:var(--sd-navy); color:#F6F4EF; }

.sk-hub-links{ list-style:none; margin:28px 0 0 !important; padding:0 !important; }
.sk-hub-links li{ margin:0 0 16px !important; display:flex; flex-direction:column; gap:2px; }
.sk-hub-links a{ font-family:'Piazzolla',Georgia,serif; font-weight:700; font-size:18px; color:var(--sd-navy); }
.sk-hub-links a:hover{ color:var(--sd-crimson); }
.sk-hub-links span{ font-size:14px; color:var(--sd-muted); }

.sk-empty{ font-size:16px; line-height:1.6; color:var(--sd-muted); margin:8px 0 0; }
.sk-empty a{ color:var(--sd-navy); text-decoration:underline !important; text-underline-offset:3px; }
.sk-empty--wide{ margin-top:32px; max-width:720px; }

.sk-directory{ columns:3 300px; column-gap:40px; }
.sk-dir-group{ break-inside:avoid; margin:0 0 32px; }
.sk-dir-name,.sk-hub-page .entry-content .sk-dir-name{ font-family:'Piazzolla',Georgia,serif; font-size:21px; margin:0 0 10px; padding-bottom:8px; border-bottom:2px solid var(--sd-ink); color:var(--sd-navy); }
.sk-dir-name a{ color:var(--sd-navy); }
.sk-dir-list{ list-style:none; margin:0 !important; padding:0 !important; }
.sk-dir-list li{ display:flex; justify-content:space-between; gap:12px; margin:0 !important; padding:8px 0; border-bottom:1px solid var(--sd-border); font-size:15px; }
.sk-dir-list a{ color:var(--sd-ink); }
.sk-dir-list a:hover{ color:var(--sd-crimson); }
.sk-dir-list span{ color:var(--sd-muted); font-size:13px; }

.sk-compare-list{ list-style:none; margin:0 !important; padding:0 !important; display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); column-gap:40px; }
.sk-compare-list li{ margin:0 !important; border-bottom:1px solid var(--sd-border); }
.sk-compare-list a{ display:block; padding:16px 0; }
.sk-compare-title{ display:block; font-family:'Piazzolla',Georgia,serif; font-weight:700; font-size:19px; line-height:1.3; color:var(--sd-ink); }
.sk-compare-list a:hover .sk-compare-title{ color:var(--sd-crimson); }

.tax-discipline .sd-cb-eyebrow a{ color:inherit; text-decoration:none; }
.tax-discipline .sd-cb-eyebrow a:hover{ text-decoration:underline; }

/* ---------- Mega-menu panel (active once the section launches) ---------- */
.sd-mega-nav__item--sk{ position:static; }
.sk-nav-panel{ width:min(900px,92vw); }
.sk-nav-panel .sk-search{ max-width:none; margin-bottom:18px; }
.sk-nav-panel .sk-search input[type=search]{ font-size:15px; padding:11px 14px; }
.sk-nav-grid{ grid-template-columns:repeat(3,1fr) !important; }
.sk-nav-foot{ display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:16px; padding-top:14px; border-top:1px solid var(--sd-border); }
.sk-nav-foot a{ font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--sd-navy); text-decoration:none; }
.sk-nav-foot a:last-child{ color:var(--sd-crimson); margin-left:auto; }
@media (max-width:900px){
  .sd-mega-nav__item--sk{ position:relative; }
  .sk-nav-panel{ width:100%; }
  .sk-nav-grid{ grid-template-columns:1fr !important; }
  .sk-nav-foot a:last-child{ margin-left:0; }
}
