@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700&family=Roboto+Mono:wght@400;500&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--ink:#1d1d1b;--green:#1d1d1b;--paper:#f1efec;--pink:#ba8437;--line:#d8d1c7}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'Roboto',sans-serif}header{display:flex;align-items:center;justify-content:space-between;padding:23px 5%;border-bottom:1px solid var(--line);gap:20px}.brand{text-align:center;font:30px 'Playfair Display',serif;line-height:1.05}.brand span,.brand small{display:block;font:10px 'Roboto';letter-spacing:2px;margin-top:5px}.brand small{font-size:8px}a{color:inherit;text-decoration:none}nav{display:flex;gap:27px;align-items:center}nav a{padding:10px 0}nav a.active{border-bottom:2px solid var(--green)}b#count{display:inline-block;background:#f3e8d8;padding:3px 7px;border-radius:20px;font-size:11px}.edition,.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600}.edition{border:1px solid var(--line);padding:9px}main{max-width:1250px;margin:auto;padding:32px 40px 60px}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:450px;margin-bottom:42px;background:#f3e8d8;border-radius:3px;overflow:hidden}.herotext{padding:50px 45px}.eyebrow{display:block;margin-bottom:23px}h1{font:56px/1.1 'Playfair Display',Georgia,serif;letter-spacing:-1.5px;margin:0 0 22px}h1 em{font-weight:400;color:#ba8437}p{line-height:1.75;color:#625e58;max-width:600px}.btn,button{font:inherit;cursor:pointer;border:0}.btn{display:inline-block;background:var(--green);color:white;padding:14px 20px;border-radius:3px;margin:10px 8px 0 0}.btn.light{background:transparent;color:var(--ink);border:1px solid #ba8437}.herovisual{position:relative;overflow:hidden;background:#f3e8d8}.herovisual img{width:100%;height:100%;object-fit:cover}.photo-note{position:absolute;bottom:20px;left:20px;background:var(--paper);padding:13px 19px;font-size:12px}.sectionhead{display:flex;justify-content:space-between;align-items:end;margin:36px 0 22px}h2{font:32px 'Playfair Display';margin:0 0 8px}h3{font:23px 'Playfair Display';margin:10px 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{border:1px solid var(--line);background:#fffdfa;padding:23px;position:relative;border-radius:4px}.card:hover{border-color:#ba8437}.card .category{font-size:10px;text-transform:uppercase;letter-spacing:1.7px;color:#77654e}.card h3{padding-right:20px;min-height:58px}.stand{display:inline-block;background:#f3e8d8;padding:6px 10px;font-size:12px;border-radius:3px}.heart{position:absolute;right:18px;top:16px;background:transparent;font-size:25px;color:var(--green)}.heart.saved{color:#936323}.textbutton{background:transparent;color:var(--ink);padding:12px 0;text-decoration:underline;text-underline-offset:4px}.cardfoot{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.tile{background:#f3e8d8;padding:24px;min-height:135px;border-radius:3px}.tile span{font-size:27px;display:block;margin-bottom:13px}.tile strong{font-weight:500}.tile small{display:block;margin-top:6px;color:#6d655a}.toolbar{display:flex;gap:12px;margin:28px 0 18px}input,select,textarea{font:inherit;padding:14px;border:1px solid #cec3b3;background:white;border-radius:3px;color:var(--ink)}input[type=search]{flex:1;width:100%}.results{font-size:12px;color:#6d655a;margin-bottom:20px}.pill{border-radius:20px;background:#f3e8d8;padding:7px 13px;font-size:12px}.schedule{display:grid;grid-template-columns:100px 1fr;gap:25px;padding:30px 0;border-bottom:1px solid var(--line)}.time{font:32px 'Playfair Display';color:#ba8437}.notice{border-left:3px solid #ba8437;padding:12px 20px;background:#f3e8d8;margin:25px 0;line-height:1.7;font-size:13px}.split{display:grid;grid-template-columns:1.2fr 1fr;gap:35px}.check{display:block;padding:12px 0;border-bottom:1px solid var(--line)}.check input{margin-right:12px;accent-color:var(--green)}.fields{display:grid;gap:15px}.fields label{display:grid;gap:7px;font-size:12px}textarea{width:100%;min-height:140px;margin-top:10px}.map{position:relative;background:white;padding:20px;border:1px solid var(--line);overflow:auto}.map img{width:100%;display:block}.standbuttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.standbuttons button{background:#f3e8d8;padding:10px 13px;border-radius:3px}.standbuttons button:hover{background:var(--green);color:white}dialog{border:1px solid var(--line);border-radius:8px;padding:38px;max-width:560px;width:90%;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#1d1d1b80}.close{float:right;background:none;font-size:30px;color:var(--ink)}footer{text-align:center;border-top:1px solid var(--line);padding:30px;font-size:11px;color:#6d655a;line-height:1.9}.empty{padding:45px;background:#f3e8d8;text-align:center}.savedmsg{font-size:12px;color:#6d655a}.mapoverlay{position:absolute;inset:0;pointer-events:none}.mapoverlay button{position:absolute;pointer-events:auto;border-radius:50%;height:28px;width:28px;background:#1d1d1be8;color:white;font-size:11px;transform:translate(-50%,-50%)}@media(max-width:850px){header{flex-wrap:wrap;padding:18px 22px}nav{order:3;width:100%;gap:20px;overflow:auto;font-size:12px;white-space:nowrap}.edition{font-size:8px}main{padding:24px 20px}.hero{grid-template-columns:1fr}.herotext{padding:32px 26px}h1{font-size:43px}.herovisual{height:260px}.grid{grid-template-columns:repeat(2,1fr)}.tiles{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.toolbar select{width:100%}}@media(max-width:500px){.grid{grid-template-columns:1fr}.sectionhead{align-items:start;gap:12px}h2{font-size:28px}.hero{margin-bottom:25px}.card h3{min-height:0}.mapoverlay button{height:21px;width:21px;font-size:9px}.schedule{grid-template-columns:80px 1fr;gap:10px}}

