/* DentPros listing page – colours and type follow the site design system */
.dpl { --ink:#14161A; --dark:#16181C; --cream:#FAF9F6; --red:#C43520; --red-d:#A92D1A; --link:#B32F1C; --line:#E5E2DA; --muted:#5F6168; --kick:#E5674F; --ok:#1F7A4D;
	background:var(--cream); color:var(--ink); font-family:'Inter',sans-serif; padding:0 !important; }
.dpl *, .dpl *::before, .dpl *::after { box-sizing:border-box; }
.dpl a { color:var(--link); text-decoration:none; }
.dpl a:hover { text-decoration:underline; }
.dpl-wrap { width:92%; max-width:1180px; margin:0 auto; }
.dpl-ic { width:16px; height:16px; flex:0 0 16px; }
.dpl h1, .dpl h2, .dpl h3 { font-family:'Barlow Condensed','Arial Narrow',sans-serif; font-weight:800; letter-spacing:-.5px; line-height:1; color:var(--ink); padding:0; }

/* Hero */
.dpl-hero { background:var(--dark); padding:22px 0 30px; }
.dpl-crumbs { font-size:13px; color:#A9ACB3; margin-bottom:22px; display:flex; flex-wrap:wrap; gap:6px; }
.dpl-crumbs a { color:#D9DADD !important; }
.dpl-crumbs-current { color:#A9ACB3; }
.dpl-kicker { color:var(--kick); font-size:13px; font-weight:600; margin:0 0 10px; padding:0; }
.dpl .dpl-title { color:#FAF9F6 !important; font-size:60px; letter-spacing:-1.5px; margin:0 0 14px; }
.dpl-lede { color:#C9CBD0; font-size:16px; line-height:1.6; max-width:720px; margin:0 0 20px; padding:0; }
.dpl-actions { display:flex; flex-wrap:wrap; gap:10px; }
.dpl-btn { display:inline-flex; align-items:center; gap:8px; min-height:42px; padding:0 16px; border-radius:8px; font-family:'Inter',sans-serif; font-size:14px; font-weight:600; line-height:1; cursor:pointer;
	background:transparent; color:#FAF9F6 !important; border:1px solid #3A3D44; text-decoration:none !important; }
.dpl-btn:hover { background:#24272D; }
.dpl-btn-primary { background:var(--red); border-color:var(--red); }
.dpl-btn-primary:hover { background:var(--red-d); }
.dpl-btn-dark { background:var(--dark); border-color:var(--dark); }
.dpl-btn-dark:hover { background:#000; }

/* Section tabs */
.dpl-tabs { background:#FFFFFF; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:5; }
.dpl-tabs .dpl-wrap { display:flex; gap:26px; overflow-x:auto; }
.dpl-tabs a { display:block; padding:15px 0 13px; font-size:14px; font-weight:600; color:var(--ink) !important; border-bottom:2px solid transparent; white-space:nowrap; }
.dpl-tabs a:hover { border-bottom-color:var(--red); text-decoration:none; }
.dpl-anchor { display:block; position:relative; top:-70px; }
#services, #location, #nearby { scroll-margin-top:70px; }

/* Layout */
.dpl-body { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:20px; padding:24px 0 48px; align-items:start; }
.dpl-side { display:flex; flex-direction:column; gap:16px; position:sticky; top:66px; }
.dpl-main { display:flex; flex-direction:column; gap:16px; }
.dpl-card { background:#FFFFFF; border:1px solid var(--line); border-radius:12px; padding:22px; }
.dpl-card h2 { font-size:28px; margin:0 0 16px; }
.dpl-card h3 { font-family:'Inter',sans-serif; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin:18px 0 10px; }
.dpl-card h2 + h3 { margin-top:0; }
.dpl-card p { font-size:15px; line-height:1.6; padding:0; margin:0 0 10px; }
.dpl-muted { color:var(--muted); }

/* Highlights */
.dpl-hl { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; }
.dpl-hl-item { display:flex; align-items:flex-start; gap:10px; background:var(--cream); border:1px solid var(--line); border-radius:10px; padding:12px; }
.dpl-hl-tick { flex:0 0 26px; height:26px; border-radius:50%; border:2px solid var(--ok); color:var(--ok); display:flex; align-items:center; justify-content:center; }
.dpl-hl-tick .dpl-ic { width:14px; height:14px; flex-basis:14px; stroke-width:3; }
.dpl-hl-item strong { display:block; font-size:14px; line-height:1.3; }
.dpl-hl-item small { display:block; font-size:12px; color:var(--muted); margin-top:2px; }

/* Services */
.dpl-ticks { list-style:none; margin:0; padding:0 !important; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 28px; }
.dpl-ticks li { display:flex; align-items:center; gap:10px; font-size:15px; padding:0 !important; }
.dpl-ticks .dpl-ic { color:var(--red); stroke-width:3; }
.dpl-source { font-size:13px !important; color:var(--muted); border-top:1px solid var(--line); margin:18px 0 0 !important; padding-top:12px !important; }

/* Tip (body shops) */
.dpl-tip { background:#FFF7F4; border-color:#F1D2C8; }
.dpl-tip a { font-weight:600; font-size:14px; }

/* Nearby */
.dpl-nearby { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:10px; }
.dpl-nearby-item { display:block; border:1px solid var(--line); border-radius:10px; padding:12px 14px; color:var(--ink) !important; }
.dpl-nearby-item:hover { border-color:var(--ink); text-decoration:none !important; }
.dpl-nearby-item strong { display:block; font-size:15px; }
.dpl-nearby-item small { display:block; font-size:12px; color:var(--muted); margin-top:3px; }
.dpl-more { margin:14px 0 0 !important; font-size:14px !important; font-weight:600; }

/* Sidebar */
.dpl-contact { list-style:none; margin:0; padding:0 !important; }
.dpl-contact li { display:flex; align-items:center; gap:10px; font-size:15px; padding:6px 0 !important; word-break:break-word; }
.dpl-contact .dpl-ic { color:var(--muted); }
.dpl-map { border-radius:10px; overflow:hidden; border:1px solid var(--line); height:180px; margin-bottom:12px; }
.dpl-map iframe { width:100%; height:100%; border:0; display:block; }
.dpl-addr { display:flex; gap:10px; font-size:14px !important; }
.dpl-addr .dpl-ic { color:var(--muted); margin-top:2px; }
.dpl-mobile-note { display:flex; gap:10px; align-items:flex-start; font-size:14px !important; }
.dpl-mobile-note .dpl-ic { color:var(--red); width:20px; height:20px; flex-basis:20px; }
.dpl-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:4px; }
.dpl-chips span { font-size:13px; border:1px solid var(--line); border-radius:9999px; padding:5px 11px; background:#FFFFFF; }
.dpl-claim { background:var(--cream); }
.dpl-claim p { font-size:14px !important; color:var(--muted); }


/* Hero logo tile */
.dpl-hero-grid { display:flex; gap:24px; align-items:flex-start; }
.dpl-logo-tile { flex:0 0 120px; height:120px; border-radius:14px; background:#24272D; border:1px solid #3A3D44; display:flex; align-items:center; justify-content:center; overflow:hidden; margin-top:4px; }
.dpl-logo-tile span { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:48px; letter-spacing:-1px; color:#FAF9F6; }
.dpl-logo-tile.has-img { background:#FFFFFF; }
.dpl-logo-tile img { width:100%; height:100%; object-fit:contain; padding:10px; }

/* Check-my-dent card */
.dpl-check { border:2px solid var(--ink); }
.dpl-check p { font-size:14px !important; color:var(--muted); }
.dpl-check .dpl-btn { width:100%; justify-content:center; margin-top:4px; }
.dpl-greviews { margin:10px 0 0 !important; padding-top:10px !important; border-top:1px solid var(--line); font-size:14px !important; font-weight:600; }

/* Linked chips */
.dpl-chips a { font-size:13px; border:1px solid var(--line); border-radius:9999px; padding:5px 11px; background:#FFFFFF; color:var(--ink) !important; }
.dpl-chips a:hover { border-color:var(--ink); text-decoration:none; }

/* Photos */
.dpl-photos { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; }
.dpl-photos a { display:block; aspect-ratio:4/3; border-radius:10px; overflow:hidden; background:#EEE; }
.dpl-photos img { width:100%; height:100%; object-fit:cover; display:block; }
#photos { scroll-margin-top:70px; }

/* Mobile */
@media (max-width:980px) {
	.dpl-body { grid-template-columns:1fr; }
	.dpl-side { position:static; }
}
@media (max-width:600px) {
	.dpl .dpl-title { font-size:42px; }
	.dpl-logo-tile { flex-basis:72px; height:72px; }
	.dpl-logo-tile span { font-size:30px; }
	.dpl-hero-grid { gap:16px; }
	.dpl-ticks { grid-template-columns:1fr; }
	.dpl-card { padding:18px; }
	.dpl-btn { flex:1 1 auto; justify-content:center; }
}

.dpl-radius { font-size:14px !important; margin:0 0 10px !important; }
