/* Directory-only overrides. Reviews and the blog keep their own layouts. */
.directory-app .wrap{width:min(1760px,calc(100% - 48px))}
.directory-app .header{min-height:80px;gap:25px}
.directory-app .header .search{max-width:none;flex:1;min-width:140px;min-height:44px}
.directory-app .header .search input{font-size:13px;min-width:0}
.directory-app .header nav{flex-shrink:0;gap:18px;margin-left:0}
.directory-app .header nav a{display:inline-flex;align-items:center;gap:6px;min-height:36px}
.directory-app .header .language-switch,.directory-app .header .language-links{display:flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap}
.directory-app .header a[lang]{font-size:11px;letter-spacing:.02em}
.directory-app .catalogue{padding-block:24px 32px}
.directory-app .directory-intro{margin-bottom:19px;gap:20px}
.directory-app .directory-intro h1{font-size:clamp(25px,2.6vw,37px);line-height:1.18;letter-spacing:-1px}
.directory-app .directory-intro>p{font-size:12px;max-width:500px;margin:0;color:var(--muted)}
.directory-app .finder{grid-template-columns:minmax(160px,1.2fr) minmax(170px,1.5fr) minmax(125px,1fr) minmax(125px,1fr) auto auto;align-items:end;gap:13px;padding:14px 16px;margin-bottom:14px;border-radius:9px}
.directory-app .finder-heading{align-self:center;min-width:0}
.directory-app .finder-heading h2{font-size:14px;line-height:1.3;margin:0}
.directory-app .finder>label{font-size:10px;gap:5px;min-width:0}
.directory-app .finder select{font-size:11px;height:36px;padding:6px 23px 6px 9px;max-width:none;width:100%}
.directory-app .finder>.primary{grid-area:auto;margin:0;min-height:36px;padding:8px 15px}
.directory-app .finder-reset{grid-area:auto;margin:0;padding:8px 0;font-size:10px;min-height:36px;align-self:end}
.directory-app .toolbar{display:flex;align-items:center;gap:16px;padding-bottom:10px;flex-wrap:wrap}
.directory-app .tabs{display:flex;gap:4px;flex-wrap:wrap;margin:0;flex-shrink:0}
.directory-app .tabs button{font-size:11px;min-height:34px;padding:7px 11px}
.directory-app .filters{display:flex;gap:15px;flex-wrap:wrap;margin-left:auto;font-size:11px}
.directory-app .filters label{display:flex;align-items:center;gap:6px;font-size:11px;min-height:32px;line-height:1.4}
.directory-app .filters input{width:14px;height:14px;flex-shrink:0}
.directory-app .filters label:has(input:disabled){opacity:.42;cursor:default}
.directory-app select option:disabled{color:#83758d}
.directory-app .sort-label{display:flex;gap:6px;margin-left:0;font-size:10px}
.directory-app .sort-label select{font-size:10px;min-height:32px;max-width:185px}
.directory-app .index-status{min-height:35px;gap:12px;font-size:11px}
.directory-app #result-count{scroll-margin-top:16px}
.directory-app .directory-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:14px 12px;max-width:none}
.directory-app .directory-panel{grid-column:auto;min-width:0;overflow:hidden;border:1px solid #3c3043;border-radius:10px;background:linear-gradient(145deg,#1f1926,#17151d 72%)}
.directory-app .directory-panel .panel-heading{display:flex;align-items:center;gap:8px;min-height:66px;padding:12px 12px 11px;border-bottom:1px solid var(--line)}
.directory-app .directory-panel .category-icon{display:grid;flex:0 0 25px;width:25px;height:28px;margin:0;padding:0;border:0;background:none}
.directory-app .category-icon img{display:block;width:100%;height:100%;object-fit:contain}
.directory-app .panel-heading>div{min-width:0;flex:1}
.directory-app .directory-panel .panel-heading h3{font-size:13px;font-weight:650;letter-spacing:-.2px;line-height:1.35;margin:0;overflow-wrap:break-word}
.directory-app .panel-heading h3 a{color:inherit}
.directory-app .panel-heading h3 a:hover{color:var(--accent)}
.directory-app .panel-heading p{display:none}
.directory-app .panel-count{display:grid;place-items:center;flex:0 0 auto;min-width:23px;height:23px;padding-inline:4px;margin-left:0;border:1px solid #49394f;border-radius:5px;font-size:10px;font-variant-numeric:tabular-nums}
.directory-app .panel-caption{display:flex;justify-content:space-between;gap:7px;min-height:26px;padding:7px 13px 5px;font-size:9px;line-height:1.4;color:#ac9bb8}
.directory-app .panel-caption>span:first-child{display:inline}
.directory-app .panel-caption>span:last-child{margin-right:30px;white-space:nowrap}
.directory-app .ranking-list{list-style:none;margin:0;padding:0 6px 5px;min-width:0}
.directory-app .directory-row{display:flex;align-items:center;min-height:45px;border-radius:5px;min-width:0}
.directory-app .directory-row+.directory-row{border-top:1px solid #352b3c77}
.directory-app .directory-row:hover{background:#2b2232}
.directory-app .directory-row.is-selected{background:#422337}
.directory-app .directory-row .row-main{display:grid;grid-template-columns:19px 25px minmax(0,1fr) 30px;grid-template-rows:16px 12px;align-items:center;align-content:center;column-gap:7px;row-gap:1px;flex:1;min-width:0;min-height:45px;padding:5px 5px 5px 3px;border-radius:5px;text-decoration:none;text-align:left;background:transparent}
.directory-app .row-main:focus-visible{outline-offset:-2px}
.directory-app .directory-row .rank{grid-column:1;grid-row:1/3;min-width:19px;font-size:11px;line-height:1;text-align:center;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.directory-app .rank-1{color:#ffcc78}.directory-app .rank-2{color:#ded7e5}.directory-app .rank-3{color:#d7a288}
.directory-app .directory-row .row-avatar{display:grid;grid-column:2;grid-row:1/3;place-items:center;width:25px;height:25px;min-width:0;flex:none;padding:0;margin:0;border:0;border-radius:6px;overflow:hidden}
.directory-app .row-avatar.service-logo{background:#ede7f0}
.directory-app .row-avatar.logo-fallback{background:transparent;opacity:.72}
.directory-app .row-avatar img{display:block;width:100%;height:100%;object-fit:contain}
.directory-app .directory-row .row-details{display:block;grid-column:3;grid-row:1;align-self:end;min-width:0;overflow:hidden}
.directory-app .directory-row .row-name{display:block;min-width:0;font-size:12px;font-weight:550;letter-spacing:-.1px;line-height:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.directory-app .directory-row .row-meta{display:block;margin-top:2px;font-size:9px;line-height:12px;color:#bda9c6;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.directory-app .directory-row .row-price{display:block;grid-column:3;grid-row:2;align-self:start;font-size:9px;line-height:12px;font-weight:400;color:#ac99b7;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}
.directory-app .directory-row .row-score{display:block;grid-column:4;grid-row:1/3;align-self:center;justify-self:end;font-size:11px;line-height:1.2;font-weight:650;white-space:nowrap;color:#d5b8e8;font-variant-numeric:tabular-nums}
.directory-app .row-score sup{font-size:8px;margin-left:1px;color:#ad97b8}
.directory-app .directory-row .row-arrow{display:none}
.directory-app .directory-row .row-select{display:grid;place-items:center;flex:0 0 28px;width:28px;min-width:28px;height:38px;padding:0;margin:0 1px 0 0;border:1px solid transparent;border-radius:5px;background:transparent;font-size:18px;line-height:1;color:#ac92b6}
.directory-app .row-select:hover{border-color:#684466;background:#3d2538;color:#ffd0e0}
.directory-app .row-select[aria-pressed=true]{background:#55263e;border-color:#79425f;color:#ffbcd4}
.directory-app .row-select:focus-visible{outline-offset:-2px}
.directory-app .has-finder .directory-row .row-main:has(.row-meta){grid-template-rows:auto 12px;min-height:57px}
.directory-app .panel-more{display:flex;align-items:center;justify-content:space-between;min-height:37px;width:calc(100% - 18px);padding:8px 11px;margin:4px 9px 9px;border:0;border-radius:6px;background:var(--cta);font-size:11px;line-height:1.3;font-weight:650;color:var(--white)}
.directory-app .panel-more:hover{background:#e12c64}
.directory-app .panel-more span{font-size:17px;line-height:1}
.directory-app .panel-more:focus-visible{outline-offset:2px}
.directory-app .panel-empty{display:grid;place-items:center;text-align:center;min-height:140px;padding:25px 17px;margin:0;font-size:12px;line-height:1.6;color:var(--muted)}
.directory-app .directory-grid.single-category{grid-template-columns:minmax(0,1fr);max-width:1000px}
.directory-app .single-category .directory-row .row-main{grid-template-columns:22px 28px minmax(0,1fr) 40px;column-gap:10px;min-height:49px;padding-inline:8px}
.directory-app .single-category .directory-row .row-name{font-size:13px}
.directory-app .single-category .directory-row .row-score{font-size:13px}
.directory-app .single-category .directory-row .row-avatar{width:28px;height:28px}
.directory-app .single-category .directory-row .row-select{width:36px;min-width:36px;flex-basis:36px;margin-right:5px}
.directory-app .empty{padding:50px 16px;text-align:center;border:1px solid var(--line);border-radius:10px;background:#18131d}
.directory-app .empty h3{font-size:20px;margin-bottom:9px}
.directory-app .empty p{font-size:13px;color:var(--muted)}
.directory-app .footer{align-items:center;padding-block:23px 32px;gap:20px}
.directory-app .footer p{font-size:10px}
.directory-app.has-comparison{padding-bottom:108px}
.directory-app .compare-bar{bottom:16px;left:50%;width:min(700px,calc(100% - 24px));gap:16px;padding:12px 15px;box-shadow:0 6px 40px #0009}
.directory-app .compare-bar>div{min-width:0}
.directory-app .compare-bar strong{font-size:12px}
.directory-app .compare-bar .primary{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:12px;font-size:12px;padding:8px 15px}
.directory-app .compare-bar a[aria-disabled=true]{opacity:.43;cursor:default;user-select:none}
.directory-app .directory-notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:calc(100% - 26px);width:max-content;z-index:15;padding:11px 16px;border:1px solid #7a4c72;border-radius:7px;background:#35203b;color:#f4e9f5;font-size:12px;line-height:1.5;box-shadow:0 8px 28px #0007}
.directory-app.has-comparison .directory-notice{bottom:108px}
@media(min-width:400px){.directory-app .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:851px){.directory-app .directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1180px){.directory-app .directory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1500px){.directory-app .directory-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1179px){
.directory-app .wrap{width:calc(100% - 36px)}
.directory-app .header{gap:20px}
.directory-app .finder{grid-template-columns:minmax(140px,1.2fr) minmax(155px,1.4fr) minmax(100px,1fr) minmax(105px,1fr) auto;gap:10px;padding:13px}
.directory-app .finder-heading h2{font-size:13px}
.directory-app .finder-reset{grid-column:5;grid-row:1;align-self:start;justify-self:end;min-height:14px;padding:0;margin:0;font-size:9px}
.directory-app .finder>.primary{grid-column:5;grid-row:1;align-self:end;margin-top:18px;font-size:11px;padding-inline:12px}
.directory-app .toolbar{gap:7px 12px}
.directory-app .filters{gap:11px}
.directory-app .filters label{font-size:10px}
.directory-app .tabs button{font-size:10px;padding-inline:8px}
}
@media(max-width:850px){
.directory-app .header{gap:16px}
.directory-app .header nav{gap:12px;font-size:11px}
.directory-app .header .search input{font-size:12px}
.directory-app .finder{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr) auto;gap:8px 11px}
.directory-app .finder-heading{grid-column:1/-1;grid-row:1;padding-right:55px}
.directory-app .finder-heading h2{font-size:13px}
.directory-app .finder-heading p{display:none}
.directory-app .finder>label{grid-row:2;font-size:10px}
.directory-app .finder>.primary{grid-column:4;grid-row:2;margin:0;min-height:35px}
.directory-app .finder-reset{grid-column:4;grid-row:1;align-self:center;justify-self:end;font-size:10px;min-height:17px;padding:0}
.directory-app .finder select{height:35px;font-size:11px}
.directory-app .toolbar{gap:6px 10px}
.directory-app .filters{margin-left:0}
.directory-app .sort-label{margin-left:auto}
.directory-app .directory-intro>p{display:none}
}
@media(max-width:640px){
.directory-app .wrap{width:calc(100% - 24px)}
.directory-app .header{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px 10px;min-height:103px;padding-block:10px}
.directory-app .header .logo{font-size:25px}
.directory-app .header .search{grid-column:1/-1;grid-row:2;width:100%;max-width:none;min-height:40px;padding:6px 9px}
.directory-app .header .search input{font-size:12px}
.directory-app .header nav{gap:12px;justify-self:end;font-size:11px}
.directory-app .header nav a{display:inline-flex!important;min-height:30px}
.directory-app .header nav .blog-link{padding:5px 9px;font-size:11px;gap:5px}
.directory-app .header .language-switch,.directory-app .header .language-links{font-size:10px;gap:5px}
.directory-app .header .age{width:26px;height:26px;font-size:9px}
.directory-app .catalogue{padding-block:20px 25px}
.directory-app .directory-intro{margin-bottom:15px}
.directory-app .directory-intro h1{font-size:26px;letter-spacing:-.8px}
.directory-app .finder{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:8px;padding:11px;margin-bottom:12px}
.directory-app .finder-heading{grid-column:1/-1;grid-row:1;padding-right:60px}
.directory-app .finder-heading h2{font-size:12px}
.directory-app .finder-reset{grid-column:3;grid-row:1;font-size:9px;min-height:16px;justify-self:end}
.directory-app .finder>label{grid-row:2;font-size:9px;gap:4px}
.directory-app .finder select{font-size:10px;height:32px;padding:5px 2px 5px 5px}
.directory-app .finder>.primary{grid-column:1/-1;grid-row:3;min-height:32px;padding:5px 12px;justify-content:center;font-size:11px}
.directory-app .toolbar{display:flex;gap:6px 9px;padding-bottom:8px}
.directory-app .tabs{width:100%;gap:3px;flex-wrap:nowrap}
.directory-app .tabs button{min-height:32px;flex:1;padding:6px 4px;font-size:10px}
.directory-app .filters{gap:9px;margin:0;flex:1;min-width:0;flex-wrap:wrap}
.directory-app .filters label{min-height:25px;gap:5px;font-size:9px;white-space:normal}
.directory-app .filters input{width:13px;height:13px}
.directory-app .sort-label{font-size:0;gap:0;margin-left:auto}
.directory-app .sort-label select{font-size:9px;min-height:28px;max-width:130px;padding-inline:4px}
.directory-app .index-status{font-size:10px;min-height:32px}
.directory-app .directory-grid{gap:11px 9px}
.directory-app .directory-panel .panel-heading{min-height:64px;padding:10px 9px;gap:6px}
.directory-app .directory-panel .category-icon{display:none}
.directory-app .directory-panel .panel-heading h3{font-size:12px;letter-spacing:-.2px;line-height:1.4}
.directory-app .panel-count{height:21px;min-width:21px;font-size:9px;padding-inline:3px}
.directory-app .panel-caption{padding:6px 9px 4px;font-size:8px;min-height:23px;gap:5px}
.directory-app .panel-caption>span:last-child{margin-right:23px}
.directory-app .ranking-list{padding-inline:4px}
.directory-app .directory-row .row-main{grid-template-columns:17px 21px minmax(0,1fr) 25px;grid-template-rows:15px 11px;column-gap:4px;row-gap:1px;padding:5px 2px;min-height:45px}
.directory-app .directory-row .rank{font-size:10px;min-width:17px}
.directory-app .directory-row .row-avatar{width:21px;height:23px;border-radius:5px}
.directory-app .directory-row .row-name{font-size:11px;line-height:15px;letter-spacing:-.15px}
.directory-app .directory-row .row-price{font-size:8px;line-height:11px}
.directory-app .directory-row .row-score{font-size:10px}
.directory-app .directory-row .row-select{display:grid;flex-basis:23px;width:23px;min-width:23px;margin-right:0;height:38px;font-size:16px}
.directory-app .panel-more{width:calc(100% - 14px);min-height:35px;padding:7px 8px;margin:4px 7px 7px;font-size:10px;gap:7px}
.directory-app .panel-more span{font-size:15px}
.directory-app .single-category .directory-row .row-main{grid-template-columns:20px 26px minmax(0,1fr) 31px;column-gap:8px;padding-inline:5px;min-height:49px}
.directory-app .single-category .directory-row .row-name{font-size:12px}
.directory-app .single-category .directory-row .row-score{font-size:12px}
.directory-app .single-category .directory-row .row-avatar{width:26px;height:26px}
.directory-app .single-category .directory-row .row-select{flex-basis:32px;width:32px;min-width:32px;margin-right:3px}
.directory-app .footer{padding-block:20px 26px;gap:15px}
.directory-app.has-comparison{padding-bottom:110px}
.directory-app .compare-bar{bottom:12px;gap:10px;padding:10px;width:calc(100% - 20px)}
.directory-app .compare-bar strong{font-size:10px}
.directory-app .compare-bar>div span{font-size:9px}
.directory-app .compare-bar .primary{font-size:10px;min-height:35px;padding:7px 10px;gap:8px}
.directory-app .compare-bar .clear{font-size:10px}
.directory-app .directory-notice{font-size:11px;padding:10px 13px;max-width:calc(100% - 20px)}
}
@media(max-width:399px){
.directory-app .wrap{width:calc(100% - 22px)}
.directory-app .directory-panel .panel-heading{min-height:58px;padding:12px}
.directory-app .directory-panel .category-icon{display:grid;flex-basis:26px;width:26px;height:26px}
.directory-app .directory-panel .panel-heading h3{font-size:14px}
.directory-app .panel-count{height:23px;min-width:23px;font-size:10px}
.directory-app .panel-caption{font-size:9px;padding:7px 13px 5px}
.directory-app .directory-row .row-main{grid-template-columns:20px 27px minmax(0,1fr) 31px;column-gap:8px;padding-inline:5px;min-height:47px}
.directory-app .directory-row .row-name{font-size:12px;letter-spacing:-.1px}
.directory-app .directory-row .row-avatar{width:27px;height:27px}
.directory-app .directory-row .row-price{font-size:9px;line-height:12px}
.directory-app .directory-row .row-score{font-size:12px}
.directory-app .directory-row .row-select{flex-basis:32px;width:32px;min-width:32px;margin-right:3px;font-size:18px}
.directory-app .tabs button{font-size:9px}
.directory-app .finder select{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.directory-app *{scroll-behavior:auto!important;transition:none!important}}