/* Brand system: supplied Harzer Hochzeitsmesse style guide. */
.edition,.eyebrow,.category,.stand,.pill{font-family:'Roboto Mono',monospace}
.brand{font:21px/.96 'Playfair Display',Georgia,serif;text-align:left;letter-spacing:-.5px}.brand span{font:inherit;color:#ba8437;margin:0;letter-spacing:-.5px}.brand small{font:inherit;margin:0;letter-spacing:-.5px}
nav a.active{border-color:#ba8437}h1 em{color:#936323}.heart{color:#936323}.btn{background:#1d1d1b}.btn:hover{background:#514026}.btn.light:hover{background:#f3e8d8}.btn:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #ba8437;outline-offset:4px}.sectionhead .eyebrow{color:#936323}
.map-shell{background:#fff;border:1px solid var(--line);border-radius:5px;padding:20px}.map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.map-toolbar p{font-size:12px;margin:0}.map-controls{display:flex;gap:6px;align-items:center}.map-controls button{background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:8px 12px;min-width:40px}.map{border:0;padding:0;overflow:auto;max-height:72vh;overscroll-behavior:contain}.map svg{display:block;width:100%;min-width:680px;height:auto}.stand-hit{fill:#ba8437;fill-opacity:.06;stroke:#936323;stroke-width:1.5;cursor:pointer;transition:fill-opacity .15s}.stand-hit:hover,.stand-hit:focus{fill-opacity:.5;stroke-width:3;outline:none}.stand-hit.is-favorite{fill-opacity:.25;stroke-width:2.5}.stand-hit text{fill:#1d1d1b;stroke:none;font:bold 17px Roboto;pointer-events:none}.shared-label{fill:white}.map-key{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#625e58;margin-top:14px}.map-key i{display:inline-block;width:10px;height:10px;background:#ba8437;margin-right:6px}.map-key i.empty{background:#f3e8d8;border:1px solid #936323;padding:0}
.profile-links{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.profile-links a{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border:1px solid #ba8437;border-radius:3px;background:#f3e8d8;font-weight:500}.profile-links a:hover{background:#e9d6b9}.profile-meta{display:flex;align-items:center;gap:10px;margin-bottom:18px}.profile-source{font-size:11px;color:#756b5f;margin-top:8px}.profile-desc{color:#4d4943;line-height:1.7}.profile-note{display:block;margin-top:25px;font-weight:500;font-size:13px}dialog{max-height:88vh;overflow-y:auto}dialog h2{font-size:30px;padding-right:20px}dialog .close{position:sticky;top:0;background:var(--paper);width:34px;height:34px;line-height:28px;border-radius:50%}.standbuttons button{font-size:12px}.map-list{margin-top:24px}.map-list summary{cursor:pointer;padding:12px 0;font-weight:500}.map-access-hint{font-size:12px;color:#6d655a}#detailtitle:focus{outline:none}@media(max-width:500px){.brand{font-size:17px}.map-shell{padding:10px}.map-toolbar{align-items:start}.map-toolbar p{max-width:170px}.map-controls{gap:3px}.map-controls button{padding:7px 9px;min-width:32px}dialog{padding:24px}dialog h2{font-size:27px}}

.stand-hit{fill:#f3e8d8;fill-opacity:1}.stand-hit:hover,.stand-hit:focus{fill:#dcb881;fill-opacity:1}.stand-hit.is-favorite{fill:#dcb881;fill-opacity:1}.stand-hit polygon{vector-effect:non-scaling-stroke}.stand-hit text{font-size:17px}.stand-hit[data-stand="4"] text{font-size:13px}.stand-hit[data-stand="8"] text,.stand-hit[data-stand="9"] text{font-size:14px}

.profile-address{font-style:normal;font-size:13px;line-height:1.8;color:#625e58}.profile-address a{text-decoration:underline;text-underline-offset:3px}.stage text{fill:#1d1d1b;font:12px Roboto}
