/*
Theme Name: Dogplorer Child
Theme URI: https://dogplorer.de/
Description: Editorial, photo-first local dog guide child theme for GeneratePress.
Author: Dogplorer
Template: generatepress
Version: 3.0.44
Text Domain: dogplorer
License: GPL-2.0-or-later
*/

:root{
  --dp-paper:#fbfaf7;
  --dp-white:#fff;
  --dp-ink:#062747;
  --dp-muted:#687681;
  --dp-moss:#315f68;
  --dp-moss-dark:#062747;
  --dp-rust:#d59000;
  --dp-sun:#f9ba18;
  --dp-sky:#d9e8f2;
  --dp-line:#e2ddd2;
  --dp-soft:#f2eee5;
  --dp-shadow:0 14px 36px rgba(6,39,71,.10);
  --dp-radius:18px;
  --dp-max:1320px;
  --dp-read:760px;
  --dp-sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --dp-serif:"Iowan Old Style","Baskerville","Times New Roman",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--dp-paper);color:var(--dp-ink);font-family:var(--dp-sans);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body,button,input,select,textarea{font-family:var(--dp-sans)}
::selection{background:#ffe08a;color:var(--dp-ink)}
a{color:inherit;text-underline-offset:.16em}
a:hover{color:var(--dp-rust)}
h1,h2,h3,h4,h5,h6{margin-top:0;color:var(--dp-ink);font-family:var(--dp-serif);font-weight:600;letter-spacing:-.035em;line-height:1.03;text-wrap:balance}
h1{font-size:clamp(3.5rem,7.6vw,7.2rem)}
h2{font-size:clamp(2.25rem,4.8vw,4.4rem)}
h3{font-size:clamp(1.4rem,2.2vw,2rem)}
p{text-wrap:pretty}
.grid-container{max-width:var(--dp-max)}
.one-container .site-content{padding-inline:clamp(16px,3vw,30px)}
 .site-content{padding-top:0}.inside-article,.comments-area,.page-header{background:transparent}

/* Dogplorer front page: full-width canvas, no blog shell */
.home #page.grid-container{max-width:none}
.home .site-content{padding:0}
.home #primary{width:100%}
.home .inside-article{padding:0}
.home .entry-content{margin:0}
.home .entry-header{display:none}

/* Basic content pages */
.dp-page-intro{font-size:clamp(1.08rem,1.8vw,1.3rem);line-height:1.55;max-width:58ch}
.dp-legal{max-width:820px}.dp-legal h2{font-size:clamp(1.5rem,2.5vw,2.2rem);margin-top:2.4rem}.dp-legal p{max-width:72ch}.dp-legal address{font-style:normal}
.dp-contact-card{background:#fff;border:1px solid var(--dp-line);border-radius:16px;box-shadow:var(--dp-shadow);margin-top:2rem;max-width:680px;padding:clamp(1.2rem,3vw,2rem)}
.dp-contact-card a{font-weight:800}

/* Header: quiet, editorial, not app-ish */
.site-header{background:rgba(246,242,234,.94);border-bottom:1px solid rgba(32,37,33,.10);position:sticky;top:0;z-index:90;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.inside-header{min-height:76px;padding:12px clamp(16px,3vw,30px)}
.site-logo img,.site-logo .header-image{display:block;height:auto;max-height:none;width:clamp(250px,25vw,365px)}
.site-branding .main-title{font-family:var(--dp-sans);font-size:1.65rem;font-weight:900;letter-spacing:-.055em;text-transform:lowercase}
.site-branding .main-title a{text-decoration:none}.site-description{display:none}
.main-navigation{background:transparent}.main-navigation .main-nav ul li a,.menu-toggle,.main-navigation .menu-bar-item>a{color:var(--dp-ink);font-size:.88rem;font-weight:700}
.main-navigation .main-nav ul li>a{padding-inline:14px}
.main-navigation .main-nav ul li:hover>a,.main-navigation .main-nav ul li:focus-within>a,.main-navigation .main-nav ul li[class*="current-menu-"]>a{background:transparent;color:var(--dp-rust)}
.main-navigation .main-nav ul ul{background:var(--dp-white);border:1px solid var(--dp-line);border-radius:12px;box-shadow:var(--dp-shadow);overflow:hidden}

/* Common */
.dp-wrap{margin-inline:auto;max-width:var(--dp-max);padding-inline:clamp(16px,3vw,30px)}
.dp-section{padding-block:clamp(4rem,8vw,8rem)}
.dp-section--compact{padding-block:clamp(2.7rem,5vw,5rem)}
.dp-eyebrow{align-items:center;color:var(--dp-rust);display:flex;font-size:.72rem;font-weight:850;gap:.55rem;letter-spacing:.12em;margin:0 0 .9rem;text-transform:uppercase}
.dp-eyebrow::before{background:currentColor;border-radius:99px;content:"";height:7px;width:7px}
.dp-lead{color:#39413b;font-size:clamp(1.05rem,1.8vw,1.27rem);line-height:1.55;max-width:60ch}
.dp-muted{color:var(--dp-muted)}
.dp-section-head{align-items:end;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.8rem}
.dp-section-head h2{margin:0;max-width:10ch}.dp-section-head p{margin:0;max-width:48ch}
.dp-link{font-size:.86rem;font-weight:800;text-decoration:none}.dp-link::after{content:" →"}

/* Hero: one strong photograph, editorial title */
.dp-hero{margin:0 auto;max-width:1600px;padding:0 clamp(10px,1.6vw,22px);position:relative}
.dp-hero__media{border-radius:0 0 30px 30px;min-height:min(760px,76vh);overflow:hidden;position:relative}
.dp-hero__media::after{background:linear-gradient(90deg,rgba(12,17,14,.72) 0%,rgba(12,17,14,.34) 46%,rgba(12,17,14,.04) 76%),linear-gradient(0deg,rgba(12,17,14,.28),transparent 45%);content:"";inset:0;position:absolute}
.dp-hero__media>img{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}
.dp-hero__content{bottom:clamp(2rem,7vw,6.2rem);color:#fff;left:clamp(1.5rem,6vw,6.5rem);max-width:760px;position:absolute;z-index:2}
.dp-hero .dp-eyebrow{color:#fff;opacity:.9}.dp-hero h1{color:#fff;font-size:clamp(3.4rem,7.8vw,7.7rem);margin:0 0 1rem;max-width:8.4ch}.dp-hero__content>p{font-size:clamp(1.06rem,1.8vw,1.28rem);line-height:1.5;margin:0;max-width:52ch}
.dp-hero__search{align-items:center;background:rgba(255,255,255,.96);border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.18);display:flex;gap:.55rem;margin-top:1.5rem;max-width:640px;padding:7px 8px 7px 16px}
.dp-hero__search svg{color:var(--dp-muted);flex:0 0 21px}.dp-hero__search .wp-block-search{margin:0;width:100%}.dp-hero__search .wp-block-search__inside-wrapper{border:0;padding:0}.dp-hero__search input{background:transparent;border:0!important;box-shadow:none!important;color:var(--dp-ink);font-size:.97rem;min-width:0;padding:.8rem .4rem}.dp-hero__search button{background:var(--dp-ink);border:0;border-radius:9px;color:#fff;font-size:.82rem;font-weight:800;padding:.9rem 1.1rem;white-space:nowrap}
.dp-hero__note{align-items:center;bottom:24px;color:rgba(255,255,255,.82);display:flex;font-size:.72rem;font-weight:700;gap:7px;position:absolute;right:28px;z-index:2}

/* Browse strip */
.dp-browse{border-bottom:1px solid var(--dp-line);padding-block:1.25rem}.dp-browse__inner{display:flex;gap:.55rem;overflow-x:auto;scrollbar-width:none}.dp-browse__inner::-webkit-scrollbar{display:none}.dp-browse a{align-items:center;background:transparent;border:1px solid var(--dp-line);border-radius:99px;display:inline-flex;flex:0 0 auto;font-size:.82rem;font-weight:750;gap:.45rem;padding:.7rem .95rem;text-decoration:none}.dp-browse a:hover{background:var(--dp-ink);border-color:var(--dp-ink);color:#fff}.dp-browse a:first-child{background:var(--dp-rust);border-color:var(--dp-rust);color:#fff}

/* Photo cards: magazine-like, not rounded SaaS cards */
.dp-card-grid{display:grid;gap:clamp(16px,2.4vw,30px);grid-template-columns:1.4fr 1fr 1fr}
.dp-card{color:var(--dp-ink);display:block;text-decoration:none}.dp-card__media{aspect-ratio:4/3;border-radius:15px;overflow:hidden;position:relative}.dp-card--lead .dp-card__media{aspect-ratio:5/4}.dp-card img{height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1);width:100%}.dp-card:hover img{transform:scale(1.025)}.dp-card__meta{align-items:center;color:var(--dp-muted);display:flex;font-size:.72rem;font-weight:700;gap:.55rem;margin-top:.85rem}.dp-card__meta span+span::before{content:"·";margin-right:.55rem}.dp-card h3{font-size:clamp(1.35rem,2.15vw,2rem);margin:.3rem 0 .35rem}.dp-card p{color:#4b534d;font-size:.9rem;margin:0;max-width:42ch}.dp-card__badge{background:var(--dp-white);border-radius:99px;left:10px;padding:.48rem .66rem;position:absolute;top:10px;font-size:.67rem;font-weight:850;letter-spacing:.03em}.dp-card__badge--checked{background:#f0ddb1}

/* Editorial split */
.dp-editorial{display:grid;gap:clamp(18px,3vw,44px);grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}
.dp-editorial__image{border-radius:18px;min-height:590px;overflow:hidden;position:relative}.dp-editorial__image img{height:100%;object-fit:cover;position:absolute;width:100%}.dp-editorial__caption{background:rgba(246,242,234,.92);bottom:16px;left:16px;max-width:320px;padding:1rem 1.05rem;position:absolute}.dp-editorial__caption strong{display:block;font-family:var(--dp-serif);font-size:1.4rem;line-height:1.05;margin-bottom:.3rem}.dp-editorial__aside{display:flex;flex-direction:column;justify-content:space-between;padding-block:1rem}.dp-editorial__aside h2{font-size:clamp(2.6rem,5vw,5rem);max-width:8ch}.dp-note{border-top:1px solid var(--dp-ink);padding-top:1.2rem}.dp-note strong{display:block;font-size:.76rem;letter-spacing:.08em;margin-bottom:.4rem;text-transform:uppercase}.dp-note p{color:#475048;margin:0}

/* Service index */
.dp-index{border-top:1px solid var(--dp-line)}.dp-index a{align-items:center;border-bottom:1px solid var(--dp-line);display:grid;gap:1rem;grid-template-columns:60px minmax(0,1fr) auto;padding:1.15rem 0;text-decoration:none}.dp-index__icon{align-items:center;background:var(--dp-soft);border-radius:50%;display:flex;height:48px;justify-content:center;width:48px}.dp-index__icon img{height:23px;width:23px}.dp-index strong{font-family:var(--dp-serif);font-size:clamp(1.45rem,2.4vw,2.2rem);font-weight:600}.dp-index span:last-child{color:var(--dp-muted);font-size:.82rem}.dp-index a:hover strong{color:var(--dp-rust)}

/* Horizontal rail on touch */
.dp-rail{display:grid;gap:18px;grid-auto-columns:minmax(270px,31%);grid-auto-flow:column;overflow-x:auto;padding:0 2px 10px;scroll-snap-type:inline mandatory;scrollbar-width:thin}.dp-rail>*{scroll-snap-align:start}.dp-rail .dp-card__media{aspect-ratio:4/3}

/* Lightweight map teaser without an external map service */
.dp-map-teaser{padding-block:clamp(3rem,6vw,6rem)}.dp-map-teaser__inner{align-items:stretch;background:#eef3f5;border:1px solid #dbe4e8;border-radius:24px;display:grid;gap:clamp(1.5rem,4vw,4rem);grid-template-columns:minmax(0,.8fr) minmax(340px,1.2fr);overflow:hidden;padding:clamp(1.5rem,4vw,3.5rem)}.dp-map-teaser h2{font-size:clamp(2.3rem,4.4vw,4rem);max-width:11ch}.dp-map-teaser p{max-width:54ch}.dp-map-teaser__map{background-color:#f9fbfc;background-image:linear-gradient(#dce6eb 1px,transparent 1px),linear-gradient(90deg,#dce6eb 1px,transparent 1px);background-size:42px 42px;border-radius:18px;min-height:360px;position:relative;transform:rotate(-1deg)}.dp-map-teaser__map::after{border:9px solid rgba(6,39,71,.14);border-radius:50%;content:"";height:150px;left:50%;position:absolute;top:48%;transform:translate(-50%,-50%);width:150px}.dp-map-pin{align-items:center;background:var(--dp-sun);border:4px solid #fff;border-radius:50% 50% 50% 0;box-shadow:0 10px 24px rgba(6,39,71,.18);color:var(--dp-ink);display:flex;font-size:0;height:38px;justify-content:center;position:absolute;transform:rotate(-45deg);width:38px}.dp-map-pin::after{background:var(--dp-ink);border-radius:50%;content:"";height:10px;width:10px}.dp-map-pin--one{left:26%;top:28%}.dp-map-pin--two{right:25%;top:46%}.dp-map-pin--three{bottom:18%;left:46%}

/* Trust strip */
.dp-trust{background:var(--dp-moss-dark);color:#fff;padding-block:clamp(2.4rem,5vw,4.6rem)}.dp-trust__grid{display:grid;gap:1rem;grid-template-columns:1.2fr repeat(3,1fr)}.dp-trust h2{color:#fff;font-size:clamp(2rem,4vw,3.6rem);margin:0;max-width:8ch}.dp-trust__item{border-left:1px solid rgba(255,255,255,.2);padding-left:1.2rem}.dp-trust__item strong{display:block;font-size:.88rem;margin-bottom:.3rem}.dp-trust__item span{color:rgba(255,255,255,.7);font-size:.78rem;line-height:1.45}

/* Articles */
.entry-content img,.featured-image img,.post-image img{border-radius:14px}.single .entry-content>:where(p,ul,ol,blockquote,h2,h3,h4),.page .entry-content>:where(p,ul,ol,blockquote,h2,h3,h4){max-width:var(--dp-read)}.entry-content blockquote{border-left:3px solid var(--dp-rust);font-family:var(--dp-serif);font-size:1.25rem;margin-left:0;padding:.2rem 0 .2rem 1.3rem}.wp-block-image figcaption{color:var(--dp-muted);font-size:.76rem;text-align:left}.breadcrumbs,.yoast-breadcrumb{color:var(--dp-muted);font-size:.75rem;margin-bottom:1.2rem}.page-header{border-bottom:1px solid var(--dp-line);margin-bottom:2.5rem;padding-bottom:1.4rem}.page-header .page-title{font-size:clamp(2.5rem,5vw,4.7rem)}
.wp-block-post-template.is-layout-grid{gap:clamp(1.2rem,2.3vw,2rem)}.wp-block-post-template .wp-block-post{background:transparent;padding:0}.wp-block-post-template .wp-block-post-featured-image{margin:0 0 .85rem}.wp-block-post-template .wp-block-post-featured-image img{aspect-ratio:4/3;border-radius:14px;object-fit:cover;width:100%}.wp-block-post-template .wp-block-post-title{font-family:var(--dp-serif);font-size:1.45rem}.wp-block-post-template .wp-block-post-date{color:var(--dp-muted);font-size:.72rem}

/* Forms/buttons */
button,input[type="submit"],.wp-block-button__link,.gb-button,.dp-button{background:var(--dp-ink);border:0;border-radius:9px;color:#fff;font-size:.86rem;font-weight:800;padding:.9rem 1.1rem;text-decoration:none;transition:.18s ease}.wp-block-button__link:hover,.gb-button:hover,.dp-button:hover{background:var(--dp-rust);color:#fff}input[type="text"],input[type="email"],input[type="url"],input[type="tel"],input[type="search"],textarea,select{background:#fff;border:1px solid var(--dp-line);border-radius:9px;color:var(--dp-ink);padding:.82rem .9rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--dp-sun);outline-offset:3px}
.site-footer{margin-top:clamp(4rem,8vw,8rem)}.footer-widgets{background:#0a3157;color:rgba(255,255,255,.86)}.site-info{background:#062747;color:rgba(255,255,255,.68);font-size:.8rem}.site-info a,.footer-widgets a{color:#fff}

/* Mobile dock */
.dp-mobile-dock{display:none}
@media(max-width:980px){.dp-map-teaser__inner{grid-template-columns:1fr}.dp-card-grid{grid-template-columns:1fr 1fr}.dp-card--lead{grid-column:1/3}.dp-editorial{grid-template-columns:1fr}.dp-editorial__image{min-height:520px}.dp-editorial__aside h2{max-width:11ch}.dp-trust__grid{grid-template-columns:1fr 1fr}.dp-trust h2{grid-column:1/3}.dp-rail{grid-auto-columns:44%}}
@media(max-width:720px){body{font-size:16.5px;padding-bottom:70px}.dp-map-teaser__inner{border-radius:0;margin-inline:-16px;padding:2rem 16px}.dp-map-teaser__map{min-height:300px}.inside-header{min-height:64px;padding:10px 14px}.site-logo img,.site-logo .header-image{display:block;height:auto;max-height:none;width:min(210px,58vw)}
.site-branding .main-title{font-size:1.45rem}.dp-wrap{padding-inline:16px}.dp-section{padding-block:4rem}.dp-section-head{align-items:flex-start;flex-direction:column;gap:.55rem}.dp-section-head h2{max-width:12ch}.dp-hero{padding:0}.dp-hero__media{border-radius:0;min-height:72svh}.dp-hero__media::after{background:linear-gradient(0deg,rgba(10,15,12,.78) 0%,rgba(10,15,12,.30) 58%,rgba(10,15,12,.08) 100%)}.dp-hero__content{bottom:2rem;left:18px;right:18px}.dp-hero h1{font-size:clamp(3.25rem,15vw,5rem);max-width:8ch}.dp-hero__content>p{font-size:1rem}.dp-hero__search{border-radius:10px;margin-top:1.15rem;padding:5px 6px 5px 12px}.dp-hero__search button{font-size:0;padding:.86rem}.dp-hero__search button::after{content:"→";font-size:1rem}.dp-hero__note{display:none}.dp-browse{padding-block:.9rem}.dp-browse__inner{margin-inline:-16px;padding-inline:16px}.dp-card-grid{display:block}.dp-card{margin-bottom:2.3rem}.dp-card--lead{grid-column:auto}.dp-card__media,.dp-card--lead .dp-card__media{aspect-ratio:4/3}.dp-editorial__image{min-height:440px}.dp-editorial__aside{padding-top:.5rem}.dp-editorial__aside h2{font-size:3rem}.dp-index a{grid-template-columns:50px minmax(0,1fr) auto}.dp-index__icon{height:42px;width:42px}.dp-index strong{font-size:1.5rem}.dp-rail{grid-auto-columns:83%;margin-right:-16px;padding-right:16px;scrollbar-width:none}.dp-trust__grid{grid-template-columns:1fr}.dp-trust h2{grid-column:auto}.dp-trust__item{border-left:0;border-top:1px solid rgba(255,255,255,.2);padding-left:0;padding-top:1rem}.dp-mobile-dock{align-items:center;background:rgba(251,250,247,.96);border:1px solid rgba(6,39,71,.12);border-radius:18px;bottom:8px;box-shadow:0 10px 28px rgba(6,39,71,.16);display:grid;grid-template-columns:repeat(4,1fr);left:8px;padding:5px;position:fixed;right:8px;z-index:999;backdrop-filter:blur(16px)}.dp-mobile-dock a{align-items:center;border-radius:13px;color:var(--dp-ink);display:flex;flex-direction:column;font-size:.61rem;font-weight:800;gap:2px;padding:6px 3px;text-decoration:none}.dp-mobile-dock a:hover,.dp-mobile-dock a:focus{background:var(--dp-soft);color:var(--dp-rust)}.dp-mobile-dock svg{height:19px;width:19px}}
@media(max-width:440px){.dp-hero h1{font-size:3.65rem}.dp-editorial__image{min-height:390px}.dp-rail{grid-auto-columns:88%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* ========================================================================
   Dogplorer 0.6 — publication layout, structured spots and real OSM map
   ======================================================================== */

/* Header cleanup: the image wordmark is the brand; never repeat the site title beside it. */
.dogplorer-site .site-branding{display:none!important}
.dogplorer-site .site-header .inside-header{align-items:center;display:flex;gap:1.5rem;justify-content:space-between}
.dogplorer-site .site-logo{flex:0 1 auto}
.dogplorer-site .site-logo img,.dogplorer-site .site-logo .header-image{width:clamp(245px,24vw,335px)!important}
.dogplorer-site .main-navigation{margin-left:auto}
.dogplorer-site .main-navigation .inside-navigation{justify-content:flex-end}

/* Icons: restrained outline system. No decorative paw symbols. */
.dp-icon{display:inline-block;flex:0 0 auto;height:1.15em;vertical-align:-.18em;width:1.15em}
.dp-browse .dp-icon{height:18px;width:18px}
.dp-proof-list .dp-icon,.dp-hub-facts .dp-icon,.dp-status-chip .dp-icon{height:21px;width:21px}

/* Frontpage cannot inherit GeneratePress content boxes or page padding. */
.dp-front-main{display:block;margin:0;max-width:none;padding:0;width:100%}
.home #page,.home #content,.home #primary,.home main{max-width:none!important;width:100%!important}
.home #page{margin:0!important}
.home .site-content,.home .content-area{display:block!important;margin:0!important;padding:0!important}
.home article,.home .inside-article,.home .entry-content{background:transparent!important;margin:0!important;max-width:none!important;padding:0!important;width:100%!important}
.home .entry-header,.home .featured-image{display:none!important}

/* Stronger, safer hero: still editorial but no clipped oversized headline. */
.dp-hero{max-width:1660px;padding:0 clamp(10px,1.5vw,24px)}
.dp-hero__media{align-items:end;border-radius:0 0 28px 28px;display:grid;min-height:clamp(560px,72vh,760px);overflow:hidden;position:relative}
.dp-hero__content{align-self:end;bottom:auto;left:auto;margin:0;padding:clamp(2rem,6vw,5.5rem);position:relative;right:auto;width:min(820px,78%);z-index:3}
.dp-hero h1{font-size:clamp(3.45rem,6vw,5.9rem);line-height:.94;max-width:9ch}
.dp-hero__photo-note{background:rgba(6,39,71,.72);border-radius:999px;bottom:18px;color:#fff;font-size:.66rem;font-weight:750;letter-spacing:.02em;padding:.42rem .68rem;position:absolute;right:18px;z-index:4}
.dp-hero__search .dp-icon{height:21px;width:21px}

/* Cards and labels */
.dp-card-grid--spots{grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr))}
.dp-card-grid--spots .dp-card:nth-child(4),.dp-card-grid--spots .dp-card:nth-child(5){margin-top:.7rem}
.dp-card__badge{align-items:center;display:inline-flex;gap:6px}
.dp-card__badge .dp-icon{height:14px;width:14px}
.dp-card__photo-note,.dp-photo-label{background:rgba(6,39,71,.78);border-radius:999px;bottom:10px;color:#fff;font-size:.62rem;font-weight:750;letter-spacing:.02em;padding:.38rem .6rem;position:absolute;right:10px;z-index:3}
.dp-section-action{margin:2rem 0 0;text-align:right}.dp-text-link{align-items:center;display:inline-flex;font-size:.86rem;font-weight:850;gap:.45rem;text-decoration:none}.dp-text-link .dp-icon{height:18px;width:18px}

/* Editorial proof block */
.dp-editorial--clean .dp-editorial__image{min-height:570px}
.dp-editorial--clean .dp-editorial__image .dp-photo-label{bottom:14px;right:14px}
.dp-proof-list{border-top:1px solid var(--dp-line);margin-top:2.4rem;padding-top:.3rem}
.dp-proof-list>div{align-items:flex-start;border-bottom:1px solid var(--dp-line);display:grid;gap:.9rem;grid-template-columns:28px 1fr;padding:1rem 0}
.dp-proof-list .dp-icon{color:var(--dp-rust);margin-top:.12rem}.dp-proof-list span{color:#485765;font-size:.88rem;line-height:1.5}.dp-proof-list strong{color:var(--dp-ink)}

/* Topic index: more magazine/navigation, less SaaS-card. */
.dp-topic-grid{border-top:1px solid var(--dp-line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.dp-topic-card{border-bottom:1px solid var(--dp-line);display:grid;gap:.7rem;grid-template-columns:42px 1fr;padding:1.4rem .4rem}
.dp-topic-card:nth-child(odd){border-right:1px solid var(--dp-line);padding-right:2rem}.dp-topic-card:nth-child(even){padding-left:2rem}
.dp-topic-card .dp-icon{color:var(--dp-rust);grid-row:1/3;height:28px;margin-top:.12rem;width:28px}.dp-topic-card h3{font-size:clamp(1.55rem,2.2vw,2.15rem);margin:0}.dp-topic-card p{color:var(--dp-muted);font-size:.86rem;margin:0;max-width:46ch}

/* Trust strip: keep heading broad enough to read naturally. */
.dp-trust__grid{grid-template-columns:minmax(280px,1.55fr) repeat(3,minmax(150px,1fr));gap:clamp(1rem,2.5vw,2.2rem)}
.dp-trust h2{font-size:clamp(2.2rem,3.8vw,3.7rem);line-height:1;max-width:12ch}
.dp-trust__item{padding-left:clamp(1rem,2vw,1.6rem)}
.dp-trust__item strong{font-size:.9rem}.dp-trust__item span{font-size:.8rem}

/* Real OpenStreetMap container — third-party content stays unloaded until button click. */
.dp-section--map{background:#edf3f6}
.dp-map-frame{background:#fff;border:1px solid #d9e2e7;border-radius:22px;box-shadow:0 14px 40px rgba(6,39,71,.08);overflow:hidden;position:relative}
.dp-map-consent{align-items:center;background:linear-gradient(135deg,#e7eff3,#f8f6ee);display:flex;height:clamp(330px,48vw,560px);justify-content:center;padding:1.5rem;position:relative}
.dp-map-consent::before,.dp-map-consent::after{background:rgba(6,39,71,.06);content:"";inset:auto;position:absolute;transform:rotate(-10deg)}
.dp-map-consent::before{height:1px;left:-10%;top:38%;width:120%}.dp-map-consent::after{height:1px;left:-10%;top:62%;width:120%}
.dp-map-load{align-items:center;background:#fff!important;border:1px solid rgba(6,39,71,.12)!important;border-radius:16px!important;box-shadow:0 18px 50px rgba(6,39,71,.12);color:var(--dp-ink)!important;display:flex;gap:.9rem;max-width:320px;padding:1rem 1.15rem!important;position:relative;text-align:left;z-index:2}
.dp-map-load:hover{border-color:var(--dp-sun)!important;transform:translateY(-1px)}.dp-map-load>.dp-icon{background:var(--dp-sun);border-radius:50%;height:44px;padding:10px;width:44px}.dp-map-load span{display:block}.dp-map-load strong{display:block;font-size:.9rem}.dp-map-load small{color:var(--dp-muted);display:block;font-size:.7rem;font-weight:650;margin-top:.12rem}.dp-map-load.is-loading{opacity:.7}
.dp-live-map{display:none;min-height:320px;width:100%;z-index:1}.dp-map-frame.is-map-loaded .dp-map-consent{display:none}.dp-map-frame.is-map-loaded .dp-live-map{display:block}
.dp-map-credit-note{border-top:1px solid #e5ebee;color:#667680;font-size:.69rem;line-height:1.45;margin:0!important;max-width:none!important;padding:.7rem 1rem}
.dp-osm-divicon{background:transparent!important;border:0!important}.dp-osm-marker{align-items:center;background:#fff;border:3px solid #fff;border-radius:50% 50% 50% 0;box-shadow:0 6px 18px rgba(6,39,71,.24);display:flex;height:42px;justify-content:center;overflow:hidden;transform:rotate(-45deg);width:42px}.dp-osm-marker img{height:32px!important;object-fit:contain!important;transform:rotate(45deg);width:32px!important}.dp-osm-marker--plain{background:var(--dp-sun)}
.dp-map-popup{min-width:180px}.dp-map-popup a{color:var(--dp-ink);display:block;font-size:.87rem;font-weight:850;line-height:1.25;text-decoration:none}.dp-map-popup span{color:#64737d;display:block;font-size:.7rem;margin-top:.35rem}.leaflet-popup-content-wrapper{border-radius:12px!important;box-shadow:0 12px 32px rgba(6,39,71,.18)!important}.leaflet-control-attribution{font-size:9px!important}

/* SEO hub */
.dp-hub-page,.dp-spot-page{background:var(--dp-paper)}
.dp-hub-hero{background:#f4efe5;border-bottom:1px solid var(--dp-line);padding-block:clamp(4rem,8vw,7.5rem)}
.dp-hub-hero h1{font-size:clamp(3.1rem,6vw,6rem);margin-bottom:1rem;max-width:12ch}.dp-hub-hero .dp-lead{max-width:66ch}
.dp-hub-facts{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.7rem}.dp-hub-facts>span{align-items:center;background:#fff;border:1px solid var(--dp-line);border-radius:999px;display:inline-flex;font-size:.76rem;font-weight:750;gap:.45rem;padding:.65rem .85rem}.dp-hub-facts .dp-icon{color:var(--dp-rust)}
.dp-reading{max-width:820px}.dp-reading h2{font-size:clamp(2rem,3.8vw,3.2rem);margin-top:2.5rem}.dp-reading h2:first-child{margin-top:0}.dp-reading p{max-width:68ch}.dp-source{border-top:1px solid var(--dp-line);color:var(--dp-muted);font-size:.78rem;margin-top:2rem;padding-top:1rem}

/* Individual spot pages */
.dp-spot-template{display:block;margin:0;max-width:none;padding:0;width:100%}
.page-template-dogplorer-spot .site-content{display:block!important;margin:0!important;max-width:none!important;padding:0!important}
.dp-spot-hero{background:#f4efe5;padding-block:clamp(2.8rem,6vw,6rem)}
.dp-crumbs{align-items:center;color:var(--dp-muted);display:flex;flex-wrap:wrap;font-size:.72rem;font-weight:700;gap:.5rem;margin-bottom:1.8rem}.dp-crumbs a{text-decoration:none}
.dp-spot-hero__grid{align-items:center;display:grid;gap:clamp(2rem,5vw,5rem);grid-template-columns:minmax(0,1fr) minmax(380px,.82fr)}
.dp-spot-hero h1{font-size:clamp(3rem,5.4vw,5.5rem);margin:0 0 1.2rem;max-width:11ch}.dp-spot-intro p{margin:.25rem 0 0}.dp-status-chip{align-items:center;background:#fff;border:1px solid var(--dp-line);border-radius:999px;display:inline-flex;font-size:.75rem;gap:.45rem;margin-top:1.25rem;padding:.65rem .85rem}.dp-status-chip .dp-icon{color:var(--dp-rust)}
.dp-spot-hero__photo{aspect-ratio:4/3;border-radius:20px;box-shadow:var(--dp-shadow);overflow:hidden;position:relative}.dp-spot-hero__photo img{height:100%;object-fit:cover;width:100%}
.dp-fact-row{background:#fff;border:1px solid var(--dp-line);border-radius:18px;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}.dp-fact-row>div{border-right:1px solid var(--dp-line);padding:1.15rem 1.25rem}.dp-fact-row>div:last-child{border-right:0}.dp-fact-row span{color:var(--dp-muted);display:block;font-size:.66rem;font-weight:750;letter-spacing:.04em;margin-bottom:.22rem;text-transform:uppercase}.dp-fact-row strong{font-size:.94rem}
.dp-spot-body{align-items:start;display:grid;gap:clamp(2rem,5vw,5rem);grid-template-columns:minmax(0,1fr) minmax(310px,.58fr)}
.dp-spot-side{display:grid;gap:1rem;position:sticky;top:106px}.dp-side-card{background:#fff;border:1px solid var(--dp-line);border-radius:18px;overflow:hidden;padding:1.15rem}.dp-side-card h3{font-family:var(--dp-sans);font-size:.86rem;font-weight:850;letter-spacing:0;margin:0 0 .8rem}.dp-side-card .dp-map-frame{border-radius:12px;box-shadow:none;margin:-.25rem}.dp-side-card .dp-map-consent{height:320px}.dp-small{color:var(--dp-muted);font-size:.72rem;line-height:1.5}.dp-section--soft{background:#f4efe5}

/* Utility legal/content pages */
.page:not(.home):not(.page-template-dogplorer-spot) .site-content{padding-top:clamp(2.5rem,5vw,5rem)}
.page:not(.home):not(.page-template-dogplorer-spot) .inside-article{padding-bottom:clamp(2rem,5vw,5rem)}

@media(max-width:980px){
  .dogplorer-site .site-header .inside-header{gap:.6rem}
  .dogplorer-site .main-navigation .main-nav ul li>a{padding-inline:10px}
  .dp-card-grid--spots{grid-template-columns:1fr 1fr}.dp-card-grid--spots .dp-card--lead{grid-column:1/3}
  .dp-topic-grid{grid-template-columns:1fr}.dp-topic-card:nth-child(odd){border-right:0;padding-right:.4rem}.dp-topic-card:nth-child(even){padding-left:.4rem}
  .dp-trust__grid{grid-template-columns:1fr 1fr}.dp-trust__grid>div:first-child{grid-column:1/3}.dp-trust h2{max-width:15ch}
  .dp-spot-hero__grid{grid-template-columns:1fr}.dp-spot-hero__photo{max-width:720px}.dp-spot-body{grid-template-columns:1fr}.dp-spot-side{position:static}.dp-fact-row{grid-template-columns:1fr 1fr}.dp-fact-row>div:nth-child(2){border-right:0}.dp-fact-row>div:nth-child(-n+2){border-bottom:1px solid var(--dp-line)}
}
@media(max-width:768px){
  .dogplorer-site .site-header .inside-header{min-height:68px;padding:9px 14px}
  .dogplorer-site .site-logo img,.dogplorer-site .site-logo .header-image{width:min(205px,58vw)!important}
  .dp-hero{padding:0}.dp-hero__media{border-radius:0;min-height:670px}.dp-hero__content{padding:2.1rem 18px 4.4rem;width:100%}.dp-hero h1{font-size:clamp(3.15rem,13vw,4.7rem);max-width:8.5ch}.dp-hero__content>p{font-size:1rem;max-width:42ch}.dp-hero__photo-note{bottom:12px;font-size:.58rem;right:12px}
  .dp-hero__search{max-width:none}.dp-hero__search button{font-size:0;min-width:44px;padding:.82rem}.dp-hero__search button::after{content:"→";font-size:1rem}
  .dp-card-grid--spots{display:block}.dp-card-grid--spots .dp-card{margin-bottom:2.25rem}.dp-card-grid--spots .dp-card:nth-child(4),.dp-card-grid--spots .dp-card:nth-child(5){margin-top:0}
  .dp-editorial--clean .dp-editorial__image{min-height:430px}
  .dp-topic-card{grid-template-columns:36px 1fr}.dp-topic-card .dp-icon{height:24px;width:24px}
  .dp-trust__grid{display:block}.dp-trust__grid>div:first-child{margin-bottom:2rem}.dp-trust__item{border-left:0;border-top:1px solid rgba(255,255,255,.2);margin-top:1rem;padding:1rem 0 0}.dp-trust h2{font-size:2.65rem;max-width:12ch}
  .dp-map-frame{border-radius:16px}.dp-map-consent{height:360px}.dp-live-map{height:420px!important}.dp-map-load{max-width:280px}
  .dp-hub-hero{padding-block:3.5rem}.dp-hub-hero h1{font-size:clamp(3rem,13vw,4.5rem)}.dp-hub-facts{align-items:flex-start;flex-direction:column}
  .dp-spot-hero{padding-block:2.4rem 3.2rem}.dp-spot-hero h1{font-size:clamp(2.9rem,12vw,4.4rem)}.dp-spot-hero__photo{aspect-ratio:4/3}.dp-fact-row{display:block}.dp-fact-row>div{border-bottom:1px solid var(--dp-line)!important;border-right:0!important}.dp-fact-row>div:last-child{border-bottom:0!important}.dp-spot-side .dp-live-map{height:340px!important}
}
@media(max-width:440px){
  .dp-hero__media{min-height:620px}.dp-hero h1{font-size:3.35rem}.dp-section{padding-block:3.5rem}.dp-editorial--clean .dp-editorial__image{min-height:380px}.dp-trust h2{font-size:2.4rem}
}


/* ===== Dogplorer 0.7 refinements ===== */
/* Hero: keep the dog head in frame with the current portrait demo image. */
.dp-hero__media>img{object-position:center 23%!important}

/* Search: editorial command-bar instead of generic search box. */
.dp-search-panel{background:rgba(255,255,255,.95);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.18);color:var(--dp-ink);margin-top:1.55rem;max-width:720px;padding:1rem 1rem .85rem}
.dp-hero__search{background:transparent!important;box-shadow:none!important;display:block!important;margin:0!important;max-width:none!important;padding:0!important}
.dp-hero__search label{display:block;font-size:.7rem;font-weight:850;letter-spacing:.08em;margin:0 0 .45rem .2rem;text-transform:uppercase}
.dp-search-row{align-items:stretch;display:grid;gap:.55rem;grid-template-columns:minmax(0,1fr) auto auto}
.dp-search-row input{background:#f4f1ea!important;border:1px solid transparent!important;border-radius:11px!important;font-size:.95rem!important;padding:.92rem 1rem!important}
.dp-search-row input:focus{background:#fff!important;border-color:rgba(6,39,71,.22)!important}
.dp-search-row button{align-items:center;background:var(--dp-sun)!important;color:var(--dp-ink)!important;display:flex;gap:.55rem;justify-content:center;min-width:92px;padding:.9rem 1.1rem!important}
.dp-search-row button:hover{background:#f0aa00!important;color:var(--dp-ink)!important}
.dp-search-suggestions{align-items:center;display:flex;flex-wrap:wrap;font-size:.7rem;gap:.35rem .7rem;margin-top:.7rem;padding-inline:.2rem}.dp-search-suggestions>span{color:var(--dp-muted);font-weight:700}.dp-search-suggestions a{color:var(--dp-ink);font-weight:800;text-decoration:none}.dp-search-suggestions a:hover{text-decoration:underline}

/* Browse: remove icon-system feeling. */
.dp-browse a{gap:.65rem}.dp-browse a span{color:var(--dp-rust);font-size:.8rem}.dp-browse a:first-child span{color:#fff}.dp-browse .dp-icon{display:none!important}

/* Numbered navigation cards instead of generic pet icons. */
.dp-topic-grid--numbered .dp-topic-card{color:var(--dp-ink);grid-template-columns:52px minmax(0,1fr) 30px;text-decoration:none;transition:background .18s ease}
.dp-topic-grid--numbered .dp-topic-card:hover{background:#fbf7ef}
.dp-topic-grid--numbered .dp-topic-no{color:var(--dp-rust);font-size:.72rem;font-weight:900;grid-row:1/3;letter-spacing:.08em;padding-top:.35rem}
.dp-topic-grid--numbered .dp-topic-arrow{align-self:center;font-size:1.25rem;grid-column:3;grid-row:1/3;justify-self:end}.dp-topic-grid--numbered .dp-icon{display:none}
.dp-proof-list--text>div{grid-template-columns:42px 1fr}.dp-proof-list--text b{align-items:center;background:var(--dp-soft);border-radius:999px;color:var(--dp-rust);display:flex;font-size:.68rem;height:34px;justify-content:center;width:34px}

/* About page: true editorial sections instead of one narrow text column. */
.page-id-0{} /* specificity placeholder */
.dp-about-page{margin-inline:auto;max-width:1280px;padding:clamp(2rem,5vw,5rem) clamp(16px,4vw,48px) clamp(4rem,7vw,7rem)}
.dp-about-hero{align-items:end;border-bottom:1px solid var(--dp-line);display:grid;gap:clamp(2rem,6vw,7rem);grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);padding-bottom:clamp(3rem,6vw,6rem)}
.dp-about-hero h1{font-size:clamp(3.5rem,7vw,7rem);line-height:.94;margin:.35rem 0 1.2rem;max-width:11ch}.dp-about-hero .dp-page-intro{font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.55;max-width:60ch}
.dp-about-hero aside{background:var(--dp-soft);border-radius:20px;padding:1.5rem}.dp-about-number{color:var(--dp-rust);display:block;font-size:.74rem;font-weight:900;letter-spacing:.08em;margin-bottom:2rem}.dp-about-hero aside strong{display:block;font-family:var(--dp-serif);font-size:2rem;line-height:1.05;margin-bottom:.65rem}.dp-about-hero aside p{color:var(--dp-muted);margin:0}
.dp-about-principles{display:grid;grid-template-columns:repeat(3,1fr)}.dp-about-principles>div{border-bottom:1px solid var(--dp-line);padding:clamp(2rem,4vw,4rem) clamp(1rem,2.5vw,2.5rem)}.dp-about-principles>div+div{border-left:1px solid var(--dp-line)}.dp-about-principles span{color:var(--dp-rust);font-size:.72rem;font-weight:900;letter-spacing:.08em}.dp-about-principles h2{font-size:clamp(2rem,3vw,3rem);margin:.9rem 0}.dp-about-principles p{color:var(--dp-muted);margin:0}
.dp-about-local{align-items:start;background:var(--dp-ink);border-radius:24px;color:#fff;display:grid;gap:clamp(2rem,6vw,7rem);grid-template-columns:.8fr 1.2fr;margin-top:clamp(3rem,6vw,6rem);padding:clamp(2rem,5vw,5rem)}.dp-about-local h2{color:#fff;font-size:clamp(2.5rem,4vw,4.3rem);margin:.4rem 0 0}.dp-about-local>p{font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.65;margin:0;max-width:58ch}.dp-about-local .dp-eyebrow{color:var(--dp-sun)}

.dp-about-story{border-top:1px solid var(--dp-line);padding-block:clamp(3rem,6vw,5rem)}
.dp-about-story .dp-editorial__image{min-height:420px}
.dp-about-cta{border-top:1px solid var(--dp-line);display:flex;justify-content:flex-end;padding-top:1.8rem;margin-top:clamp(2rem,4vw,3rem)}
.dp-about-cta a{font-weight:850;text-decoration:none}

/* Overview pages */
.dp-overview-hero{border-bottom:1px solid var(--dp-line);padding:clamp(3rem,7vw,7rem) 0}.dp-overview-hero h1{font-size:clamp(3.5rem,7vw,7rem);line-height:.95;margin:.4rem 0 1.1rem;max-width:11ch}.dp-overview-hero .dp-lead{max-width:62ch}
.dp-overview-list{border-top:1px solid var(--dp-line)}.dp-overview-list>div{align-items:start;border-bottom:1px solid var(--dp-line);display:grid;gap:1rem 2rem;grid-template-columns:60px minmax(240px,.7fr) 1fr;padding:1.7rem 0}.dp-overview-list span{color:var(--dp-rust);font-size:.72rem;font-weight:900}.dp-overview-list h2{font-size:clamp(1.7rem,2.5vw,2.5rem);margin:0}.dp-overview-list p{color:var(--dp-muted);margin:0}

/* Dogplorer rating + video */
.dp-rating{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem .7rem;margin-top:1.1rem}.dp-rating__stars{color:#d9d4c8;display:flex;font-size:1.2rem;letter-spacing:.05em}.dp-rating__stars .is-full,.dp-rating__stars .is-half{color:var(--dp-sun)}.dp-rating small{color:var(--dp-muted);font-size:.68rem}.dp-rating-note{color:var(--dp-muted);font-size:.82rem;margin-top:.45rem}.dp-spot-video{border-radius:18px;overflow:hidden}.dp-spot-video video,.dp-spot-video iframe{aspect-ratio:16/9;display:block;height:auto;max-width:100%;width:100%}

/* Route planner */
.dp-route-grid{display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.dp-route-grid a{background:#f6f3ed;border:1px solid var(--dp-line);border-radius:10px;color:var(--dp-ink);font-size:.78rem;font-weight:850;padding:.75rem .65rem;text-align:center;text-decoration:none}.dp-route-grid a:hover{background:var(--dp-sun);border-color:var(--dp-sun)}.dp-route-note{color:var(--dp-muted);font-size:.76rem;line-height:1.5;margin:.8rem 0 0}

/* Footer spacing: no mysterious white canyon above the legal line. */
.site-footer{margin-top:clamp(2rem,4vw,4rem)!important}.home .site-footer,.page-template-dogplorer-spot .site-footer{margin-top:0!important}.site-info{padding-block:1rem!important}
.dp-trust + .site-footer{margin-top:0!important}

@media(max-width:980px){.dp-about-hero{grid-template-columns:1fr}.dp-about-principles{grid-template-columns:1fr}.dp-about-principles>div+div{border-left:0}.dp-about-local{grid-template-columns:1fr}.dp-overview-list>div{grid-template-columns:42px 1fr}.dp-overview-list p{grid-column:2}.dp-topic-grid--numbered .dp-topic-card{grid-template-columns:42px 1fr 26px}}
@media(max-width:720px){.dp-hero__media>img{object-position:center 24%!important}.dp-search-panel{border-radius:14px;margin-top:1rem;padding:.8rem}.dp-search-row{grid-template-columns:1fr auto}.dp-search-row button{min-width:58px}.dp-search-suggestions{display:none}.dp-about-page{padding-top:2.5rem}.dp-about-hero h1,.dp-overview-hero h1{font-size:3.6rem}.dp-about-local{border-radius:0;margin-inline:-16px;padding-inline:16px}.dp-route-grid{grid-template-columns:repeat(2,1fr)}}


/* ===== Dogplorer 0.8: browse-first polish ===== */
/* Never split words such as Hundewiesen across lines. */
h1,h2,h3,h4,h5,h6{hyphens:none!important;overflow-wrap:normal!important;word-break:normal!important}

/* Section headings need breathing room; 0.7 was too narrow on wide screens. */
.dp-section-head{align-items:end;display:grid;gap:clamp(2rem,6vw,6rem);grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);justify-content:initial}
.dp-section-head>div{min-width:0}
.dp-section-head h2{max-width:15ch!important}
.dp-section-head>p{justify-self:end;max-width:48ch}
.dp-section--map .dp-section-head h2{max-width:16ch!important}
.dp-section--map .dp-section-head>p{max-width:50ch}

/* The quick browse bar should feel like navigation, not a row of mystery arrows. */
.dp-browse{background:#fff}
.dp-browse__inner{gap:.65rem}
.dp-browse a{border-color:#ded7c8;border-radius:12px;font-size:.82rem;letter-spacing:-.01em;padding:.78rem 1rem;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.dp-browse a::after{content:"";background:var(--dp-rust);border-radius:99px;height:5px;margin-left:.22rem;opacity:.55;width:5px}
.dp-browse a:first-child::after{background:#fff;opacity:.9}
.dp-browse a:hover{transform:translateY(-1px)}

/* Category cards: clear destination labels instead of standalone arrows. */
.dp-topic-grid--numbered .dp-topic-card{align-content:start;grid-template-columns:52px minmax(0,1fr);padding:clamp(1.6rem,3vw,2.3rem);position:relative}
.dp-topic-grid--numbered .dp-topic-no{grid-row:1/4}
.dp-topic-grid--numbered .dp-topic-card h3{margin-bottom:.55rem}
.dp-topic-grid--numbered .dp-topic-card p{margin:0;max-width:40ch}
.dp-topic-cta{align-items:center;color:var(--dp-rust);display:inline-flex;font-size:.72rem;font-weight:900;gap:.45rem;letter-spacing:.06em;margin-top:1.15rem;text-transform:uppercase}
.dp-topic-cta::after{background:currentColor;content:"";height:1px;transition:width .18s ease;width:22px}
.dp-topic-card:hover .dp-topic-cta::after{width:36px}
.dp-topic-arrow{display:none!important}

/* Overview map section: stronger visual separation and readable heading. */
.dp-section--map{background:#eef5f7}
.dp-section--map .dp-wrap{padding-block:clamp(2.2rem,4vw,3.5rem)}
.dp-hub-page .dp-section--map{padding-block:0}

/* Overview pages should look useful even while young. */
.dp-overview-list>div{border-radius:0;transition:background .16s ease}
.dp-overview-list>div:hover{background:#fbf7ef}
.dp-overview-list h2{max-width:22ch}

/* Footer: keep compact on short pages; no blank canyon. */
body:not(.home) .site-footer{margin-top:clamp(1.25rem,2.5vw,2.5rem)!important}
body:not(.home) .footer-widgets:empty{display:none!important}
.site-info{margin-top:0!important}

@media(max-width:980px){
  .dp-section-head{align-items:start;grid-template-columns:1fr;gap:.8rem}
  .dp-section-head h2{max-width:18ch!important}
  .dp-section-head>p{justify-self:start;max-width:56ch}
}
@media(max-width:720px){
  .dp-section-head h2{font-size:clamp(2.45rem,12vw,3.55rem);max-width:none!important}
  .dp-topic-grid--numbered .dp-topic-card{grid-template-columns:40px minmax(0,1fr);padding:1.35rem .35rem}
  .dp-topic-grid--numbered .dp-topic-no{padding-top:.15rem}
  .dp-browse__inner{margin-inline:-16px;padding-inline:16px}
  .dp-browse a{border-radius:10px;padding:.72rem .9rem}
  .dp-section--map .dp-wrap{padding-block:2rem}
}

/* ===== Dogplorer 0.9: cleaner navigation, search and managed pages ===== */
/* Managed landing pages already render their own editorial H1. Never show the native GP title above it. */
.dp-managed-landing .entry-header,
.dp-managed-legal .entry-header{display:none!important}
.dp-managed-landing .site-content{padding-top:0!important}
.dp-managed-landing .inside-article,
.dp-managed-landing .entry-content{margin-top:0!important;padding-top:0!important}
.dp-managed-landing .site-footer{margin-top:0!important}
.footer-widgets:not(:has(.widget)){display:none!important}

/* Keep the first real H1 strong, but no longer billboard-sized. */
.dp-about-hero h1,
.dp-overview-hero h1{font-size:clamp(3.15rem,5.7vw,5.8rem);line-height:.97;max-width:13ch}
.dp-overview-hero{padding:clamp(2.8rem,5.5vw,5.6rem) 0}

/* Search: one confident finder instead of a form sitting inside a large empty card. */
.dp-search-panel{background:rgba(251,250,247,.97)!important;border:1px solid rgba(255,255,255,.68);border-radius:16px;box-shadow:0 18px 48px rgba(0,0,0,.16);max-width:760px;padding:.85rem!important;backdrop-filter:blur(12px)}
.dp-search-panel__head{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:.15rem .25rem .65rem}
.dp-search-panel__head strong{font-size:.72rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase}
.dp-search-panel__head span{color:var(--dp-muted);font-size:.7rem;font-weight:750}
.dp-hero__search{margin:0!important}
.dp-hero__search label.screen-reader-text{border:0!important;clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;word-wrap:normal!important}
.dp-search-row{align-items:center;background:#fff;border:1px solid #e5dfd3;border-radius:13px;display:grid;gap:.45rem;grid-template-columns:minmax(0,1fr) auto;padding:.38rem .4rem .38rem .95rem;transition:border-color .16s ease,box-shadow .16s ease}
.dp-search-row:focus-within{border-color:rgba(6,39,71,.34);box-shadow:0 0 0 3px rgba(255,184,0,.14)}
.dp-search-row input{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;font-size:1rem!important;line-height:1.3;min-width:0;padding:.78rem .15rem!important}
.dp-search-row input::placeholder{color:#7b8790;opacity:1}
.dp-search-row button{background:var(--dp-sun)!important;border-radius:10px!important;color:var(--dp-ink)!important;font-size:.8rem!important;font-weight:900;min-width:108px;padding:.84rem 1.05rem!important}
.dp-search-row button:hover{background:#f0aa00!important;color:var(--dp-ink)!important}
.dp-search-suggestions{gap:.42rem .55rem;margin-top:.7rem;padding:0 .2rem .05rem}
.dp-search-suggestions>span{font-size:.68rem;font-weight:800;margin-right:.12rem}
.dp-search-suggestions a{background:#fff;border:1px solid #e5dfd3;border-radius:999px;font-size:.68rem;font-weight:800;padding:.38rem .62rem;text-decoration:none!important}
.dp-search-suggestions a:hover{background:var(--dp-ink);border-color:var(--dp-ink);color:#fff}

/* Quick browse: no icons, no arrows, no decorative dots. Just useful destinations. */
.dp-browse{background:#fff;border-bottom:1px solid var(--dp-line);padding-block:0}
.dp-browse__inner{gap:1.55rem}
.dp-browse a,.dp-browse a:first-child{background:transparent!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;color:var(--dp-ink)!important;font-size:.8rem;font-weight:850;padding:1rem .05rem .88rem!important;transform:none!important}
.dp-browse a:first-child{border-bottom-color:var(--dp-rust)!important;color:var(--dp-rust)!important}
.dp-browse a::after,.dp-browse a::before{content:none!important;display:none!important}
.dp-browse a:hover,.dp-browse a:focus{border-bottom-color:var(--dp-rust)!important;color:var(--dp-rust)!important}

/* Footer should close the page, not float below an empty widget area. */
.dp-managed-landing .footer-widgets,
.dp-managed-legal .footer-widgets{margin:0!important}
.dp-managed-landing .site-info,
.dp-managed-legal .site-info{margin-top:0!important}

@media(max-width:720px){
  .dp-about-hero h1,.dp-overview-hero h1{font-size:clamp(2.9rem,12vw,4rem);max-width:12ch}
  .dp-search-panel{border-radius:14px;padding:.72rem!important}
  .dp-search-panel__head{padding:.1rem .15rem .55rem}.dp-search-panel__head span{display:none}
  .dp-search-row{grid-template-columns:minmax(0,1fr) auto;padding-left:.7rem}
  .dp-search-row input{font-size:.92rem!important}.dp-search-row button{min-width:auto;padding:.8rem .9rem!important}
  .dp-search-suggestions{display:flex!important;flex-wrap:nowrap;margin-right:-.65rem;overflow-x:auto;padding-bottom:.15rem;scrollbar-width:none}.dp-search-suggestions::-webkit-scrollbar{display:none}.dp-search-suggestions>span{display:none}.dp-search-suggestions a{flex:0 0 auto}
  .dp-browse__inner{gap:1.2rem}.dp-browse a,.dp-browse a:first-child{padding:.9rem 0 .78rem!important}
}
/* Dogplorer 1.0 runtime layer: authoritative final polish loaded last. */

/* Managed pages render their own H1. The native GeneratePress title must never appear. */
.page-template-dogplorer-landing .entry-header,
.page-template-dogplorer-landing .entry-title,
.page-template-dogplorer-landing header.entry-header,
.dp-managed-landing .entry-header,
.dp-managed-landing .entry-title,
.dp-managed-legal .entry-header,
.dp-managed-legal .entry-title{display:none!important}
.page-template-dogplorer-landing #page.grid-container{max-width:none!important}
.page-template-dogplorer-landing .site-content,
.page-template-dogplorer-landing #primary,
.page-template-dogplorer-landing .inside-article,
.page-template-dogplorer-landing .entry-content,
.page-template-dogplorer-landing .dp-landing-main,
.page-template-dogplorer-landing .dp-landing-content{margin:0!important;padding:0!important;width:100%!important;max-width:none!important}
.page-template-dogplorer-landing .site-footer{margin-top:0!important}

/* Quick navigation: no mystery arrows, dots, bullets or old icon remnants. */
.dp-browse a::before,.dp-browse a::after,
.dp-browse a span::before,.dp-browse a span::after{content:none!important;display:none!important}
.dp-browse a{position:relative!important}
.dp-browse a:not(:first-child){color:var(--dp-ink)!important}
.dp-browse a:first-child{color:var(--dp-rust)!important}
.dp-browse a:hover,.dp-browse a:focus-visible{color:var(--dp-rust)!important}

/* One clear editorial H1 per landing page, not a billboard followed by another billboard. */
.dp-overview-hero,.dp-hub-hero{padding:clamp(3rem,5vw,5.25rem) 0!important}
.dp-overview-hero h1,.dp-hub-hero h1{font-size:clamp(3.15rem,5.7vw,5.9rem)!important;line-height:.97!important;max-width:14ch!important;margin:.35rem 0 1rem!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
.dp-about-hero h1{font-size:clamp(3.1rem,5.7vw,5.7rem)!important;line-height:.98!important;max-width:12ch!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}

/* Brand signature: the yellow logo stroke, reused sparingly in content. */
.dp-marker-word{display:inline;position:relative;z-index:0;white-space:nowrap}
.dp-marker-word::after{background:var(--dp-sun);border-radius:999px;bottom:.01em;content:"";height:.085em;left:.02em;opacity:.98;position:absolute;transform:rotate(-1.2deg);width:96%;z-index:-1}
.dp-hero .dp-marker-word::after{bottom:.05em;height:.07em;z-index:0}

/* Search should feel like a destination finder, not a plain WP search form. */
.dp-search-panel{background:rgba(255,255,255,.97)!important;border:1px solid rgba(255,255,255,.55)!important;border-radius:18px!important;box-shadow:0 20px 55px rgba(4,24,45,.20)!important;max-width:760px!important;padding:1rem!important}
.dp-search-panel__head{align-items:end!important;display:flex!important;justify-content:space-between!important;margin:0 0 .65rem!important}
.dp-search-panel__head strong{font-size:.76rem!important;letter-spacing:.07em!important;text-transform:uppercase!important}
.dp-search-panel__head span{color:var(--dp-muted)!important;font-size:.72rem!important}
.dp-search-row{align-items:stretch!important;display:grid!important;gap:.55rem!important;grid-template-columns:minmax(0,1fr) auto auto!important}
.dp-search-row input{background:#f5f1e8!important;border:1px solid transparent!important;border-radius:12px!important;font-size:.96rem!important;min-height:54px!important;padding:0 1rem!important}
.dp-search-row input:focus{background:#fff!important;border-color:var(--dp-sun)!important;box-shadow:0 0 0 3px rgba(249,186,24,.18)!important;outline:0!important}
.dp-search-row button{border-radius:12px!important;min-height:54px!important;padding-inline:1.25rem!important}
.dp-nearby-button{align-items:center!important;background:#fff!important;border:1px solid var(--dp-line)!important;color:var(--dp-ink)!important;display:inline-flex!important;gap:.45rem!important;white-space:nowrap!important}
.dp-nearby-button:hover,.dp-nearby-button:focus-visible{background:var(--dp-soft)!important;color:var(--dp-ink)!important}
.dp-nearby-dot{background:var(--dp-sun);border-radius:50%;display:inline-block;height:8px;width:8px}
.dp-nearby-result{background:#f8f4eb;border-radius:12px;color:var(--dp-ink);display:none;font-size:.82rem;margin-top:.65rem;padding:.7rem .85rem}
.dp-nearby-result.is-visible{display:flex;gap:.55rem;justify-content:space-between;align-items:center}
.dp-nearby-result a{font-weight:850;text-decoration:none}
.dp-search-suggestions{align-items:center!important;display:flex!important;flex-wrap:wrap!important;gap:.55rem .9rem!important;margin-top:.72rem!important}
.dp-search-suggestions span{color:var(--dp-muted)!important;font-size:.72rem!important}
.dp-search-suggestions a{border-bottom:1px solid rgba(6,39,71,.28)!important;font-size:.74rem!important;font-weight:800!important;text-decoration:none!important}

/* The Dogplorer Quickcheck is a compact factual strip, deliberately without decorative icons. */
.dp-quickcheck{border-bottom:1px solid var(--dp-line);border-top:1px solid var(--dp-line);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:1.5rem 0 0}
.dp-quickcheck>div{min-width:0;padding:.9rem .85rem .9rem 0}
.dp-quickcheck>div+div{border-left:1px solid var(--dp-line);padding-left:.85rem}
.dp-quickcheck span{color:var(--dp-muted);display:block;font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.dp-quickcheck strong{display:block;font-size:.86rem;line-height:1.25;margin-top:.22rem}
.dp-quickcheck strong.is-open{color:#8a7240}

/* Footer should close short pages cleanly. */
.page-template-dogplorer-landing .footer-widgets:empty{display:none!important}
.page-template-dogplorer-landing .site-info{margin-top:0!important;padding-block:1rem!important}

@media(max-width:860px){
  .dp-search-row{grid-template-columns:minmax(0,1fr) auto!important}
  .dp-nearby-button{grid-column:1/-1!important;justify-content:center!important}
  .dp-quickcheck{grid-template-columns:repeat(3,1fr)}
  .dp-quickcheck>div:nth-child(4){border-left:0!important;padding-left:0!important}
}
@media(max-width:620px){
  .dp-search-panel{border-radius:14px!important;padding:.8rem!important}
  .dp-search-panel__head span{display:none!important}
  .dp-search-row{grid-template-columns:1fr!important}
  .dp-search-row input{grid-column:1/-1!important}
  .dp-search-row button,.dp-nearby-button{grid-column:auto!important;width:100%!important;justify-content:center!important}
  .dp-search-suggestions{display:none!important}
  .dp-nearby-result.is-visible{align-items:flex-start;flex-direction:column}
  .dp-quickcheck{grid-template-columns:repeat(2,1fr)}
  .dp-quickcheck>div:nth-child(odd){border-left:0!important;padding-left:0!important}
  .dp-quickcheck>div:nth-child(4){border-left:1px solid var(--dp-line)!important;padding-left:.85rem!important}
  .dp-overview-hero h1,.dp-hub-hero h1,.dp-about-hero h1{font-size:clamp(2.75rem,13vw,4rem)!important}
}

/* ===== Dogplorer 2.1: functional compatibility in the 1.0 visual language ===== */
:root{
  --dp-navy:var(--dp-ink);
  --dp-navy-2:#0c3a61;
  --dp-yellow:var(--dp-sun);
  --dp-yellow-2:#ffd765;
  --dp-font:var(--dp-sans);
}

/* 2.x utility typography follows the calmer 1.0 hierarchy. */
.dp-kicker{align-items:center;color:var(--dp-rust);display:flex;font-size:.7rem;font-weight:850;gap:.5rem;letter-spacing:.1em;margin:0 0 .85rem;text-transform:uppercase}
.dp-kicker::before{background:currentColor;border-radius:99px;content:"";height:6px;width:6px}
.dp-section-title{align-items:end;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.8rem}
.dp-section-title h2{font-size:clamp(2.2rem,4vw,3.8rem);margin:0;max-width:15ch}
.dp-section-title>a{font-size:.82rem;font-weight:850;text-decoration:none;white-space:nowrap}
.dp-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.dp-button--quiet{margin-top:1rem}

/* New autocomplete, visually matched to the old finder. */
.dp-search-panel{position:relative}
.dp-search-suggestions[hidden]{display:none!important}
.dp-search-suggestions[data-dp-search-suggestions]{align-items:stretch!important;background:#fff;border:1px solid var(--dp-line);border-radius:12px;box-shadow:0 18px 44px rgba(6,39,71,.14);display:grid!important;gap:0!important;left:1rem;margin:0!important;max-height:340px;overflow:auto;padding:0!important;position:absolute;right:1rem;top:calc(100% - .35rem);z-index:80}
.dp-search-suggestions[data-dp-search-suggestions][hidden]{display:none!important}
.dp-search-suggestions[data-dp-search-suggestions] a{align-items:center;background:#fff!important;border:0!important;border-bottom:1px solid var(--dp-line)!important;border-radius:0!important;color:var(--dp-ink)!important;display:flex!important;justify-content:space-between;padding:.72rem .85rem!important;text-decoration:none!important}
.dp-search-suggestions[data-dp-search-suggestions] a:last-child{border-bottom:0!important}
.dp-search-suggestions[data-dp-search-suggestions] a:hover{background:#f8f5ee!important}
.dp-search-suggestions[data-dp-search-suggestions] a span{display:grid;gap:.1rem}
.dp-search-suggestions[data-dp-search-suggestions] a strong{font-family:var(--dp-sans);font-size:.82rem;letter-spacing:0}
.dp-search-suggestions[data-dp-search-suggestions] a small{color:var(--dp-muted);font-size:.68rem}
.dp-search-suggestions[data-dp-search-suggestions] a b{color:var(--dp-rust);font-size:1rem}
.dp-search-suggest-empty{color:var(--dp-muted);font-size:.76rem;padding:.8rem .9rem}
.dp-search-row{position:relative}

/* The 2.x map keeps its filters/functionality but uses the old light editorial map treatment. */
.dp-map-block{width:100%}
.dp-map-filters{display:flex;gap:.45rem;margin:0 0 .85rem;overflow-x:auto;padding-bottom:.15rem;scrollbar-width:none}
.dp-map-filters::-webkit-scrollbar{display:none}
.dp-map-filters button{background:#fff!important;border:1px solid #d7dfe2!important;border-radius:999px!important;color:var(--dp-ink)!important;font-size:.69rem!important;font-weight:800!important;min-width:max-content;padding:.48rem .72rem!important}
.dp-map-filters button.is-active{background:var(--dp-ink)!important;border-color:var(--dp-ink)!important;color:#fff!important}
.dp-map-filters button span{opacity:.62}
.dp-map-frame{height:var(--dp-map-height,520px);min-height:320px}
.dp-map-loader{align-items:center;background:linear-gradient(135deg,#e7eff3,#f8f6ee)!important;border:0!important;color:var(--dp-ink)!important;display:flex;height:100%;inset:0;justify-content:center;padding:1.5rem!important;position:absolute;width:100%;z-index:3}
.dp-map-loader span{background:#fff;border:1px solid rgba(6,39,71,.12);border-radius:15px;box-shadow:0 18px 50px rgba(6,39,71,.12);display:grid;gap:.1rem;min-width:190px;padding:1rem 1.2rem;text-align:center}
.dp-map-loader small{color:var(--dp-rust);font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.dp-map-loader strong{font-family:var(--dp-sans);font-size:.88rem}
.dp-map-loader em{color:var(--dp-muted);font-size:.68rem;font-style:normal}
.dp-map-frame.is-map-loaded .dp-map-loader{display:none}
.dp-osm-map{height:100%;min-height:320px;width:100%}
.dp-pin-icon{background:transparent!important;border:0!important}
.dp-pin-svg,.dp-brand-pin{filter:drop-shadow(0 4px 7px rgba(6,39,71,.22))}
.dp-map-popup{display:grid;gap:.18rem;min-width:180px}
.dp-map-popup small{color:var(--dp-muted);font-size:.64rem;letter-spacing:.05em;text-transform:uppercase}
.dp-map-popup a{font-weight:850;text-decoration:none}
.dp-map-popup span{color:var(--dp-muted);font-size:.7rem}

/* New profile cards: editorial tiles/rows, never dark placeholder cards. */
.dp-card-rail{display:grid;gap:18px;grid-auto-columns:minmax(270px,31%);grid-auto-flow:column;overflow-x:auto;padding:0 2px 10px;scroll-snap-type:inline mandatory;scrollbar-width:thin}
.dp-place-card{background:#fff;border:1px solid var(--dp-line);border-radius:14px;color:var(--dp-ink);display:flex;min-height:100%;overflow:hidden;text-decoration:none;scroll-snap-align:start;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.dp-place-card:hover,.dp-place-card.is-map-active{border-color:#c9b989;box-shadow:0 10px 26px rgba(6,39,71,.08);color:var(--dp-ink);transform:translateY(-1px)}
.dp-place-card.has-image{display:grid;grid-template-rows:175px 1fr}
.dp-place-card__media{margin:0;overflow:hidden;background:var(--dp-soft)}
.dp-place-card__media img{height:100%;object-fit:cover;transition:transform .35s ease;width:100%}
.dp-place-card:hover .dp-place-card__media img{transform:scale(1.02)}
.dp-place-card__body{display:flex;flex-direction:column;padding:1rem}
.dp-place-card__meta{color:var(--dp-muted);display:flex;flex-wrap:wrap;font-size:.64rem;font-weight:800;gap:.4rem .75rem;letter-spacing:.055em;margin-bottom:.55rem;text-transform:uppercase}
.dp-place-card h3{font-size:clamp(1.25rem,1.9vw,1.65rem);margin:0 0 .45rem}
.dp-place-card p{color:#4f5e67;font-size:.8rem;line-height:1.5;margin:0 0 1rem}
.dp-place-card__end{align-items:center;border-top:1px solid var(--dp-line);display:flex;font-size:.67rem;gap:1rem;justify-content:space-between;margin-top:auto;padding-top:.75rem}
.dp-place-card__end span{color:var(--dp-muted)}
.dp-place-card__end strong{font-size:.7rem}
.dp-place-card.is-text-only,.dp-card-rail .dp-place-card.is-text-only{background:#fff;border-color:var(--dp-line);color:var(--dp-ink);min-height:220px}
.dp-card-rail .dp-place-card.is-text-only .dp-place-card__meta,.dp-card-rail .dp-place-card.is-text-only p,.dp-card-rail .dp-place-card.is-text-only .dp-place-card__end span{color:var(--dp-muted)}
.dp-card-rail .dp-place-card.is-text-only h3,.dp-card-rail .dp-place-card.is-text-only .dp-place-card__end strong{color:var(--dp-ink)}
.dp-card-rail .dp-place-card.is-text-only .dp-place-card__end{border-color:var(--dp-line)}

/* SEO landing pages retain list + map, but visually return to the old editorial hubs. */
.dp-directory,.dp-discover,.dp-hub,.dp-search-page{background:var(--dp-paper)}
.dp-directory-head,.dp-discover-head{background:#f4efe5;border-bottom:1px solid var(--dp-line);padding:clamp(3rem,5.5vw,5.6rem) 0}
.dp-search-head{background:#f4efe5;border-bottom:1px solid var(--dp-line);padding:clamp(3rem,5.5vw,5.6rem) 0}
.dp-directory-head h1,.dp-discover-head h1,.dp-search-head h1{font-family:var(--dp-serif);font-size:clamp(3.15rem,5.7vw,5.8rem);font-weight:600;line-height:.97;margin:.35rem 0 1rem;max-width:14ch}
.dp-directory-lead{font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.55;margin:0 0 .85rem;max-width:64ch}
.dp-directory-intro{color:var(--dp-muted);font-size:.9rem;max-width:72ch}
.dp-crumbs{align-items:center;color:var(--dp-muted);display:flex;flex-wrap:wrap;font-size:.7rem;font-weight:700;gap:.45rem;margin-bottom:1.35rem}
.dp-crumbs a{text-decoration:none}
.dp-directory-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.35rem}
.dp-directory-actions a,.dp-directory-actions button{background:#fff!important;border:1px solid var(--dp-line)!important;border-radius:999px!important;color:var(--dp-ink)!important;font-size:.7rem!important;font-weight:800!important;padding:.58rem .78rem!important;text-decoration:none}
.dp-directory-actions a:hover,.dp-directory-actions button:hover{border-color:var(--dp-rust)!important;color:var(--dp-rust)!important}
.dp-directory-browser{padding:clamp(2.4rem,5vw,4.6rem) 0}
.dp-directory-browser__grid,.dp-search-results__grid{align-items:start;display:grid;gap:clamp(1.5rem,3vw,2.5rem);grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr)}
.dp-list-heading{border-bottom:1px solid var(--dp-line);display:flex;font-size:.72rem;font-weight:800;justify-content:space-between;margin-bottom:.8rem;padding-bottom:.65rem}
.dp-list-heading small{color:var(--dp-muted);font-weight:650}
.dp-profile-list{display:grid;gap:.75rem}
.dp-profile-list .dp-place-card{border-radius:12px;display:grid;grid-template-columns:132px 1fr;min-height:145px}
.dp-profile-list .dp-place-card.has-image{grid-template-rows:none}
.dp-profile-list .dp-place-card.is-text-only{display:block;min-height:0}
.dp-profile-list .dp-place-card__media{height:100%}
.dp-profile-list .dp-place-card__body{padding:.85rem .95rem}
.dp-profile-list .dp-place-card h3{font-size:1.15rem}
.dp-profile-list .dp-place-card p{font-size:.76rem;margin-bottom:.7rem}
.dp-sticky-map{position:sticky;top:100px}
.dp-map-title{display:flex;gap:1rem;justify-content:space-between;margin-bottom:.65rem}
.dp-map-title strong{font-size:.78rem}.dp-map-title span{color:var(--dp-muted);font-size:.68rem}
.dp-discover-head p:not(.dp-kicker){color:var(--dp-muted);max-width:64ch}
.dp-discover-map{background:#eef5f7;padding:clamp(2rem,4vw,3.5rem) 0}
.dp-hub-links{padding:clamp(2.5rem,5vw,5rem) 0}
.dp-hub-links .dp-wrap{border-top:1px solid var(--dp-line);display:grid;grid-template-columns:1fr}
.dp-hub-links a{align-items:start;background:transparent;border-bottom:1px solid var(--dp-line);color:var(--dp-ink);display:grid;gap:.35rem 2rem;grid-template-columns:150px minmax(260px,.8fr) 1fr auto;padding:1.3rem 0;text-decoration:none}
.dp-hub-links a>span{color:var(--dp-rust);font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.dp-hub-links h2{font-size:1.5rem;margin:0}.dp-hub-links p{color:var(--dp-muted);font-size:.8rem;margin:0}.dp-hub-links strong{font-size:.72rem}
.dp-empty-state{max-width:720px;padding:1rem 0 2rem}.dp-empty-state h2{font-size:2rem}.dp-empty-state p{color:var(--dp-muted)}

/* Detail pages: restore the calmer split-photo language instead of a giant full-bleed billboard. */
.dp-detail{background:var(--dp-paper)}
.dp-detail-hero{background:#f4efe5;overflow:hidden;position:relative}
.dp-detail-hero.has-image{color:var(--dp-ink);min-height:0}
.dp-detail-hero__image{bottom:0;left:auto;position:absolute;right:0;top:0;width:min(46vw,760px)}
.dp-detail-hero__image::after{display:none}
.dp-detail-hero__image img{height:100%;object-fit:cover;width:100%}
.dp-detail-hero__inner{display:flex;flex-direction:column;justify-content:center;min-height:500px;padding-bottom:clamp(3rem,6vw,5.5rem);padding-right:min(48vw,790px);padding-top:clamp(3rem,6vw,5.5rem);position:relative;z-index:2}
.dp-detail-hero.no-image .dp-detail-hero__inner{min-height:0;padding-bottom:clamp(3rem,6vw,5.5rem);padding-right:24px;padding-top:clamp(3rem,6vw,5.5rem)}
.dp-detail-hero.has-image .dp-crumbs,.dp-detail-hero.has-image .dp-crumbs a{color:var(--dp-muted)}
.dp-detail-hero.has-image .dp-kicker{color:var(--dp-rust)}
.dp-detail-hero__copy{max-width:700px}
.dp-detail-hero h1,.dp-detail-hero.has-image h1{color:var(--dp-ink);font-family:var(--dp-serif);font-size:clamp(2.9rem,5vw,5rem);font-weight:600;line-height:.98;margin:0 0 1rem;max-width:11ch}
.dp-detail-lead,.dp-detail-hero.has-image .dp-detail-lead{color:#44545f;font-size:clamp(1rem,1.45vw,1.2rem);line-height:1.55;max-width:58ch}
.dp-detail-status{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.dp-detail-status>span,.dp-profile-badge{background:#fff;border:1px solid var(--dp-line);border-radius:999px;color:var(--dp-ink)!important;display:inline-block;font-size:.64rem;font-weight:800;letter-spacing:.04em;padding:.48rem .65rem;text-transform:uppercase}
.dp-profile-badge.is-ad{background:var(--dp-sun);border-color:var(--dp-sun)}
.dp-keyfacts{background:var(--dp-paper);padding:clamp(1.7rem,3vw,2.7rem) 0 0}
.dp-keyfacts__grid{background:#fff;border:1px solid var(--dp-line);border-radius:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}
.dp-keyfacts__grid>div{border-right:1px solid var(--dp-line);padding:1rem 1.1rem}.dp-keyfacts__grid>div:last-child{border-right:0}
.dp-keyfacts span{color:var(--dp-muted);display:block;font-size:.62rem;font-weight:800;letter-spacing:.05em;margin-bottom:.2rem;text-transform:uppercase}
.dp-keyfacts strong{color:var(--dp-ink);display:block;font-size:.82rem;line-height:1.4}
.dp-content-section{padding:clamp(3rem,6vw,5.5rem) 0}
.dp-detail-content{align-items:start;display:grid;gap:clamp(2rem,5vw,5rem);grid-template-columns:minmax(0,1fr) minmax(300px,.58fr)}
.dp-detail-copy{font-size:1rem;max-width:780px}.dp-detail-copy>p:first-child{font-size:1.06rem;line-height:1.68}.dp-detail-copy h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:2.4rem 0 .9rem}
.dp-detail-aside{background:#fff;border:1px solid var(--dp-line);border-radius:16px;padding:1rem 1.1rem;position:sticky;top:100px}
.dp-detail-aside h2{font-family:var(--dp-sans);font-size:.85rem;font-weight:850;letter-spacing:0;margin:.2rem 0 .5rem}
.dp-detail-aside>div:not(.dp-contact-actions){border-bottom:1px solid var(--dp-line);padding:.8rem 0}.dp-detail-aside span{color:var(--dp-muted);display:block;font-size:.62rem;font-weight:800;letter-spacing:.05em;margin-bottom:.2rem;text-transform:uppercase}.dp-detail-aside p{font-size:.8rem;margin:0}
.dp-contact-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;padding-top:1rem}.dp-text-action{font-size:.78rem;font-weight:850;text-decoration:none}
.dp-editorial-check{border-top:1px solid var(--dp-line);margin-top:2.4rem;padding-top:1.2rem}.dp-rating{align-items:center;display:flex;gap:.55rem}.dp-rating>span{color:var(--dp-sun);font-size:1.25rem}.dp-rating>strong{font-size:.82rem}
.dp-check-breakdown{border-top:1px solid var(--dp-line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.dp-check-breakdown>div{align-items:baseline;border-bottom:1px solid var(--dp-line);display:flex;gap:1rem;justify-content:space-between;padding:.7rem 0}.dp-check-breakdown>div:nth-child(odd){padding-right:1rem}.dp-check-breakdown>div:nth-child(even){border-left:1px solid var(--dp-line);padding-left:1rem}.dp-check-breakdown span{color:var(--dp-muted);font-size:.72rem}.dp-check-breakdown strong{font-size:.8rem}.dp-check-breakdown small{color:var(--dp-muted);font-size:.62rem}
.dp-location-section{background:#eef5f7;border-block:1px solid #d9e2e7;padding:clamp(3rem,6vw,5rem) 0}.dp-location-grid{align-items:center;display:grid;gap:clamp(2rem,4vw,3.5rem);grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr)}.dp-location-copy h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.02;margin-bottom:.8rem;max-width:12ch}.dp-location-copy h2 .dp-address-main,.dp-location-copy h2 .dp-address-sub{display:block}.dp-location-copy h2 .dp-address-sub{font-size:.78em}.dp-location-copy>p:not(.dp-kicker){color:var(--dp-muted)}.dp-route-links{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.2rem}.dp-route-links a{background:#fff;border:1px solid var(--dp-line);border-radius:9px;font-size:.7rem;font-weight:850;padding:.55rem .7rem;text-decoration:none}.dp-route-links a:hover{background:var(--dp-sun);border-color:var(--dp-sun)}
.dp-more-section{padding:clamp(3rem,6vw,5.5rem) 0}.dp-source-line{background:#f0ece3;padding:.8rem 0}.dp-source-line p{color:var(--dp-muted);font-size:.66rem;margin:0}.dp-source-line a{font-weight:750}

/* Search page uses the same finder, without creating another giant visual object. */
.dp-search-form{background:#fff;border:1px solid var(--dp-line);border-radius:14px;box-shadow:0 12px 30px rgba(6,39,71,.06);margin-top:1.4rem;max-width:760px;padding:.85rem;position:relative}
.dp-search-form>label{display:block;font-size:.68rem;font-weight:850;margin-bottom:.4rem}.dp-search-form__row{display:grid;gap:.45rem;grid-template-columns:minmax(0,1fr) auto}.dp-search-form input{background:#f6f3ed;border:1px solid transparent;border-radius:10px;min-height:50px;padding:0 .85rem}.dp-search-form__row button{background:var(--dp-sun);border-radius:10px;color:var(--dp-ink);min-height:50px;padding-inline:1rem}
.dp-search-form .dp-search-suggestions[data-dp-search-suggestions]{left:.85rem;right:.85rem;top:101px}
.dp-search-filters{display:flex;gap:.45rem;margin-top:1.2rem;overflow-x:auto;padding-bottom:.1rem}.dp-search-filters a{border-bottom:2px solid transparent;color:var(--dp-muted);font-size:.68rem;font-weight:800;min-width:max-content;padding:.45rem .2rem;text-decoration:none}.dp-search-filters a.is-active{border-color:var(--dp-rust);color:var(--dp-ink)}
.dp-search-results{padding:clamp(2.5rem,5vw,4.5rem) 0}

/* Nearby controls + mobile dock keep the 2.x functionality in the old compact style. */
.dp-nearby-result{border-top:1px solid var(--dp-line);display:none;margin-top:.65rem;padding-top:.55rem}.dp-nearby-result.is-visible{display:grid;gap:.2rem}.dp-nearby-inline-item{color:var(--dp-ink);display:grid;font-size:.72rem;gap:.6rem;grid-template-columns:1fr auto;padding:.45rem 0;text-decoration:none}.dp-nearby-inline-item>span{display:none}.dp-nearby-inline-item strong{font-size:.76rem}.dp-nearby-inline-item em{color:var(--dp-muted);font-size:.68rem;font-style:normal}
.dp-nearby-sheet{align-items:flex-end;display:flex;inset:0;justify-content:center;opacity:0;pointer-events:none;position:fixed;transition:opacity .18s ease;z-index:9999}.dp-nearby-sheet.is-open{opacity:1;pointer-events:auto}.dp-nearby-sheet__backdrop{background:rgba(6,39,71,.55);border:0;inset:0;position:absolute}.dp-nearby-sheet section{background:#fff;border-radius:18px 18px 0 0;max-height:78vh;overflow:auto;padding:1.15rem;position:relative;width:min(100%,620px)}.dp-nearby-sheet header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.6rem}.dp-nearby-sheet header small{color:var(--dp-muted);font-size:.62rem;text-transform:uppercase}.dp-nearby-sheet h2{font-size:1.6rem;margin:0}.dp-nearby-sheet__close{background:none!important;border:0!important;color:var(--dp-ink)!important;font-size:1.8rem;padding:.2rem!important}.dp-nearby-sheet__list>a{border-top:1px solid var(--dp-line);color:var(--dp-ink);display:grid;gap:.7rem;grid-template-columns:1fr auto;padding:.75rem 0;text-decoration:none}.dp-nearby-sheet__pin{display:none}.dp-nearby-sheet__list>a>span:not(.dp-nearby-sheet__pin){display:grid}.dp-nearby-sheet__list small{color:var(--dp-muted)}.dp-nearby-sheet__list em{font-size:.75rem;font-style:normal;font-weight:850}.dp-nearby-sheet__map{background:var(--dp-sun);border-radius:9px;display:block;font-weight:850;margin-top:.6rem;padding:.7rem;text-align:center;text-decoration:none}

/* 2.1 setup restores the old about-page markup; these classes are intentionally the 1.0 system. */
.dp-about-page .dp-button{margin-top:.65rem}

@media(max-width:980px){
  .dp-card-rail{grid-auto-columns:44%}
  .dp-directory-browser__grid,.dp-search-results__grid{grid-template-columns:1fr}
  .dp-sticky-map{position:static}.dp-directory-map{order:-1}
  .dp-hub-links a{grid-template-columns:120px 1fr}.dp-hub-links a p,.dp-hub-links a strong{grid-column:2}
  .dp-detail-hero.has-image{display:flex;flex-direction:column-reverse}.dp-detail-hero__image{height:460px;position:relative;width:100%}.dp-detail-hero__inner,.dp-detail-hero.no-image .dp-detail-hero__inner{min-height:0;padding:3rem 24px}.dp-detail-content{grid-template-columns:1fr}.dp-detail-aside{position:static}.dp-location-grid{grid-template-columns:1fr}
  .dp-keyfacts__grid{grid-template-columns:repeat(2,1fr)}.dp-keyfacts__grid>div:nth-child(2){border-right:0}.dp-keyfacts__grid>div:nth-child(-n+2){border-bottom:1px solid var(--dp-line)}
}
@media(max-width:720px){
  .dp-section-title{align-items:flex-start;flex-direction:column;gap:.4rem}.dp-section-title h2{font-size:2.4rem}
  .dp-card-rail{grid-auto-columns:83%;margin-right:-16px;padding-right:16px;scrollbar-width:none}
  .dp-directory-head,.dp-discover-head,.dp-search-head{padding:3rem 0 2.5rem}.dp-directory-head h1,.dp-search-head h1,.dp-discover-head h1{font-size:clamp(2.8rem,12vw,4rem)}
  .dp-directory-map{order:0}.dp-profile-list .dp-place-card{grid-template-columns:105px 1fr}.dp-profile-list .dp-place-card p{display:none}
  .dp-hub-links a{display:block;padding:1.15rem 0}.dp-hub-links h2{margin:.35rem 0}.dp-hub-links p{margin-bottom:.55rem}
  .dp-detail-hero__image{height:360px}.dp-detail-hero h1,.dp-detail-hero.has-image h1{font-size:clamp(2.75rem,12vw,4rem)}
  .dp-keyfacts__grid{display:block}.dp-keyfacts__grid>div{border-bottom:1px solid var(--dp-line)!important;border-right:0!important}.dp-keyfacts__grid>div:last-child{border-bottom:0!important}
  .dp-search-form__row{grid-template-columns:1fr}.dp-search-form__row button{width:100%}.dp-search-form .dp-search-suggestions[data-dp-search-suggestions]{top:151px}
  .dp-search-suggestions[data-dp-search-suggestions]{display:none!important}
  .dp-mobile-dock{align-items:center;background:rgba(251,250,247,.97);border:1px solid rgba(6,39,71,.12);border-radius:18px;bottom:8px;box-shadow:0 10px 28px rgba(6,39,71,.16);display:grid;grid-template-columns:repeat(5,1fr);left:8px;min-height:58px;padding:4px;position:fixed;right:8px;z-index:999;backdrop-filter:blur(16px)}
  .dp-mobile-dock a,.dp-mobile-dock button{align-items:center;background:none!important;border:0!important;border-radius:12px;color:var(--dp-ink)!important;display:flex;flex-direction:column;font-size:.58rem;font-weight:800;gap:1px;justify-content:center;padding:5px 2px!important;text-decoration:none}.dp-mobile-dock svg{height:18px;width:18px}.dp-mobile-dock__near{position:relative}.dp-mobile-dock__near::before{background:var(--dp-sun);border-radius:50%;content:"";height:34px;position:absolute;top:-5px;width:34px;z-index:-1}.dp-mobile-dock__near svg{margin-top:-2px}
  body{padding-bottom:70px}
}
@media(max-width:480px){
  .dp-card-rail{grid-auto-columns:88%}.dp-profile-list .dp-place-card{grid-template-columns:92px 1fr}.dp-profile-list .dp-place-card h3{font-size:1rem}.dp-map-title{display:block}.dp-map-title span{display:block;margin-top:.2rem}
  .dp-check-breakdown{grid-template-columns:1fr}.dp-check-breakdown>div:nth-child(odd),.dp-check-breakdown>div:nth-child(even){border-left:0;padding-left:0;padding-right:0}
}

@media(max-width:880px){.dp-about-hero,.dp-about-local{grid-template-columns:1fr}.dp-about-principles{grid-template-columns:1fr}.dp-about-principles>div+div{border-left:0;border-top:1px solid var(--dp-line)}}
@media(max-width:640px){.dp-search-row{grid-template-columns:1fr 1fr}.dp-search-row input{grid-column:1/-1}.dp-search-row button,.dp-nearby-button{width:100%}}

/* 2.1.2 profile cleanup */
.page-template-dogplorer-spot .featured-image,.page-template-dogplorer-spot .post-image,.page-template-dogplorer-entry .featured-image,.page-template-dogplorer-entry .post-image{display:none!important}
.dp-detail-hero__inner{min-height:460px;padding-right:min(46vw,760px)}
.dp-detail-hero h1,.dp-detail-hero.has-image h1{font-size:clamp(2.75rem,4.45vw,4.55rem);max-width:12.5ch}
.dp-keyfacts{padding-top:1.35rem}.dp-keyfacts__grid>div{padding:1.05rem 1.2rem}.dp-keyfacts strong{font-size:.88rem}
.dp-content-section{padding:clamp(3.2rem,5vw,4.6rem) 0}.dp-detail-content{gap:clamp(2.6rem,4vw,4rem)}
.dp-detail-aside{padding:1.15rem 1.25rem}.dp-detail-aside h2{font-size:.95rem;margin-bottom:.65rem}.dp-detail-aside p{font-size:.84rem;line-height:1.55}
.dp-editorial-check{margin-top:2.7rem;padding-top:1.5rem}
.dp-video{margin-top:2.7rem}.dp-video-placeholder{align-items:center;aspect-ratio:16/9;background:#122f49;border-radius:16px;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center}.dp-video-placeholder__play{align-items:center;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:flex;font-size:.9rem;height:54px;justify-content:center;margin-bottom:1rem;padding-left:3px;width:54px}.dp-video-placeholder strong{font-family:var(--dp-sans);font-size:1rem}.dp-video-placeholder small{color:rgba(255,255,255,.72);font-size:.75rem;margin-top:.35rem;max-width:36ch}
.dp-location-section{padding:clamp(3.2rem,5vw,4.5rem) 0}.dp-location-grid{align-items:stretch}.dp-location-copy{align-self:center}.dp-location-copy h2{font-size:clamp(1.9rem,3vw,2.6rem);max-width:14ch}.dp-location-copy>p:not(.dp-kicker){font-size:.86rem;max-width:38ch}
.dp-more-section{padding:clamp(3.2rem,5vw,4.8rem) 0}.dp-more-section .dp-card-rail{grid-auto-columns:minmax(280px,32%)}
@media(max-width:980px){.dp-detail-hero__inner{min-height:420px}.dp-detail-hero h1,.dp-detail-hero.has-image h1{font-size:clamp(2.7rem,5.4vw,4.1rem)}}
@media(max-width:768px){.dp-detail-hero.has-image{display:flex;flex-direction:column}.dp-detail-hero__inner{order:1;padding:2.6rem 18px 2.8rem!important}.dp-detail-hero__image{height:360px;order:2;position:relative;width:100%}}


.dp-lightbox[hidden]{display:none}
.dp-lightbox{align-items:center;display:flex;inset:0;justify-content:center;padding:28px;position:fixed;z-index:9999}
.dp-lightbox__backdrop{background:rgba(4,16,31,.82);inset:0;position:absolute}
.dp-lightbox__dialog{position:relative;z-index:1;max-width:min(1240px,calc(100vw - 56px));width:100%}
.dp-lightbox__figure{margin:0}
.dp-lightbox__figure img{background:#fff;border-radius:18px;display:block;max-height:82vh;max-width:100%;object-fit:contain;width:100%}
.dp-lightbox__caption{color:#fff;display:flex;justify-content:space-between;gap:1rem;font-size:.82rem;margin-top:.85rem}
.dp-lightbox__close,.dp-lightbox__prev,.dp-lightbox__next{align-items:center;background:rgba(255,255,255,.96);border:0;border-radius:999px;color:var(--dp-ink);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:900;justify-content:center;line-height:1;min-height:46px;min-width:46px;padding:0 14px;position:absolute;z-index:2}
.dp-lightbox__close{right:16px;top:16px}
.dp-lightbox__prev,.dp-lightbox__next{top:50%;transform:translateY(-50%)}
.dp-lightbox__prev{left:16px}.dp-lightbox__next{right:16px}
body.dp-lightbox-open{overflow:hidden}
@media(max-width:820px){.dp-lightbox{padding:16px}.dp-lightbox__dialog{max-width:calc(100vw - 32px)}.dp-lightbox__prev,.dp-lightbox__next{bottom:18px;top:auto;transform:none}.dp-lightbox__prev{left:16px}.dp-lightbox__next{right:16px}.dp-lightbox__close{right:12px;top:12px}.dp-lightbox__figure img{max-height:72vh}.dp-lightbox__caption{padding-bottom:56px;flex-direction:column}}



/* ===== 2.3.0 business profile + SEO polish ===== */
.dp-profile-claim{align-items:baseline;border-top:1px solid var(--dp-line);display:flex;flex-wrap:wrap;gap:.3rem .65rem;margin-top:1.15rem;padding-top:.9rem}
.dp-profile-claim>span{color:var(--dp-muted);font-size:.7rem;font-weight:650}
.dp-profile-claim a{color:var(--dp-ink);font-size:.72rem;font-weight:850;text-decoration:none}
.dp-profile-claim a:hover{text-decoration:underline}
.dp-detail-aside .dp-contact-actions{margin-top:.9rem}
.dp-area-note{color:var(--dp-muted);font-size:.76rem;margin-top:.6rem}

.dp-list-heading--seo{align-items:end;gap:1rem}
.dp-list-heading--seo>div{min-width:0}
.dp-list-heading--seo h2{font-family:var(--dp-serif);font-size:clamp(1.55rem,2.1vw,2.15rem);line-height:1.05;margin:.2rem 0 0;max-width:18ch}
.dp-detail-copy>h2:first-child{font-size:clamp(1.8rem,2.8vw,2.65rem);margin-bottom:1rem;max-width:18ch}
.dp-location-address{font-family:var(--dp-sans);font-size:.9rem!important;font-weight:700;line-height:1.45;margin:.15rem 0 0;max-width:28ch}
.dp-location-address .dp-address-main,.dp-location-address .dp-address-sub{display:block}
@media(max-width:680px){.dp-list-heading--seo{align-items:flex-start;flex-direction:column}.dp-list-heading--seo h2{max-width:none}.dp-profile-claim{align-items:flex-start;flex-direction:column}.dp-detail-copy>h2:first-child{max-width:none}}

.dp-directory-guide{background:#f7f3ea;border-top:1px solid var(--dp-line);padding:clamp(3rem,5vw,5rem) 0}
.dp-directory-guide .dp-wrap{max-width:920px}
.dp-directory-guide h2{font-size:clamp(2rem,3.4vw,3.2rem);margin:.25rem 0 1rem;max-width:18ch}
.dp-directory-guide p:last-child{color:#42515c;font-size:clamp(.98rem,1.3vw,1.08rem);line-height:1.7;margin:0;max-width:72ch}


/* Dogplorer 2.3.1 – visitor-facing trust section */
.dp-trust{padding-block:clamp(3.6rem,6.5vw,6.5rem)}
.dp-trust__grid{align-items:start;grid-template-columns:minmax(300px,1.35fr) repeat(3,minmax(190px,1fr));gap:clamp(1.4rem,3vw,3rem)}
.dp-trust h2{font-size:clamp(2.6rem,4.3vw,4.25rem);line-height:.98;max-width:10ch}
.dp-trust__intro{color:rgba(255,255,255,.76);font-size:.9rem;line-height:1.65;margin:1.25rem 0 0;max-width:34ch}
.dp-trust__item{min-height:100%;padding-left:clamp(1.1rem,2vw,1.8rem)}
.dp-trust__item strong{font-family:var(--dp-serif);font-size:clamp(1.25rem,1.8vw,1.65rem);font-weight:600;line-height:1.08;margin-bottom:.9rem}
.dp-trust__item span{color:rgba(255,255,255,.78);display:block;font-size:.88rem;line-height:1.7;max-width:30ch}
@media(max-width:980px){.dp-trust__grid{grid-template-columns:1fr 1fr}.dp-trust__grid>div:first-child{grid-column:1/3}.dp-trust__intro{max-width:60ch}.dp-trust__item{padding-block:.4rem 1rem}}
@media(max-width:680px){.dp-trust__grid{display:block}.dp-trust__grid>div:first-child{margin-bottom:2.2rem}.dp-trust__item{border-left:0;border-top:1px solid rgba(255,255,255,.2);margin-top:0;padding:1.45rem 0}.dp-trust h2{font-size:2.75rem;max-width:11ch}.dp-trust__item strong{font-size:1.45rem}.dp-trust__item span{max-width:none}}


/* 2.4 map categories */
.dp-map-filters button{align-items:center;display:inline-flex!important;gap:.42rem}
.dp-map-swatch,.dp-map-legend i{background:var(--dp-swatch,#062747);border:2px solid rgba(255,255,255,.9);border-radius:50%;box-shadow:0 0 0 1px rgba(6,39,71,.14);display:inline-block;flex:0 0 auto;height:11px;width:11px}
.dp-map-swatch--all{background:conic-gradient(#F4B400 0 14%,#E76F51 14% 28%,#4A78D0 28% 42%,#3E8E7E 42% 56%,#9B6BD3 56% 70%,#F28C28 70% 84%,#2A9D8F 84% 100%)}
.dp-map-filters button.is-active .dp-map-swatch{box-shadow:0 0 0 1px rgba(255,255,255,.55)}
.dp-map-legend{align-items:center;color:var(--dp-muted);display:flex;flex-wrap:wrap;font-size:.66rem;gap:.45rem .85rem;margin:-.2rem 0 .85rem .1rem}
.dp-map-legend>span{align-items:center;display:inline-flex;gap:.36rem}
.dp-map-legend>span:first-child{font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.dp-map-legend i{border-width:1px;height:9px;width:9px}
@media(max-width:680px){.dp-map-legend{display:none}}


/* 2.5 scalable directory browsing */
.dp-browse-tools{align-items:end;background:#f7f3ea;border:1px solid var(--dp-line);border-radius:12px;display:grid;gap:.7rem;grid-template-columns:minmax(0,1fr) auto;margin:0 0 .85rem;padding:.72rem .8rem}
.dp-browse-filter{display:grid;gap:.32rem;margin:0}
.dp-browse-filter>span{color:var(--dp-muted);font-size:.62rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
.dp-browse-filter input{background:#fff;border:1px solid #d9d4c9;border-radius:9px;color:var(--dp-ink);font-size:.78rem;min-height:40px;padding:.55rem .7rem;width:100%}
.dp-browse-filter input:focus{border-color:#b89a46;box-shadow:0 0 0 3px rgba(249,186,24,.14);outline:0}
.dp-browse-count{color:var(--dp-muted);font-size:.68rem;font-weight:750;white-space:nowrap}
.dp-directory-list.is-browse-ready .dp-place-card.is-browse-hidden{display:none!important}
.dp-browse-footer{display:flex;justify-content:center;padding-top:1rem}
.dp-browse-more{background:#fff!important;border:1px solid var(--dp-line)!important;border-radius:999px!important;color:var(--dp-ink)!important;font-size:.72rem!important;font-weight:850!important;padding:.68rem 1rem!important}
.dp-browse-more:hover,.dp-browse-more:focus-visible{background:var(--dp-ink)!important;border-color:var(--dp-ink)!important;color:#fff!important}
.dp-browse-empty{background:#f7f3ea;border:1px solid var(--dp-line);border-radius:12px;color:var(--dp-muted);font-size:.8rem;margin:.8rem 0 0;padding:1rem}

@media(min-width:981px){
  .dp-sticky-map{position:sticky;top:96px}
  body.admin-bar .dp-sticky-map{top:128px}
  .dp-sticky-map .dp-map-frame{height:min(var(--dp-map-height,650px),calc(100vh - 155px));min-height:470px}
  body.admin-bar .dp-sticky-map .dp-map-frame{height:min(var(--dp-map-height,650px),calc(100vh - 185px))}
}
@media(max-width:980px){
  .dp-browse-tools{grid-template-columns:1fr}.dp-browse-count{white-space:normal}
}


/* ========================================================================
   Dogplorer 2.6 — visual finish: lighter, friendlier, less directory-like
   ======================================================================== */
:root{
  --dp-paper:#fffdf9;
  --dp-muted:#5c6d78;
  --dp-line:#e9e4da;
  --dp-soft:#f8f5ee;
  --dp-sky:#eaf6fb;
  --dp-shadow:0 12px 34px rgba(6,39,71,.075);
}
body{background:var(--dp-paper);color:#092d4f}
.site-header{background:rgba(255,253,249,.96);border-bottom-color:#ece7dd;box-shadow:0 2px 14px rgba(6,39,71,.025)}
.main-navigation .main-nav ul li a,.menu-toggle,.main-navigation .menu-bar-item>a{font-weight:750}

/* Category accents stay quiet: they help orientation without turning the page into a dashboard. */
.dp-directory{--dp-category:#f9ba18;--dp-category-soft:#fff7df}
.dp-directory--freilauf{--dp-category:#e4a600;--dp-category-soft:#fff7d9}
.dp-directory--restaurant{--dp-category:#df765f;--dp-category-soft:#fff0ec}
.dp-directory--physio{--dp-category:#5686dc;--dp-category-soft:#edf4ff}
.dp-directory--betreuung{--dp-category:#438b7c;--dp-category-soft:#edf8f4}
.dp-directory--fellpflege{--dp-category:#946bc2;--dp-category-soft:#f5effb}
.dp-directory--sport{--dp-category:#e58d36;--dp-category-soft:#fff3e7}
.dp-directory--route{--dp-category:#37988e;--dp-category-soft:#ecf8f6}

.dp-directory,.dp-discover,.dp-hub,.dp-search-page{background:#fffdf9}
.dp-directory-head{
  background:
    radial-gradient(circle at 86% 18%,var(--dp-category-soft) 0,transparent 28%),
    linear-gradient(180deg,#fffefb 0%,#fffdf9 100%);
  border-bottom:1px solid #eee9df;
  padding:clamp(2.8rem,4.6vw,4.4rem) 0 clamp(3rem,4.8vw,4.6rem);
}
.dp-directory-head .dp-wrap{max-width:1240px}
.dp-directory-head .dp-kicker{color:var(--dp-category);font-size:.68rem;letter-spacing:.105em}
.dp-directory-head h1{font-size:clamp(3rem,5vw,5rem);line-height:.98;margin:.45rem 0 1rem;max-width:13ch}
.dp-directory-lead{color:#173d5c;font-size:clamp(1.06rem,1.45vw,1.23rem);line-height:1.6;max-width:66ch}
.dp-directory-intro{color:#60727f;font-size:.94rem;line-height:1.7;max-width:70ch}
.dp-directory-actions{margin-top:1.55rem}
.dp-directory-actions a,.dp-directory-actions button{background:#fff!important;border-color:#e6e1d7!important;box-shadow:0 4px 14px rgba(6,39,71,.035);font-size:.72rem!important;padding:.62rem .86rem!important}
.dp-directory-actions a:first-child{background:var(--dp-category-soft)!important;border-color:transparent!important}
.dp-directory-actions a:hover,.dp-directory-actions button:hover{border-color:var(--dp-category)!important;color:var(--dp-ink)!important;transform:translateY(-1px)}

.dp-directory-browser{background:#fff;padding:clamp(2.8rem,4.4vw,4.5rem) 0 clamp(3.5rem,5vw,5.2rem)}
.dp-directory-browser__grid,.dp-search-results__grid{gap:clamp(2rem,3.6vw,3.4rem);grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr)}
.dp-list-heading{border-bottom:0;margin-bottom:1rem;padding-bottom:0}
.dp-list-heading--seo h2{font-family:var(--dp-sans);font-size:clamp(1.6rem,2vw,2.05rem);font-weight:800;letter-spacing:-.035em;line-height:1.1;margin:.3rem 0 0;max-width:20ch}
.dp-list-heading--seo>div>span,.dp-list-heading small{color:var(--dp-category);font-weight:850}
.dp-profile-list{gap:.9rem}
.dp-profile-list .dp-place-card{
  background:#fff;
  border:1px solid #e9e4da;
  border-radius:16px;
  box-shadow:0 7px 24px rgba(6,39,71,.045);
  min-height:150px;
  overflow:hidden;
}
.dp-profile-list .dp-place-card:hover,.dp-profile-list .dp-place-card.is-map-active{border-color:color-mix(in srgb,var(--dp-category) 55%,#e9e4da);box-shadow:0 14px 34px rgba(6,39,71,.085);transform:translateY(-2px)}
.dp-profile-list .dp-place-card__body{padding:1rem 1.05rem}
.dp-profile-list .dp-place-card__meta{color:#647581;font-size:.66rem;font-weight:750;letter-spacing:.015em;margin-bottom:.55rem;text-transform:none}
.dp-profile-list .dp-place-card__meta span:first-child{color:var(--dp-category);font-weight:850}
.dp-profile-list .dp-place-card h3{font-family:var(--dp-sans);font-size:1.18rem;font-weight:800;letter-spacing:-.025em;line-height:1.18;margin-bottom:.5rem}
.dp-profile-list .dp-place-card p{color:#536873;font-size:.8rem;line-height:1.58;margin-bottom:.8rem}
.dp-profile-list .dp-place-card__end{border-top-color:#eee9e0;padding-top:.72rem}
.dp-profile-list .dp-place-card__end strong{color:#173d5c;font-size:.71rem}
.dp-profile-list .dp-place-card:hover .dp-place-card__end strong{color:var(--dp-category)}

.dp-map-title{margin-bottom:.8rem;padding:0 .15rem}
.dp-map-title strong{font-size:.86rem;letter-spacing:-.01em}
.dp-map-title span{color:#687985;font-size:.72rem}
.dp-sticky-map .dp-map-frame{border-color:#dde7eb;border-radius:20px;box-shadow:0 16px 40px rgba(6,39,71,.10)}
.dp-map-filters button{background:#fff!important;border-color:#dfe5e7!important;box-shadow:0 3px 10px rgba(6,39,71,.035)}
.dp-map-filters button.is-active{background:#0a3154!important;border-color:#0a3154!important}
.dp-map-legend{margin-top:.25rem}

.dp-browse-tools{background:#fbfcfc;border-color:#e5e9ea;border-radius:14px;box-shadow:0 5px 18px rgba(6,39,71,.035);padding:.8rem .9rem}
.dp-browse-filter>span{color:#6c7b84;letter-spacing:.025em;text-transform:none}
.dp-browse-filter input{border-color:#dfe4e6;border-radius:10px;font-size:.82rem}
.dp-browse-filter input:focus{border-color:var(--dp-category);box-shadow:0 0 0 3px color-mix(in srgb,var(--dp-category) 18%,transparent)}
.dp-browse-more{box-shadow:0 4px 14px rgba(6,39,71,.04)}

.dp-directory-guide{
  background:linear-gradient(135deg,#f4fafc 0%,#fffdf9 72%);
  border-top:1px solid #e4eef2;
  padding:clamp(3.6rem,5.5vw,5.6rem) 0;
}
.dp-directory-guide .dp-wrap{max-width:980px}
.dp-directory-guide .dp-kicker{color:var(--dp-category)}
.dp-directory-guide h2{font-size:clamp(2.1rem,3.1vw,3rem);line-height:1.03;margin:.35rem 0 1.2rem;max-width:19ch}
.dp-directory-guide p:last-child{color:#4d6470;font-size:clamp(1rem,1.2vw,1.08rem);line-height:1.78;max-width:70ch}

/* Reduce the old-fashioned feel without losing the editorial serif headline. */
.dp-directory h2{letter-spacing:-.025em}
.dp-directory .dp-kicker,.dp-directory .dp-crumbs{font-family:var(--dp-sans)}
.dp-crumbs{color:#70808a}

/* Small global polish shared by profile and content pages. */
.dp-detail-aside,.dp-side-card,.dp-contact-card{border-color:#e7e3dc;box-shadow:0 9px 28px rgba(6,39,71,.055)}
.dp-keyfacts{background:#fff}
.dp-keyfacts__grid{border-color:#e8e4dc;border-radius:16px;box-shadow:0 5px 18px rgba(6,39,71,.035);overflow:hidden}
.dp-content-section{background:#fffdf9}
.dp-location-section{background:#eff8fb;border-color:#dcebf0}
.dp-source-line{background:#faf7f0}

@media(max-width:980px){
  .dp-directory-browser__grid,.dp-search-results__grid{grid-template-columns:1fr}
  .dp-directory-head{background:linear-gradient(180deg,var(--dp-category-soft) 0%,#fffdf9 72%)}
  .dp-directory-head h1{max-width:15ch}
}
@media(max-width:680px){
  .dp-directory-head{padding:2.6rem 0 3rem}
  .dp-directory-head h1{font-size:clamp(2.75rem,11.8vw,3.9rem)}
  .dp-directory-lead{font-size:1.02rem}
  .dp-directory-intro{font-size:.9rem}
  .dp-profile-list .dp-place-card{border-radius:14px}
  .dp-directory-guide{padding:3.2rem 0 3.8rem}
}


/* ========================================================================
   Dogplorer 2.7 — discovery UI reset
   Modern, map-first, less editorial-template, more Dogplorer.
   ======================================================================== */
:root{
  --dp-paper:#ffffff;
  --dp-white:#ffffff;
  --dp-ink:#082c50;
  --dp-text:#27465f;
  --dp-muted:#6c7f8e;
  --dp-line:#e2eaf0;
  --dp-soft:#f5f8fa;
  --dp-soft-blue:#edf7fb;
  --dp-sun:#ffbd19;
  --dp-rust:#c88900;
  --dp-shadow:0 18px 45px rgba(8,44,80,.09);
  --dp-radius:24px;
  --dp-sans:"Aptos","Aptos Display",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --dp-serif:var(--dp-sans);
}
html{background:#fff}
body{background:#fff;color:var(--dp-text);font-family:var(--dp-sans);font-size:16px;line-height:1.65}
h1,h2,h3,h4,h5,h6{color:var(--dp-ink);font-family:var(--dp-sans);font-weight:820;letter-spacing:-.045em;line-height:1.02;text-wrap:balance}
a{transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.dp-wrap{max-width:1340px;padding-inline:clamp(20px,4vw,52px)}
.dp-eyebrow,.dp-kicker{font-family:var(--dp-sans);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.dp-eyebrow::before{height:8px;width:8px}

/* Header becomes a light app/navigation bar rather than a magazine masthead. */
.site-header{background:rgba(255,255,255,.94);border-bottom:1px solid rgba(8,44,80,.08);box-shadow:0 4px 24px rgba(8,44,80,.035)}
.inside-header{min-height:72px;padding-block:9px}
.site-logo img,.site-logo .header-image{width:clamp(220px,20vw,315px)}
.main-navigation .main-nav ul li>a{border-radius:999px;font-size:.8rem;font-weight:800;padding-inline:13px}
.main-navigation .main-nav ul li:hover>a,.main-navigation .main-nav ul li:focus-within>a{background:#f3f7f9;color:var(--dp-ink)}
.main-navigation .main-nav ul li[class*="current-menu-"]>a{background:#fff4d3;color:var(--dp-ink)}

/* Homepage — strong photo, modern type, one useful command bar. */
.home .dp-home-classic{background:#fff}
.dp-hero{max-width:1720px;padding:12px clamp(12px,2vw,28px) 0}
.dp-hero__media{border-radius:30px;min-height:clamp(570px,72vh,760px);box-shadow:0 22px 60px rgba(8,44,80,.12)}
.dp-hero__media::after{background:linear-gradient(90deg,rgba(2,28,53,.76) 0%,rgba(2,28,53,.40) 44%,rgba(2,28,53,.06) 74%),linear-gradient(0deg,rgba(2,28,53,.22),transparent 55%)}
.dp-hero__content{padding:clamp(2rem,5vw,5rem);width:min(820px,78%)}
.dp-hero h1{font-family:var(--dp-sans);font-size:clamp(3.4rem,6.3vw,6.4rem);font-weight:880;letter-spacing:-.065em;line-height:.91;max-width:9ch}
.dp-hero__content>p{color:rgba(255,255,255,.9);font-size:clamp(1rem,1.45vw,1.18rem);max-width:55ch}
.dp-marker-word{position:relative;white-space:nowrap}
.dp-hero .dp-marker-word::after{background:var(--dp-sun);border-radius:99px;bottom:-.05em;height:.075em;left:.02em;right:.02em}
.dp-search-panel{background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.65);border-radius:20px;box-shadow:0 22px 55px rgba(0,0,0,.16);max-width:740px;padding:12px}
.dp-search-panel__head{padding:.12rem .25rem .6rem!important}
.dp-search-panel__head strong{color:var(--dp-ink);font-size:.7rem!important}
.dp-search-row{background:#f5f8fa!important;border:1px solid #e3e9ed!important;border-radius:14px!important;padding:5px!important}
.dp-search-row input{background:transparent!important;border:0!important;min-height:50px!important;padding-inline:12px!important}
.dp-search-row button{border-radius:11px!important;min-height:50px!important}
.dp-nearby-button{background:#fff!important;border-color:#e1e8ec!important}
.dp-browse{background:#fff;border-bottom:0;padding:1rem 0}
.dp-browse__inner{gap:.7rem;justify-content:center}
.dp-browse a{background:#f4f8fa;border:0;border-radius:999px;font-size:.78rem;padding:.72rem 1rem}
.dp-browse a:first-child{background:#fff1c5;color:var(--dp-ink)}
.dp-browse a:hover{background:var(--dp-ink);color:#fff}

/* Homepage section rhythm: less boxed, more visual breathing room. */
.dp-section{padding-block:clamp(4.2rem,7vw,7rem)}
.dp-section-head{align-items:flex-end;margin-bottom:2.2rem}
.dp-section-head h2{font-family:var(--dp-sans);font-size:clamp(2.35rem,4vw,4.25rem);font-weight:850;max-width:13ch}
.dp-section-head>p{color:#5b7181;max-width:50ch}
.dp-card h3{font-family:var(--dp-sans);font-weight:820;letter-spacing:-.04em}
.dp-card__media{border-radius:22px}
.dp-card__badge,.dp-card__photo-note,.dp-photo-label{backdrop-filter:blur(8px)}
.dp-section--map{background:#f4f9fb}
.dp-section--map .dp-map-frame{border:1px solid #dce9ef;border-radius:26px;box-shadow:0 20px 50px rgba(8,44,80,.10);overflow:hidden}
.dp-editorial--clean{align-items:center;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}
.dp-editorial--clean .dp-editorial__image{border-radius:26px;min-height:540px}
.dp-editorial__aside h2{font-family:var(--dp-sans);font-size:clamp(2.4rem,4.3vw,4.4rem);font-weight:850;letter-spacing:-.055em;max-width:10ch}
.dp-proof-list--text>div{border-color:#e4eaed}

/* Dark brand section becomes a contained signature panel, not a full-width corporate band. */
.dp-trust{background:#fff;color:#fff;padding:clamp(1rem,3vw,2rem) 0 clamp(4.5rem,7vw,7rem)}
.dp-trust .dp-wrap{background:linear-gradient(135deg,#062b50 0%,#0a3a64 100%);border-radius:32px;box-shadow:0 26px 70px rgba(8,44,80,.17);padding:clamp(2rem,5vw,4.8rem)}
.dp-trust__grid{gap:clamp(1.8rem,3vw,3.4rem);grid-template-columns:minmax(260px,1.15fr) repeat(3,minmax(180px,1fr))}
.dp-trust h2{font-family:var(--dp-sans);font-size:clamp(2.4rem,4vw,4rem);font-weight:850;letter-spacing:-.055em;max-width:11ch}
.dp-trust__intro{font-size:.92rem;line-height:1.7}
.dp-trust__item{border-left:0;border-top:1px solid rgba(255,255,255,.20);padding:1.3rem 0 0}
.dp-trust__item strong{font-family:var(--dp-sans);font-size:1.12rem;font-weight:820;letter-spacing:-.025em;margin-bottom:.65rem}
.dp-trust__item span{font-size:.85rem;line-height:1.7}

/* ------------------------------------------------------------------------
   Directory / category pages — compact discovery header, map-first browser.
   ------------------------------------------------------------------------ */
.dp-directory,.dp-discover,.dp-hub,.dp-search-page{background:#fff}
.dp-directory-head{background:#fff;border-bottom:1px solid #e7edf1;padding:clamp(3rem,5vw,5.1rem) 0 clamp(2.6rem,4vw,4rem);position:relative;overflow:hidden}
.dp-directory-head::after{background:var(--dp-category);border-radius:999px;content:"";height:10px;position:absolute;right:clamp(22px,7vw,110px);top:clamp(42px,7vw,88px);width:72px;opacity:.95}
.dp-directory-head .dp-wrap{max-width:1320px}
.dp-directory-head .dp-crumbs{font-size:.68rem;margin-bottom:1.4rem}
.dp-directory-head .dp-kicker{color:var(--dp-category);margin-bottom:.65rem}
.dp-directory-head h1{font-family:var(--dp-sans);font-size:clamp(3.05rem,5vw,5.45rem);font-weight:880;letter-spacing:-.065em;line-height:.92;margin:.25rem 0 1.15rem;max-width:11.5ch}
.dp-directory-lead{color:#1f4664;font-size:clamp(1.08rem,1.45vw,1.28rem);line-height:1.58;max-width:67ch}
.dp-directory-intro{color:#6a7d8a;font-size:.9rem;line-height:1.72;max-width:68ch}
.dp-directory-actions{display:flex;gap:.55rem;margin-top:1.35rem}
.dp-directory-actions a,.dp-directory-actions button{background:#f3f7f9!important;border:0!important;border-radius:999px!important;box-shadow:none!important;color:#284861!important;font-size:.7rem!important;font-weight:850!important;padding:.63rem .9rem!important}
.dp-directory-actions a:first-child{background:var(--dp-category-soft)!important;color:#173e5d!important}
.dp-directory-actions a:hover,.dp-directory-actions button:hover{background:#082c50!important;color:#fff!important;transform:none}

.dp-directory-browser{background:#fff;padding:clamp(2.5rem,4vw,4rem) 0 clamp(4.5rem,7vw,7rem)}
.dp-directory-browser__grid,.dp-search-results__grid{align-items:start;gap:clamp(2rem,4vw,4rem);grid-template-columns:minmax(360px,.78fr) minmax(520px,1.22fr)}
.dp-directory-list{min-width:0}
.dp-list-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:1rem}
.dp-list-heading--seo h2{font-family:var(--dp-sans);font-size:clamp(1.55rem,2vw,2rem);font-weight:850;letter-spacing:-.045em;line-height:1.05;max-width:18ch}
.dp-list-heading--seo>div>span,.dp-list-heading small{color:#78909e;font-size:.66rem;font-weight:800}

/* The profile list becomes a browse list — fewer boxes, more identity. */
.dp-profile-list{background:#fff;display:grid;gap:0}
.dp-profile-list .dp-place-card{--dp-row-pin:url("assets/branding/pins/dogplorer-pin-freilauf.png");background:transparent;border:0;border-bottom:1px solid #e6edf1;border-radius:0;box-shadow:none;min-height:0;overflow:visible;padding:1.05rem .4rem;position:relative;transform:none}
.dp-directory--restaurant .dp-profile-list .dp-place-card{--dp-row-pin:url("assets/branding/pins/dogplorer-pin-restaurant.png")}
.dp-directory--physio .dp-profile-list .dp-place-card{--dp-row-pin:url("assets/branding/pins/dogplorer-pin-physio.png")}
.dp-directory--betreuung .dp-profile-list .dp-place-card{--dp-row-pin:url("assets/branding/pins/dogplorer-pin-betreuung.png")}
.dp-directory--fellpflege .dp-profile-list .dp-place-card{--dp-row-pin:url("assets/branding/pins/dogplorer-pin-fellpflege.png")}
.dp-directory--sport .dp-profile-list .dp-place-card{--dp-row-pin:url("assets/branding/pins/dogplorer-pin-sport.png")}
.dp-directory--route .dp-profile-list .dp-place-card{--dp-row-pin:url("assets/branding/pins/dogplorer-pin-route.png")}
.dp-profile-list .dp-place-card.is-text-only{display:grid;grid-template-columns:42px minmax(0,1fr);gap:.85rem}
.dp-profile-list .dp-place-card.is-text-only::before{align-self:start;background-image:var(--dp-row-pin);background-position:center;background-repeat:no-repeat;background-size:contain;content:"";height:34px;margin-top:.15rem;width:34px}
.dp-profile-list .dp-place-card.has-image{display:grid;grid-template-columns:112px minmax(0,1fr);gap:1rem}
.dp-profile-list .dp-place-card__media{border-radius:16px;height:92px;margin:0;overflow:hidden}
.dp-profile-list .dp-place-card__body{padding:0}
.dp-profile-list .dp-place-card__meta{color:#78909c;font-size:.64rem;font-weight:780;letter-spacing:.01em;margin:0 0 .36rem;text-transform:none}
.dp-profile-list .dp-place-card__meta span:first-child{color:var(--dp-category);font-weight:900}
.dp-profile-list .dp-place-card h3{font-family:var(--dp-sans);font-size:1.12rem;font-weight:850;letter-spacing:-.035em;line-height:1.18;margin:0 0 .32rem}
.dp-profile-list .dp-place-card p{color:#5b7180;font-size:.78rem;line-height:1.55;margin:0;max-width:52ch}
.dp-profile-list .dp-place-card__end{border:0;margin-top:.62rem;padding:0}
.dp-profile-list .dp-place-card__end strong{align-items:center;color:#24465f;display:inline-flex;font-size:.69rem;gap:.25rem}
.dp-profile-list .dp-place-card:hover,.dp-profile-list .dp-place-card.is-map-active{background:var(--dp-category-soft);border-color:#e6edf1;border-radius:16px;box-shadow:none;margin-inline:-.65rem;padding-inline:1.05rem;transform:none}
.dp-profile-list .dp-place-card:hover .dp-place-card__end strong{color:#082c50}

.dp-browse-tools{background:#f5f8fa;border:0;border-radius:16px;box-shadow:none;margin-bottom:.85rem;padding:.75rem}
.dp-browse-filter input{background:#fff;border:1px solid #dfe8ed;border-radius:12px;min-height:42px}
.dp-browse-more{background:#f3f7f9!important;border:0!important;border-radius:12px!important;color:#173f5f!important;font-weight:850!important}

.dp-map-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:.7rem;padding-inline:.15rem}
.dp-map-title strong{color:#173f5d;font-size:.82rem;font-weight:850}
.dp-map-title span{color:#7b8c97;font-size:.69rem}
.dp-sticky-map .dp-map-frame{border:0;border-radius:24px;box-shadow:0 18px 45px rgba(8,44,80,.12);overflow:hidden}
.dp-directory-map{min-width:0}
@media(min-width:981px){
  .dp-sticky-map{top:92px}
  body.admin-bar .dp-sticky-map{top:124px}
  .dp-sticky-map .dp-map-frame{height:min(720px,calc(100vh - 140px));min-height:520px}
  body.admin-bar .dp-sticky-map .dp-map-frame{height:min(720px,calc(100vh - 172px))}
}

/* SEO/editorial follow-up becomes a compact two-column explainer rather than another beige article. */
.dp-directory-guide{background:#f4f9fb;border:0;padding:clamp(3.8rem,6vw,6rem) 0}
.dp-directory-guide .dp-wrap{display:grid;gap:clamp(1.5rem,4vw,4rem);grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);max-width:1120px}
.dp-directory-guide .dp-kicker{grid-column:1/-1;margin:0}
.dp-directory-guide h2{font-family:var(--dp-sans);font-size:clamp(2.1rem,3.2vw,3.35rem);font-weight:850;letter-spacing:-.055em;line-height:1;margin:0;max-width:15ch}
.dp-directory-guide p:last-child{color:#496879;font-size:1rem;line-height:1.78;margin:0;max-width:68ch}

/* ------------------------------------------------------------------------
   Detail pages — modern profile, lighter facts, stronger imagery.
   ------------------------------------------------------------------------ */
.dp-detail{background:#fff}
.dp-detail-hero{background:#fff;border-bottom:1px solid #e8eef1}
.dp-detail-hero.has-image{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,46vw);min-height:520px}
.dp-detail-hero__image{grid-column:2;inset:auto;position:relative;width:auto}
.dp-detail-hero__image img{border-radius:0 0 0 30px;min-height:520px;object-fit:cover}
.dp-detail-hero__inner{grid-column:1;grid-row:1;min-height:520px;padding:clamp(3.1rem,5vw,5.2rem) clamp(26px,5vw,72px);padding-right:clamp(26px,5vw,72px)}
.dp-detail-hero.no-image .dp-detail-hero__inner{background:linear-gradient(135deg,#fff 0%,#f5f9fb 100%);min-height:430px;padding:clamp(3rem,5vw,5rem) clamp(26px,5vw,72px)}
.dp-detail-hero h1,.dp-detail-hero.has-image h1{font-family:var(--dp-sans);font-size:clamp(2.8rem,4.6vw,4.9rem);font-weight:880;letter-spacing:-.065em;line-height:.94;max-width:12ch}
.dp-detail-lead,.dp-detail-hero.has-image .dp-detail-lead{color:#587081;font-size:1.05rem;max-width:55ch}
.dp-detail-status{gap:.45rem}
.dp-detail-status>span,.dp-profile-badge{background:#f1f6f8;border:0;border-radius:999px;color:#496274;font-size:.64rem;padding:.5rem .72rem}

.dp-keyfacts{background:#fff;padding:0}
.dp-keyfacts .dp-wrap{max-width:1340px}
.dp-keyfacts__grid{background:#f5f9fb;border:0;border-radius:0 0 24px 24px;box-shadow:none;gap:0;overflow:hidden}
.dp-keyfacts__grid>div{border-color:#dfe9ee;padding:1.05rem 1.25rem}
.dp-keyfacts__grid span{color:#77909e;font-size:.61rem;letter-spacing:.06em}
.dp-keyfacts__grid strong{color:#173f5e;font-family:var(--dp-sans);font-size:.88rem;line-height:1.45}
.dp-content-section{background:#fff;padding:clamp(3.8rem,6vw,6rem) 0}
.dp-detail-content{gap:clamp(3rem,5vw,5.5rem);grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}
.dp-detail-copy{color:#35566c;font-size:1rem;max-width:760px}
.dp-detail-copy>p:first-child{color:#244b66;font-size:1.08rem;line-height:1.75}
.dp-detail-copy h2{font-family:var(--dp-sans);font-size:clamp(1.85rem,2.7vw,2.7rem);font-weight:850;letter-spacing:-.045em}
.dp-detail-aside{background:#f5f9fb;border:0;border-radius:22px;box-shadow:none;padding:1.4rem 1.45rem}
.dp-detail-aside h2{font-family:var(--dp-sans);font-size:1rem;font-weight:850;letter-spacing:-.02em}
.dp-detail-aside>div{border-color:#dfe9ee}
.dp-detail-aside span{color:#738b98;font-size:.61rem}
.dp-detail-aside p{color:#38586d;font-size:.8rem;line-height:1.6}
.dp-claim-box{background:transparent!important;border-top:1px solid #dfe8ed!important;margin-top:1rem!important;padding:1.1rem 0 0!important}
.dp-claim-box .dp-kicker{color:#78909c!important}
.dp-claim-box h3{font-family:var(--dp-sans);font-size:.92rem!important;font-weight:850!important;letter-spacing:-.02em!important}

.dp-location-section{background:#f0f8fb;border:0;padding:clamp(3.5rem,5vw,5rem) 0}
.dp-location-copy h2{font-family:var(--dp-sans);font-size:clamp(2rem,3vw,3rem);font-weight:850;letter-spacing:-.05em;max-width:15ch}
.dp-route-links a{border:0;border-radius:999px;box-shadow:0 3px 12px rgba(8,44,80,.06);padding:.65rem .85rem}
.dp-location-section .dp-map-frame{border:0;border-radius:24px;box-shadow:0 16px 42px rgba(8,44,80,.10)}
.dp-more-section{background:#fff;padding-block:clamp(4rem,6vw,6rem)}
.dp-more-section .dp-section-title h2{font-family:var(--dp-sans);font-weight:850;letter-spacing:-.05em}
.dp-source-line{background:#f6f9fa;border:0;color:#748794}

/* Search and hub pages follow the same clean language. */
.dp-search-head,.dp-discover-head{background:#fff;border-bottom:1px solid #e7edf1}
.dp-search-head h1,.dp-discover-head h1{font-family:var(--dp-sans);font-weight:880;letter-spacing:-.06em}
.dp-hub-links .dp-wrap>a{border-color:#e5ecef;border-radius:22px;box-shadow:none}
.dp-hub-links .dp-wrap>a h2{font-family:var(--dp-sans);font-weight:850}

/* Footer is simpler and lighter against the new surface language. */
.site-footer{background:#062b50}

@media(max-width:1100px){
  .dp-directory-browser__grid,.dp-search-results__grid{grid-template-columns:minmax(320px,.9fr) minmax(430px,1.1fr);gap:2rem}
  .dp-trust__grid{grid-template-columns:1fr 1fr}.dp-trust__grid>div:first-child{grid-column:1/-1}
}
@media(max-width:980px){
  .dp-directory-browser__grid,.dp-search-results__grid{grid-template-columns:1fr}
  .dp-directory-map{order:-1}.dp-sticky-map{position:static}.dp-sticky-map .dp-map-frame{height:480px}
  .dp-directory-guide .dp-wrap{grid-template-columns:1fr}.dp-directory-guide .dp-kicker{grid-column:auto}
  .dp-detail-hero.has-image{display:flex;flex-direction:column}.dp-detail-hero__inner{min-height:0;order:1;padding:3rem 24px}.dp-detail-hero__image{height:430px;order:2}.dp-detail-hero__image img{border-radius:0;min-height:0}
  .dp-detail-content{grid-template-columns:1fr}.dp-detail-aside{max-width:none}
  .dp-editorial--clean{grid-template-columns:1fr}
}
@media(max-width:768px){
  .inside-header{min-height:64px}.site-logo img,.site-logo .header-image{width:min(205px,57vw)!important}
  .dp-hero{padding:0}.dp-hero__media{border-radius:0;min-height:670px}.dp-hero__content{padding:2rem 18px 4.2rem;width:100%}.dp-hero h1{font-size:clamp(3.15rem,14vw,4.6rem)}
  .dp-browse__inner{justify-content:flex-start}
  .dp-section{padding-block:3.8rem}.dp-section-head h2{font-size:2.6rem}
  .dp-trust{padding-inline:12px}.dp-trust .dp-wrap{border-radius:24px;padding:2rem 1.35rem}.dp-trust__grid{display:block}.dp-trust__item{margin-top:1.2rem}
  .dp-directory-head{padding:2.7rem 0 2.8rem}.dp-directory-head::after{height:8px;right:24px;top:34px;width:46px}.dp-directory-head h1{font-size:clamp(2.75rem,12vw,4rem);max-width:13ch}
  .dp-directory-actions{overflow-x:auto;padding-bottom:.2rem;scrollbar-width:none}.dp-directory-actions>*{flex:0 0 auto}
  .dp-directory-browser{padding-top:2rem}.dp-directory-map{order:0}.dp-sticky-map .dp-map-frame{height:380px}
  .dp-profile-list .dp-place-card.has-image{grid-template-columns:92px 1fr}.dp-profile-list .dp-place-card__media{height:80px}.dp-profile-list .dp-place-card p{display:block}
  .dp-directory-guide{padding:3.5rem 0}.dp-directory-guide h2{font-size:2.35rem}
  .dp-detail-hero h1,.dp-detail-hero.has-image h1{font-size:clamp(2.7rem,12vw,4rem)}.dp-detail-hero__image{height:360px}
  .dp-keyfacts__grid{border-radius:0}.dp-keyfacts__grid>div{padding:1rem 18px}
  .dp-content-section{padding:3.4rem 0}.dp-detail-aside{border-radius:18px}
}
@media(max-width:520px){
  .dp-profile-list .dp-place-card.is-text-only{grid-template-columns:34px 1fr;gap:.65rem}.dp-profile-list .dp-place-card.is-text-only::before{height:28px;width:28px}
  .dp-profile-list .dp-place-card:hover,.dp-profile-list .dp-place-card.is-map-active{margin-inline:-.35rem;padding-inline:.75rem}
  .dp-directory-lead{font-size:1rem}.dp-directory-intro{font-size:.86rem}
}

/* Dogplorer identity: category pin as a quiet watermark and category-aware details. */
.dp-directory--freilauf{--dp-category-pin:url("assets/branding/pins/dogplorer-pin-freilauf.png")}
.dp-directory--restaurant{--dp-category-pin:url("assets/branding/pins/dogplorer-pin-restaurant.png")}
.dp-directory--physio{--dp-category-pin:url("assets/branding/pins/dogplorer-pin-physio.png")}
.dp-directory--betreuung{--dp-category-pin:url("assets/branding/pins/dogplorer-pin-betreuung.png")}
.dp-directory--fellpflege{--dp-category-pin:url("assets/branding/pins/dogplorer-pin-fellpflege.png")}
.dp-directory--sport{--dp-category-pin:url("assets/branding/pins/dogplorer-pin-sport.png")}
.dp-directory--route{--dp-category-pin:url("assets/branding/pins/dogplorer-pin-route.png")}
.dp-directory-head::before{background-image:var(--dp-category-pin);background-position:center;background-repeat:no-repeat;background-size:contain;content:"";height:190px;opacity:.065;pointer-events:none;position:absolute;right:clamp(55px,9vw,150px);top:50%;transform:translateY(-46%) rotate(4deg);width:190px}
.dp-directory-head .dp-wrap{position:relative;z-index:1}

.dp-detail--freilauf{--dp-category:#e4a600;--dp-category-soft:#fff7d9}
.dp-detail--restaurant{--dp-category:#df765f;--dp-category-soft:#fff0ec}
.dp-detail--physio{--dp-category:#5686dc;--dp-category-soft:#edf4ff}
.dp-detail--betreuung{--dp-category:#438b7c;--dp-category-soft:#edf8f4}
.dp-detail--fellpflege{--dp-category:#946bc2;--dp-category-soft:#f5effb}
.dp-detail--sport{--dp-category:#e58d36;--dp-category-soft:#fff3e7}
.dp-detail--route{--dp-category:#37988e;--dp-category-soft:#ecf8f6}
.dp-detail .dp-kicker{color:var(--dp-category,var(--dp-rust))}
.dp-detail-hero.no-image .dp-detail-hero__inner{background:linear-gradient(135deg,#fff 0%,var(--dp-category-soft,#f5f9fb) 100%)}
.dp-detail-aside{background:color-mix(in srgb,var(--dp-category-soft,#f5f9fb) 72%,#fff)}

/* Mixed search results do not pretend to belong to one category. */
.dp-search-results .dp-profile-list .dp-place-card.is-text-only{grid-template-columns:1fr}
.dp-search-results .dp-profile-list .dp-place-card.is-text-only::before{display:none}

@media(max-width:768px){
  .dp-directory-head::before{display:none}
}


/* 2.8 — real proximity discovery around place profiles */
.dp-nearby-discovery{background:#fff;padding:clamp(4rem,6vw,6.5rem) 0}
.dp-nearby-discovery__head{align-items:end;display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr) auto;margin-bottom:2rem}
.dp-nearby-discovery__head h2{font-family:var(--dp-sans);font-size:clamp(2.1rem,4vw,4rem);font-weight:900;letter-spacing:-.055em;line-height:.98;margin:0 0 .9rem;max-width:15ch}
.dp-nearby-discovery__head p:not(.dp-kicker){color:#5b6c7d;font-size:.96rem;line-height:1.65;margin:0;max-width:67ch}
.dp-nearby-discovery__grid{align-items:start;display:grid;gap:clamp(1.2rem,3vw,2.5rem);grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)}
.dp-nearby-discovery__list{border-top:1px solid #dce6ec}
.dp-nearby-discovery__subhead{align-items:center;display:flex;justify-content:space-between;padding:1rem 0 .7rem}
.dp-nearby-discovery__subhead span{font-size:.78rem;font-weight:900;letter-spacing:.03em}
.dp-nearby-discovery__subhead small{color:#71808d;font-size:.68rem}
.dp-nearby-place{align-items:center;border-bottom:1px solid #e3ebef;border-radius:10px;color:var(--dp-ink);display:grid;gap:.8rem;grid-template-columns:28px minmax(0,1fr) auto;margin-inline:-.45rem;padding:1rem .45rem;text-decoration:none;transition:background-color .16s ease,box-shadow .16s ease}
.dp-nearby-place:hover,.dp-nearby-place.is-map-active{background:#f7fafc;box-shadow:inset 0 0 0 1px #e8eef2;color:var(--dp-ink)}
.dp-nearby-place__pin{background:var(--dp-nearby-color,var(--dp-sun));border:3px solid #fff;border-radius:50% 50% 50% 8px;box-shadow:0 2px 8px rgba(8,44,80,.15);height:22px;transform:rotate(-45deg);width:22px}
.dp-nearby-place__body{display:flex;flex-direction:column;min-width:0}
.dp-nearby-place__body small{color:#70808e;font-size:.62rem;font-weight:850;letter-spacing:.065em;text-transform:uppercase}
.dp-nearby-place__body strong{font-size:1rem;font-weight:900;letter-spacing:-.025em;line-height:1.2;margin-top:.16rem}
.dp-nearby-place__body em{color:#5f7080;font-size:.75rem;font-style:normal;line-height:1.45;margin-top:.28rem}
.dp-nearby-place__distance{background:#f2f7fa;border-radius:999px;color:#36536b;font-size:.66rem;font-weight:850;padding:.42rem .58rem;white-space:nowrap}
.dp-nearby-discovery__more{font-size:.75rem;margin:1rem 0 0}.dp-nearby-discovery__more a{font-weight:850}
.dp-nearby-discovery__map .dp-map-frame{border:0;border-radius:24px;box-shadow:0 18px 48px rgba(8,44,80,.11);overflow:hidden}
.dp-nearby-discovery__map .dp-map-filters{margin-bottom:.7rem}
@media(max-width:900px){.dp-nearby-discovery__head,.dp-nearby-discovery__grid{grid-template-columns:1fr}.dp-nearby-discovery__head{align-items:start}.dp-nearby-discovery__head .dp-link{justify-self:start}.dp-nearby-discovery__map{order:-1}}
@media(max-width:560px){.dp-nearby-place{grid-template-columns:24px minmax(0,1fr)}.dp-nearby-place__distance{grid-column:2;justify-self:start}.dp-nearby-place__body em{display:none}}

/* 2.8.1 — hero readability + a distinct Dogplorer score language */
.dp-hero__copy-panel{
  background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.72);
  border-radius:26px;
  box-shadow:0 18px 48px rgba(4,28,52,.17);
  color:var(--dp-ink);
  max-width:720px;
  padding:clamp(1.35rem,2.3vw,2rem) clamp(1.4rem,2.7vw,2.25rem) clamp(1.45rem,2.6vw,2.1rem);
  position:relative;
  backdrop-filter:blur(14px) saturate(118%);
  -webkit-backdrop-filter:blur(14px) saturate(118%);
}
.dp-hero__copy-panel::after{
  background:var(--dp-sun);
  border-radius:99px;
  bottom:-1px;
  content:"";
  height:5px;
  left:clamp(1.4rem,2.7vw,2.25rem);
  position:absolute;
  width:76px;
}
.dp-hero .dp-hero__copy-panel .dp-eyebrow{color:#9b6d00;opacity:1;margin-bottom:.7rem}
.dp-hero .dp-hero__copy-panel h1{color:var(--dp-ink);margin-bottom:1.3rem;max-width:8.7ch}
.dp-hero .dp-hero__copy-panel>p:last-child{color:#36566c;font-size:clamp(1rem,1.35vw,1.14rem);line-height:1.58;margin:0;max-width:56ch}
.dp-hero .dp-marker-word::after{bottom:-.09em;height:.07em;z-index:-1}
.dp-hero__copy-panel .dp-marker-word{z-index:0}
.dp-hero__content>.dp-search-panel{margin-top:12px!important}
.dp-hero__media::after{background:linear-gradient(90deg,rgba(2,28,53,.38) 0%,rgba(2,28,53,.15) 46%,rgba(2,28,53,.03) 76%),linear-gradient(0deg,rgba(2,28,53,.12),transparent 58%)}

.dp-editorial-check{border-top:1px solid #e1e9ed;margin-top:3rem;padding-top:1.7rem}
.dp-editorial-check>.dp-kicker{margin-bottom:.55rem}
.dp-editorial-check>h2{font-family:var(--dp-sans);font-size:clamp(2rem,3vw,3rem);font-weight:900;letter-spacing:-.055em;line-height:1;margin-bottom:1.35rem;max-width:18ch}
.dp-score-card{display:grid;gap:1.25rem}
.dp-score-main{align-items:baseline;display:flex;gap:.6rem}
.dp-score-main>strong{color:var(--dp-ink);font-family:var(--dp-sans);font-size:clamp(3.25rem,6vw,5.2rem);font-weight:900;letter-spacing:-.07em;line-height:.9}
.dp-score-main>span{color:#6c8290;font-size:.78rem;font-weight:850;letter-spacing:.02em}
.dp-score-card .dp-check-breakdown{border:0!important;display:grid!important;gap:1rem 1.35rem!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;margin:0!important}
.dp-score-card .dp-check-breakdown>.dp-check-row{border:0!important;display:block!important;padding:0!important}
.dp-check-row__head{align-items:baseline;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.45rem}
.dp-score-card .dp-check-row__head>span{color:#526c7d;font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:none}
.dp-score-card .dp-check-row__head>strong{color:var(--dp-ink);font-size:.76rem;font-weight:900}
.dp-score-card .dp-check-row__head small{color:#81929d;font-size:.58rem;margin-left:.1rem}
.dp-check-track{background:#e7eef2;border-radius:99px;height:8px;overflow:hidden;position:relative}
.dp-check-track>span{background:linear-gradient(90deg,var(--dp-category,var(--dp-sun)),var(--dp-sun));border-radius:inherit;display:block;height:100%;min-width:8px}
.dp-check-impression{background:color-mix(in srgb,var(--dp-category-soft,#f5f9fb) 78%,#fff);border-radius:18px;margin-top:.2rem;padding:1.15rem 1.25rem 1.2rem}
.dp-check-impression>strong{color:var(--dp-ink);display:block;font-size:.72rem;font-weight:900;letter-spacing:.065em;margin-bottom:.45rem;text-transform:uppercase}
.dp-check-impression>p{color:#3f5e72;font-size:.9rem;line-height:1.65;margin:0;max-width:67ch}

@media(max-width:768px){
  .dp-hero__copy-panel{border-radius:20px;padding:1.25rem 1.2rem 1.45rem}
  .dp-hero .dp-hero__copy-panel h1{font-size:clamp(2.9rem,13vw,4.25rem);margin-bottom:1.05rem}
  .dp-hero__copy-panel::after{left:1.2rem}
  .dp-score-card .dp-check-breakdown{grid-template-columns:1fr!important}
  .dp-score-main>strong{font-size:3.6rem}
}


/* 2.8.2: make the map column a real sticky rail on desktop.
   The grid used align-items:start, so the aside was only as tall as the map itself.
   Stretching the aside gives the sticky child the full list height as its containing block. */
@media(min-width:981px){
  .dp-directory-browser__grid,.dp-search-results__grid{align-items:stretch}
  .dp-directory-list{align-self:start}
  .dp-directory-map{align-self:stretch;min-height:100%;position:relative}
  .dp-directory-map>.dp-sticky-map{position:sticky;top:92px}
  body.admin-bar .dp-directory-map>.dp-sticky-map{top:124px}
}


/* 2.8.3 — final hero marker, focused nearby maps and tighter score */
.dp-hero .dp-marker-word::after{display:none!important}
.dp-hero .dp-marker-word{
  background:linear-gradient(to bottom,transparent 72%,rgba(249,186,24,.92) 72%,rgba(249,186,24,.92) 91%,transparent 91%);
  border-radius:.08em;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  padding:0 .025em .025em;
  position:relative;
  z-index:0;
}
.dp-hero__copy-panel{
  background:linear-gradient(105deg,rgba(255,255,255,.94),rgba(255,255,255,.82));
  border-color:rgba(255,255,255,.82);
}
.dp-hero__copy-panel::after{display:none}
.dp-hero .dp-hero__copy-panel h1{margin-bottom:1.5rem}
.dp-hero .dp-hero__copy-panel>p:last-child{margin-top:0}

/* The current place on a nearby map is the visual anchor. */
.leaflet-marker-icon.dp-brand-pin--focus{
  filter:drop-shadow(0 6px 10px rgba(8,44,80,.26)) drop-shadow(0 0 0 rgba(255,255,255,0));
  z-index:1000!important;
}
.leaflet-tooltip.dp-focus-label{
  background:#062c50;
  border:0;
  border-radius:999px;
  box-shadow:0 6px 18px rgba(8,44,80,.18);
  color:#fff;
  font-family:var(--dp-sans);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.035em;
  padding:.38rem .58rem;
}
.leaflet-tooltip.dp-focus-label::before{border-top-color:#062c50!important}

/* Score reads as one compact editorial unit, not a detached giant number. */
.dp-score-card{background:#f7fafb;border:1px solid #e1eaee;border-radius:22px;gap:1.15rem;padding:1.25rem 1.35rem 1.35rem}
.dp-score-main{align-items:center;gap:.55rem}
.dp-score-main::before{color:#6b8090;content:"Dogplorer-Score";font-size:.68rem;font-weight:900;letter-spacing:.07em;margin-right:auto;text-transform:uppercase}
.dp-score-main>strong{font-size:clamp(2.55rem,4.4vw,3.75rem);letter-spacing:-.065em}
.dp-score-main>span{font-size:.72rem}
.dp-check-impression{background:#fff;border:1px solid #e4ebef;margin-top:.1rem}

/* Score methodology: show the arithmetic openly, keep the deeper criteria optional. */
.dp-score-method{border-top:1px solid #dfe8ec;margin-top:.1rem;padding-top:1rem}
.dp-score-method__calc{display:grid;gap:.28rem}
.dp-score-method__calc>strong{color:var(--dp-ink);font-size:.86rem;font-weight:800;letter-spacing:-.01em}
.dp-score-method__formula{color:var(--dp-ink);font-size:1.02rem;font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:-.015em}
.dp-score-method__calc>p{color:#5f7483;font-size:.88rem;line-height:1.5;margin:0;max-width:66ch}
.dp-score-method__details{margin-top:.75rem}
.dp-score-method__details>summary{align-items:center;color:#315f68;cursor:pointer;display:flex;font-size:.86rem;font-weight:750;gap:.45rem;list-style:none;width:max-content}
.dp-score-method__details>summary::-webkit-details-marker{display:none}
.dp-score-method__details>summary::after{content:"+";font-size:1.05rem;font-weight:500;line-height:1}
.dp-score-method__details[open]>summary::after{content:"–"}
.dp-score-method__criteria{display:grid;gap:.65rem 1.25rem;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:.85rem}
.dp-score-method__criterion{border-left:2px solid #dfe8ec;padding-left:.72rem}
.dp-score-method__criterion>strong{color:var(--dp-ink);font-size:.82rem;font-weight:800}
.dp-score-method__criterion>p{color:#607684;font-size:.82rem;line-height:1.5;margin:.18rem 0 0}

@media(max-width:768px){
  .dp-hero .dp-hero__copy-panel h1{margin-bottom:1.25rem}
  .dp-score-card{padding:1.05rem}
  .dp-score-main{flex-wrap:wrap}
  .dp-score-main::before{flex:1 0 100%;margin-bottom:.1rem}
  .dp-score-method__criteria{grid-template-columns:1fr}
  .dp-score-method__formula{font-size:.94rem}
}


/* 2.9.0 — legal page rhythm + mobile hero that actually shows the photo */
.dp-managed-legal .dp-landing-content{
  margin:0 auto!important;
  max-width:1120px!important;
  padding:clamp(3rem,6vw,5.5rem) 0 clamp(4rem,7vw,6rem)!important;
  width:calc(100% - clamp(40px,8vw,96px))!important;
}
.dp-managed-legal .dp-legal{margin:0;max-width:840px}
.dp-managed-legal .dp-legal>h1:first-child{margin-top:0}
.dp-managed-legal .dp-contact-card{margin-top:1.8rem}

.dp-hero__picture{display:block;inset:0;position:absolute}
.dp-hero__picture img{height:100%;object-fit:cover;object-position:center 38%;width:100%}

@media(max-width:768px){
  .dp-hero{padding:12px 12px 0!important}
  .dp-hero__media{background:#fff;border-radius:26px!important;box-shadow:none!important;display:block!important;min-height:0!important;overflow:visible!important}
  .dp-hero__media::after{display:none!important}
  .dp-hero__picture{border-radius:26px;box-shadow:0 16px 42px rgba(8,44,80,.12);height:clamp(360px,54svh,520px);inset:auto;overflow:hidden;position:relative}
  .dp-hero__picture img{height:100%;object-fit:cover;object-position:var(--dp-mobile-focus,50% 50%)!important;width:100%}
  .dp-hero__content{bottom:auto!important;left:auto!important;margin:-54px 12px 0!important;padding:0 0 12px!important;position:relative!important;right:auto!important;width:auto!important}
  .dp-hero__copy-panel{box-shadow:0 14px 38px rgba(8,44,80,.14);position:relative}
  .dp-hero__content>.dp-search-panel{box-shadow:0 12px 32px rgba(8,44,80,.10)!important;margin-top:12px!important}
  .dp-hero__photo-note{bottom:auto;right:22px;top:18px}
}
@media(max-width:520px){
  .dp-managed-legal .dp-landing-content{padding:2.5rem 0 4.5rem!important;width:calc(100% - 32px)!important}
  .dp-hero__picture{height:clamp(340px,50svh,470px)}
  .dp-hero__content{margin-top:-38px!important}
}


/* 2.9.3 — mobile spring clean: readable filters, visible legends, lighter hero and legal/footer polish */
.dp-managed-legal .dp-landing-main{min-width:0}
.dp-managed-legal .dp-landing-content{box-sizing:border-box}
.dp-managed-legal .dp-legal{box-sizing:border-box;width:100%}
.site-info .dp-cookie-settings-link{font-weight:700}

@media(max-width:768px){
  html,body{max-width:100%;overflow-x:hidden}
  .dp-wrap{box-sizing:border-box;max-width:100%;padding-inline:16px}

  /* Let the photo lead on mobile. Text begins below it with only a tiny overlap. */
  .dp-hero{padding:10px 10px 0!important}
  .dp-hero__picture{height:clamp(400px,58svh,560px)!important}
  .dp-hero__content{margin:-22px 10px 0!important;padding-bottom:10px!important}
  .dp-hero__copy-panel{border-radius:20px!important;padding:1.15rem 1.15rem 1.3rem!important}
  .dp-hero .dp-hero__copy-panel .dp-eyebrow{font-size:.66rem!important;margin-bottom:.55rem!important}
  .dp-hero .dp-hero__copy-panel h1{font-size:clamp(2.65rem,11.5vw,3.65rem)!important;line-height:.94!important;margin-bottom:1rem!important;max-width:10ch!important}
  .dp-hero .dp-hero__copy-panel>p:last-child{font-size:.94rem!important;line-height:1.55!important}
  .dp-hero__content>.dp-search-panel{border-radius:19px!important;margin-top:10px!important;padding:.8rem!important}
  .dp-search-panel__head{margin-bottom:.55rem!important}
  .dp-search-panel__head span{display:none!important}
  .dp-search-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.5rem!important}
  .dp-search-row input{grid-column:1/-1!important;min-height:52px!important;width:100%!important}
  .dp-search-row button,.dp-search-row .dp-nearby-button{grid-column:auto!important;min-height:50px!important;width:100%!important}

  /* Map controls must fit the viewport instead of becoming an invisible horizontal rail. */
  .dp-map-block{min-width:0;max-width:100%}
  .dp-map-filters{display:flex!important;flex-wrap:wrap!important;gap:.52rem!important;margin-bottom:.82rem!important;overflow:visible!important;padding:0!important;width:100%!important}
  .dp-map-filters button{align-items:center!important;flex:0 0 auto!important;font-size:.80rem!important;line-height:1.2!important;max-width:100%!important;min-height:40px!important;min-width:0!important;padding:.58rem .78rem!important;white-space:normal!important}
  .dp-map-filters button span{font-size:.74rem!important}
  .dp-map-swatch{height:12px!important;width:12px!important}
  .dp-map-legend{display:flex!important;flex-wrap:wrap!important;font-size:.72rem!important;gap:.48rem .82rem!important;line-height:1.35!important;margin:.08rem 0 .9rem!important;overflow:visible!important}
  .dp-map-legend>span{min-width:0}
  .dp-map-legend>span:first-child{flex:0 0 100%;font-size:.70rem!important;margin-bottom:.04rem}
  .dp-map-legend i{height:10px!important;width:10px!important}
  .dp-section--map .dp-map-frame{height:clamp(420px,62svh,520px)!important;min-height:420px!important}
  .dp-directory-map .dp-map-frame,.dp-nearby-discovery__map .dp-map-frame{height:clamp(390px,58svh,500px)!important;min-height:390px!important}
  .leaflet-control-attribution{font-size:8px!important;line-height:1.15!important;max-width:76vw!important;white-space:normal!important}
  .leaflet-popup-content-wrapper{border-radius:14px!important}
  .leaflet-popup-content{margin:11px 13px!important;max-width:220px!important}

  /* Directory and detail rhythm. */
  .dp-directory-actions{display:flex!important;flex-wrap:wrap!important;overflow:visible!important}
  .dp-directory-actions>*{flex:0 0 auto!important;max-width:100%}
  .dp-nearby-discovery{padding:3.6rem 0!important}
  .dp-nearby-discovery__head{gap:.8rem!important;margin-bottom:1.3rem!important}
  .dp-nearby-discovery__head h2{font-size:clamp(2.2rem,10vw,3.1rem)!important;max-width:12ch!important}
  .dp-nearby-discovery__map{min-width:0}
  .dp-location-section{padding:3.2rem 0!important}
  .dp-location-grid{gap:1.4rem!important}

  /* Legal pages keep a real reading gutter even with the full-width landing template. */
  .dp-managed-legal .dp-landing-content{margin:0 auto!important;padding:2.7rem 0 4.5rem!important;width:calc(100% - 36px)!important}
  .dp-managed-legal .dp-legal{max-width:100%!important}
  .dp-managed-legal .dp-legal h1{font-size:clamp(2.5rem,11vw,3.5rem)!important}
  .dp-managed-legal .dp-legal p,.dp-managed-legal .dp-legal li{font-size:.95rem;line-height:1.7}

  /* Footer links remain tappable and aren't hidden under the mobile dock. */
  .site-footer{padding-bottom:76px!important}
  .site-info{font-size:.68rem!important;line-height:1.9!important;padding:1rem 18px!important;text-align:center!important}
  .site-info a{display:inline-block;padding:.08rem .14rem}
  .dp-mobile-dock{bottom:max(8px,env(safe-area-inset-bottom))!important}
}

@media(max-width:430px){
  .dp-hero__picture{height:clamp(390px,56svh,525px)!important}
  .dp-hero__content{margin-top:-16px!important}
  .dp-hero .dp-hero__copy-panel h1{font-size:clamp(2.55rem,12vw,3.35rem)!important}
  .dp-map-filters{gap:.46rem!important}
  .dp-map-filters button{font-size:.78rem!important;min-height:39px!important;padding:.55rem .70rem!important}
  .dp-map-filters button span{font-size:.72rem!important}
  .dp-map-legend{font-size:.70rem!important;gap:.44rem .72rem!important}
  .dp-map-legend>span:first-child{font-size:.68rem!important}
}


/* 2.9.8: Touch-safe map interaction.
 * On coarse pointers the map starts locked so vertical swipes keep scrolling
 * the page. Visitors can explicitly unlock map panning with the control. */
.dp-map-touch-toggle{
  align-items:center;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(6,39,71,.18);
  border-radius:999px;
  box-shadow:0 5px 18px rgba(6,39,71,.16);
  color:var(--dp-ink);
  display:none;
  font-family:var(--dp-sans);
  font-size:.78rem;
  font-weight:850;
  line-height:1;
  min-height:42px;
  padding:.72rem .9rem;
  position:absolute;
  right:10px;
  top:10px;
  z-index:700;
}
.dp-map-touch-toggle:focus-visible{outline:3px solid rgba(244,180,0,.42);outline-offset:2px}
.dp-map-frame.is-touch-map .dp-map-touch-toggle{display:inline-flex}
.dp-map-frame.is-touch-locked .leaflet-container{touch-action:pan-y!important}
.dp-map-frame.is-touch-active .dp-map-touch-toggle{background:var(--dp-ink);border-color:var(--dp-ink);color:#fff}

@media (max-width:680px){
  .dp-map-touch-toggle{font-size:.82rem;min-height:44px;padding:.76rem .95rem;right:9px;top:9px}
}


/* 2.9.10: Search actions — make the map link a deliberate secondary control. */
.dp-search-form .dp-home-search__actions{
  align-items:stretch;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.55rem;
}
.dp-search-form .dp-home-search__actions>button,
.dp-search-form .dp-search-map-button{
  align-items:center;
  border-radius:10px;
  display:inline-flex;
  font-size:.74rem;
  font-weight:850;
  gap:.45rem;
  justify-content:center;
  line-height:1.15;
  min-height:44px;
  padding:.68rem .9rem;
  text-decoration:none;
}
.dp-search-form .dp-home-search__actions>button{
  background:var(--dp-ink)!important;
  color:#fff!important;
}
.dp-search-form .dp-home-search__actions>button:hover,
.dp-search-form .dp-home-search__actions>button:focus-visible{
  background:#0a3c69!important;
  color:#fff!important;
}
.dp-search-form .dp-search-map-button{
  background:#fff;
  border:1px solid #d9e3e8;
  color:var(--dp-ink);
  box-shadow:0 2px 8px rgba(6,39,71,.04);
}
.dp-search-form .dp-search-map-button:hover,
.dp-search-form .dp-search-map-button:focus-visible{
  background:#f4f8fa;
  border-color:#bfcfd8;
  color:var(--dp-ink);
}
.dp-search-form .dp-search-map-button svg{
  fill:none;
  flex:0 0 auto;
  height:17px;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.8;
  width:17px;
}
@media(max-width:520px){
  .dp-search-form .dp-home-search__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .dp-search-form .dp-home-search__actions>button,
  .dp-search-form .dp-search-map-button{
    min-width:0;
    width:100%;
  }
}

/* 2.9.11: Mobile dock — clearer binocular icon for “Finden”. */

/* 2.9.12: Search feedback belongs where the search happens. */
.dp-search-feedback{
  align-items:center;
  border-top:1px solid #e7edf1;
  display:flex;
  gap:.75rem;
  justify-content:space-between;
  margin-top:.72rem;
  padding:.72rem .15rem .08rem;
}
.dp-search-feedback>span{
  color:var(--dp-ink);
  font-size:.78rem;
  font-weight:800;
}
.dp-search-feedback>span strong{
  color:var(--dp-rust);
  font-size:1.08rem;
  font-weight:900;
  margin-right:.16rem;
}
.dp-search-feedback>a{
  align-items:center;
  color:var(--dp-ink);
  display:inline-flex;
  font-size:.74rem;
  font-weight:850;
  gap:.28rem;
  text-decoration:none;
}
.dp-search-feedback>a:hover,.dp-search-feedback>a:focus-visible{text-decoration:underline}
.dp-search-feedback>a svg{
  fill:none;
  height:16px;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.8;
  width:16px;
}
.dp-search-feedback.is-empty>span strong{color:var(--dp-muted)}
#dp-search-results{scroll-margin-top:18px}

@media(max-width:680px){
  .dp-search-head{padding-bottom:1.1rem!important}
  .dp-search-feedback{margin-top:.78rem;padding-top:.78rem}
  .dp-search-feedback>span{font-size:.84rem}
  .dp-search-feedback>span strong{font-size:1.16rem}
  .dp-search-feedback>a{font-size:.8rem;white-space:nowrap}
  .dp-search-filters{margin-top:.78rem!important}
  .dp-search-results{padding-top:1.15rem!important}
  .dp-search-results .dp-section-title{margin-bottom:1.15rem!important}
  .dp-search-results .dp-section-title h2{font-size:clamp(2.35rem,10vw,3.25rem)!important;line-height:.98!important}
}

/* 2.9.13 — mobile readability + reflow audit.
 * Keep reading text comfortably sized on phones and make long profile names
 * reflow instead of disappearing outside the viewport. */
@media(max-width:768px){
  /* Long business/course names must never be clipped by the hero. */
  .dp-detail-hero{overflow:visible!important}
  .dp-detail-hero__inner,
  .dp-detail-hero__copy,
  .dp-detail-content,
  .dp-detail-copy,
  .dp-detail-aside{min-width:0;max-width:100%}
  .dp-detail-hero h1,
  .dp-detail-hero.has-image h1{
    font-size:clamp(2.25rem,9.6vw,3.15rem)!important;
    letter-spacing:-.05em!important;
    line-height:.98!important;
    max-width:100%!important;
    overflow-wrap:anywhere;
    text-wrap:balance;
    word-break:normal;
  }
  .dp-detail h2,.dp-detail h3,.dp-detail a{overflow-wrap:anywhere}

  /* Editorial orientation text: small, but no longer micro type. */
  .dp-crumbs,.breadcrumbs,.yoast-breadcrumb{
    font-size:.78rem!important;
    line-height:1.5!important;
  }
  .dp-kicker,.dp-eyebrow,.dp-directory-head .dp-kicker{
    font-size:.76rem!important;
    line-height:1.4!important;
    letter-spacing:.085em!important;
  }
  .dp-detail-status>span,.dp-profile-badge{
    font-size:.74rem!important;
    line-height:1.35!important;
    padding:.55rem .76rem!important;
  }

  /* Facts and profile-side information are actual content, not footnotes. */
  .dp-keyfacts__grid span{
    font-size:.76rem!important;
    line-height:1.4!important;
  }
  .dp-keyfacts__grid strong{
    font-size:.98rem!important;
    line-height:1.5!important;
  }
  .dp-detail-copy{
    font-size:1.05rem!important;
    line-height:1.76!important;
  }
  .dp-detail-copy>p:first-child{
    font-size:1.10rem!important;
    line-height:1.72!important;
  }
  .dp-detail-aside{
    padding:1.35rem 1.3rem!important;
  }
  .dp-detail-aside h2{
    font-size:1.22rem!important;
    line-height:1.25!important;
    margin-bottom:.72rem!important;
  }
  .dp-detail-aside>div:not(.dp-contact-actions){padding:1rem 0!important}
  .dp-detail-aside span{
    font-size:.76rem!important;
    line-height:1.4!important;
    margin-bottom:.32rem!important;
  }
  .dp-detail-aside p{
    font-size:1rem!important;
    line-height:1.62!important;
  }
  .dp-contact-actions{gap:.7rem!important;padding-top:1.1rem!important}
  .dp-contact-actions .dp-button,
  .dp-contact-actions .dp-text-action{
    font-size:.96rem!important;
    min-height:48px;
  }
  .dp-text-action{align-items:center;display:inline-flex;padding:.65rem .25rem}
  .dp-profile-claim{gap:.48rem .7rem!important;padding-top:1.05rem!important}
  .dp-profile-claim>span{font-size:.78rem!important;line-height:1.45!important}
  .dp-profile-claim a{font-size:.94rem!important;line-height:1.45!important}

  /* Check/score labels remain subordinate but readable. */
  .dp-score-main::before{font-size:.76rem!important}
  .dp-score-main>span{font-size:.80rem!important}
  .dp-score-card .dp-check-row__head>span{font-size:.82rem!important}
  .dp-score-card .dp-check-row__head>strong{font-size:.86rem!important}
  .dp-score-card .dp-check-row__head small{font-size:.74rem!important}
  .dp-check-impression>strong{font-size:.78rem!important}
  .dp-check-impression>p{font-size:1rem!important;line-height:1.7!important}

  /* Location and source utility text. */
  .dp-route-links a{
    font-size:.88rem!important;
    line-height:1.3!important;
    min-height:44px;
    align-items:center;
    display:inline-flex;
  }
  .dp-source-line{padding:1rem 0!important}
  .dp-source-line p{
    font-size:.875rem!important;
    line-height:1.65!important;
  }
  .wp-block-image figcaption{font-size:.82rem!important;line-height:1.55!important}

  /* Directory/search cards and controls should be readable without zooming. */
  .dp-profile-list .dp-place-card__meta,.dp-place-card__meta{
    font-size:.75rem!important;
    line-height:1.4!important;
  }
  .dp-profile-list .dp-place-card p,.dp-place-card p{
    font-size:.90rem!important;
    line-height:1.6!important;
  }
  .dp-profile-list .dp-place-card__end,
  .dp-profile-list .dp-place-card__end strong,
  .dp-place-card__end,
  .dp-place-card__end strong{font-size:.78rem!important}
  .dp-search-form>label,.dp-browse-filter>span{
    font-size:.78rem!important;
    line-height:1.4!important;
  }
  .dp-search-form input,.dp-search-row input,.dp-browse-filter input{
    font-size:1rem!important;
  }
  .dp-search-filters a{
    font-size:.80rem!important;
    line-height:1.4!important;
    padding:.55rem .28rem!important;
  }
  .dp-browse-count,.dp-browse-more{font-size:.78rem!important}

  /* Nearby discovery/sheet: remove remaining 10–12px information text. */
  .dp-nearby-discovery__subhead span{font-size:.86rem!important}
  .dp-nearby-discovery__subhead small{font-size:.76rem!important}
  .dp-nearby-place__body small{font-size:.75rem!important;line-height:1.4!important}
  .dp-nearby-place__body em{font-size:.86rem!important;line-height:1.5!important}
  .dp-nearby-place__distance{font-size:.78rem!important}
  .dp-nearby-discovery__more{font-size:.86rem!important}
  .dp-nearby-inline-item{font-size:.86rem!important}
  .dp-nearby-inline-item strong{font-size:.92rem!important}
  .dp-nearby-inline-item em{font-size:.80rem!important}
  .dp-nearby-sheet header small{font-size:.76rem!important}
  .dp-nearby-sheet__list small{font-size:.84rem!important;line-height:1.45!important}
  .dp-nearby-sheet__list em{font-size:.86rem!important}

  /* Map labels were already enlarged in 2.9.7; keep them at that readable floor. */
  .dp-map-filters button{font-size:.84rem!important;min-height:42px!important}
  .dp-map-filters button span{font-size:.78rem!important}
  .dp-map-legend{font-size:.78rem!important;line-height:1.45!important}
  .dp-map-legend>span:first-child{font-size:.76rem!important}
  .dp-map-touch-toggle{font-size:.84rem!important;min-height:44px!important}

  /* Persistent navigation/footer is used constantly, so labels need a real floor too. */
  .dp-mobile-dock{
    min-height:66px!important;
    padding:5px!important;
  }
  .dp-mobile-dock a,.dp-mobile-dock button{
    font-size:.72rem!important;
    gap:2px!important;
    min-height:54px;
    padding:5px 2px!important;
  }
  .dp-mobile-dock svg{height:20px!important;width:20px!important}
  .site-footer{padding-bottom:84px!important}
  .site-info{font-size:.80rem!important;line-height:1.75!important}
}

@media(max-width:430px){
  .dp-detail-hero h1,.dp-detail-hero.has-image h1{
    font-size:clamp(2.18rem,9.4vw,2.85rem)!important;
  }
  .dp-detail-hero__inner{padding-inline:18px!important}
  .dp-detail-aside{padding:1.25rem 1.15rem!important}
  .dp-mobile-dock a,.dp-mobile-dock button{font-size:.70rem!important}
}



/* 2.9.14 — Hunde-Adressen hub: distinguish category clusters without turning the page into card soup. */
.dp-hub-links .dp-wrap{
  border-top:0;
  gap:.85rem;
}
.dp-hub-links .dp-wrap>a{
  --dp-cluster:#d59000;
  --dp-cluster-soft:#fff8e7;
  background:linear-gradient(90deg,var(--dp-cluster-soft) 0,rgba(255,255,255,.98) 42%);
  border:1px solid #e3ebef;
  border-radius:20px;
  overflow:hidden;
  padding:1.45rem 1.55rem 1.45rem 1.85rem;
  position:relative;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.dp-hub-links .dp-wrap>a::before{
  background:var(--dp-cluster);
  border-radius:0 999px 999px 0;
  bottom:18px;
  content:"";
  left:0;
  position:absolute;
  top:18px;
  width:5px;
}
.dp-hub-links .dp-wrap>a:nth-child(1){--dp-cluster:#df765f;--dp-cluster-soft:#fff3ef}
.dp-hub-links .dp-wrap>a:nth-child(2){--dp-cluster:#5686dc;--dp-cluster-soft:#f2f6ff}
.dp-hub-links .dp-wrap>a:nth-child(3){--dp-cluster:#438b7c;--dp-cluster-soft:#f0f8f5}
.dp-hub-links .dp-wrap>a:nth-child(4){--dp-cluster:#946bc2;--dp-cluster-soft:#f7f2fb}
.dp-hub-links .dp-wrap>a>span,
.dp-hub-links .dp-wrap>a>strong{color:var(--dp-cluster)}
.dp-hub-links .dp-wrap>a:hover,
.dp-hub-links .dp-wrap>a:focus-visible{
  border-color:color-mix(in srgb,var(--dp-cluster) 35%,#dfe8ec);
  box-shadow:0 10px 28px rgba(6,39,71,.08);
  transform:translateY(-1px);
}
.dp-hub-links .dp-wrap>a:focus-visible{outline:3px solid color-mix(in srgb,var(--dp-cluster) 28%,transparent);outline-offset:3px}

@media(max-width:768px){
  .dp-hub-links{padding:2.2rem 0 3.5rem}
  .dp-hub-links .dp-wrap{gap:.75rem}
  .dp-hub-links .dp-wrap>a{padding:1.25rem 1.15rem 1.3rem 1.45rem}
  .dp-hub-links .dp-wrap>a::before{bottom:14px;top:14px;width:4px}
  .dp-hub-links .dp-wrap>a>span{font-size:.78rem!important;line-height:1.4!important}
  .dp-hub-links .dp-wrap>a h2{font-size:1.45rem!important;line-height:1.12!important;margin:.42rem 0 .55rem!important}
  .dp-hub-links .dp-wrap>a p{font-size:.94rem!important;line-height:1.58!important;margin-bottom:.7rem!important}
  .dp-hub-links .dp-wrap>a strong{font-size:.84rem!important;line-height:1.4!important}
}


/* 2.9.15 — Hunde-Adressen hub: pin-led discovery cards, larger type, no directory-row look. */
.dp-hub-links{
  padding:clamp(2.8rem,5vw,5rem) 0;
}
.dp-hub-links .dp-wrap{
  border-top:0;
  gap:1rem;
}
.dp-hub-links .dp-wrap>a{
  --dp-hub-accent:#f9ba18;
  --dp-hub-pin:url("assets/branding/pins/dogplorer-pin-freilauf.png");
  align-items:center;
  background:#fff;
  border:1px solid #e2e9ed;
  border-radius:28px;
  box-shadow:0 8px 26px rgba(6,39,71,.055);
  column-gap:1.45rem;
  display:grid;
  grid-template-columns:92px minmax(0,1fr) auto;
  grid-template-rows:auto auto auto;
  overflow:visible;
  padding:1.65rem 1.7rem;
  position:relative;
  row-gap:.55rem;
  text-decoration:none;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.dp-hub-links .dp-wrap>a::before{
  align-self:center;
  background-color:transparent;
  background-image:var(--dp-hub-pin);
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  border-radius:0;
  bottom:auto;
  content:"";
  filter:drop-shadow(0 7px 10px rgba(6,39,71,.16));
  grid-column:1;
  grid-row:1 / 3;
  height:78px;
  justify-self:center;
  left:auto;
  position:static;
  top:auto;
  transition:transform .18s ease;
  width:78px;
}
.dp-hub-links .dp-wrap>a:nth-child(1){--dp-hub-accent:#ff775b;--dp-hub-pin:url("assets/branding/pins/dogplorer-pin-restaurant.png")}
.dp-hub-links .dp-wrap>a:nth-child(2){--dp-hub-accent:#5e91e8;--dp-hub-pin:url("assets/branding/pins/dogplorer-pin-physio.png")}
.dp-hub-links .dp-wrap>a:nth-child(3){--dp-hub-accent:#45a08c;--dp-hub-pin:url("assets/branding/pins/dogplorer-pin-betreuung.png")}
.dp-hub-links .dp-wrap>a:nth-child(4){--dp-hub-accent:#9a70cf;--dp-hub-pin:url("assets/branding/pins/dogplorer-pin-fellpflege.png")}
.dp-hub-links .dp-wrap>a>span{
  align-self:start;
  color:var(--dp-hub-accent)!important;
  font-size:.82rem!important;
  font-weight:850;
  grid-column:1;
  grid-row:3;
  justify-self:center;
  letter-spacing:0;
  line-height:1.3!important;
  text-align:center;
  text-transform:none;
}
.dp-hub-links .dp-wrap>a h2{
  align-self:end;
  font-family:var(--dp-sans);
  font-size:clamp(1.65rem,2.25vw,2.15rem)!important;
  font-weight:900;
  grid-column:2;
  grid-row:1;
  letter-spacing:-.035em;
  line-height:1.08!important;
  margin:0!important;
  max-width:24ch;
}
.dp-hub-links .dp-wrap>a p{
  align-self:start;
  color:#516774;
  font-size:1rem!important;
  grid-column:2;
  grid-row:2 / 4;
  line-height:1.58!important;
  margin:0!important;
  max-width:66ch;
}
.dp-hub-links .dp-wrap>a>strong{
  align-items:center;
  align-self:center;
  background:#f7f9fa;
  border:1px solid #dce5e9;
  border-radius:14px;
  color:var(--dp-ink)!important;
  display:inline-flex;
  font-size:.9rem!important;
  font-weight:850;
  gap:.35rem;
  grid-column:3;
  grid-row:1 / 4;
  justify-content:center;
  letter-spacing:0;
  min-height:48px;
  padding:.7rem 1rem;
  text-transform:none;
  white-space:nowrap;
}
.dp-hub-links .dp-wrap>a:hover,
.dp-hub-links .dp-wrap>a:focus-visible{
  border-color:#cbd9df;
  box-shadow:0 14px 34px rgba(6,39,71,.09);
  transform:translateY(-2px);
}
.dp-hub-links .dp-wrap>a:hover::before,
.dp-hub-links .dp-wrap>a:focus-visible::before{
  transform:translateY(-2px) scale(1.035);
}
.dp-hub-links .dp-wrap>a:hover>strong,
.dp-hub-links .dp-wrap>a:focus-visible>strong{
  border-color:color-mix(in srgb,var(--dp-hub-accent) 45%,#dce5e9);
}
.dp-hub-links .dp-wrap>a:focus-visible{
  outline:3px solid rgba(6,39,71,.16);
  outline-offset:4px;
}

@media(max-width:900px){
  .dp-hub-links .dp-wrap>a{
    grid-template-columns:78px minmax(0,1fr);
    grid-template-rows:auto auto auto auto;
    padding:1.4rem;
  }
  .dp-hub-links .dp-wrap>a::before{
    grid-column:1;
    grid-row:1;
    height:66px;
    width:66px;
  }
  .dp-hub-links .dp-wrap>a>span{
    align-self:start;
    grid-column:1;
    grid-row:2;
    margin-top:.2rem;
  }
  .dp-hub-links .dp-wrap>a h2{
    align-self:center;
    grid-column:2;
    grid-row:1 / 3;
    max-width:none;
  }
  .dp-hub-links .dp-wrap>a p{
    grid-column:1 / 3;
    grid-row:3;
    margin-top:.45rem!important;
    max-width:none;
  }
  .dp-hub-links .dp-wrap>a>strong{
    grid-column:1 / 3;
    grid-row:4;
    justify-self:start;
    margin-top:.45rem;
  }
}

@media(max-width:520px){
  .dp-hub-links{padding:2.25rem 0 3.4rem}
  .dp-hub-links .dp-wrap{gap:.85rem}
  .dp-hub-links .dp-wrap>a{
    border-radius:22px;
    column-gap:1rem;
    grid-template-columns:66px minmax(0,1fr);
    padding:1.2rem 1.1rem 1.25rem;
    row-gap:.45rem;
  }
  .dp-hub-links .dp-wrap>a::before{height:58px;width:58px}
  .dp-hub-links .dp-wrap>a>span{font-size:.8rem!important}
  .dp-hub-links .dp-wrap>a h2{
    font-size:1.5rem!important;
    line-height:1.1!important;
  }
  .dp-hub-links .dp-wrap>a p{
    font-size:1rem!important;
    line-height:1.55!important;
  }
  .dp-hub-links .dp-wrap>a>strong{
    font-size:.94rem!important;
    min-height:48px;
    padding:.72rem 1rem;
  }
}

/* 2.9.16 — Global readability pass.
 * Dogplorer uses generous editorial type; tiny utility type is reserved only for true metadata.
 * This layer intentionally comes last so older component rules cannot shrink copy back down.
 */
:root{
  --dp-type-body:18px;
  --dp-type-small:.875rem;
  --dp-type-meta:.82rem;
  --dp-type-control:.94rem;
}

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  font-size:var(--dp-type-body)!important;
  line-height:1.68;
}

/* Normal reading copy */
.entry-content p,
.entry-content li,
.dp-reading p,
.dp-reading li,
.dp-page-intro,
.dp-directory-intro,
.dp-directory-guide p:last-child,
.dp-detail-copy,
.dp-detail-copy p,
.dp-location-copy>p:not(.dp-kicker),
.dp-nearby-discovery__head p:not(.dp-kicker),
.dp-trust__intro,
.dp-trust__item span,
.dp-card p,
.dp-topic-card p,
.dp-place-card p,
.dp-profile-list .dp-place-card p,
.dp-hub-links .dp-wrap>a p,
.dp-managed-legal .dp-legal p,
.dp-managed-legal .dp-legal li{
  font-size:1rem!important;
  line-height:1.68!important;
}
.dp-directory-intro{color:#536e7e!important;max-width:70ch}
.dp-detail-copy>p:first-child,
.dp-directory-lead,
.dp-lead{
  font-size:clamp(1.08rem,1.45vw,1.28rem)!important;
  line-height:1.62!important;
}

/* Editorial orientation: visibly subordinate, never micro type */
.dp-crumbs,
.breadcrumbs,
.yoast-breadcrumb,
.dp-kicker,
.dp-eyebrow,
.dp-directory-head .dp-kicker,
.dp-card__meta,
.dp-place-card__meta,
.dp-profile-list .dp-place-card__meta,
.dp-hub-facts>span,
.dp-status-chip,
.dp-detail-status>span,
.dp-profile-badge,
.dp-small,
.dp-source,
.dp-route-note,
.dp-rating small,
.dp-rating-note,
.wp-block-post-template .wp-block-post-date,
.wp-block-image figcaption{
  font-size:var(--dp-type-small)!important;
  line-height:1.5!important;
}
.dp-kicker,.dp-eyebrow,.dp-directory-head .dp-kicker{
  font-size:.82rem!important;
  line-height:1.35!important;
}

/* Buttons, links, filters and form controls */
button,
input[type="submit"],
.wp-block-button__link,
.gb-button,
.dp-button,
.dp-text-action,
.dp-route-links a,
.dp-directory-actions a,
.dp-directory-actions button,
.dp-browse a,
.dp-search-filters a,
.dp-browse-more,
.dp-hub-links .dp-wrap>a>strong,
.dp-contact-actions .dp-button,
.dp-contact-actions .dp-text-action{
  font-size:var(--dp-type-control)!important;
  line-height:1.3!important;
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="search"],
textarea,
select,
.dp-search-row input,
.dp-browse-filter input{
  font-size:1rem!important;
}
.dp-search-form>label,
.dp-hero__search label,
.dp-search-panel__head strong,
.dp-search-panel__head span,
.dp-browse-filter>span,
.dp-browse-count,
.dp-search-suggestions,
.dp-search-suggestions span,
.dp-search-suggestions a,
.dp-search-suggestions[data-dp-search-suggestions] a strong,
.dp-search-suggestions[data-dp-search-suggestions] a small,
.dp-search-suggest-empty{
  font-size:var(--dp-type-meta)!important;
  line-height:1.45!important;
}

/* Directory lists/cards */
.dp-profile-list .dp-place-card h3,
.dp-place-card h3{
  font-size:clamp(1.22rem,1.8vw,1.55rem)!important;
  line-height:1.2!important;
}
.dp-profile-list .dp-place-card__end,
.dp-profile-list .dp-place-card__end strong,
.dp-place-card__end,
.dp-place-card__end strong,
.dp-list-heading,
.dp-list-heading--seo>div>span,
.dp-list-heading small,
.dp-map-title span{
  font-size:var(--dp-type-meta)!important;
  line-height:1.45!important;
}
.dp-map-title strong{font-size:.94rem!important}

/* Detail/profile facts and info panels */
.dp-keyfacts span,
.dp-keyfacts__grid span,
.dp-detail-aside span,
.dp-fact-row span,
.dp-profile-claim>span,
.dp-about-number,
.dp-about-principles span,
.dp-proof-list--text b,
.dp-quickcheck span{
  font-size:var(--dp-type-meta)!important;
  line-height:1.4!important;
}
.dp-keyfacts strong,
.dp-keyfacts__grid strong,
.dp-fact-row strong,
.dp-quickcheck strong{
  font-size:1rem!important;
  line-height:1.5!important;
}
.dp-detail-aside h2,
.dp-side-card h3,
.dp-claim-box h3{
  font-size:1.2rem!important;
  line-height:1.25!important;
}
.dp-detail-aside p,
.dp-location-address,
.dp-profile-claim a,
.dp-area-note{
  font-size:.98rem!important;
  line-height:1.62!important;
}
.dp-source-line p{
  font-size:.9rem!important;
  line-height:1.55!important;
}

/* Dogplorer score/check */
.dp-score-main::before,
.dp-score-main>span,
.dp-score-card .dp-check-row__head>span,
.dp-score-card .dp-check-row__head>strong,
.dp-score-card .dp-check-row__head small,
.dp-check-impression>strong,
.dp-check-breakdown span,
.dp-check-breakdown strong,
.dp-check-breakdown small{
  font-size:var(--dp-type-meta)!important;
  line-height:1.4!important;
}
.dp-check-impression>p{font-size:1rem!important;line-height:1.65!important}

/* Nearby discovery */
.dp-nearby-discovery__subhead span,
.dp-nearby-discovery__subhead small,
.dp-nearby-place__body small,
.dp-nearby-place__body em,
.dp-nearby-place__distance,
.dp-nearby-discovery__more,
.dp-nearby-inline-item,
.dp-nearby-inline-item strong,
.dp-nearby-inline-item em,
.dp-nearby-sheet header small,
.dp-nearby-sheet__list small,
.dp-nearby-sheet__list em{
  font-size:var(--dp-type-meta)!important;
  line-height:1.45!important;
}
.dp-nearby-place__body strong{font-size:1.05rem!important;line-height:1.25!important}

/* Map controls/legend. Attribution remains compact but no longer microscopic. */
.dp-map-filters button,
.dp-map-filters button span,
.dp-map-legend,
.dp-map-legend>span:first-child,
.dp-map-touch-toggle,
.dp-map-loader small,
.dp-map-loader strong,
.dp-map-loader em,
.dp-map-load strong,
.dp-map-load small,
.dp-map-popup small,
.dp-map-popup span,
.dp-map-popup a,
.leaflet-tooltip.dp-focus-label{
  font-size:var(--dp-type-meta)!important;
  line-height:1.35!important;
}
.leaflet-control-attribution{font-size:11px!important;line-height:1.25!important}

/* Footer/navigation */
.main-navigation .main-nav ul li>a,
.menu-toggle,
.main-navigation .menu-bar-item>a{font-size:.94rem!important}
.site-info{font-size:.9rem!important;line-height:1.55!important}

/* Home/topic supporting copy */
.dp-hero__note,
.dp-hero__photo-note,
.dp-card__photo-note,
.dp-photo-label,
.dp-note strong,
.dp-topic-cta,
.dp-text-link,
.dp-index span:last-child,
.dp-trust__item strong{
  font-size:var(--dp-type-small)!important;
}
.dp-topic-card p,.dp-card p{font-size:1rem!important}
.dp-trust__item strong{font-size:1.08rem!important}

/* Hub/pin cards: their copy follows the same reading scale as the rest of Dogplorer. */
.dp-hub-links .dp-wrap>a>span{font-size:.88rem!important}
.dp-hub-links .dp-wrap>a p{font-size:1rem!important;line-height:1.65!important}
.dp-hub-links .dp-wrap>a>strong{font-size:.94rem!important}

@media(max-width:768px){
  :root{
    --dp-type-body:18px;
    --dp-type-small:.86rem;
    --dp-type-meta:.82rem;
    --dp-type-control:.94rem;
  }
  body{font-size:var(--dp-type-body)!important;line-height:1.66!important}

  /* Mobile copy should never collapse to desktop 'fine print'. */
  .dp-directory-intro,
  .dp-directory-guide p:last-child,
  .dp-detail-copy,
  .dp-detail-copy p,
  .dp-detail-aside p,
  .dp-location-copy>p:not(.dp-kicker),
  .dp-nearby-discovery__head p:not(.dp-kicker),
  .dp-card p,
  .dp-topic-card p,
  .dp-place-card p,
  .dp-profile-list .dp-place-card p,
  .dp-hub-links .dp-wrap>a p,
  .dp-managed-legal .dp-legal p,
  .dp-managed-legal .dp-legal li{
    font-size:1rem!important;
    line-height:1.64!important;
  }

  .dp-directory-lead,
  .dp-lead,
  .dp-detail-copy>p:first-child{font-size:1.08rem!important}

  .dp-profile-list .dp-place-card h3,
  .dp-place-card h3{font-size:1.22rem!important}

  .dp-detail-aside h2,.dp-side-card h3,.dp-claim-box h3{font-size:1.18rem!important}
  .dp-keyfacts strong,.dp-keyfacts__grid strong,.dp-fact-row strong{font-size:1rem!important}

  .dp-search-form input,
  .dp-search-row input,
  .dp-browse-filter input,
  .dp-hero__search input{font-size:1rem!important}

  /* Bottom navigation remains compact enough to fit five items but readable. */
  .dp-mobile-dock a,.dp-mobile-dock button{
    font-size:.75rem!important;
    line-height:1.2!important;
  }

  .leaflet-control-attribution{font-size:10px!important}
}

@media(max-width:390px){
  /* Do not reduce body copy on narrow phones; only tighten layout, never type. */
  body{font-size:18px!important}
  .dp-mobile-dock a,.dp-mobile-dock button{font-size:.72rem!important}
}


/* 2.9.17 — Real photos or branded pins, never generic symbol photography. */
.dp-card__media--placeholder{
  align-items:center;
  background:linear-gradient(145deg,#f7fafb 0%,#eef4f6 100%);
  border:1px solid #e1eaee;
  display:flex;
  justify-content:center;
  min-height:220px;
  overflow:hidden;
  position:relative;
}
.dp-card__media--placeholder::before{
  background-image:var(--dp-placeholder-pin);
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  content:"";
  height:clamp(78px,8vw,112px);
  opacity:.96;
  width:clamp(78px,8vw,112px);
}
.dp-card__media--placeholder::after{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(6,39,71,.10);
  border-radius:999px;
  bottom:16px;
  color:#486477;
  content:"Noch kein Vor-Ort-Foto";
  font-size:.88rem;
  font-weight:760;
  left:50%;
  line-height:1.2;
  padding:.5rem .75rem;
  position:absolute;
  transform:translateX(-50%);
  white-space:nowrap;
}
.dp-card__media--placeholder>span{font-size:0;position:absolute}
.dp-hero__picture--placeholder{
  background:
    radial-gradient(circle at 72% 40%,rgba(249,186,24,.22),transparent 25%),
    linear-gradient(135deg,#edf4f6 0%,#f9fbfc 52%,#eef3f5 100%);
}
.dp-hero__picture--placeholder::before{
  background-image:url("assets/branding/pins/dogplorer-pin-freilauf.png");
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  content:"";
  height:min(34vw,300px);
  opacity:.22;
  position:absolute;
  right:8%;
  top:50%;
  transform:translateY(-50%) rotate(4deg);
  width:min(34vw,300px);
}
.dp-editorial__image-placeholder{
  background:
    radial-gradient(circle at 50% 36%,rgba(249,186,24,.16),transparent 28%),
    #eef4f6 url("assets/branding/dogplorer-site-icon.png") center/112px auto no-repeat;
  height:100%;
  min-height:inherit;
  width:100%;
}
.dp-detail-hero.no-image .dp-detail-hero__inner{overflow:hidden;position:relative}
.dp-detail-hero.no-image .dp-detail-hero__inner::after{
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  content:"";
  height:220px;
  opacity:.08;
  pointer-events:none;
  position:absolute;
  right:clamp(20px,7vw,100px);
  top:50%;
  transform:translateY(-50%) rotate(4deg);
  width:220px;
}
.dp-detail--restaurant .dp-detail-hero.no-image .dp-detail-hero__inner::after{background-image:url("assets/branding/pins/dogplorer-pin-restaurant.png")}
.dp-detail--physio .dp-detail-hero.no-image .dp-detail-hero__inner::after{background-image:url("assets/branding/pins/dogplorer-pin-physio.png")}
.dp-detail--betreuung .dp-detail-hero.no-image .dp-detail-hero__inner::after{background-image:url("assets/branding/pins/dogplorer-pin-betreuung.png")}
.dp-detail--fellpflege .dp-detail-hero.no-image .dp-detail-hero__inner::after{background-image:url("assets/branding/pins/dogplorer-pin-fellpflege.png")}
.dp-detail--sport .dp-detail-hero.no-image .dp-detail-hero__inner::after{background-image:url("assets/branding/pins/dogplorer-pin-sport.png")}
.dp-detail--route .dp-detail-hero.no-image .dp-detail-hero__inner::after{background-image:url("assets/branding/pins/dogplorer-pin-route.png")}
.dp-detail--freilauf .dp-detail-hero.no-image .dp-detail-hero__inner::after{background-image:url("assets/branding/pins/dogplorer-pin-freilauf.png")}
.dp-detail-hero.no-image .dp-detail-hero__copy,.dp-detail-hero.no-image .dp-crumbs{position:relative;z-index:1}
@media(max-width:768px){
  .dp-card__media--placeholder{min-height:250px}
  .dp-card__media--placeholder::before{height:92px;width:92px}
  .dp-card__media--placeholder::after{bottom:14px;font-size:.94rem}
  .dp-detail-hero.no-image .dp-detail-hero__inner::after{height:150px;opacity:.055;right:-24px;top:45%;width:150px}
  .dp-hero__picture--placeholder::before{height:180px;right:4%;width:180px}
}

.dp-editorial__image--brand{
  align-items:center;
  background:linear-gradient(145deg,#edf4f6 0%,#f9fbfc 54%,#f3f7f8 100%);
  display:flex;
  justify-content:center;
  position:relative;
}
.dp-editorial__brand-pin{
  background:url("assets/branding/pins/dogplorer-pin-freilauf.png") center/contain no-repeat;
  height:clamp(110px,13vw,180px);
  opacity:.9;
  width:clamp(110px,13vw,180px);
}


/* 2.9.19 — Keep Leaflet maps below persistent site navigation.
 * Leaflet panes/controls use z-index values up to 1000. The sticky site
 * header and mobile dock therefore need their own higher stacking level. */
.site-header{
  isolation:isolate;
  z-index:2000!important;
}
@media (max-width:980px){
  .dp-mobile-dock{
    isolation:isolate;
    z-index:2100!important;
  }
}

/* 3.0.0 — Events mit Hund: date-led, readable discovery cards. */
.dp-events{background:#fff}
.dp-events-hero{background:linear-gradient(135deg,#fff 0%,#f8fbfc 70%,#fff3f8 100%);border-bottom:1px solid #e4ecef;padding:clamp(3.5rem,7vw,6.7rem) 0 clamp(3rem,6vw,5.2rem)}
.dp-events-hero h1{font-family:var(--dp-sans);font-size:clamp(3.2rem,7vw,6.9rem);font-weight:900;letter-spacing:-.07em;line-height:.9;margin:.75rem 0 1.4rem;max-width:9.5ch}
.dp-events-hero .dp-directory-lead{font-size:clamp(1.2rem,1.8vw,1.48rem)!important;line-height:1.55;max-width:760px}
.dp-event-snapshot{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,180px));margin-top:2rem}
.dp-event-snapshot a{background:#fff;border:1px solid #dfe8ec;border-radius:18px;color:var(--dp-ink);display:flex;flex-direction:column;min-height:108px;padding:1rem 1.1rem;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.dp-event-snapshot a:hover{border-color:#cad9df;box-shadow:0 12px 26px rgba(6,39,71,.07);transform:translateY(-2px)}
.dp-event-snapshot strong{font-size:2rem;line-height:1}
.dp-event-snapshot span{color:#536e80;font-size:1rem;font-weight:750;margin-top:auto}
.dp-events-next{color:#49687c;font-size:1.05rem;line-height:1.6;margin:1.4rem 0 0;max-width:780px}
.dp-events-next a{color:var(--dp-ink);font-weight:800}
.dp-event-section{padding:clamp(3.6rem,6vw,5.8rem) 0}
.dp-event-section--weekend{background:#f7fafb;border-bottom:1px solid #e7eef1;border-top:1px solid #e7eef1}
.dp-event-list{display:grid;gap:18px}
.dp-event-card{background:#fff;border:1px solid #dfe8ec;border-radius:24px;box-shadow:0 10px 28px rgba(6,39,71,.045);overflow:hidden}
.dp-event-card__main{align-items:stretch;color:var(--dp-ink);display:grid;grid-template-columns:180px minmax(0,1fr);min-height:220px;text-decoration:none}
.dp-event-card__visual{align-items:center;background:linear-gradient(145deg,#fff4f8,#f7fafb);display:flex;flex-direction:column;gap:.8rem;justify-content:center;padding:1.4rem;position:relative}
.dp-event-card__pin{height:66px;object-fit:contain;width:66px}
.dp-event-date{align-items:center;background:#fff;border:1px solid #e3e9ec;border-radius:16px;box-shadow:0 8px 20px rgba(6,39,71,.07);display:flex;flex-direction:column;justify-content:center;min-height:82px;min-width:92px;padding:.55rem .8rem}
.dp-event-date strong{font-size:1.9rem;font-weight:900;letter-spacing:-.05em;line-height:1}
.dp-event-date span{color:#b83e74;font-size:.95rem;font-weight:900;letter-spacing:.08em;margin-top:.25rem;text-transform:uppercase}
.dp-event-card__copy{display:flex;flex-direction:column;padding:clamp(1.5rem,3vw,2.3rem)}
.dp-event-card__meta{display:flex;flex-wrap:wrap;gap:.55rem;color:#a53668;font-size:1rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.dp-event-card__meta .is-status{color:#a13b2d}
.dp-event-card h3{font-family:var(--dp-sans);font-size:clamp(1.6rem,2.5vw,2.35rem);font-weight:880;letter-spacing:-.045em;line-height:1.05;margin:.55rem 0 .65rem;max-width:26ch}
.dp-event-card__place{color:#405f73;font-size:1.05rem!important;font-weight:700;line-height:1.45;margin:0 0 .7rem}
.dp-event-card__fact{color:#4f6b7d;font-size:1.08rem!important;line-height:1.58;margin:0;max-width:72ch}
.dp-event-card__price{color:#294d65;font-size:1rem!important;font-weight:700;margin:.8rem 0 0}
.dp-event-card__cta{align-self:flex-start;border-bottom:2px solid #d7568a;color:#092f50;font-size:1rem;font-weight:850;margin-top:auto;padding-top:1.1rem}
.dp-event-empty{background:#fff;border:1px dashed #ccdbe1;border-radius:20px;display:flex;flex-direction:column;gap:.3rem;padding:1.4rem 1.5rem}
.dp-event-empty strong{font-size:1.15rem}.dp-event-empty span{color:#567184;font-size:1rem}
.dp-events-map{border-top:1px solid #e7eef1}

.dp-home-events{background:#f8fbfc;border-bottom:1px solid #e7eef1;border-top:1px solid #e7eef1}
.dp-home-event-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
.dp-home-event-grid .dp-event-card__main{display:block;min-height:100%}
.dp-home-event-grid .dp-event-card__visual{align-items:center;flex-direction:row;justify-content:flex-start;min-height:122px;padding:1.15rem 1.35rem}
.dp-home-event-grid .dp-event-card__pin{height:56px;width:56px}
.dp-home-event-grid .dp-event-date{min-height:74px;min-width:84px}
.dp-home-event-grid .dp-event-card__copy{padding:1.35rem}
.dp-home-event-grid .dp-event-card h3{font-size:1.45rem;line-height:1.08;margin-top:.5rem}
.dp-home-event-grid .dp-event-card__fact{font-size:1rem!important}
.dp-home-event-grid .dp-event-card__place{font-size:.98rem!important}

.dp-event-detail{background:#fff}
.dp-event-detail__hero{background:linear-gradient(135deg,#fff 0%,#f8fbfc 72%,#fff6f9 100%);border-bottom:1px solid #e5ecef}
.dp-event-detail__hero-grid{display:grid;padding:0}
.dp-event-detail__hero-grid.has-photo{align-items:stretch;grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);min-height:540px}
.dp-event-detail__hero-grid.has-placeholder{align-items:center;gap:clamp(1.5rem,3vw,3rem);grid-template-columns:minmax(0,1fr) clamp(120px,12vw,160px);min-height:0;padding:clamp(3.6rem,6vw,6rem) 0}
.dp-event-detail__copy{align-self:center;padding:clamp(3.3rem,6vw,6rem) clamp(24px,5vw,70px)}
.dp-event-detail__hero-grid.has-placeholder .dp-event-detail__copy{padding:0}
.dp-event-detail__copy h1{font-family:var(--dp-sans);font-size:clamp(3rem,5vw,5.35rem);font-weight:900;hyphens:auto;letter-spacing:-.065em;line-height:.94;margin:.8rem 0 1rem;max-width:18ch;overflow-wrap:break-word;word-break:normal}
.dp-event-detail__hero-grid.has-photo .dp-event-detail__copy h1{font-size:clamp(2.9rem,4.7vw,5.05rem);max-width:16ch}
.dp-event-detail__copy .dp-detail-lead{font-size:clamp(1.18rem,1.65vw,1.36rem)!important;line-height:1.55;max-width:720px}
.dp-event-detail__visual{overflow:hidden}
.dp-event-detail__hero-grid.has-photo .dp-event-detail__visual{min-height:540px}
.dp-event-detail__visual>img{height:100%;object-fit:cover;width:100%}
.dp-event-detail__hero-grid.has-placeholder .dp-event-detail__visual{align-self:center;background:transparent;border:0;border-radius:0;box-shadow:none;justify-self:end;min-height:0;overflow:visible;width:auto}
.dp-event-detail__placeholder{align-items:center;background:transparent;display:flex;flex-direction:column;height:auto;justify-content:center;min-height:0;padding:0}
.dp-event-detail__placeholder img{display:block;height:96px;width:96px}.dp-event-detail__placeholder span{color:#617b8d;font-size:1rem;font-weight:800;margin-top:.65rem;white-space:nowrap}
.dp-event-detail__date-line{align-items:center;display:flex;gap:1rem;margin-top:1.6rem}
.dp-event-detail__date-line>div{display:flex;flex-direction:column;gap:.25rem}.dp-event-detail__date-line>div strong{font-size:1.25rem}.dp-event-detail__date-line>div span{color:#537083;font-size:1.05rem}
.dp-event-status{display:inline-block;font-size:1rem;font-weight:850;margin:1rem 0 0;padding:.55rem .75rem;background:#fff0eb;border-radius:10px;color:#933b28}
.dp-event-detail__layout{align-items:start;display:grid;gap:clamp(2.6rem,5vw,5rem);grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr)}
.dp-event-detail .dp-detail-copy{font-size:1.12rem!important;line-height:1.72}
.dp-event-detail .dp-detail-copy p{font-size:1.12rem!important;line-height:1.72}
.dp-event-detail .dp-detail-copy h2{font-size:clamp(2rem,3vw,2.75rem);margin:0 0 1rem}
.dp-event-detail .dp-detail-copy h2:not(:first-child){margin-top:2.5rem}
.dp-event-dog-note{background:#fff4f8;border:1px solid #f0d4e0;border-radius:20px;margin:2.2rem 0;padding:1.35rem 1.5rem}
.dp-event-dog-note>span{color:#aa386b;display:block;font-size:1rem;font-weight:900;letter-spacing:.06em;margin-bottom:.4rem;text-transform:uppercase}
.dp-event-dog-note p{color:#294c63;margin:0!important}
.dp-event-info{background:#f8fbfc;border:1px solid #dfe8ec;border-radius:22px;padding:1.4rem 1.5rem;position:sticky;top:105px}
.dp-event-info h2{font-family:var(--dp-sans);font-size:1.4rem;font-weight:880;margin:.1rem 0 .8rem}
.dp-event-info dl{margin:0}.dp-event-info dl>div{border-top:1px solid #e0e8ec;padding:.9rem 0}.dp-event-info dt{color:#6a8290;font-size:1rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.dp-event-info dd{color:#294e66;font-size:1.08rem;line-height:1.5;margin:.25rem 0 0}.dp-event-book{display:flex;justify-content:center;margin-top:1rem;text-align:center;width:100%}
.dp-source-note{background:#f6f9fa;border-top:1px solid #e2eaee;padding:1.2rem 0}.dp-source-note p{color:#617988;font-size:1rem!important;line-height:1.6;margin:0}.dp-source-note a{color:#244d68;font-weight:700}

@media(max-width:980px){
  .dp-home-event-grid{grid-template-columns:1fr}
  .dp-event-detail__hero-grid.has-photo{grid-template-columns:1fr}.dp-event-detail__hero-grid.has-placeholder{gap:1.5rem;grid-template-columns:minmax(0,1fr) 130px;padding:3rem 0}.dp-event-detail__hero-grid.has-photo .dp-event-detail__visual{min-height:380px}.dp-event-detail__layout{grid-template-columns:1fr}.dp-event-info{position:static}
}
@media(max-width:768px){
  .dp-events-hero{padding:2.8rem 0 2.6rem}.dp-events-hero h1{font-size:clamp(3rem,14vw,4.6rem);max-width:10ch;overflow-wrap:anywhere}
  .dp-events-hero .dp-directory-lead{font-size:1.08rem!important;line-height:1.6}
  .dp-event-snapshot{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dp-event-snapshot a{min-height:96px;padding:.8rem}.dp-event-snapshot strong{font-size:1.65rem}.dp-event-snapshot span{font-size:1rem;line-height:1.25}
  .dp-event-section{padding:3rem 0}.dp-event-card{border-radius:20px}
  .dp-event-card__main{grid-template-columns:106px minmax(0,1fr);min-height:0}.dp-event-card__visual{gap:.55rem;padding:1rem .65rem}.dp-event-card__pin{height:52px;width:52px}.dp-event-date{min-height:70px;min-width:76px;padding:.45rem}.dp-event-date strong{font-size:1.6rem}.dp-event-date span{font-size:.9rem}
  .dp-event-card__copy{padding:1.2rem 1rem}.dp-event-card__meta{font-size:.95rem}.dp-event-card h3{font-size:1.45rem;overflow-wrap:anywhere}.dp-event-card__place,.dp-event-card__fact,.dp-event-card__price{font-size:1rem!important;line-height:1.55}.dp-event-card__cta{font-size:1rem}
  .dp-home-event-grid .dp-event-card__visual{min-height:106px;padding:1rem}.dp-home-event-grid .dp-event-card h3{font-size:1.45rem}
  .dp-event-detail__copy{padding:2.7rem 18px}.dp-event-detail__hero-grid.has-placeholder{grid-template-columns:1fr;padding:2.7rem 18px}.dp-event-detail__hero-grid.has-placeholder .dp-event-detail__copy{padding:0}.dp-event-detail__copy h1,.dp-event-detail__hero-grid.has-photo .dp-event-detail__copy h1{font-size:clamp(2.65rem,11.5vw,3.8rem);max-width:none;overflow-wrap:break-word}.dp-event-detail__hero-grid.has-photo .dp-event-detail__visual{min-height:300px}.dp-event-detail__hero-grid.has-placeholder .dp-event-detail__visual{justify-self:start;margin-top:.35rem;max-width:none;width:auto}.dp-event-detail__placeholder{align-items:center;flex-direction:row;gap:.7rem;justify-content:flex-start;min-height:0;padding:0}.dp-event-detail__placeholder img{height:58px;width:58px}.dp-event-detail__placeholder span{font-size:1rem;margin-top:0;white-space:normal}
  .dp-event-detail__date-line>div strong{font-size:1.12rem}.dp-event-detail__date-line>div span{font-size:1rem}
  .dp-event-detail .dp-detail-copy,.dp-event-detail .dp-detail-copy p{font-size:1.08rem!important;line-height:1.72}.dp-event-info{padding:1.25rem}.dp-event-info h2{font-size:1.4rem}.dp-event-info dt{font-size:1rem}.dp-event-info dd{font-size:1.08rem}
  .dp-source-note p{font-size:1rem!important}
}
@media(max-width:430px){
  .dp-event-snapshot{grid-template-columns:1fr 1fr}.dp-event-snapshot a:last-child{grid-column:1/-1}.dp-event-card__main{grid-template-columns:92px minmax(0,1fr)}.dp-event-card__visual{padding:.9rem .45rem}.dp-event-card__pin{height:44px;width:44px}.dp-event-date{min-width:68px}.dp-event-card__copy{padding:1.05rem .9rem}
}


/* 3.0.4 — Event hero placeholder: integrate the event pin into the kicker.
 * A missing photo should not create a decorative second hero column. */
.dp-event-detail__hero-grid.has-placeholder{
  display:block;
  min-height:0;
  padding:clamp(3.6rem,6vw,6rem) 0;
}
.dp-event-detail__hero-grid.has-placeholder .dp-event-detail__copy{
  max-width:940px;
  padding:0;
}
.dp-event-detail__hero-grid.has-placeholder .dp-event-detail__visual{
  display:none!important;
}
.dp-event-detail__hero-grid.has-placeholder .dp-kicker{
  align-items:center;
  gap:.7rem;
}
.dp-event-detail__hero-grid.has-placeholder .dp-kicker::before{
  background-color:transparent;
  background-image:url("assets/branding/pins/dogplorer-pin-event.png");
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  border-radius:0;
  flex:0 0 auto;
  height:30px;
  width:30px;
}
.dp-event-detail__hero-grid.has-placeholder .dp-event-detail__copy h1{
  max-width:14ch;
}
@media(max-width:768px){
  .dp-event-detail__hero-grid.has-placeholder{
    padding:2.7rem 18px;
  }
  .dp-event-detail__hero-grid.has-placeholder .dp-event-detail__copy{
    max-width:none;
  }
  .dp-event-detail__hero-grid.has-placeholder .dp-kicker{
    gap:.55rem;
  }
  .dp-event-detail__hero-grid.has-placeholder .dp-kicker::before{
    height:27px;
    width:27px;
  }
  .dp-event-detail__hero-grid.has-placeholder .dp-event-detail__copy h1{
    max-width:none;
  }
}


/* Freilaufflächen: geprüfter Parkplatz-/Einstiegspunkt */
.dp-parking-pin{background:transparent!important;border:0!important}
.dp-parking-pin span{align-items:center;background:#fff;border:3px solid var(--dp-ink);border-radius:50%;box-shadow:0 5px 16px rgba(6,39,71,.18);color:var(--dp-ink);display:flex;font-size:16px;font-weight:950;height:36px;justify-content:center;line-height:1;width:36px}
.dp-map-popup--parking strong{color:var(--dp-ink);display:block;font-size:15px;line-height:1.25;margin-top:2px}


/* ==========================================================================
   Detail hero
   The hero is a real two-column composition: text and image no longer overlap.
   ========================================================================== */

/* Detail hero: contained, quieter, and collision-proof. */
.dp-detail-hero,
.dp-detail-hero.has-image{
  background:#fff!important;
  border-bottom:1px solid #e5edf1!important;
  display:block!important;
  min-height:0!important;
  overflow:visible!important;
}
.dp-detail-hero__layout{
  align-items:center;
  display:grid;
  gap:clamp(28px,4vw,64px);
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  max-width:1340px;
  padding-block:clamp(34px,4.5vw,64px);
}
.dp-detail-hero__inner,
.dp-detail-hero.has-image .dp-detail-hero__inner{
  display:block!important;
  grid-column:auto!important;
  grid-row:auto!important;
  min-height:0!important;
  padding:0!important;
  position:relative!important;
  width:auto!important;
}
.dp-detail-hero__copy{
  max-width:610px;
  min-width:0;
}
.dp-detail-hero h1,
.dp-detail-hero.has-image h1{
  font-family:var(--dp-sans)!important;
  font-size:clamp(2.65rem,3.35vw,4.05rem)!important;
  font-weight:900!important;
  letter-spacing:-.06em!important;
  line-height:.96!important;
  margin:0 0 1rem!important;
  max-width:15ch!important;
  overflow-wrap:normal!important;
  text-wrap:balance;
  word-break:normal!important;
}
.dp-detail-hero .dp-crumbs{
  margin-bottom:1.45rem;
}
.dp-detail-hero .dp-kicker{
  margin-bottom:.7rem;
}
.dp-detail-lead,
.dp-detail-hero.has-image .dp-detail-lead{
  color:#536c7d!important;
  font-size:clamp(.98rem,1.15vw,1.1rem)!important;
  line-height:1.58!important;
  max-width:52ch!important;
}
.dp-detail-hero__image,
.dp-detail-hero.has-image .dp-detail-hero__image{
  aspect-ratio:4/3;
  border-radius:28px;
  box-shadow:0 20px 52px rgba(8,44,80,.11);
  grid-column:auto!important;
  height:auto!important;
  inset:auto!important;
  margin:0!important;
  min-height:0!important;
  overflow:hidden;
  position:relative!important;
  width:100%!important;
}
.dp-detail-hero__image img,
.dp-detail-hero.has-image .dp-detail-hero__image img{
  border-radius:0!important;
  display:block;
  height:100%!important;
  min-height:0!important;
  object-fit:cover;
  width:100%!important;
}
.dp-detail-hero.no-image .dp-detail-hero__layout{
  grid-template-columns:minmax(0,760px);
  padding-block:clamp(44px,6vw,82px);
}
.dp-detail-hero.no-image .dp-detail-hero__inner{
  background:transparent!important;
  min-height:0!important;
  overflow:visible!important;
  padding:0!important;
}
.dp-detail-hero.no-image .dp-detail-hero__inner::after{display:none!important}

/* Keep the fact strip visually separate from the hero rather than attached to
   the photograph's lower edge. */
.dp-keyfacts{
  padding:22px 0 0!important;
}
.dp-keyfacts__grid{
  border-radius:20px!important;
}

/* ==========================================================================
   3.0.16 — Dogplorer gallery
   One implementation only. The server groups photos into editorial rows.
   Pair rows use each photo's real aspect ratio as flex-grow so both images
   finish at the same visual height without cropping or distortion.
   ========================================================================== */
.dp-gallery-section{
  background:#fbfaf7;
  border-top:1px solid #e4ecef;
  padding:clamp(3.6rem,6vw,6.2rem) 0;
}
.dp-gallery-head{
  align-items:end;
  display:flex;
  gap:1rem;
  justify-content:space-between;
  margin-bottom:clamp(1.7rem,3vw,2.6rem);
}
.dp-gallery-head>div{max-width:60ch}
.dp-gallery-head h2{
  font-family:var(--dp-sans);
  font-size:clamp(2rem,3.3vw,3.25rem);
  font-weight:900;
  letter-spacing:-.055em;
  line-height:1;
  margin:0;
  max-width:18ch;
}
.dp-gallery-note{
  background:var(--dp-soft);
  border-radius:999px;
  color:var(--dp-muted);
  flex:0 0 auto;
  font-size:.76rem;
  font-weight:800;
  line-height:1.35;
  padding:.45rem .65rem;
  white-space:nowrap;
}
.dp-shot-stream{
  display:flex;
  flex-direction:column;
  gap:clamp(30px,4.2vw,58px);
  width:100%;
}
.dp-shot-row{
  --dp-shot-gap:clamp(16px,2vw,28px);
  align-items:flex-start;
  display:flex;
  gap:var(--dp-shot-gap);
  width:100%;
}
.dp-shot-row--lead,
.dp-shot-row--solo{justify-content:center}
.dp-shot-row--solo.is-offset-left{justify-content:flex-start;padding-left:6%}
.dp-shot-row--solo.is-offset-right{justify-content:flex-end;padding-right:6%}
.dp-shot-card{
  background:transparent;
  display:block;
  margin:0;
  min-width:0;
  padding:0;
}
.dp-shot-row--pair .dp-shot-card{
  flex:var(--dp-grow,1.3333) 1 0;
}
.dp-shot-row--lead .dp-shot-card{
  width:min(86%,1120px);
}
.dp-shot-row--solo .dp-shot-card.is-landscape{width:min(72%,930px)}
.dp-shot-row--solo .dp-shot-card.is-square{width:min(54%,700px)}
.dp-shot-row--solo .dp-shot-card.is-portrait{width:min(42%,540px)}
.dp-shot-trigger{
  background:transparent;
  border:0;
  cursor:zoom-in;
  display:block;
  line-height:0;
  margin:0;
  padding:0;
  width:100%;
}
.dp-shot-trigger img,
.entry-content .dp-shot-trigger img{
  aspect-ratio:auto;
  border:0;
  border-radius:20px;
  box-shadow:0 12px 30px rgba(8,44,80,.08);
  contain-intrinsic-size:none!important;
  display:block;
  height:auto!important;
  margin:0;
  max-height:none!important;
  max-width:100%;
  min-height:0!important;
  object-fit:contain;
  padding:0;
  width:100%!important;
}
.dp-shot-caption{
  color:#536b7b;
  font-family:var(--dp-sans);
  font-size:clamp(.84rem,1vw,.96rem);
  font-weight:400;
  line-height:1.5;
  margin:10px 4px 0;
  padding:0;
}
.dp-shot-trigger:focus-visible{
  outline:3px solid var(--dp-sun);
  outline-offset:5px;
}
.dp-lightbox__caption{align-items:flex-start;font-size:.84rem!important;line-height:1.5}
.dp-lightbox__title{max-width:80ch}

@media(max-width:820px){
  .dp-gallery-head{align-items:flex-start;flex-direction:column}
  .dp-gallery-note{align-self:flex-start}
  .dp-shot-row{--dp-shot-gap:18px}
  .dp-shot-row--lead .dp-shot-card{width:100%}
  .dp-shot-row--solo.is-offset-left,
  .dp-shot-row--solo.is-offset-right{padding-left:0;padding-right:0}
  .dp-shot-row--solo .dp-shot-card.is-landscape{width:82%}
  .dp-shot-row--solo .dp-shot-card.is-square{width:66%}
  .dp-shot-row--solo .dp-shot-card.is-portrait{width:52%}
}
@media(max-width:680px){
  .dp-shot-stream{gap:30px}
  .dp-shot-row,
  .dp-shot-row--pair,
  .dp-shot-row--lead,
  .dp-shot-row--solo{
    display:block;
    padding:0!important;
  }
  .dp-shot-card,
  .dp-shot-row--lead .dp-shot-card,
  .dp-shot-row--solo .dp-shot-card.is-landscape,
  .dp-shot-row--solo .dp-shot-card.is-square,
  .dp-shot-row--solo .dp-shot-card.is-portrait{
    display:block;
    margin:0 0 30px;
    width:100%;
  }
  .dp-shot-row .dp-shot-card:last-child{margin-bottom:0}
}


/* ==========================================================================
   3.0.17 — mobile detail hero
   Mobile is deliberately one column. No desktop grid survives below 768px.
   ========================================================================== */
@media(max-width:768px){
  .dp-detail-hero.has-image .dp-detail-hero__layout,
  .dp-detail-hero__layout{
    align-items:stretch!important;
    display:flex!important;
    flex-direction:column!important;
    gap:24px!important;
    grid-template-columns:none!important;
    padding-block:30px 34px!important;
  }
  .dp-detail-hero__inner,
  .dp-detail-hero.has-image .dp-detail-hero__inner{
    display:block!important;
    min-height:0!important;
    order:1!important;
    padding:0!important;
    width:100%!important;
  }
  .dp-detail-hero__copy{
    max-width:none!important;
    width:100%!important;
  }
  .dp-detail-hero .dp-crumbs{
    font-size:.78rem!important;
    gap:.42rem!important;
    margin:0 0 1.15rem!important;
  }
  .dp-detail-hero .dp-kicker{
    font-size:.76rem!important;
    line-height:1.35!important;
    margin:0 0 .8rem!important;
  }
  .dp-detail-hero h1,
  .dp-detail-hero.has-image h1{
    font-size:clamp(2.25rem,10.2vw,2.85rem)!important;
    letter-spacing:-.055em!important;
    line-height:.96!important;
    margin:0 0 1rem!important;
    max-width:100%!important;
    overflow-wrap:normal!important;
    text-wrap:balance!important;
    word-break:normal!important;
  }
  .dp-detail-lead,
  .dp-detail-hero.has-image .dp-detail-lead{
    font-size:1rem!important;
    line-height:1.55!important;
    margin-bottom:1rem!important;
    max-width:34ch!important;
  }
  .dp-detail-hero__image,
  .dp-detail-hero.has-image .dp-detail-hero__image{
    aspect-ratio:4/3!important;
    border-radius:22px!important;
    height:auto!important;
    margin:0!important;
    max-width:none!important;
    min-height:0!important;
    order:2!important;
    overflow:hidden!important;
    width:100%!important;
  }
  .dp-detail-hero__image img,
  .dp-detail-hero.has-image .dp-detail-hero__image img{
    display:block!important;
    height:100%!important;
    max-height:none!important;
    min-height:0!important;
    object-fit:cover!important;
    width:100%!important;
  }
  .dp-keyfacts{padding-top:18px!important}
}
@media(max-width:430px){
  .dp-detail-hero__layout{gap:20px!important;padding-block:26px 30px!important}
  .dp-detail-hero h1,
  .dp-detail-hero.has-image h1{
    font-size:clamp(2.12rem,10.6vw,2.55rem)!important;
    line-height:.97!important;
  }
  .dp-detail-hero__image,
  .dp-detail-hero.has-image .dp-detail-hero__image{border-radius:18px!important}
}


/* ==========================================================================
   3.0.18 — compact homepage browse navigation on small phones
   Five primary destinations stay visible instead of disappearing off-screen.
   ========================================================================== */
@media(max-width:560px){
  .home .dp-browse{
    overflow:visible!important;
    padding-block:.65rem!important;
  }
  .home .dp-browse .dp-wrap{
    overflow:visible!important;
  }
  .home .dp-browse__inner{
    display:grid!important;
    grid-template-columns:repeat(3,max-content)!important;
    justify-content:start!important;
    column-gap:clamp(.9rem,4vw,1.25rem)!important;
    row-gap:.08rem!important;
    margin-inline:0!important;
    overflow:visible!important;
    padding-inline:0!important;
    width:100%!important;
  }
  .home .dp-browse a,
  .home .dp-browse a:first-child{
    flex:none!important;
    font-size:.76rem!important;
    line-height:1.2!important;
    min-width:0!important;
    padding:.62rem 0 .5rem!important;
    white-space:nowrap!important;
  }
}
@media(max-width:350px){
  .home .dp-browse__inner{
    column-gap:.72rem!important;
  }
  .home .dp-browse a,
  .home .dp-browse a:first-child{
    font-size:.72rem!important;
  }
}


/* 3.0.31: travel icon markers cleaned; no residual Auto/OEPNV text. */
.dp-detail--freilauf .dp-detail-aside{
  background:#fff!important;
  border:1px solid rgba(6,39,71,.12)!important;
  border-radius:14px!important;
  box-shadow:0 16px 38px rgba(6,39,71,.065)!important;
  padding:1.15rem 1.1rem!important;
}
.dp-detail--freilauf .dp-detail-aside>h2{
  color:var(--dp-ink)!important;
  font-family:var(--dp-sans)!important;
  font-size:1.08rem!important;
  font-weight:760!important;
  letter-spacing:-.025em!important;
  line-height:1.2!important;
  margin:.05rem 0 .65rem!important;
}
.dp-detail--freilauf .dp-detail-aside>div:not(.dp-travel):not(.dp-contact-actions){
  border-top:1px solid rgba(6,39,71,.11)!important;
  border-bottom:0!important;
  margin:0!important;
  padding:.9rem 0 .1rem!important;
}
.dp-detail-aside>div.dp-travel{
  background:transparent!important;
  border:0!important;
  border-bottom:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-family:var(--dp-sans)!important;
  margin:.55rem 0 0!important;
  overflow:visible!important;
  padding:0!important;
}
/* Reset the old .dp-detail-aside span rule inside the modern travel block. */
.dp-detail-aside .dp-travel span:not(.dp-travel__mode){
  color:inherit!important;
  display:inline!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  letter-spacing:inherit!important;
  line-height:inherit!important;
  margin:0!important;
  text-transform:none!important;
}
.dp-travel__heading{
  color:var(--dp-ink)!important;
  font-family:var(--dp-sans)!important;
  font-size:1rem!important;
  font-weight:720!important;
  letter-spacing:-.02em!important;
  line-height:1.25!important;
  margin:0!important;
  padding:.15rem 0 .72rem!important;
}
.dp-travel__section{
  border-top:1px solid rgba(6,39,71,.13)!important;
  margin:0!important;
  padding:.95rem 0 1rem!important;
}
.dp-travel__section-head{
  align-items:start!important;
  display:grid!important;
  gap:.7rem!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  margin:0!important;
}
.dp-detail-aside .dp-travel__mode{
  align-items:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  color:var(--dp-ink)!important;
  display:inline-flex!important;
  flex:0 0 30px!important;
  height:30px!important;
  justify-content:center!important;
  line-height:1!important;
  min-height:0!important;
  padding:0!important;
  width:30px!important;
}
.dp-detail-aside .dp-travel__mode::before{
  background:currentColor!important;
  content:""!important;
  display:block!important;
  height:24px!important;
  -webkit-mask:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 16V11l2-5h10l2 5v5'/%3E%3Cpath d='M5 12h14M7 16h10'/%3E%3Ccircle cx='7.5' cy='17.5' r='1.5'/%3E%3Ccircle cx='16.5' cy='17.5' r='1.5'/%3E%3C/svg%3E")!important;
  mask:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 16V11l2-5h10l2 5v5'/%3E%3Cpath d='M5 12h14M7 16h10'/%3E%3Ccircle cx='7.5' cy='17.5' r='1.5'/%3E%3Ccircle cx='16.5' cy='17.5' r='1.5'/%3E%3C/svg%3E")!important;
  width:24px!important;
}
.dp-travel__section--transit .dp-travel__mode{
  background:transparent!important;
  color:var(--dp-sun)!important;
}
.dp-travel__section--transit .dp-travel__mode::before{
  height:25px!important;
  -webkit-mask:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3.5' width='14' height='15' rx='2.5'/%3E%3Cpath d='M8 7h8M7 13h10M8 18.5l-2 2M16 18.5l2 2'/%3E%3Ccircle cx='8.5' cy='15.5' r='.8' fill='black' stroke='none'/%3E%3Ccircle cx='15.5' cy='15.5' r='.8' fill='black' stroke='none'/%3E%3C/svg%3E")!important;
  mask:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3.5' width='14' height='15' rx='2.5'/%3E%3Cpath d='M8 7h8M7 13h10M8 18.5l-2 2M16 18.5l2 2'/%3E%3Ccircle cx='8.5' cy='15.5' r='.8' fill='black' stroke='none'/%3E%3Ccircle cx='15.5' cy='15.5' r='.8' fill='black' stroke='none'/%3E%3C/svg%3E")!important;
  width:25px!important;
}
.dp-travel__section-head strong{
  color:var(--dp-ink)!important;
  display:block!important;
  font-family:var(--dp-sans)!important;
  font-size:.94rem!important;
  font-weight:740!important;
  letter-spacing:-.018em!important;
  line-height:1.32!important;
  margin:.06rem 0 0!important;
}
.dp-detail-aside .dp-travel__lines{
  color:#657d89!important;
  display:block!important;
  font-family:var(--dp-sans)!important;
  font-size:.8rem!important;
  font-weight:480!important;
  letter-spacing:0!important;
  line-height:1.4!important;
  margin:.18rem 0 0!important;
  text-transform:none!important;
}
.dp-detail-aside .dp-travel__copy{
  color:#466373!important;
  font-family:var(--dp-sans)!important;
  font-size:.88rem!important;
  font-weight:420!important;
  letter-spacing:0!important;
  line-height:1.58!important;
  margin:.72rem 0 .82rem!important;
  padding:0!important;
}
.dp-travel__actions{
  display:grid!important;
  gap:.5rem!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  margin:.74rem 0 0!important;
}
.dp-travel__action{
  align-items:center!important;
  background:#fff!important;
  border:1px solid rgba(6,39,71,.16)!important;
  border-radius:9px!important;
  box-shadow:none!important;
  color:var(--dp-ink)!important;
  display:flex!important;
  font-family:var(--dp-sans)!important;
  font-size:.84rem!important;
  font-weight:680!important;
  gap:.55rem!important;
  justify-content:space-between!important;
  letter-spacing:-.012em!important;
  line-height:1.25!important;
  min-height:48px!important;
  min-width:0!important;
  padding:.7rem .78rem!important;
  text-decoration:none!important;
  text-transform:none!important;
  transition:background .16s ease,border-color .16s ease,transform .16s ease!important;
}
.dp-detail-aside .dp-travel__action span{
  color:inherit!important;
  display:inline!important;
  font-family:var(--dp-sans)!important;
  font-size:.84rem!important;
  font-weight:680!important;
  letter-spacing:-.012em!important;
  line-height:1.25!important;
  margin:0!important;
  text-transform:none!important;
}
.dp-travel__action i{
  color:inherit!important;
  flex:0 0 auto!important;
  font-size:.8rem!important;
  font-style:normal!important;
  font-weight:500!important;
  line-height:1!important;
}
.dp-travel__section--car .dp-travel__action.is-primary{
  background:var(--dp-ink)!important;
  border-color:var(--dp-ink)!important;
  color:#fff!important;
}
.dp-travel__section--transit .dp-travel__action.is-primary{
  background:var(--dp-sun)!important;
  border-color:var(--dp-sun)!important;
  color:var(--dp-ink)!important;
}
.dp-travel__action:hover,
.dp-travel__action:focus-visible{
  background:#f7fafc!important;
  border-color:rgba(6,39,71,.32)!important;
  box-shadow:none!important;
  transform:translateY(-1px)!important;
}
.dp-travel__section--car .dp-travel__action.is-primary:hover,
.dp-travel__section--car .dp-travel__action.is-primary:focus-visible{
  background:#0b355d!important;
  border-color:#0b355d!important;
  color:#fff!important;
}
.dp-travel__section--transit .dp-travel__action.is-primary:hover,
.dp-travel__section--transit .dp-travel__action.is-primary:focus-visible{
  background:#f2b300!important;
  border-color:#f2b300!important;
}
@media(max-width:420px){
  .dp-travel__actions{grid-template-columns:1fr!important}
  .dp-travel__action,.dp-detail-aside .dp-travel__action span{font-size:.86rem!important}
  .dp-travel__action{min-height:46px!important}
  .dp-detail-aside .dp-travel__copy{font-size:.9rem!important}
}


/* 3.0.35 — Dogplorer Check: score and reasoning belong together */
.dp-review{
  --dp-review-line:#dce6eb;
  border-bottom:1px solid var(--dp-review-line);
  border-top:1px solid var(--dp-review-line);
  color:var(--dp-ink);
  margin-top:.25rem;
  padding:1.55rem 0 0;
}
.dp-review__summary{
  align-items:start;
  display:grid;
  gap:clamp(2rem,4vw,4rem);
  grid-template-columns:minmax(145px,175px) minmax(0,1fr);
  padding-bottom:1.45rem;
}
.dp-review__score{min-width:0}
.dp-review__label{
  color:#6c8090;
  display:block;
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.075em;
  margin-bottom:.45rem;
  text-transform:uppercase;
}
.dp-review__value{
  align-items:baseline;
  display:flex;
  gap:.35rem;
  position:relative;
  width:max-content;
}
.dp-review__value::after{
  background:var(--dp-sun);
  bottom:-.46rem;
  content:"";
  height:5px;
  left:.05rem;
  position:absolute;
  width:58px;
}
.dp-review__value>strong{
  color:var(--dp-ink);
  font-family:var(--dp-sans);
  font-size:clamp(3.3rem,6vw,5rem);
  font-variant-numeric:tabular-nums;
  font-weight:900;
  letter-spacing:-.075em;
  line-height:.9;
}
.dp-review__value>span{
  color:#6b8090;
  font-size:.9rem;
  font-weight:750;
}
.dp-review__weight{
  color:#344f61;
  font-size:.8rem;
  font-weight:800;
  margin:1.05rem 0 .08rem;
}
.dp-review__average{
  color:#768a97;
  font-size:.76rem;
  line-height:1.4;
  margin:0;
}
.dp-review__breakdown{
  border-left:1px solid var(--dp-review-line);
  display:grid;
  gap:0;
  padding-left:clamp(1.4rem,3vw,2.4rem);
}
.dp-review__row{
  border-bottom:1px solid #edf1f3;
  padding:.2rem 0 .9rem;
}
.dp-review__row + .dp-review__row{padding-top:.85rem}
.dp-review__row:last-child{
  border-bottom:0;
  padding-bottom:.15rem;
}
.dp-review__row-main{
  align-items:start;
  display:grid;
  gap:1rem;
  grid-template-columns:minmax(0,1fr) auto;
  margin-bottom:.52rem;
}
.dp-review__row-copy{min-width:0}
.dp-review__row-copy>span{
  color:#29485b;
  display:block;
  font-size:.84rem;
  font-weight:850;
  line-height:1.25;
  margin-bottom:.12rem;
}
.dp-review__row-copy>small{
  color:#738792;
  display:block;
  font-size:.74rem;
  font-weight:500;
  line-height:1.38;
  max-width:64ch;
}
.dp-review__row-main>strong{
  color:var(--dp-ink);
  font-size:.88rem;
  font-variant-numeric:tabular-nums;
  font-weight:850;
  white-space:nowrap;
}
.dp-review__row-main>strong small{
  color:#8495a0;
  font-size:.7rem;
  font-weight:700;
}
.dp-review__track{
  background:#e8eef1;
  border-radius:999px;
  height:6px;
  overflow:hidden;
}
.dp-review__track>span{
  background:var(--dp-sun);
  border-radius:inherit;
  display:block;
  height:100%;
  min-width:6px;
}
.dp-review__note{
  align-items:start;
  border-top:1px solid var(--dp-review-line);
  display:grid;
  gap:1rem 1.6rem;
  grid-template-columns:120px minmax(0,1fr);
  padding:1.15rem 0 1.3rem;
}
.dp-review__note>span{
  color:#6b8090;
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.075em;
  padding-top:.16rem;
  text-transform:uppercase;
}
.dp-review__note>p{
  border-left:3px solid var(--dp-sun);
  color:#315366;
  font-size:.96rem;
  line-height:1.65;
  margin:0;
  max-width:66ch;
  padding-left:1rem;
}
@media(max-width:760px){
  .dp-review{padding-top:1.25rem}
  .dp-review__summary{
    gap:1.45rem;
    grid-template-columns:1fr;
    padding-bottom:1.2rem;
  }
  .dp-review__score{
    align-items:end;
    display:grid;
    grid-template-columns:1fr auto;
  }
  .dp-review__label{grid-column:1/-1}
  .dp-review__weight{
    align-self:end;
    grid-column:2;
    grid-row:2;
    margin:0 0 .18rem;
    text-align:right;
  }
  .dp-review__average{
    grid-column:1/-1;
    margin-top:.75rem;
  }
  .dp-review__value>strong{font-size:3.45rem}
  .dp-review__breakdown{
    border-left:0;
    border-top:1px solid var(--dp-review-line);
    padding-left:0;
    padding-top:.9rem;
  }
  .dp-review__row-copy>small{font-size:.75rem}
  .dp-review__note{
    gap:.55rem;
    grid-template-columns:1fr;
    padding:1rem 0 1.15rem;
  }
  .dp-review__note>p{
    font-size:.93rem;
    padding-left:.85rem;
  }
}

/* 3.0.37 — readable score rows + concrete observations */
.dp-review__summary{
  gap:clamp(2.25rem,4.5vw,4.6rem);
  grid-template-columns:minmax(165px,195px) minmax(0,1fr);
}
.dp-review__label{font-size:.78rem;margin-bottom:.58rem}
.dp-review__value>strong{font-size:clamp(3.65rem,6vw,5.25rem)}
.dp-review__value>span{font-size:1rem}
.dp-review__weight{font-size:.9rem;margin-top:1.15rem}
.dp-review__average{font-size:.84rem;line-height:1.5;margin-top:.18rem}
.dp-review__breakdown{padding-left:clamp(1.6rem,3.3vw,2.65rem)}
.dp-review__row{padding:.28rem 0 1.05rem}
.dp-review__row + .dp-review__row{padding-top:1rem}
.dp-review__row-main{gap:1.2rem;margin-bottom:.68rem}
.dp-review__row-copy>span{
  font-size:.96rem;
  font-weight:850;
  line-height:1.25;
  margin-bottom:.27rem;
}
.dp-review__row-copy>.dp-review__why{
  color:#526f80;
  display:block;
  font-size:.87rem;
  font-weight:550;
  letter-spacing:0;
  line-height:1.52;
  max-width:62ch;
  text-wrap:pretty;
}
.dp-review__row-main>strong{font-size:.98rem}
.dp-review__row-main>strong small{font-size:.76rem}
.dp-review__track{height:8px}
.dp-review__note{grid-template-columns:132px minmax(0,1fr);padding:1.3rem 0 1.45rem}
.dp-review__note>span{font-size:.76rem}
.dp-review__note>p{font-size:1rem;line-height:1.7}
@media(max-width:760px){
  .dp-review__summary{gap:1.6rem;grid-template-columns:1fr}
  .dp-review__value>strong{font-size:3.75rem}
  .dp-review__weight{font-size:.87rem}
  .dp-review__average{font-size:.82rem}
  .dp-review__breakdown{padding-top:1.05rem}
  .dp-review__row{padding-bottom:1rem}
  .dp-review__row + .dp-review__row{padding-top:.95rem}
  .dp-review__row-copy>span{font-size:.95rem}
  .dp-review__row-copy>.dp-review__why{font-size:.88rem;line-height:1.5}
  .dp-review__row-main>strong{font-size:.96rem}
  .dp-review__note{grid-template-columns:1fr}
  .dp-review__note>p{font-size:.96rem}
}


/* 3.0.38 — Customizer-managed About image. */
.dp-about-story .dp-editorial__image.has-custom-image{overflow:hidden;position:relative}
.dp-about-story .dp-editorial__image.has-custom-image>img{display:block;height:100%;inset:0;object-fit:cover;position:absolute;width:100%}
.dp-about-story .dp-editorial__image.has-custom-image .dp-editorial__caption{position:absolute;z-index:2}

/* 3.0.41 — route modes: recognisable actions, not tag pills.
   Original Dogplorer icons and interaction styling; no third-party map UI assets. */
.dp-detail:not(.dp-detail--freilauf) .dp-location-copy .dp-route-helper--modes{
  color:#607686;
  font-size:.9rem;
  line-height:1.5;
  margin:1rem 0 .7rem;
  max-width:34rem;
}
.dp-detail:not(.dp-detail--freilauf) .dp-location-copy .dp-route-links{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.55rem!important;
  margin-top:1.25rem!important;
  max-width:430px;
}
.dp-detail:not(.dp-detail--freilauf) .dp-location-copy .dp-route-links a{
  align-items:center!important;
  background:#fff!important;
  border:1px solid #cfdce4!important;
  border-radius:12px!important;
  box-shadow:0 3px 9px rgba(6,39,71,.07),0 1px 1px rgba(6,39,71,.04)!important;
  color:var(--dp-ink)!important;
  display:flex!important;
  flex-direction:column;
  font-size:.78rem!important;
  font-weight:800!important;
  gap:.25rem;
  justify-content:center;
  line-height:1.15!important;
  min-height:62px!important;
  padding:.55rem .35rem!important;
  position:relative;
  text-align:center;
  text-decoration:none!important;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease,color .16s ease;
}
.dp-detail:not(.dp-detail--freilauf) .dp-location-copy .dp-route-links a::before{
  background:currentColor;
  content:"";
  display:block;
  height:21px;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
  width:23px;
}
/* Simple original line silhouettes, used as masks so they inherit Dogplorer colours. */
.dp-detail:not(.dp-detail--freilauf) .dp-location-copy .dp-route-links a:nth-child(1)::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath fill='black' d='M4.4 3.5A2.8 2.8 0 0 1 7 1.7h10a2.8 2.8 0 0 1 2.6 1.8l1.2 3.2c1.1.4 1.9 1.5 1.9 2.8v5.1c0 .7-.5 1.2-1.2 1.2H20v1.1a1.6 1.6 0 0 1-3.2 0v-1.1H7.2v1.1a1.6 1.6 0 0 1-3.2 0v-1.1H2.5c-.7 0-1.2-.5-1.2-1.2V9.5c0-1.3.8-2.4 1.9-2.8l1.2-3.2Zm2.1.3L5.4 6.6h13.2l-1.1-2.8a.7.7 0 0 0-.6-.4H7.1a.7.7 0 0 0-.6.4ZM5.3 9.2a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 0 0 0-3.2Zm13.4 0a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 0 0 0-3.2Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath fill='black' d='M4.4 3.5A2.8 2.8 0 0 1 7 1.7h10a2.8 2.8 0 0 1 2.6 1.8l1.2 3.2c1.1.4 1.9 1.5 1.9 2.8v5.1c0 .7-.5 1.2-1.2 1.2H20v1.1a1.6 1.6 0 0 1-3.2 0v-1.1H7.2v1.1a1.6 1.6 0 0 1-3.2 0v-1.1H2.5c-.7 0-1.2-.5-1.2-1.2V9.5c0-1.3.8-2.4 1.9-2.8l1.2-3.2Zm2.1.3L5.4 6.6h13.2l-1.1-2.8a.7.7 0 0 0-.6-.4H7.1a.7.7 0 0 0-.6.4ZM5.3 9.2a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 0 0 0-3.2Zm13.4 0a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 0 0 0-3.2Z'/%3E%3C/svg%3E");
}
.dp-detail:not(.dp-detail--freilauf) .dp-location-copy .dp-route-links a:nth-child(2)::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath fill='black' d='M6 20.5a5 5 0 1 1 0-10 5 5 0 0 1 0 10Zm0-2.2a2.8 2.8 0 1 0 0-5.6 2.8 2.8 0 0 0 0 5.6Zm12 2.2a5 5 0 1 1 0-10 5 5 0 0 1 0 10Zm0-2.2a2.8 2.8 0 1 0 0-5.6 2.8 2.8 0 0 0 0 5.6ZM9.3 4.2l2.3 4.1h4.1l-1.6-2.7h-2.2V3.4h3.5v2.2h1.3l3.8 6.5-1.9 1.1-1.6-2.7h-6.7L7.4 5.3 9.3 4.2Zm-.7-1.1A1.6 1.6 0 1 1 8.6 0a1.6 1.6 0 0 1 0 3.1Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath fill='black' d='M6 20.5a5 5 0 1 1 0-10 5 5 0 0 1 0 10Zm0-2.2a2.8 2.8 0 1 0 0-5.6 2.8 2.8 0 0 0 0 5.6Zm12 2.2a5 5 0 1 1 0-10 5 5 0 0 1 0 10Zm0-2.2a2.8 2.8 0 1 0 0-5.6 2.8 2.8 0 0 0 0 5.6ZM9.3 4.2l2.3 4.1h4.1l-1.6-2.7h-2.2V3.4h3.5v2.2h1.3l3.8 6.5-1.9 1.1-1.6-2.7h-6.7L7.4 5.3 9.3 4.2Zm-.7-1.1A1.6 1.6 0 1 1 8.6 0a1.6 1.6 0 0 1 0 3.1Z'/%3E%3C/svg%3E");
}
.dp-detail:not(.dp-detail--freilauf) .dp-location-copy .dp-route-links a:nth-child(3)::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cpath fill='black' d='M11.1 4.7a2.35 2.35 0 1 0 0-4.7 2.35 2.35 0 0 0 0 4.7ZM8.7 5.8c1.4-.5 2.9.1 3.7 1.3l1.6 2.5 3.4 1.5-.9 2-3.9-1.8a2 2 0 0 1-.8-.7l-.7-1.1-.8 4 2.6 2.6a2 2 0 0 1 .5 1l.9 5.4-2.2.4-.9-5-2.8-2.8-1.1 3.2a2 2 0 0 1-.7.9l-4.4 3.1-1.3-1.8 4.1-2.9 1.4-4.2.8-4.2-1.5.7-1.7 3.1-2-1 1.9-3.6a2 2 0 0 1 .9-.8l3.9-1.8Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cpath fill='black' d='M11.1 4.7a2.35 2.35 0 1 0 0-4.7 2.35 2.35 0 0 0 0 4.7ZM8.7 5.8c1.4-.5 2.9.1 3.7 1.3l1.6 2.5 3.4 1.5-.9 2-3.9-1.8a2 2 0 0 1-.8-.7l-.7-1.1-.8 4 2.6 2.6a2 2 0 0 1 .5 1l.9 5.4-2.2.4-.9-5-2.8-2.8-1.1 3.2a2 2 0 0 1-.7.9l-4.4 3.1-1.3-1.8 4.1-2.9 1.4-4.2.8-4.2-1.5.7-1.7 3.1-2-1 1.9-3.6a2 2 0 0 1 .9-.8l3.9-1.8Z'/%3E%3C/svg%3E");
}
.dp-detail:not(.dp-detail--freilauf) .dp-location-copy .dp-route-links a:nth-child(4)::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 24'%3E%3Cpath fill='black' d='M5 0h12a4 4 0 0 1 4 4v14c0 1-.6 1.9-1.5 2.3V22a2 2 0 0 1-4 0v-1H6.5v1a2 2 0 0 1-4 0v-1.7A2.5 2.5 0 0 1 1 18V4a4 4 0 0 1 4-4Zm0 2.2A1.8 1.8 0 0 0 3.2 4v7h15.6V4A1.8 1.8 0 0 0 17 2.2H5Zm0 11a1.8 1.8 0 1 0 0 3.6 1.8 1.8 0 0 0 0-3.6Zm12 0a1.8 1.8 0 1 0 0 3.6 1.8 1.8 0 0 0 0-3.6ZM5.5 4.2h11v4.6h-11V4.2Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 24'%3E%3Cpath fill='black' d='M5 0h12a4 4 0 0 1 4 4v14c0 1-.6 1.9-1.5 2.3V22a2 2 0 0 1-4 0v-1H6.5v1a2 2 0 0 1-4 0v-1.7A2.5 2.5 0 0 1 1 18V4a4 4 0 0 1 4-4Zm0 2.2A1.8 1.8 0 0 0 3.2 4v7h15.6V4A1.8 1.8 0 0 0 17 2.2H5Zm0 11a1.8 1.8 0 1 0 0 3.6 1.8 1.8 0 0 0 0-3.6Zm12 0a1.8 1.8 0 1 0 0 3.6 1.8 1.8 0 0 0 0-3.6ZM5.5 4.2h11v4.6h-11V4.2Z'/%3E%3C/svg%3E");
}
.dp-detail:not(.dp-detail--freilauf) .dp-location-copy .dp-route-links a:hover{
  background:#fffaf0!important;
  border-color:#e2ad16!important;
  box-shadow:0 7px 16px rgba(6,39,71,.11),0 1px 2px rgba(6,39,71,.05)!important;
  color:#062747!important;
  transform:translateY(-2px);
}
.dp-detail:not(.dp-detail--freilauf) .dp-location-copy .dp-route-links a:active{
  box-shadow:0 2px 5px rgba(6,39,71,.08)!important;
  transform:translateY(0);
}
.dp-detail:not(.dp-detail--freilauf) .dp-location-copy .dp-route-links a:focus-visible{
  border-color:#062747!important;
  box-shadow:0 0 0 3px rgba(249,186,24,.38),0 5px 14px rgba(6,39,71,.10)!important;
  outline:0;
}
@media(max-width:520px){
  .dp-detail:not(.dp-detail--freilauf) .dp-location-copy .dp-route-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:none;
  }
  .dp-detail:not(.dp-detail--freilauf) .dp-location-copy .dp-route-links a{
    flex-direction:row;
    font-size:.88rem!important;
    gap:.5rem;
    min-height:50px!important;
    padding:.55rem .75rem!important;
  }
  .dp-detail:not(.dp-detail--freilauf) .dp-location-copy .dp-route-links a::before{height:19px;width:21px}
}


/* 3.0.43 — Freilaufflächen: parking + final walking leg are a two-step route, not transport-mode chips. */
.dp-detail--freilauf .dp-location-copy .dp-route-helper{
  color:#5f7685;
  font-size:.88rem;
  line-height:1.55;
  margin:.9rem 0 .7rem;
  max-width:48ch;
}
.dp-detail--freilauf .dp-location-copy .dp-route-links{
  display:grid;
  gap:.65rem;
  grid-template-columns:1fr;
  margin-top:0;
  max-width:540px;
}
.dp-detail--freilauf .dp-location-copy .dp-route-links a{
  align-items:center;
  background:#fff;
  border:1px solid #cad8e0;
  border-radius:13px;
  box-shadow:0 3px 10px rgba(6,39,71,.055);
  color:var(--dp-ink);
  display:grid;
  font-size:.88rem;
  font-weight:800;
  gap:.7rem;
  grid-template-columns:28px minmax(0,1fr) auto;
  line-height:1.25;
  min-height:62px;
  padding:.72rem .8rem;
  text-align:left;
  text-decoration:none;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.dp-detail--freilauf .dp-location-copy .dp-route-links a::before{
  background:var(--dp-ink);
  content:"";
  display:block;
  height:23px;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
  width:25px;
}
.dp-detail--freilauf .dp-location-copy .dp-route-links a::after{
  color:#6d8290;
  content:"↗";
  font-size:.9rem;
  font-weight:700;
}
.dp-detail--freilauf .dp-location-copy .dp-route-links a:first-child::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath fill='black' d='M4.4 3.5A2.8 2.8 0 0 1 7 1.7h10a2.8 2.8 0 0 1 2.6 1.8l1.2 3.2c1.1.4 1.9 1.5 1.9 2.8v5.1c0 .7-.5 1.2-1.2 1.2H20v1.1a1.6 1.6 0 0 1-3.2 0v-1.1H7.2v1.1a1.6 1.6 0 0 1-3.2 0v-1.1H2.5c-.7 0-1.2-.5-1.2-1.2V9.5c0-1.3.8-2.4 1.9-2.8l1.2-3.2Zm2.1.3L5.4 6.6h13.2l-1.1-2.8a.7.7 0 0 0-.6-.4H7.1a.7.7 0 0 0-.6.4ZM5.3 9.2a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 0 0 0-3.2Zm13.4 0a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 0 0 0-3.2Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath fill='black' d='M4.4 3.5A2.8 2.8 0 0 1 7 1.7h10a2.8 2.8 0 0 1 2.6 1.8l1.2 3.2c1.1.4 1.9 1.5 1.9 2.8v5.1c0 .7-.5 1.2-1.2 1.2H20v1.1a1.6 1.6 0 0 1-3.2 0v-1.1H7.2v1.1a1.6 1.6 0 0 1-3.2 0v-1.1H2.5c-.7 0-1.2-.5-1.2-1.2V9.5c0-1.3.8-2.4 1.9-2.8l1.2-3.2Zm2.1.3L5.4 6.6h13.2l-1.1-2.8a.7.7 0 0 0-.6-.4H7.1a.7.7 0 0 0-.6.4ZM5.3 9.2a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 0 0 0-3.2Zm13.4 0a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 0 0 0-3.2Z'/%3E%3C/svg%3E");
}
.dp-detail--freilauf .dp-location-copy .dp-route-links a:nth-child(2)::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cpath fill='black' d='M11.1 4.7a2.35 2.35 0 1 0 0-4.7 2.35 2.35 0 0 0 0 4.7ZM8.7 5.8c1.4-.5 2.9.1 3.7 1.3l1.6 2.5 3.4 1.5-.9 2-3.9-1.8a2 2 0 0 1-.8-.7l-.7-1.1-.8 4 2.6 2.6a2 2 0 0 1 .5 1l.9 5.4-2.2.4-.9-5-2.8-2.8-1.1 3.2a2 2 0 0 1-.7.9l-4.4 3.1-1.3-1.8 4.1-2.9 1.4-4.2.8-4.2-1.5.7-1.7 3.1-2-1 1.9-3.6a2 2 0 0 1 .9-.8l3.9-1.8Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24'%3E%3Cpath fill='black' d='M11.1 4.7a2.35 2.35 0 1 0 0-4.7 2.35 2.35 0 0 0 0 4.7ZM8.7 5.8c1.4-.5 2.9.1 3.7 1.3l1.6 2.5 3.4 1.5-.9 2-3.9-1.8a2 2 0 0 1-.8-.7l-.7-1.1-.8 4 2.6 2.6a2 2 0 0 1 .5 1l.9 5.4-2.2.4-.9-5-2.8-2.8-1.1 3.2a2 2 0 0 1-.7.9l-4.4 3.1-1.3-1.8 4.1-2.9 1.4-4.2.8-4.2-1.5.7-1.7 3.1-2-1 1.9-3.6a2 2 0 0 1 .9-.8l3.9-1.8Z'/%3E%3C/svg%3E");
}
.dp-detail--freilauf .dp-location-copy .dp-route-links a:first-child{
  background:var(--dp-ink);
  border-color:var(--dp-ink);
  color:#fff;
}
.dp-detail--freilauf .dp-location-copy .dp-route-links a:first-child::before{background:#fff}
.dp-detail--freilauf .dp-location-copy .dp-route-links a:first-child::after{color:#fff}
.dp-detail--freilauf .dp-location-copy .dp-route-links a:hover{
  border-color:#e2ad16;
  box-shadow:0 7px 17px rgba(6,39,71,.10);
  transform:translateY(-1px);
}
.dp-detail--freilauf .dp-location-copy .dp-route-links a:first-child:hover{
  background:#0d3b65;
  border-color:#0d3b65;
}
.dp-detail--freilauf .dp-location-copy .dp-route-links a:focus-visible{
  box-shadow:0 0 0 3px rgba(249,186,24,.38);
  outline:0;
}
