/* Use the active DadSquad theme's typography, palette and angular controls. */
.ds-directory {
 --directory-line: var(--n-line-subtle, rgba(255,255,255,.1));
 --directory-muted: var(--n-text-muted, #a6a6ac);
 color: var(--n-text, #fff);
 font-family: var(--n-font-sans, inherit);
}
.ds-directory [hidden] { display:none!important; }
.ds-directory__toolbar { display:grid; grid-template-columns:2fr 1fr 1fr 1fr auto; gap:16px; align-items:end; padding:22px; background:var(--n-surface,#0d0d0f); border:1px solid var(--directory-line); }
.ds-directory__toolbar label { display:grid; gap:8px; font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.ds-directory__toolbar input,.ds-directory__toolbar select { width:100%; min-width:0; min-height:46px; padding:12px; background:var(--n-input,#151517); color:var(--n-text,#fff); border:1px solid #404046; border-radius:0; font:400 14px var(--n-font-sans,inherit); letter-spacing:0; }
.ds-directory__results { margin:12px 0; color:var(--directory-muted); font-size:13px; }
.ds-directory__jump { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 42px; }
.ds-directory__jump a { display:inline-flex; gap:10px; padding:11px 14px; background:var(--n-card,#151517); border:1px solid var(--directory-line); color:var(--n-text,#fff); font-size:12px; text-decoration:none; }
.ds-directory__jump a:hover { border-color:var(--n-gold,#E5B300); }
.ds-directory__jump span { color:var(--n-gold,#E5B300); }
.ds-directory__section { margin-bottom:48px; scroll-margin-top:100px; }
.ds-directory__section header { margin-bottom:22px; }
.ds-directory .ds-directory__section h2 { margin:0 0 8px; font:400 clamp(30px,3vw,40px)/1.1 var(--n-font-display,'Bebas Neue',sans-serif); letter-spacing:.01em; text-transform:uppercase; }
.ds-directory__section h2 span { display:inline-block; margin-left:6px; vertical-align:middle; font:400 13px var(--n-font-sans,inherit); color:var(--directory-muted); }
.ds-directory__section header p { margin:0; max-width:760px; color:var(--directory-muted); font-size:14px; line-height:1.65; }
.ds-directory__list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.ds-directory-card { height:100%; display:flex; flex-direction:column; box-sizing:border-box; padding:22px; background:var(--n-card,#151517); border:1px solid var(--directory-line); border-top:2px solid var(--n-gold,#E5B300); clip-path:var(--n-cut-card); }
.ds-directory__section--preferred .ds-directory-card { border-color:var(--n-line,rgba(17,136,160,.35)); border-top:3px solid var(--n-teal,#1188A0); background:linear-gradient(140deg,rgba(17,136,160,.1),transparent 70%),var(--n-card,#151517); }
.ds-directory-card__brand { height:112px; display:flex; align-items:center; justify-content:center; margin:-22px -22px 22px; padding:14px; background:#0a0a0b; }
.ds-directory-card__brand img { display:block; max-height:100%; max-width:100%; width:auto; object-fit:contain; }
.ds-directory .ds-directory-card h3 { margin:0 0 12px; font:400 30px/1.08 var(--n-font-display,'Bebas Neue',sans-serif); letter-spacing:.01em; text-transform:uppercase; }
.ds-directory-card h3 a { color:var(--n-text,#fff); text-decoration:none; }
.ds-directory-card p { margin:0 0 12px; font-size:14px; line-height:1.6; }
.ds-directory-card .ds-directory-card__badge { color:var(--n-gold,#E5B300); font-size:10px; line-height:1.4; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.ds-directory__section--preferred .ds-directory-card__badge { color:#70c4d2; }
.ds-directory-card__area { color:var(--directory-muted); }
.ds-directory-card__offer { color:var(--n-gold,#E5B300); }
.ds-directory-card__link { align-self:flex-start; margin-top:auto; padding-top:8px; color:var(--n-gold,#E5B300); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.ds-directory__section--dsplus_free .ds-directory__list,.ds-directory__section--owned .ds-directory__list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ds-directory-row { border:1px solid var(--directory-line); background:var(--n-surface,#0d0d0f); }
.ds-directory-row summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px; cursor:pointer; list-style:none; }
.ds-directory-row summary::-webkit-details-marker { display:none; }
.ds-directory-row strong { display:block; font-size:15px; }
.ds-directory-row small { display:block; color:var(--directory-muted); margin-top:5px; font-size:12px; }
.ds-directory-row__action { font-size:11px; text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; color:var(--n-gold,#E5B300); }
.ds-directory-row__details { padding:22px; }
.ds-directory-popup { box-sizing:border-box; width:calc(100% - 32px); max-width:600px; max-height:85dvh; padding:24px; border:1px solid var(--n-teal,#1188A0); border-radius:0; background:var(--n-card,#151517); color:var(--n-text,#fff); font-family:var(--n-font-sans,inherit); }
.ds-directory-popup::backdrop { background:rgba(0,0,0,.85); }
.ds-directory-popup h2 { color:#fff; font:400 36px/1.1 var(--n-font-display,'Bebas Neue',sans-serif); text-transform:uppercase; }
.ds-directory-popup__close { display:block; margin-left:auto; padding:10px 16px; background:#111; color:#fff; border:1px solid var(--n-gold,#E5B300); border-radius:0; font-size:12px; font-weight:700; text-transform:uppercase; cursor:pointer; }
.ds-directory-popup .ds-directory-row__details { padding:12px 0; }
.ds-directory-popup__links { display:flex; flex-wrap:wrap; gap:16px; margin:20px 0; }
.ds-directory-popup a { color:var(--n-gold,#E5B300); }
.ds-directory__join { margin:48px 0 20px; padding:28px; background:var(--n-card,#151517); border:1px solid var(--n-line-gold,rgba(229,179,0,.35)); }
.ds-directory .ds-directory__join h2 { margin-top:0; font:400 36px/1.1 var(--n-font-display,'Bebas Neue',sans-serif); text-transform:uppercase; }
.ds-directory__join p { max-width:760px; color:var(--directory-muted); font-size:14px; }
.ds-directory__disclaimer { font-size:12px; color:var(--directory-muted); }
.ds-directory :focus-visible,.ds-directory-popup :focus-visible { outline:3px solid var(--n-gold,#E5B300); outline-offset:4px; }
.ds-directory__empty { padding:18px; border:1px dashed var(--directory-line); color:var(--directory-muted); }
@media(max-width:900px) { .ds-directory__toolbar,.ds-directory__list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .ds-directory__toolbar,.ds-directory__list,.ds-directory__section--dsplus_free .ds-directory__list,.ds-directory__section--owned .ds-directory__list { grid-template-columns:1fr; } .ds-directory__jump { gap:7px; } .ds-directory__jump a { font-size:11px; } .ds-directory-row summary { padding:16px; } .ds-directory-popup { padding:18px; } }
