/* Toolbelt CMS v2.18.65 — isolated, palette-aware Category Directory. */
.custom-page .tb-category-directory{--dir-accent:var(--brand-accent,var(--orange));--dir-border:var(--brand-border,#ddd);--dir-light:var(--brand-light,#f7f5f1);--dir-muted:var(--brand-muted,#5e6870);--dir-ink:var(--brand-dark,#17232d)}
.custom-page .tb-category-directory .tb-dir-intro{max-width:840px;margin-bottom:clamp(32px,4vw,55px)}
.custom-page .tb-category-directory .tb-dir-intro-copy p{line-height:1.75;margin:0 0 .9em;color:var(--dir-muted);max-width:780px}
.custom-page .tb-dir--align-center .tb-dir-intro{margin-inline:auto;text-align:center}
.custom-page .tb-dir--align-center .tb-dir-intro-copy p{margin-inline:auto}
.custom-page .tb-category-directory .tb-dir-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(18px,2.3vw,34px)}
.custom-page .tb-category-directory .tb-dir-category{box-sizing:border-box;min-width:0;overflow-wrap:anywhere;background:#fff;border:1px solid var(--dir-border);border-radius:12px;padding:clamp(22px,2.7vw,35px);align-self:start}
.custom-page .tb-category-directory .tb-dir-category-heading{display:flex;align-items:flex-start;gap:15px;margin-bottom:18px}
.custom-page .tb-category-directory .tb-dir-category-icon{flex:none;line-height:1}
.custom-page .tb-category-directory .tb-dir-category-title{display:block;font-family:var(--font-heading,inherit);font-size:clamp(1.18rem,1.5vw,1.65rem);line-height:1.25;font-weight:var(--card-heading-weight,750);letter-spacing:-.02em;color:var(--dir-ink);margin:0}
.custom-page .tb-category-directory .tb-dir-summary-intro{display:block;margin:10px 0 0;color:var(--dir-muted);font-size:var(--card-body-size,1rem);line-height:1.65}
.custom-page .tb-category-directory .tb-dir-list{list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:0;color:var(--dir-ink);font-size:var(--card-body-size,1rem);line-height:1.55}
.custom-page .tb-category-directory .tb-dir-list li{min-width:0;position:relative;overflow-wrap:anywhere;padding-left:20px}
.custom-page .tb-category-directory .tb-dir-list li::before{content:'•';color:var(--dir-accent);position:absolute;left:2px;top:0;font-weight:800}
.custom-page .tb-dir--marker-check .tb-dir-list li::before{content:'✓'}
.custom-page .tb-dir--marker-dot .tb-dir-list li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--dir-accent);top:.65em}
.custom-page .tb-dir--marker-line .tb-dir-list li::before{content:'';width:9px;height:1.5px;background:var(--dir-accent);top:.67em}
.custom-page .tb-dir--marker-none .tb-dir-list li{padding-left:0}
.custom-page .tb-dir--marker-none .tb-dir-list li::before{display:none}
.custom-page .tb-dir--columns-two .tb-dir-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}
.custom-page .tb-dir--columns-auto .tb-dir-category--featured .tb-dir-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 22px}
.custom-page .tb-category-directory .tb-dir-note{border-top:1px solid var(--dir-border);padding-top:14px;font-size:.9rem;line-height:1.65;color:var(--dir-muted);margin:20px 0 0}
.custom-page .tb-category-directory .tb-dir-link{display:inline-flex;gap:8px;align-items:center;color:var(--dir-accent);font-size:.92rem;font-weight:750;text-decoration:none;margin-top:24px;min-height:40px;overflow-wrap:anywhere}
.custom-page .tb-category-directory .tb-dir-link:hover{text-decoration:underline;text-underline-offset:5px}
.custom-page .tb-category-directory :is(.tb-dir-link,summary):focus-visible{outline:3px solid var(--dir-accent);outline-offset:5px}
.custom-page .tb-category-directory .tb-dir-section-action{margin-top:clamp(26px,4vw,54px);text-align:center}
/* Editorial Split: no enclosing card boxes. */
.custom-page .tb-dir--editorial .tb-dir-category{border:0;border-top:1px solid var(--dir-border);border-radius:0;background:transparent;padding:clamp(23px,3vw,39px) 0}
.custom-page .tb-dir--editorial .tb-dir-grid{column-gap:clamp(38px,5vw,85px);row-gap:4px}
.custom-page .tb-dir--editorial .tb-dir-category-title{font-size:clamp(1.3rem,1.8vw,2rem)}
/* Compact three-up for broad directories. */
.custom-page .tb-dir--compact .tb-dir-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 30px}
.custom-page .tb-dir--compact .tb-dir-category{border:0;border-top:3px solid var(--dir-accent);border-radius:0;background:transparent;padding:20px 0 8px}
.custom-page .tb-dir--compact .tb-dir-category-title{font-size:clamp(1.13rem,1.32vw,1.45rem)}
.custom-page .tb-dir--compact .tb-dir-list{font-size:.92rem;gap:6px}
/* Native details / summary = keyboard, semantic expanded state, no JS. */
.custom-page .tb-dir--accordion .tb-dir-grid{display:block;max-width:1050px}
.custom-page .tb-dir--accordion .tb-dir-category{padding:0;border:0;border-bottom:1px solid var(--dir-border);border-radius:0;background:transparent;margin:0;overflow:visible}
.custom-page .tb-dir--accordion .tb-dir-category:first-child{border-top:1px solid var(--dir-border)}
.custom-page .tb-dir--accordion summary.tb-dir-category-heading{list-style:none;display:flex;align-items:center;gap:16px;margin:0;padding:23px 5px;cursor:pointer}
.custom-page .tb-dir--accordion summary::-webkit-details-marker{display:none}
.custom-page .tb-dir--accordion .tb-dir-category .tb-dir-category-title{font-size:clamp(1.13rem,1.5vw,1.55rem)}
.custom-page .tb-dir--accordion .tb-dir-chevron{margin-left:auto;color:var(--dir-accent);font-size:1.5rem;font-weight:800;transition:transform .2s}
.custom-page .tb-dir--accordion details[open] .tb-dir-chevron{transform:rotate(45deg)}
.custom-page .tb-dir--accordion .tb-dir-category-body{padding:0 clamp(5px,2vw,40px) 28px clamp(5px,3.5vw,55px)}
/* Featured groups retain same content, only section-level hierarchy differs. */
.custom-page .tb-dir--featured .tb-dir-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}
.custom-page .tb-dir--featured .tb-dir-category{grid-column:span 2;padding:24px}
.custom-page .tb-dir--featured .tb-dir-category--featured{grid-column:span 3;padding:clamp(26px,3vw,45px);border-top:4px solid var(--dir-accent)}
.custom-page .tb-dir--featured .tb-dir-category--featured .tb-dir-category-title{font-size:clamp(1.35rem,2vw,2.1rem)}
@media(max-width:1000px){.custom-page .tb-dir--compact .tb-dir-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-page .tb-dir--featured .tb-dir-category{grid-column:span 3}}
@media(max-width:680px){.custom-page .tb-category-directory .tb-dir-grid,.custom-page .tb-dir--compact .tb-dir-grid,.custom-page .tb-dir--featured .tb-dir-grid{display:grid;grid-template-columns:minmax(0,1fr)}.custom-page .tb-dir--featured .tb-dir-category,.custom-page .tb-dir--featured .tb-dir-category--featured{grid-column:auto}.custom-page .tb-dir--columns-two .tb-dir-list,.custom-page .tb-dir--columns-auto .tb-dir-category--featured .tb-dir-list{grid-template-columns:minmax(0,1fr)}.custom-page .tb-dir--accordion .tb-dir-category-body{padding-left:5px;padding-right:5px}.custom-page .tb-category-directory .tb-dir-category{padding:22px}.custom-page .tb-dir--accordion .tb-dir-category{padding:0}.custom-page .tb-dir--editorial .tb-dir-category,.custom-page .tb-dir--compact .tb-dir-category{padding:22px 0}}
/* v2.18.67: Card-based directory grids use equal-height siblings per visual row.
   This affects only Premium Category Cards and Featured Directory. The accordion,
   editorial and compact layouts retain their original natural flow. */
.custom-page .tb-dir--cards .tb-dir-grid,
.custom-page .tb-dir--featured .tb-dir-grid{align-items:stretch}
.custom-page .tb-dir--cards .tb-dir-category,
.custom-page .tb-dir--featured .tb-dir-category{align-self:stretch}
