@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url('fonts/barlow-400.ttf') format('truetype')}
@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url('fonts/barlow-500.ttf') format('truetype')}
:root{font-family:'Source Sans 3',Arial,sans-serif;color:#10165a;background:#f0f6fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit}a:focus-visible{outline:3px solid #078b4b;outline-offset:5px}main{max-width:1920px;margin:auto;padding:28px 36px 14px;min-height:100vh;display:flex;flex-direction:column}header{display:flex;align-items:center;gap:26px;min-height:110px;margin-bottom:24px}.emblem{color:#e60012;font-size:92px;font-weight:700;line-height:1;width:100px;text-align:center}.heading{flex:1}h1{font-size:clamp(25px,2.55vw,44px);line-height:1.15;letter-spacing:-.8px;margin:0 0 3px;font-weight:700}.heading p{font-size:clamp(22px,2.15vw,35px);color:#7081ac;margin:0}.date{text-align:right;font-size:clamp(18px,1.65vw,27px);color:#334879;white-space:nowrap}.date span{display:block;font-size:18px;color:#7382a1;margin-top:4px}.content{display:grid;grid-template-columns:minmax(440px,.9fr) minmax(0,1.2fr);gap:16px;flex:1;min-height:540px}.pharmacies{display:grid;grid-template-rows:repeat(4,1fr);gap:15px}.pharmacy{background:#ffffffed;border:1px solid #d5e2f0;border-radius:17px;display:flex;align-items:flex-start;gap:25px;padding:25px 26px 20px;box-shadow:0 3px 15px #12335b03}.number{display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#00a664,#008e4a);border-radius:50%;color:white;flex:0 0 65px;height:65px;font-size:43px;font-weight:700;margin-top:3px;box-shadow:inset 0 0 20px #ffffff10}.pharmacy-content{min-width:0;flex:1}h2{font-size:clamp(24px,2vw,33px);line-height:1.13;letter-spacing:-.5px;margin:0 0 6px}.pharmacy p,.phone{font-size:clamp(18px,1.5vw,25px);line-height:1.25;color:#4d5f90;margin:0}.phone{text-decoration:none;display:inline-block}.phone:hover{text-decoration:underline}.duty{color:#008943;font-size:clamp(18px,1.5vw,24px);display:flex;gap:12px;align-items:center;margin-top:14px;line-height:1.2}.clock{border:2.5px solid #009b50;border-radius:50%;width:29px;height:29px;position:relative;flex:0 0 29px}.clock:before{content:'';position:absolute;left:11px;top:4px;width:2px;height:9px;background:#009b50}.clock:after{content:'';position:absolute;left:11px;top:11px;width:8px;height:2px;background:#009b50;transform:rotate(30deg);transform-origin:left}.route{font-size:15px;color:#435b82;text-decoration:none;display:inline-block;padding:10px 0 0}.route:hover{color:#008943;text-decoration:underline}.map-panel{position:relative;border-radius:17px;border:1px solid #d5e2f0;overflow:hidden;background:#e7eee9;min-height:540px;isolation:isolate}.map{position:absolute;inset:0;z-index:0}.map-key{position:absolute;bottom:30px;left:18px;background:#ffffffef;border-radius:8px;box-shadow:0 2px 12px #1232;padding:10px 15px;display:flex;align-items:center;gap:8px;font-size:15px;z-index:1}.key-dot,.key-green{width:10px;height:10px;background:#121969;border-radius:50%;display:inline-block}.key-green{background:#009950;margin-left:10px}.pin{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:50% 50% 50% 5px;background:#009d57;color:white;border:3px solid white;box-shadow:0 3px 8px #163d4055;font-size:27px;font-weight:700}.custom-marker{background:none;border:0}.home-pin{background:#171e72}.map-message{position:absolute;top:8px;right:12px;left:65px;background:white;padding:10px;border-radius:6px;font-size:14px;z-index:1}footer{display:grid;grid-template-columns:1.05fr 1fr 1.05fr;background:#fff;border:1px solid #d5e2f0;border-radius:16px;margin-top:16px;padding:20px 30px;align-items:center;gap:35px}footer>div{border-left:1px solid #b8c6de;padding-left:40px}.brand img{display:block;width:100%;max-width:400px;height:auto}h3{margin:0 0 4px;font-size:22px;line-height:1.1}.hours dl{display:grid;grid-template-columns:80px auto;margin:0;font-size:21px;line-height:1.3;color:#4d5f90}.hours dd{margin:0}.contact p,.contact a{font-size:20px;line-height:1.35;color:#4d5f90;margin:0;text-decoration:none}.bottom{display:flex;justify-content:space-between;gap:15px;padding:10px 4px 0;font-size:13px;color:#657695}.bottom a{text-decoration:none}.bottom a:hover{text-decoration:underline}.bottom nav{display:flex;gap:18px}.empty{grid-row:span 4;background:white;border:1px solid #d5e2f0;border-radius:17px;padding:45px 35px;align-content:center}.empty-cross{font-size:55px;color:#009950}.empty p{font-size:21px;color:#4d5f90}.empty a{display:inline-block;padding:12px 18px;background:#008b4e;color:white;border-radius:7px;text-decoration:none}.leaflet-container{font-family:inherit}.leaflet-popup-content{font-size:16px}@media(min-width:1500px){main{padding:28px 38px 10px}.content{min-height:600px}.pharmacy{padding:29px}.number{width:72px;height:72px;flex-basis:72px}.route{font-size:16px}}@media(max-width:1100px){main{padding:22px}header{gap:15px}.emblem{width:65px;font-size:65px}.date{font-size:17px}.content{grid-template-columns:1fr 1fr}.pharmacy{padding:20px 17px;gap:16px}.number{flex-basis:48px;height:48px;font-size:30px}footer{gap:20px;padding:20px}footer>div{padding-left:20px}.hours dl,.contact p,.contact a{font-size:17px}.hours dl{grid-template-columns:60px auto}}@media(max-width:800px){header{flex-wrap:wrap;margin-bottom:18px;gap:13px}.heading h1{font-size:27px}.heading p{font-size:23px}.date{width:100%;text-align:left;padding-left:78px;font-size:16px}.date span{display:inline;margin-left:12px;font-size:16px}.content{grid-template-columns:1fr;min-height:auto}.pharmacies{grid-template-rows:none}.pharmacy{padding:22px;gap:20px}.number{flex-basis:56px;height:56px;font-size:35px}h2{font-size:27px}.pharmacy p,.phone{font-size:21px}.duty{font-size:20px}.map-panel{height:420px;min-height:0}footer{grid-template-columns:1fr 1fr}.brand{grid-column:span 2;padding-bottom:18px;border-bottom:1px solid #d5e2f0}.brand img{max-width:310px}.hours{border:0;padding:0}footer>div{padding-left:0;border:0}.bottom{flex-direction:column;line-height:1.5}}@media(max-width:430px){main{padding:16px 12px}.emblem{font-size:48px;width:46px}.heading h1{font-size:23px}.heading p{font-size:20px}.date{padding-left:59px;font-size:14px}.date span{font-size:14px}.pharmacy{padding:20px 16px;gap:14px}.number{flex-basis:44px;height:44px;font-size:29px}h2{font-size:24px}.pharmacy p,.phone{font-size:18px}.duty{font-size:18px;gap:8px}footer{grid-template-columns:1fr}.brand{grid-column:auto}.map-key{font-size:12px;padding:8px;left:10px}.contact{padding-top:10px}.hours dl{grid-template-columns:80px 1fr}}

.card-title{display:flex;align-items:baseline;gap:14px;justify-content:space-between}.card-title h2{flex:1}.distance{white-space:nowrap;font-size:22px;font-weight:500;color:#4d5f90}.heading p{font-size:clamp(18px,1.6vw,27px)}.pharmacy{padding-top:18px;padding-bottom:14px}.duty{margin-top:10px}@media(max-width:1100px){.card-title{flex-wrap:wrap;gap:3px}.distance{font-size:19px}.card-title h2{flex-basis:100%}}@media(min-width:1500px){.pharmacy{padding-top:20px;padding-bottom:16px}}

.emblem{flex-shrink:0}.emblem img{display:block;width:100%;height:auto}

/* Compact desktop layout for 19-inch 1280 × 1024 displays, including browser chrome. */
@media (min-width:1101px) and (max-width:1400px) and (min-height:780px){
 main{padding:18px 22px 10px;min-height:100dvh}
 header{min-height:82px;margin-bottom:14px;gap:20px}
 .emblem{width:74px}
 .heading{min-width:0}
 h1{font-size:30px;line-height:1.12;letter-spacing:-.4px}
 .heading p{font-size:20px;margin-top:6px}
 .date{font-size:19px;white-space:normal;max-width:250px}
 .date span{font-size:17px}
 .content{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;min-height:0}
 .pharmacies{gap:10px;grid-template-rows:repeat(4,minmax(148px,1fr))}
 .pharmacy{padding:14px 17px;gap:16px;border-radius:14px}
 .number{flex-basis:48px;width:48px;height:48px;font-size:31px;margin-top:2px}
 .card-title{gap:10px;flex-wrap:nowrap}
 .card-title h2{font-size:25px;line-height:1.15;margin-bottom:5px;flex-basis:auto}
 .distance{font-size:20px}
 .pharmacy p,.phone{font-size:19px;line-height:1.25}
 .duty{font-size:19px;gap:9px;margin-top:8px}
 .clock{width:25px;height:25px;flex-basis:25px}
 .clock:before{left:9px;top:3px;height:8px}
 .clock:after{left:9px;top:10px;width:7px}
 .route{font-size:15px;padding-top:5px}
 .map-panel{min-height:0}
 .map-key{font-size:14px;padding:8px 10px;left:12px}
 footer{margin-top:12px;padding:14px 22px;gap:22px;grid-template-columns:.95fr .85fr 1.2fr}
 footer>div{padding-left:24px}
 h3{font-size:20px}
 .hours dl{font-size:18px;grid-template-columns:65px auto}
 .contact p,.contact a{font-size:18px}
 .brand img{max-width:300px}
 .bottom{padding-top:7px;font-size:12px;line-height:1.35}
 .bottom nav{flex-shrink:0;gap:12px}
}
@media (min-width:1101px) and (max-width:1400px) and (min-height:780px){
 main{line-height:1.2}
 .pharmacy{padding-top:10px;padding-bottom:10px}
 .route{display:block;line-height:18px}
 .pharmacies{grid-template-rows:repeat(4,minmax(148px,1fr))}
}
@media (min-width:1101px) and (max-width:1400px) and (min-height:780px){
 .pharmacies{grid-template-rows:repeat(4,minmax(138px,1fr))}
 .pharmacy{padding-top:8px;padding-bottom:8px}
 .pharmacy p,.phone{font-size:18px;line-height:22px}
 .duty{margin-top:6px;font-size:18px}
 .card-title h2{font-size:24px}
 footer{padding-top:10px;padding-bottom:10px}
}

/* Match the latest Ärztehaus Großhansdorf typography and palette. */
:root{font-family:Barlow,Arial,sans-serif;color:#090d50;background:#e8eff1}
h1{font-family:Barlow,Arial,sans-serif;font-weight:400;line-height:1.12;letter-spacing:-.035em}
h2,h3{font-family:Barlow,Arial,sans-serif;font-weight:400;line-height:1.18;letter-spacing:-.025em}
.heading p,.date,.pharmacy p,.phone,.hours dl,.contact p,.contact a,.distance{color:#294998;font-weight:400}
.number,.pin{font-family:Barlow,Arial,sans-serif;font-weight:500}
.number{background:linear-gradient(135deg,#00ab80,#008c60)}
.duty{color:#00985f;font-weight:400}
.clock{border-color:#00985f}.clock:before,.clock:after{background:#00985f}
.pharmacy{background:linear-gradient(130deg,#fff,#ffffffc2);box-shadow:0 4px 22px #23457206;border-color:#dce5e8}
footer{background:#ffffffdf;border-color:#dce5e8}
.route{font-weight:400;color:#294998}
