/* Static SEO directory pages (/directory/…) — reuses main.css tokens. */
.dp{padding:0 0 48px}
.dp-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:22px 0;border-bottom:1px solid var(--line)}
.dp-brand{font-family:'Lora',serif;font-size:24px;font-weight:700;color:var(--ink);text-decoration:none}
.dp-brand span{color:var(--gold)}
.dp-header nav{display:flex;gap:18px;flex-wrap:wrap}
.dp-header nav a,.dp-crumbs a{color:var(--forest-2)}
.dp-crumbs{font-size:14px;color:var(--muted);padding:14px 0}
.dp h1{font-family:'Lora',serif;font-size:clamp(34px,5vw,52px);line-height:1.1;margin:18px 0 14px}
.dp h2{font-family:'Lora',serif;font-size:28px;margin:40px 0 12px;padding-top:14px;border-top:1px solid var(--line)}
.dp h2 small{font-family:'DM Sans',sans-serif;font-size:15px;color:var(--muted);font-weight:600}
.dp-answer{font-size:19px;max-width:860px;color:var(--ink)}
.dp-jump{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:15px}
.dp-jump a{color:var(--gold)}
.dp-list,.dp-cats{list-style:none;padding:0;margin:0}
.dp-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper)}
.dp-item{padding:18px 20px;border-bottom:1px solid var(--line);min-width:0}
.dp-item:nth-child(odd){border-right:1px solid var(--line)}
.dp-item h3{font-family:'Lora',serif;font-size:20px;margin:0 0 6px;line-height:1.25}
.dp-verified{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:800;color:var(--bg);background:var(--forest-2);border-radius:99px;padding:2px 8px;vertical-align:middle}
.dp-desc{color:var(--muted);margin:0 0 8px}
.dp-facts{display:flex;flex-direction:column;gap:2px;margin:0 0 6px;font-size:15px}
.dp-lic{font-size:13px;font-weight:800;margin:4px 0;color:var(--forest)}
.dp-lic.alert{color:var(--rust)}
.dp-acts{display:flex;flex-wrap:wrap;gap:6px 16px;margin:6px 0;font-weight:700}
.dp-acts a{color:var(--gold)}
.dp-src{font-size:12px;color:var(--muted);margin:4px 0 0}
.dp-cats{columns:3 260px;column-gap:28px;margin-top:24px}
.dp-cats li{break-inside:avoid;padding:6px 0;border-bottom:1px solid var(--line)}
.dp-cats a{color:var(--ink);font-weight:700}
.dp-cats small{color:var(--muted)}
.dp-footer{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
.dp-footer a{color:var(--forest-2)}
@media(max-width:650px){.dp-list{grid-template-columns:1fr}.dp-item:nth-child(odd){border-right:0}.dp-item{padding:16px}}

/* ---------- Business profile pages (/places/…) ---------- */
.pl{padding-bottom:24px}
.pl-hero{position:relative;margin:10px 0 26px;padding:44px 40px 36px;border-radius:28px;overflow:hidden;
  background:radial-gradient(900px 380px at 100% 0%,color-mix(in srgb,var(--gold) 22%,transparent),transparent 70%),
  linear-gradient(160deg,var(--paper),color-mix(in srgb,var(--paper) 70%,#0b1310));border:1px solid var(--line)}
.pl-hero h1{font-family:'Lora',serif;font-size:clamp(34px,5.2vw,60px);line-height:1.04;margin:14px 0 12px;letter-spacing:-.01em}
.pl-lede{font-size:19px;color:var(--muted);max-width:760px;margin:0 0 22px}
.pl-badges{display:flex;flex-wrap:wrap;gap:8px}
.pl-chip{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;border:1px solid var(--line);
  font-size:13px;font-weight:700;color:var(--ink);text-decoration:none;background:color-mix(in srgb,var(--bg) 60%,transparent)}
a.pl-chip:hover{border-color:var(--gold)}
.pl-chip-verified{background:var(--forest-2);color:var(--bg);border-color:transparent}
.pl-chip-muted{color:var(--muted);border-style:dashed}
.pl-chip-ok{color:#8fd6a5;border-color:#3f9b62}
.pl-chip-alert{color:var(--rust);border-color:var(--rust)}
.pl-actions{display:flex;flex-wrap:wrap;gap:10px}
.pl-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:14px;
  border:1px solid var(--line);background:var(--bg);color:var(--ink);font:700 16px 'DM Sans',sans-serif;text-decoration:none;cursor:pointer;
  transition:transform .15s ease,border-color .15s ease,background .15s ease}
.pl-btn:hover{border-color:var(--gold);transform:translateY(-1px)}
.pl-btn-primary{background:var(--gold);color:#1d1507;border-color:var(--gold)}
.pl-btn-primary:hover{background:color-mix(in srgb,var(--gold) 88%,#fff)}
.pl-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:22px;align-items:start}
.pl-main,.pl-side{display:grid;gap:22px}
.pl-side{position:sticky;top:18px}
.pl-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:24px 26px}
.pl-card h2,.pl-related h2{font-family:'Lora',serif;font-size:24px;margin:0 0 14px;padding:0;border:0}
.pl-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}
.pl-fact span{display:block;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.pl-fact strong{font-size:17px;font-weight:700;word-break:break-word}
.pl-fact a,.pl-card p a,.pl-note a{color:var(--gold)}
.pl-hours{width:100%;border-collapse:collapse;font-size:16px}
.pl-hours th,.pl-hours td{text-align:left;padding:9px 0;border-bottom:1px solid var(--line);font-weight:600}
.pl-hours th{width:44%;color:var(--muted)}
.pl-hours tr.today th,.pl-hours tr.today td{color:var(--ink);font-weight:800}
.pl-open{display:inline-block;margin-left:10px;padding:2px 9px;border-radius:999px;font-size:12px;background:#2f6b45;color:#dff5e6}
.pl-open.shut{background:color-mix(in srgb,var(--rust) 30%,transparent);color:var(--rust)}
.pl-note{font-size:14px;color:var(--muted);margin:12px 0 0}
.pl-lic{display:grid;gap:4px;padding:14px 16px;border-radius:14px;border:1px solid #3f9b62;background:color-mix(in srgb,#3f9b62 12%,transparent)}
.pl-lic.alert{border-color:var(--rust);background:color-mix(in srgb,var(--rust) 12%,transparent)}
.pl-lic span{color:var(--muted);font-size:14px}
.pl-map-frame{aspect-ratio:4/3;border-radius:16px;overflow:hidden;border:1px solid var(--line);display:grid;place-items:center;
  background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--line) 40%,transparent) 0 12px,transparent 12px 24px),var(--bg)}
.pl-map-frame iframe{width:100%;height:100%;border:0;filter:saturate(.85)}
.pl-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pl-form label{display:grid;gap:6px;font-weight:700;font-size:15px}
.pl-form .wide,.pl-form button,.pl-form-status{grid-column:1/-1}
.pl-form input,.pl-form select,.pl-form textarea{width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--line);
  border-radius:12px;padding:12px 14px;font:inherit}
.pl-form-status:empty{display:none}
.pl-related{margin-top:34px}
.pl-related ul{list-style:none;padding:0;margin:0 0 18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pl-related li a{display:grid;gap:4px;height:100%;padding:16px 18px;border-radius:18px;border:1px solid var(--line);
  background:var(--paper);color:var(--ink);text-decoration:none;transition:border-color .15s ease,transform .15s ease}
.pl-related li a:hover{border-color:var(--gold);transform:translateY(-2px)}
.pl-related li span{font-size:13px;color:var(--muted)}
.dp-item h3 a{color:var(--ink);text-decoration:none}
.dp-item h3 a:hover{color:var(--gold)}
@media(max-width:900px){.pl-grid{grid-template-columns:1fr}.pl-side{position:static}.pl-related ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pl-hero{padding:30px 20px 24px;border-radius:22px}.pl-card{padding:20px 18px}.pl-facts,.pl-form{grid-template-columns:1fr}
  .pl-related ul{grid-template-columns:1fr}.pl-actions .pl-btn{flex:1 1 auto}}
.pl-hero-img{min-height:420px;display:flex;flex-direction:column;justify-content:flex-end;
  background:linear-gradient(180deg,rgba(8,12,10,.15) 0%,rgba(8,12,10,.55) 45%,rgba(8,12,10,.94) 100%),var(--pl-img) center/cover no-repeat;color:#f7f3ea}
.pl-hero-img .pl-lede{color:#e8e3d7}
.pl-hero-img .pl-chip{background:rgba(10,14,12,.55);color:#f7f3ea;border-color:rgba(255,255,255,.25)}
.dp-header{position:sticky;top:0;z-index:30;margin:0 -16px;padding:14px 16px;background:color-mix(in srgb,var(--bg) 80%,transparent);
  backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}
.dp-header nav a{padding:8px 11px;border-radius:10px;font-weight:700;text-decoration:none;color:var(--muted)}
.dp-header nav a:hover{color:var(--ink);background:var(--paper)}
.dp-header nav a.dp-cta{background:var(--gold);color:#1f1607;margin-left:4px}
@media(max-width:760px){.dp-header nav{width:100%;overflow-x:auto;flex-wrap:nowrap;gap:4px;padding-bottom:2px}.dp-header nav a{white-space:nowrap}}
@media(max-width:650px){.dp-header{margin:0 -11px;padding:12px 11px}}
.dp-header nav{min-width:0;max-width:100%}
/* footer column headings: undo the .dp h2 page-heading style */
.dp .ft-col h2{margin:4px 0 12px;padding:0;border:0;font:800 12px 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
@media(max-width:760px){.dp-header nav{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent);padding-right:36px;scrollbar-width:none}
  .dp-header nav::-webkit-scrollbar{display:none}}
