.directory-shell{min-height:calc(100vh - 88px);color:var(--ink,#1b120d);font-family:var(--font-sans,system-ui, -apple-system, sans-serif)}.directory-hero{width:calc(100% - 48px);max-width:1200px;margin:0 auto;padding:56px 0 36px}.directory-hero-kicker{letter-spacing:1px;text-transform:uppercase;color:var(--forest,#244c36);align-items:center;gap:6px;margin-bottom:14px;font-size:12px;font-weight:800;display:inline-flex}html.dark .directory-hero-kicker{color:#a4cd72}.directory-hero h1{font-family:var(--font-display,inherit);letter-spacing:-1.5px;color:var(--ink,#1b120d);margin:0 0 16px;font-size:clamp(32px,4vw,52px);font-weight:800;line-height:1.15}.directory-hero p.subtitle{color:var(--muted,#5c5248);max-width:720px;margin:0 0 28px;font-size:17px;line-height:1.6}.city-description-wrapper{max-width:780px;margin:0 0 24px}.city-description-wrapper p.subtitle{cursor:default;margin:0}.city-description-text.is-clamped{-webkit-line-clamp:3;cursor:pointer;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.city-description-text.is-clamped:hover{color:var(--ink,#1b120d)}html.dark .city-description-text.is-clamped:hover{color:#e4eddc}.city-description-toggle{color:var(--forest,#244c36);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-top:6px;padding:6px 0;font-size:13.5px;font-weight:700;transition:opacity .15s,color .15s;display:inline-flex}.city-description-toggle:hover{opacity:.85;text-decoration:underline}html.dark .city-description-toggle{color:#a4cd72}.directory-search-bar{background:var(--theme-control-bg,#fff);border:1.5px solid var(--line,#e7decf);border-radius:12px;align-items:center;gap:12px;max-width:740px;padding:10px 18px;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:0 4px 20px #1b120d0a}.directory-search-bar:focus-within{border-color:var(--forest,#244c36);box-shadow:0 4px 24px #244c361f}.directory-search-bar input{color:var(--ink,#1b120d);background:0 0;border:0;outline:0;flex:1;font-size:15px}.directory-search-bar input::placeholder{color:var(--muted,#8a7e72)}.directory-saas-banner{color:#fff;background:linear-gradient(135deg,#1b3d2b 0%,#12281c 100%);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin:28px 0 40px;padding:28px 32px;display:flex;box-shadow:0 10px 30px #1b3d2b33}.directory-saas-banner h3{letter-spacing:-.5px;margin:0 0 6px;font-size:20px;font-weight:750}.directory-saas-banner p{color:#c9dec2;margin:0;font-size:14px;line-height:1.5}.directory-saas-banner a.cta-btn{color:#183b25;white-space:nowrap;background:#d5e9a4;border-radius:8px;align-items:center;gap:6px;padding:12px 22px;font-size:13px;font-weight:800;text-decoration:none;transition:transform .15s,background-color .15s;display:inline-flex}.directory-saas-banner a.cta-btn:hover{background:#e2f2b8;transform:translateY(-2px)}.directory-container{width:calc(100% - 48px);max-width:1200px;margin:0 auto;padding:0 0 60px}.directory-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;display:grid}.restaurant-card{background:var(--theme-control-bg,#fff);border:1px solid var(--line,#e7decf);border-radius:16px;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;overflow:hidden}.restaurant-card:hover{border-color:var(--forest,#244c36);transform:translateY(-4px);box-shadow:0 12px 28px #1b120d14}.restaurant-card-cover{background:#e4edd9;height:180px;position:relative;overflow:hidden}.restaurant-card-cover img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.restaurant-card:hover .restaurant-card-cover img{transform:scale(1.03)}.restaurant-card-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#1b120dd9;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700;position:absolute;top:12px;right:12px}.restaurant-card-body{flex-direction:column;flex:1;padding:20px;display:flex}.restaurant-card-title{color:var(--ink,#1b120d);letter-spacing:-.4px;margin:0 0 6px;font-size:19px;font-weight:800}.restaurant-card-meta{color:var(--muted,#647858);align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.restaurant-card-story{color:var(--muted,#5c5248);flex:1;margin:0 0 18px;font-size:13px;line-height:1.55}.restaurant-card-footer{border-top:1px solid var(--line,#edf2e8);justify-content:space-between;align-items:center;gap:10px;padding-top:14px;display:flex}.restaurant-card-footer a.menu-btn{background:var(--forest,#244c36);color:#fff;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-size:12px;font-weight:700;text-decoration:none;transition:background-color .15s;display:inline-flex}.restaurant-card-footer a.menu-btn:hover{background:#346446}.restaurant-card-footer a.wa-btn{color:#fff;background:#25d366;border-radius:8px;align-items:center;gap:6px;padding:9px 14px;font-size:12px;font-weight:700;text-decoration:none;transition:opacity .15s;display:inline-flex}.restaurant-card-footer a.wa-btn:hover{opacity:.9}.directory-faqs{border-top:1px solid var(--line,#e2e8dc);margin-top:60px;padding-top:40px}.directory-faqs h2{color:var(--ink,#1b120d);letter-spacing:-.6px;margin-bottom:24px;font-size:24px;font-weight:800}.faq-item{background:var(--theme-control-bg,#fff);border:1px solid var(--line,#e2e8dc);border-radius:12px;margin-bottom:12px;padding:16px 20px}.faq-item summary{color:var(--ink,#1b120d);cursor:pointer;font-size:15px;font-weight:700}.faq-item p{color:var(--muted,#5c5248);margin:10px 0 0;font-size:14px;line-height:1.6}.city-filter-pill{border:1px solid var(--line,#dfe6d8);background:var(--theme-control-bg,#fff);color:var(--ink,#1b120d);cursor:pointer;border-radius:20px;align-items:center;gap:4px;padding:6px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.city-filter-pill:hover,.city-filter-pill.is-active{background:var(--forest,#244c36);border-color:var(--forest,#244c36);color:#fff}.directory-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:40px;display:flex}.pagination-btn{border:1px solid var(--line,#e2e8dc);background:var(--theme-control-bg,#fff);min-width:40px;height:40px;color:var(--ink,#1b120d);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.pagination-btn:hover:not(:disabled){border-color:var(--forest,#244c36);color:var(--forest,#244c36)}.pagination-btn.is-active{background:var(--forest,#244c36);border-color:var(--forest,#244c36);color:#fff}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{color:var(--muted,#647858);margin:0 8px;font-size:13px;font-weight:600}@media (max-width:768px){.directory-hero{width:calc(100% - 32px);padding:32px 0 20px}.directory-container{width:calc(100% - 32px);padding:0 0 40px}.directory-grid{grid-template-columns:1fr}.directory-saas-banner{padding:20px}}
