.public-page .dir-hero{text-align:center;padding-bottom:8px}.public-page .dir-hero h1{margin:0;font-size:clamp(30px,4.4vw,44px)}.public-page .dir-hero .lead{margin:10px auto 0}.public-page .dir-wrap{padding-bottom:56px}.public-page .dir-search{background:var(--surface);border:1px solid var(--line);max-width:760px;box-shadow:var(--shadow-card);border-radius:16px;align-items:stretch;margin:0 auto 28px;display:flex;overflow:hidden}.public-page .dir-search input,.public-page .dir-search select{color:var(--ink);font:inherit;background:0 0;border:0;outline:none;min-width:0;min-height:52px;padding:0 16px;font-size:15px}.public-page .dir-search input{flex:auto}.public-page .dir-search select{border-left:1px solid var(--line);cursor:pointer;color:var(--ink-2);flex:0 220px;font-weight:600}.public-page .dir-search button{background:var(--deep);color:#fff;font:inherit;cursor:pointer;border:0;min-height:52px;padding:0 20px;font-weight:700}.public-page .dir-search input:focus-visible,.public-page .dir-search select:focus-visible,.public-page .dir-search button:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}@media (max-width:640px){.public-page .dir-search{flex-wrap:wrap}.public-page .dir-search input{flex:100%}.public-page .dir-search select{border-left:0;border-top:1px solid var(--line);flex:auto}.public-page .dir-search button{border-top:1px solid var(--line)}}.public-page .dir-cats{background:var(--line);border:1px solid var(--line);border-radius:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;margin-bottom:32px;display:grid;overflow:hidden}.public-page .dir-cat{background:var(--surface);min-height:64px;color:var(--ink);flex-direction:column;gap:2px;padding:14px 16px;text-decoration:none;display:flex}.public-page .dir-cat:hover{background:var(--bg-2)}.public-page .dir-cat[aria-current=page]{background:var(--accent-soft)}.public-page .dir-cat strong{font-size:14.5px;font-weight:700}.public-page .dir-cat span{color:var(--muted);font-size:12.5px}.public-page .dir-cat .dir-count{color:var(--ink-2);font-weight:700}.public-page .dir-section-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 14px;display:flex}.public-page .dir-section-title h2{margin:0;font-size:clamp(20px,2.4vw,26px)}.public-page .dir-section-title a{color:var(--brand-deep);font-weight:700}.public-page .dir-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}@media (max-width:420px){.public-page .dir-grid{grid-template-columns:1fr}}.public-page .dir-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card);color:var(--ink);transition:box-shadow .2s var(--ease-out), transform .2s var(--ease-out);border-radius:16px;flex-direction:column;gap:12px;padding:18px;text-decoration:none;display:flex}.public-page a.dir-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.public-page .dir-card-head{align-items:center;gap:12px;min-width:0;display:flex}.public-page .dir-card-name{overflow-wrap:anywhere;font-size:16px;font-weight:800;line-height:1.25}.public-page .dir-card-sub{color:var(--muted);margin-top:2px;font-size:12.5px}.public-page .dir-card p{color:var(--ink-2);margin:0;font-size:14px;line-height:1.55}.public-page .dir-card-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;display:flex}.public-page .dir-logo{background:var(--accent-soft);width:48px;height:48px;color:var(--brand-deep);border:1px solid var(--line);border-radius:12px;flex-shrink:0;place-items:center;font-size:17px;font-weight:800;display:grid;overflow:hidden}.public-page .dir-logo img{object-fit:contain;background:#fff;width:100%;height:100%}.public-page .dir-logo.lg{border-radius:18px;width:76px;height:76px;font-size:26px}.public-page .dir-badge{white-space:nowrap;background:var(--accent-soft);color:var(--brand-deep);border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex}.public-page .dir-badge.trusted{color:#146c43;background:#e7f6ee}.public-page .dir-badge.featured{color:#8a5300;background:#fff4e0}.public-page .dir-badge.neutral{background:var(--bg-2);color:var(--ink-2)}.public-page .dir-offer{color:#6b4400;background:#fff8ea;border-radius:12px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.45;display:flex}.public-page .dir-note{color:var(--muted);max-width:80ch;margin:28px 0 0;font-size:12.5px;line-height:1.6}.public-page .dir-empty{text-align:center;border:1px dashed var(--line);color:var(--ink-2);border-radius:16px;padding:40px 20px}.public-page .dir-empty p{margin:6px 0 0}.public-page .dir-detail{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}@media (max-width:900px){.public-page .dir-detail{grid-template-columns:1fr}}.public-page .dir-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:16px;overflow:hidden}.public-page .dir-panel-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding:22px;display:flex}.public-page .dir-panel-head h1{overflow-wrap:anywhere;margin:0;font-size:clamp(24px,3vw,32px);line-height:1.15}.public-page .dir-panel-body{gap:18px;padding:22px;display:grid}.public-page .dir-panel-body p{color:var(--ink-2);white-space:pre-line;margin:0;line-height:1.65}.public-page .dir-rows>div{border-top:1px solid var(--line);min-height:48px;color:var(--ink);align-items:center;gap:12px;padding:13px 18px;font-size:14px;display:flex}.public-page .dir-rows>div:first-child{border-top:0}.public-page .dir-rows svg{color:var(--brand-deep);flex-shrink:0}.public-page .dir-rows a{color:var(--brand-deep);overflow-wrap:anywhere;font-weight:700}.public-page .dir-actions{border-top:1px solid var(--line);gap:10px;padding:18px;display:grid}.public-page .dir-actions .btn{justify-content:center;width:100%}.public-page .dir-tags{flex-wrap:wrap;gap:6px;display:flex}.public-page .dir-back{color:var(--ink-2);align-items:center;gap:6px;margin-bottom:18px;font-weight:600;text-decoration:none;display:inline-flex}.public-page .dir-back:hover{color:var(--brand-deep)}.public-page .dir-form{gap:16px;padding:22px;display:grid}.public-page .dir-form label{color:var(--ink);margin-bottom:6px;font-size:13px;font-weight:700;display:block}.public-page .dir-form input,.public-page .dir-form select,.public-page .dir-form textarea{border:1px solid var(--line);width:100%;min-height:46px;font:inherit;color:var(--ink);background:var(--surface);box-sizing:border-box;border-radius:12px;padding:10px 12px;font-size:15px}.public-page .dir-form textarea{resize:vertical;min-height:110px}.public-page .dir-form input:focus-visible,.public-page .dir-form select:focus-visible,.public-page .dir-form textarea:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.public-page .dir-form .dir-two{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.public-page .dir-form .dir-check{color:var(--ink-2);align-items:flex-start;gap:10px;font-size:14px;font-weight:500;display:flex}.public-page .dir-form .dir-check input{flex-shrink:0;width:20px;height:20px;min-height:20px;margin-top:2px}.public-page .dir-form .dir-hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.public-page .dir-error{color:#a12622;background:#fdecec;border-radius:12px;padding:12px 14px;font-size:14px;font-weight:600}.public-page .dir-success{text-align:center;padding:28px 22px}.public-page .dir-success h2{margin:8px 0 6px}
