/* Direktori vendor (/directory…): daftar, filter lokasi, kartu usaha, halaman usaha, bintang. Memakai token body.pub dari site.css. */
.dr{--dr-star:#f5a623}
.dr .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dr-banner{background:#fff7e6;border:1px solid #f3d9a4;color:#7a5200;border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:14px}
.dr-muted{color:var(--muted);font-size:14px}
.dr-h2{font-size:clamp(20px,2.6vw,26px);font-weight:700;margin:26px 0 12px;color:var(--ink)}
.dr-head{margin:6px 0 16px}
.dr-head h1{font-size:clamp(26px,4vw,38px);font-weight:800;line-height:1.15;letter-spacing:-.4px;margin:6px 0 8px;color:var(--ink)}
.dr-head p{color:var(--muted);font-size:16px;max-width:70ch;margin:0 0 10px}
.dr-hub .btn{margin-top:4px}

/* stars */
.dr-stars{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--ink)}
.dr-stars.none{color:var(--dim);font-size:13px}
.dr-stars-bar{position:relative;display:inline-block;width:78px;height:15px;background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='78' height='15' viewBox='0 0 78 15'%3E%3Cg fill='%23d9dde5'%3E%3Cpath id='s' d='M7.5 0l2.2 4.8 5.3.6-3.9 3.6 1.1 5.2-4.7-2.7-4.7 2.7 1.1-5.2L0 5.4l5.3-.6z'/%3E%3Cuse href='%23s' x='15.6'/%3E%3Cuse href='%23s' x='31.2'/%3E%3Cuse href='%23s' x='46.8'/%3E%3Cuse href='%23s' x='62.4'/%3E%3C/g%3E%3C/svg%3E") no-repeat 0 0/78px 15px}
.dr-stars-bar i{position:absolute;left:0;top:0;bottom:0;background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='78' height='15' viewBox='0 0 78 15'%3E%3Cg fill='%23f5a623'%3E%3Cpath id='s' d='M7.5 0l2.2 4.8 5.3.6-3.9 3.6 1.1 5.2-4.7-2.7-4.7 2.7 1.1-5.2L0 5.4l5.3-.6z'/%3E%3Cuse href='%23s' x='15.6'/%3E%3Cuse href='%23s' x='31.2'/%3E%3Cuse href='%23s' x='46.8'/%3E%3Cuse href='%23s' x='62.4'/%3E%3C/g%3E%3C/svg%3E") no-repeat 0 0/78px 15px}
.dr-stars small{color:var(--muted)}

/* filter bar */
.dr-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:14px;margin:0 0 16px}
.dr-f{display:flex;flex-direction:column;gap:4px;min-width:0}
.dr-f span{font-size:12px;font-weight:700;color:var(--muted)}
.dr-f select,.dr-f input{width:100%;height:44px;border:1.5px solid var(--line2);border-radius:10px;background:#fff;font:inherit;font-size:15px;padding:0 12px;color:var(--ink)}
.dr-f select:disabled{background:#f1f3f7;color:var(--dim)}
.dr-filter .btn{height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px}
.dr-geo svg{width:16px;height:16px}
@media(max-width:900px){.dr-filter{grid-template-columns:1fr 1fr}.dr-f-q{grid-column:1/-1}}
@media(max-width:520px){.dr-filter{grid-template-columns:1fr}}

/* chips */
.dr-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;align-items:center}
.dr-chips a{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1.5px solid var(--line2);border-radius:999px;background:#fff;color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}
.dr-chips a:hover{border-color:var(--rose);color:var(--rose)}
.dr-chips small{color:var(--muted);font-weight:700;font-size:12px}
.dr-chips-l{font-size:13px;color:var(--muted);font-weight:700}

/* category tiles */
.dr-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.dr-cat{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;color:var(--ink)}
.dr-cat:hover{border-color:var(--rose);box-shadow:0 6px 18px rgba(20,30,60,.07)}
.dr-cat-ic{font-size:24px;line-height:1.2}
.dr-cat b{font-size:15px}.dr-cat small{color:var(--muted)}

/* grid + cards */
.dr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:900px){.dr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.dr-grid{grid-template-columns:1fr}}
.dr-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.dr-card:hover{box-shadow:0 8px 22px rgba(20,30,60,.08)}
.dr-card-img{position:relative;aspect-ratio:16/10;background:var(--soft);overflow:hidden}
.dr-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.dr-card-ph{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:54px;font-weight:800;color:rgba(0,0,0,.18)}
.dr-chip-on{position:absolute;left:10px;top:10px;background:rgba(255,255,255,.94);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;color:var(--ink)}
.dr-prem{position:absolute;right:10px;top:10px;background:#16213e;color:#ffd978;border-radius:999px;padding:3px 10px 3px 9px;font-size:11px;font-weight:800;letter-spacing:.3px;text-transform:uppercase}
.dr-prem::before{content:"★";margin-right:4px}
.dr-prem.in{position:static;display:inline-block;vertical-align:middle;margin-left:6px}
.dr-card-b{display:flex;gap:10px;padding:12px 14px 4px;align-items:flex-start}
.dr-card-t{min-width:0}
.dr-card-t h3{font-size:16px;font-weight:700;line-height:1.3;margin:0}
.dr-card-t h3 a{color:var(--ink);text-decoration:none}.dr-card-t h3 a:hover{color:var(--rose)}
.dr-card-t h3 a::after{content:"";position:absolute;inset:0}
.dr-card{position:relative}
.dr-loc{display:flex;gap:4px;align-items:center;color:var(--muted);font-size:13px;margin-top:2px}
.dr-loc svg{width:14px;height:14px;flex:none}
.dr-card-d{padding:0 14px;margin:6px 0 0;font-size:14px;color:var(--muted);line-height:1.5}
.dr-card-f{padding:10px 14px 14px;margin-top:auto}
.dr-av{border-radius:50%;object-fit:cover;flex:none;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:18px;background:var(--soft)}

/* misc blocks */
.dr-empty{border:1.5px dashed var(--line2);border-radius:14px;padding:26px;text-align:center;color:var(--muted)}
.dr-empty b{display:block;color:var(--ink);font-size:18px;margin-bottom:4px}
.dr-more{margin-top:26px}
.dr-pager{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:22px 0}
.dr-pager a,.dr-pager span{min-width:38px;height:38px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--line2);border-radius:10px;font-weight:700;font-size:14px;text-decoration:none;color:var(--ink);background:#fff}
.dr-pager a:hover{border-color:var(--rose);color:var(--rose)}
.dr-pager [aria-current]{background:var(--rose);border-color:var(--rose);color:#fff}
.dr-pager .off,.dr-pager .gap{color:var(--dim);border-color:transparent;background:transparent}

/* one business */
.dr-lp{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;align-items:start}
@media(max-width:900px){.dr-lp{grid-template-columns:1fr}.dr-lp-side{order:-1}}
.dr-gal-main{aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:var(--soft)}
.dr-gal-main img{width:100%;height:100%;object-fit:cover;display:block}
.dr-gal-none{display:flex;align-items:center;justify-content:center;font-size:84px;font-weight:800;color:rgba(0,0,0,.15)}
.dr-gal-th{display:flex;gap:8px;overflow-x:auto;padding:8px 0 2px}
.dr-gal-th button{flex:none;width:76px;height:56px;border:2px solid transparent;border-radius:9px;padding:0;overflow:hidden;background:var(--soft);cursor:pointer}
.dr-gal-th button.on{border-color:var(--rose)}
.dr-gal-th img{width:100%;height:100%;object-fit:cover;display:block}
.dr-sec{margin-top:26px}
.dr-sec h2{font-size:20px;font-weight:700;margin:0 0 10px;color:var(--ink)}
.dr-prose p{margin:0 0 10px;line-height:1.7;overflow-wrap:anywhere}
.dr-fac{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 16px}
.dr-fac li{position:relative;padding-left:22px;font-size:15px}
.dr-fac li::before{content:"✓";position:absolute;left:0;color:#1c9a5a;font-weight:800}
.dr-box{border:1px solid var(--line);border-radius:14px;background:#fff;padding:18px;position:sticky;top:84px}
@media(max-width:900px){.dr-box{position:static}}
.dr-box-h{display:flex;gap:12px;align-items:center}
.dr-box-h h1{font-size:20px;font-weight:800;line-height:1.25;margin:0;color:var(--ink);overflow-wrap:anywhere}
.dr-cat-l{color:var(--muted);font-size:14px;margin-top:2px}
.dr-rline{margin:12px 0}
.dr-info>div{display:flex;gap:8px;align-items:flex-start;font-size:15px}
.dr-info svg{width:18px;height:18px;flex:none;margin-top:3px;color:var(--rose)}
.dr-info span{display:block;color:var(--muted);font-size:14px;overflow-wrap:anywhere}
.dr-act{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.dr-act .btn{text-align:center;justify-content:center;text-decoration:none}
.dr .btn-wa,body.pub .dr .btn-wa{background:#1fa855;border-color:#1fa855;color:#fff}
.dr .btn-wa:hover{background:#188a45;border-color:#188a45;color:#fff}
.dr-note{margin:12px 0 0}

/* ratings */
.dr-rsum{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.dr-rbig{font-size:44px;font-weight:800;line-height:1;color:var(--ink)}
.dr-flash{border-radius:10px;padding:10px 14px;margin-bottom:10px;background:var(--soft);font-size:14px}
.dr-flash.ok{background:#e7f6ee;color:#136c3d}.dr-flash.bad{background:#fdecec;color:#a02727}
.dr-rate{border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:12px;background:var(--soft)}
.dr-rate fieldset{border:0;margin:0;padding:0}
.dr-rate legend{font-weight:700;font-size:14px;margin-bottom:6px;padding:0}
.dr-pick{display:inline-flex;flex-direction:row-reverse;gap:2px}
.dr-pick input{position:absolute;opacity:0;width:1px;height:1px}
.dr-pick label{width:34px;height:34px;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15'%3E%3Cpath fill='%23cfd4de' d='M7.5 0l2.2 4.8 5.3.6-3.9 3.6 1.1 5.2-4.7-2.7-4.7 2.7 1.1-5.2L0 5.4l5.3-.6z'/%3E%3C/svg%3E") center/30px no-repeat}
.dr-pick label:hover,.dr-pick label:hover~label,.dr-pick input:checked~label{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15'%3E%3Cpath fill='%23f5a623' d='M7.5 0l2.2 4.8 5.3.6-3.9 3.6 1.1 5.2-4.7-2.7-4.7 2.7 1.1-5.2L0 5.4l5.3-.6z'/%3E%3C/svg%3E")}
.dr-pick input:focus-visible+label{outline:2px solid var(--rose);outline-offset:2px;border-radius:6px}
.dr-rate-f{display:grid;gap:8px}
.dr-rate-f input,.dr-rate-f textarea{width:100%;border:1.5px solid var(--line2);border-radius:10px;padding:10px 12px;font:inherit;font-size:15px;background:#fff;resize:vertical}
.dr-reviews{list-style:none;margin:16px 0 0;padding:0}
.dr-reviews li{padding:14px 0;border-top:1px solid var(--line)}
.dr-reviews li div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dr-reviews small{color:var(--dim)}
.dr-reviews p{margin:6px 0 0;overflow-wrap:anywhere}
.dr-claim{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line2);font-size:14px;color:var(--muted);text-align:center}
.dr-claim a{color:var(--rose);font-weight:700;margin-left:4px}

/* ── vendor profile card (lists, hub) ── */
.dr-vcard{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;transition:box-shadow .2s,transform .2s}
.dr-vcard:hover{box-shadow:0 10px 26px rgba(20,30,60,.1);transform:translateY(-2px)}
.dr-vcard-top{height:64px;position:relative}
.dr-vcard-b{position:relative;padding:0 16px 16px;margin-top:-38px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.dr-vcard-b .dr-av{border:3px solid #fff;box-shadow:0 2px 8px rgba(20,30,60,.15)}
.dr-vcard-b h3{font-size:17px;font-weight:800;line-height:1.3;margin:2px 0 0}
.dr-vcard-b h3 a{color:var(--ink);text-decoration:none}.dr-vcard-b h3 a:hover{color:var(--rose)}
.dr-vcard-b h3 a::after{content:"";position:absolute;inset:0}
.dr-vcard-d{margin:0;font-size:14px;color:var(--muted);line-height:1.5}
.dr-vcard-f{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:4px}
.dr-posts{font-size:12px;color:var(--muted);font-weight:700}
.dr-tags{display:flex;flex-wrap:wrap;gap:6px}
.dr-tag{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--rose-bg);color:var(--rose);font-size:12px;font-weight:700;text-decoration:none}
a.dr-tag:hover{background:var(--rose);color:#fff}
.dr-tag-more{background:var(--soft);color:var(--muted)}
.dr-vcard .dr-prem{top:10px;right:10px}

/* ── shared bits of the vendor profile ── */
.dr-cat-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 12px}
.dr-cat-tabs a{padding:6px 14px;border:1.5px solid var(--line2);border-radius:999px;font-size:13px;font-weight:700;color:var(--ink);text-decoration:none;background:#fff}
.dr-cat-tabs a.on,.dr-cat-tabs a:hover{background:var(--rose);border-color:var(--rose);color:#fff}
.dr-claim-l{text-align:left;margin-top:14px;padding-top:12px}
.dr-login-note{border:1px dashed var(--line2);border-radius:12px;padding:14px;margin:0 0 12px;font-size:15px;color:var(--muted)}
.dr-h2 small{font-size:14px;font-weight:600;color:var(--muted);margin-left:6px}

/* ── Instagram-style grid ── */
.dr-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
@media(min-width:760px){.dr-tiles{gap:10px}}
.dr-tile{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:var(--soft);border-radius:4px}
.dr-tile img,.dr-tile video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.dr-tile:hover img,.dr-tile:hover video{transform:scale(1.04)}
.dr-tile-ph{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:44px;font-weight:800;color:rgba(0,0,0,.2)}
.dr-tile-badge{position:absolute;right:8px;top:8px;width:24px;height:24px;color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.55))}
.dr-tile-badge svg{width:100%;height:100%}
.dr-tile-over{position:absolute;inset:0;display:flex;gap:18px;align-items:center;justify-content:center;background:rgba(15,20,35,.45);color:#fff;font-size:15px;opacity:0;transition:opacity .2s}
.dr-tile:hover .dr-tile-over,.dr-tile:focus-visible .dr-tile-over{opacity:1}
@media(hover:none){.dr-tile-over{display:none}}

/* ── post page ── */
.dr-postwrap{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:28px;align-items:start}
@media(max-width:900px){.dr-postwrap{grid-template-columns:1fr}}
.dr-ig{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.dr-ig-h{display:flex;gap:10px;align-items:center;padding:12px 14px}
.dr-ig-n{font-weight:800;color:var(--ink);text-decoration:none}
.dr-ig-l{font-size:12.5px;color:var(--muted)}
.dr-ig-media{position:relative;background:#0f1423}
.dr-ig-none{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--soft);font-size:90px;font-weight:800;color:rgba(0,0,0,.15)}
.dr-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.dr-slides::-webkit-scrollbar{display:none}
.dr-slide{flex:0 0 100%;scroll-snap-align:center;aspect-ratio:1;background:#0f1423;display:flex;align-items:center;justify-content:center}
.dr-slide img{width:100%;height:100%;object-fit:contain;display:block}
.dr-sl-btn{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.88);color:#111;font-size:22px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.dr-sl-btn.prev{left:10px}.dr-sl-btn.next{right:10px}
.dr-sl-count{position:absolute;right:12px;top:12px;background:rgba(15,20,35,.65);color:#fff;border-radius:999px;font-size:12px;padding:3px 10px}
.dr-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;gap:5px;justify-content:center}
.dr-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5)}
.dr-dots i.on{background:#fff}
.dr-ig-video video{display:block;width:100%;max-height:78vh;background:#000}
.dr-ig-bar{display:flex;align-items:center;gap:4px;padding:8px 10px 0}
.dr-ig-btn{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:6px;cursor:pointer;color:var(--ink);text-decoration:none;border-radius:10px;font:inherit;font-size:13px;font-weight:700}
.dr-ig-btn svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.dr-ig-btn:hover{background:var(--soft)}
.dr-ig-btn.on{color:#e0245e}.dr-ig-btn.on svg{fill:currentColor;stroke:currentColor}
.dr-music{margin-left:auto;background:var(--soft);padding:6px 12px}
.dr-music svg{width:20px;height:20px}.dr-music svg circle{fill:currentColor}
.dr-music.on{background:var(--rose);color:#fff}
.dr-ig-likes{padding:2px 16px 0;font-size:14px;color:var(--muted)}.dr-ig-likes b{color:var(--ink)}
.dr-ig-cap{padding:6px 16px 0}
.dr-ig-cap h1{font-size:18px;font-weight:800;margin:4px 0 6px;line-height:1.3}
.dr-ig-desc{line-height:1.65;overflow-wrap:anywhere;font-size:15.5px}
.dr-ig-time{display:block;padding:10px 16px 16px;font-size:12px;color:var(--dim);text-transform:uppercase;letter-spacing:.3px}
.dr-ig-side{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px}
.dr-ig-side h2{font-size:17px;font-weight:800;margin:0 0 12px}.dr-ig-side h2 small{font-weight:600;color:var(--muted)}
.dr-cform{display:flex;gap:8px;align-items:flex-end;margin-bottom:12px}
.dr-cform textarea{flex:1;border:1.5px solid var(--line2);border-radius:10px;padding:9px 12px;font:inherit;font-size:15px;resize:vertical;min-height:44px}
.dr-comments{list-style:none;margin:0;padding:0}
.dr-comments li{padding:10px 0;border-top:1px solid var(--line)}
.dr-comments small{color:var(--dim);margin-left:6px}
.dr-comments p{margin:3px 0 0;overflow-wrap:anywhere}

/* ── vendor profile, styled like the creator profile (assets/site.css .s-pf-*, assets/creator-social.css .cs-*) ── */
.dr-pf .s-crumbs{margin-bottom:10px}
.dr-pf .s-pf-meta.pf-joined{display:flex;gap:6px;align-items:center;justify-content:center;color:var(--muted);font-size:14px;margin-top:8px}
.dr-pf .s-pf-meta.pf-joined svg{width:15px;height:15px;flex:none;fill:none;stroke:var(--rose);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dr-pf .cs-stat-m{display:block}
.dr-pf .cs-actions{flex-wrap:wrap}
.dr-pf .cs-actions .cs-btn{flex:1 1 calc(50% - 4px);min-width:0;padding:0 12px;white-space:nowrap}
.dr-pf .cs-actions .cs-follow{flex:1 1 100%}
.dr-pf .s-pf-bio{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;overflow-wrap:anywhere;margin-top:16px}
.dr-pf .s-pf-bio.open{display:block;-webkit-line-clamp:unset}
.dr-pf .pf-more:not([hidden]){display:block;margin:2px 0 0;padding:2px 0;border:0;background:none;color:var(--ink);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;text-align:left}
.dr-pf .dr-claim-l{text-align:center;margin-top:16px}
.dr-pf .dr-cat-tabs{margin:0 0 16px}
.dr-h2s{font-size:14px;font-weight:600;color:var(--muted);margin-left:6px}
.dr-pf .dr-tiles{gap:10px}
.dr-pf .dr-tile{border-radius:10px}
.dr-detail{margin-top:36px}
.dr-detail .s-h2{margin:0 0 14px}
.dr-dl{margin:0;border:1.5px solid var(--line2);border-radius:14px;background:#fff;overflow:hidden}
.dr-dl>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:14px 18px;border-top:1px solid var(--line)}
.dr-dl>div:first-child{border-top:0}
.dr-dl dt{font-size:13.5px;font-weight:700;color:var(--muted)}
.dr-dl dd{margin:0;line-height:1.6;overflow-wrap:anywhere;font-size:15px}
.dr-dd-sub{color:var(--muted);font-size:14px}
.dr-dd-link{margin-left:6px;font-weight:700;color:var(--rose);text-decoration:none;white-space:nowrap}
.dr-dl a{color:var(--rose);font-weight:700;text-decoration:none}
.dr-dl .dr-tag{font-weight:700}
@media screen and (max-width:849px){.dr-pf .s-pf-side{padding:22px 18px}}

/* phone (≤599px): the TikTok-style header comes from site.css (.s-pf-layout rules); these fit our extras into it */
@media screen and (max-width:599px){
.dr-pf.s-pf-creator .s-crumbs{display:flex;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;margin:0 0 10px;gap:6px;font-size:12.5px;scrollbar-width:none}
.dr-pf.s-pf-creator .s-crumbs::-webkit-scrollbar{display:none}
.dr-pf .s-pf-layout .s-pf-badges{display:flex;grid-column:1;grid-row:2;justify-content:flex-start;margin-top:8px}
.dr-pf .s-pf-layout .s-pf-badges .badge{font-size:11.5px;padding:2px 9px}
.dr-pf .s-pf-layout .s-pf-meta.pf-joined{grid-column:1;grid-row:3;justify-content:flex-start;margin-top:8px;font-size:13px;color:var(--muted)}
.dr-pf .s-pf-layout .cs-actions .cs-btn{flex:1 1 calc(50% - 4px);height:42px;border-radius:10px}
.dr-pf .s-pf-layout .cs-actions .cs-follow{flex:1 1 100%}
.dr-pf .s-pf-layout .s-pf-bio{margin-top:14px}
.dr-pf .s-pf-layout .pf-more:not([hidden]){grid-column:1/-1}
.dr-pf .s-pf-layout .dr-claim-l{grid-column:1/-1;text-align:left;margin-top:10px}
.dr-pf .dr-cat-tabs{flex-wrap:nowrap;overflow-x:auto;margin:14px -16px 0;padding:0 16px;scrollbar-width:none}
.dr-pf .dr-cat-tabs::-webkit-scrollbar{display:none}
.dr-pf .dr-cat-tabs a{flex:none}
.dr-pf .dr-tiles{margin:0 -16px;gap:2px}
.dr-pf .dr-tile{border-radius:0}
.dr-pf .dr-pager{margin:16px 0}
.dr-detail{margin-top:26px}
.dr-dl>div{grid-template-columns:1fr;gap:3px;padding:12px 14px}
.dr-pf .dr-rate{padding:14px}
}

/* ── directory hub, category page, phone filter sheet + bottom bar ── */
.dr-hub-act{display:flex;gap:10px;flex-wrap:wrap}
.dr-center{text-align:center;margin:22px 0 0}
.dr-sheet-h,.dr-sheet-bg,.dr-mbar{display:none}
.dr-catpage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:8px 0 22px}
@media(max-width:900px){.dr-catpage{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.dr-catpage{grid-template-columns:1fr;gap:12px}}
.dr-catcard{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px 16px 15px}
.dr-catcard-h{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.dr-catcard-h .ic{flex:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:13px;background:var(--rose-bg);font-size:24px}
.dr-catcard-h b{font-size:16.5px;font-weight:800;line-height:1.25}
.dr-catcard-h:hover b{color:var(--rose)}
.dr-catcard ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.dr-catcard li a{display:inline-block;padding:7px 13px;border-radius:999px;background:var(--soft);color:var(--ink);font-size:13.5px;font-weight:600;text-decoration:none;line-height:1.2}
.dr-catcard li a:hover{background:var(--rose);color:#fff}
.dr-provs{margin:6px 0 26px;border:1px solid var(--line);border-radius:14px;background:#fff}
.dr-provs summary{cursor:pointer;padding:14px 16px;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center}
.dr-provs summary::-webkit-details-marker{display:none}
.dr-provs summary::after{content:"+";font-size:20px;color:var(--rose);line-height:1}
.dr-provs[open] summary::after{content:"−"}
.dr-provs .dr-chips{padding:0 16px 14px;margin:0}

@media(max-width:759px){
body.dr-lock{overflow:hidden}
.dr-hub-act{display:none}
.dr-head h1{font-size:26px}
.dr-sheet-bg{display:block;position:fixed;inset:0;background:rgba(15,20,35,.5);opacity:0;pointer-events:none;transition:opacity .2s;z-index:98}
.dr-sheet-bg.on{opacity:1;pointer-events:auto}
.dr-filter{position:fixed;left:0;right:0;bottom:0;z-index:99;display:grid;grid-template-columns:1fr;gap:12px;max-height:88vh;overflow:auto;margin:0;border:0;border-radius:20px 20px 0 0;padding:18px 16px calc(20px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -12px 40px rgba(15,20,35,.28);transform:translateY(105%);visibility:hidden;transition:transform .28s cubic-bezier(.2,.7,.2,1),visibility 0s .28s}
.dr-filter.open{transform:none;visibility:visible;transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.dr-sheet-h{display:flex;justify-content:space-between;align-items:center}
.dr-sheet-h b{font-size:18px}
.dr-sheet-x{width:36px;height:36px;border-radius:50%;border:0;background:var(--soft);font-size:15px;cursor:pointer;color:var(--ink)}
.dr-filter .dr-f-q{grid-column:auto}
.dr-mbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px rgba(20,30,60,.08)}
.dr-mbar>*{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border:0;background:none;font:inherit;font-size:12px;font-weight:700;color:var(--ink);text-decoration:none;cursor:pointer;border-radius:12px;-webkit-tap-highlight-color:transparent}
.dr-mbar svg{width:22px;height:22px}
.dr-mbar>*:active{background:var(--soft)}
body:has(.dr-mbar) main{padding-bottom:82px}
body:has(.dr-mbar) .s-wa{bottom:86px}
.dr-chips{flex-wrap:nowrap;overflow-x:auto;margin-left:-16px;margin-right:-16px;padding:0 16px 4px;scrollbar-width:none}
.dr-chips::-webkit-scrollbar{display:none}
.dr-chips a,.dr-chips-l{flex:none}
.dr-provs .dr-chips{flex-wrap:wrap;margin:0;overflow:visible;padding:0 16px 14px}
}

/* ── Acara: pilihan acara, urutan, dan baris Unggulan / Rekomendasi / Terbaru ───────────────────────────── */
.dr-evgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0 0 18px}
.dr-ev{display:flex;flex-direction:column;gap:2px;padding:13px 14px;border:1.5px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-decoration:none;min-width:0}
.dr-ev .ic{font-size:24px;line-height:1;margin-bottom:6px}
.dr-ev b{font-size:15px;font-weight:700;line-height:1.25}
.dr-ev small{font-size:12px;color:var(--muted);font-weight:600}
.dr-ev:hover{border-color:var(--rose);box-shadow:0 8px 20px -14px rgba(15,23,42,.35)}
.dr-ev.dim{background:var(--soft)}
.dr-ev.dim .ic{filter:grayscale(1);opacity:.55}
.dr-ev.on{border-color:var(--rose);background:var(--rose-bg)}
.dr-chips a.on{border-color:var(--rose);background:var(--rose-bg);color:var(--rose)}
.dr-sort{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:var(--soft);margin:2px 0 14px}
.dr-sort a{padding:7px 14px;border-radius:9px;font-size:14px;font-weight:700;color:var(--muted);text-decoration:none}
.dr-sort a.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(15,23,42,.12)}
.dr-row{margin:6px 0 26px}
.dr-row-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px;flex-wrap:wrap}
.dr-row-h h2{font-size:clamp(19px,2.4vw,24px);font-weight:800;margin:0;color:var(--ink)}
.dr-row-h h2 small{display:block;font-family:var(--font);font-size:13.5px;font-weight:500;color:var(--muted);margin-top:2px}
.dr-row-h a{font-size:14px;font-weight:700;color:var(--rose);text-decoration:none;white-space:nowrap}
.dr-sec-l{font-size:13px;font-weight:700;color:var(--muted);margin:0 0 8px}
@media(max-width:560px){
  .dr-evgrid{display:flex;gap:8px;overflow-x:auto;margin:0 -16px 14px;padding:0 16px 6px;scrollbar-width:none}.dr-evgrid::-webkit-scrollbar{display:none}
  .dr-ev{flex:0 0 118px;padding:11px 12px}.dr-ev .ic{font-size:21px;margin-bottom:4px}.dr-ev b{font-size:14px}
  .dr-sort{display:flex}.dr-sort a{flex:1;text-align:center;padding:8px 6px;font-size:13.5px}
}

/* ── Langganan: centang terverifikasi + kartu unggulan ───────────────────────────────────────────────── */
.dr-ver{display:inline-flex;vertical-align:-3px;margin-left:5px;width:1.05em;height:1.05em;position:relative;z-index:2}
.dr-ver svg{width:100%;height:100%;fill:#1d9bf0;display:block}
.s-pf-name .dr-ver{width:.8em;height:.8em;vertical-align:-1px}
.dr-vcard.sub{border-color:#ffd978;box-shadow:0 10px 26px -18px rgba(22,33,62,.55)}
