:root{--green:#294b38;--sage:#71866b;--cream:#f7f5ef;--sand:#e8dfd0;--ink:#303a32}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select,input,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #b37830;outline-offset:5px}header{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px 36px;gap:16px}.brand{display:flex;align-items:center;gap:11px;line-height:1.2;font-size:11px;letter-spacing:2px;color:var(--green)}.brand b{display:block;font-family:Georgia,serif;font-size:25px;letter-spacing:2px}.brand small{display:block;font-size:8px;letter-spacing:1.7px;margin-top:6px}.tree{font-size:55px;line-height:1}select{border:1px solid #d6dace;border-radius:30px;padding:10px 14px;background:transparent;font-size:13px;color:var(--green);max-width:170px}main{max-width:1240px;margin:auto;padding:0 36px;min-height:70vh;outline:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.14;color:var(--green)}h1{font-size:clamp(36px,5vw,64px);letter-spacing:-1.5px}h2{font-size:30px}h3{font-size:18px;font-weight:600;line-height:1.35}p{margin-bottom:16px}.hero{border-radius:22px;overflow:hidden;position:relative;min-height:520px;background:var(--green);display:flex;align-items:center}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,43,30,.92),rgba(20,43,30,.65) 43%,rgba(20,43,30,0) 90%)}.hero-content{position:relative;z-index:1;max-width:610px;padding:58px;color:#f8f6ef}.hero h1{color:#fff;max-width:450px}.hero-content>p:not(.eyebrow){max-width:440px;font-size:16px;color:#f1f0e4;line-height:1.8}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:600;margin-bottom:20px}.hero .eyebrow{color:#d8dfc8}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;border:0;border-radius:8px;padding:13px 22px;min-height:48px;background:var(--green);color:white;cursor:pointer;font-size:14px}.light{background:var(--cream);color:var(--green);margin-top:12px}.photo-caption{position:absolute;z-index:1;right:18px;bottom:12px;color:white;background:#294b38c9;padding:3px 10px;border-radius:8px;font-size:10px}.section{padding:52px 0 30px}.section-title{display:flex;justify-content:space-between;align-items:center}.section-title h2{font-size:36px;margin-bottom:10px}.section-title .eyebrow{color:var(--sage);margin-bottom:12px}.section-title p{color:#6a746a;font-size:14px}.leaf{font-size:70px;color:var(--sage);padding-right:15px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.category{display:flex;align-items:center;gap:15px;background:#fffefb;padding:25px 20px;border:1px solid #e5e6dc;border-radius:13px;transition:transform .2s,box-shadow .2s}.category:hover,.device-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #294b3810}.icon{background:#edf0e8;border-radius:12px;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;font-size:30px;color:var(--green);flex-shrink:0}.category h3{margin:0 0 7px;font-size:16px}.category p{font-size:12px;color:#6d766b;margin:0}.arrow{margin-left:auto;color:var(--sage)}.quiet{margin:10px 0 45px;background:#e9eddf;border-radius:12px;padding:18px 24px;display:flex;align-items:center;gap:20px}.quiet>span:first-child{font-size:36px}.quiet>span:last-child{margin-left:auto;font-size:32px;color:var(--sage)}.quiet b{font-size:14px}.quiet p{margin:0;font-size:13px;color:#687261}footer{border-top:1px solid var(--sand);max-width:1168px;margin:0 auto 95px;padding:22px 0;display:flex;justify-content:space-between;font-size:11px;color:#74806f;gap:15px}#dock{position:fixed;z-index:5;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:25px;align-items:center;background:#fffefbf2;backdrop-filter:blur(10px);padding:10px 23px;border-radius:50px;box-shadow:0 3px 25px #294b3824;border:1px solid #e6e7df;font-size:12px;white-space:nowrap}#dock a{min-height:34px;display:flex;align-items:center;color:var(--green)}.dock-home{font-weight:700}.breadcrumb{font-size:13px;display:flex;gap:12px;padding:20px 0;color:var(--sage)}.page-heading{padding:30px 0 18px;max-width:780px}.page-heading h1{font-size:48px;margin-bottom:20px}.page-heading p:not(.eyebrow){color:#6c7669}.notice{padding:15px 19px;background:#ece9db;border-left:3px solid #9f915c;border-radius:0 9px 9px 0;font-size:14px}.device-grid,.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:25px 0 50px}.device-card{border:1px solid #e2e3d8;border-radius:14px;background:#fffefb;overflow:hidden;transition:transform .2s}.device-card img{width:100%;height:175px;object-fit:cover}.device-card>div{padding:22px}.device-card h2{font-family:inherit;font-size:20px}.device-card p{margin:0;font-size:13px;color:var(--sage)}.device-card p span{float:right}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.panel{border:1px solid #e2e3d8;background:#fffefb;border-radius:14px;padding:28px;margin-bottom:20px}.info-grid .panel{margin:0}.panel h2{font-size:25px;margin-bottom:15px}.panel p{color:#647061}.panel p:last-child{margin-bottom:0}.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:15px 0 50px}.device-photo{width:100%;border-radius:18px}.detail-layout small,.muted{color:#7a7d6f;font-size:13px}li{padding:5px 0 10px 8px}.checklist{display:flex;flex-direction:column;gap:8px}.checklist label{display:flex;align-items:center;gap:14px;cursor:pointer;min-height:52px;padding:8px 12px;background:#f6f5ee;border-radius:8px}.checklist input{width:22px;height:22px;accent-color:var(--green)}input:checked+span{text-decoration:line-through;color:var(--sage)}.text-button{padding:13px 0;border:0;background:none;color:var(--green);text-decoration:underline;cursor:pointer;margin-top:10px}.wifi-panel{max-width:680px}.wifi-panel .icon{margin-bottom:20px}.wifi-panel h2{font:600 14px/1.4 inherit;margin-bottom:8px}.activity{padding:0;overflow:hidden}.activity>img{width:100%;height:160px;object-fit:cover}.activity>div{padding:25px}.activity small{color:var(--sage)}details{border-top:1px solid var(--sand);padding:17px 0}summary{cursor:pointer;min-height:30px;font-weight:500}details p{margin-top:15px}.emergency{background:#f0e8dc;border-color:#dfcbb1}.qr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.qr-card{border:1px solid var(--sand);border-radius:12px;background:white;padding:25px;text-align:center;break-inside:avoid}.qr-card h2{font-size:22px}.qr-card svg{display:block;max-width:220px;width:100%;margin:15px auto}.qr-card p{margin-bottom:4px}.qr-card small{overflow-wrap:anywhere;font-size:11px}.skip{position:fixed;top:-100px;left:10px;z-index:20;background:white;padding:15px}.skip:focus{top:10px}@media(max-width:950px){.category-grid{grid-template-columns:1fr 1fr}.device-grid,.activity-grid{grid-template-columns:1fr 1fr}.hero-content{padding:40px}.hero{min-height:480px}.qr-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){header{padding:20px}.brand b{font-size:18px}.brand small{font-size:6px}.tree{font-size:40px}.brand{font-size:8px;gap:7px}select{font-size:11px;padding:10px 8px;max-width:125px}main{padding:0 18px}.hero{min-height:490px;border-radius:15px}.hero-content{padding:34px 25px}.hero:after{background:linear-gradient(90deg,#142b1ee8,#142b1e6b)}.hero h1{font-size:43px}.hero-content>p:not(.eyebrow){font-size:14px}.photo-caption{font-size:8px;left:15px;right:auto}.section{padding-top:35px}.section-title h2{font-size:28px}.leaf{display:none}.category-grid{grid-template-columns:1fr;gap:10px}.category{padding:18px}.category h3{font-size:16px}.category p{font-size:12px}.device-grid,.activity-grid,.info-grid,.detail-layout{grid-template-columns:1fr;gap:16px}.page-heading h1{font-size:37px}.page-heading{padding-top:20px}.panel{padding:23px}.qr-grid{grid-template-columns:1fr}.device-card{display:flex;align-items:center}.device-card img{width:115px;height:140px}.device-card>div{padding:17px}.device-card h2{font-size:17px}footer{margin:0 20px 100px;flex-direction:column;gap:2px}.quiet{margin-bottom:25px}.eyebrow{font-size:9px}.detail-layout{gap:22px}.device-photo{max-height:280px;object-fit:cover}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{header,footer,#dock,.breadcrumb,#print,.skip{display:none}body{background:white;font-size:11px}main{padding:0;max-width:none}.page-heading{padding:0}.page-heading h1{font-size:24px}.qr-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.qr-card{padding:15px}.qr-card svg{max-width:155px}.qr-card h2{font-size:18px}.qr-card small{font-size:9px}.notice{font-size:11px}a{color:black}}

/* Warnsborn: local brand font, fresh greens, sunny accents and soft shapes. */
@font-face{font-family:Arsenal;src:url('/assets/Arsenal-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Arsenal;src:url('/assets/Arsenal-Bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
:root{--green:#23775c;--sage:#459d4b;--cream:#fffdf7;--sand:#e8e8d9;--ink:#353933;--sun:#f9c51b}
body{font-family:Nunito,'Trebuchet MS',sans-serif;font-size:19px;line-height:1.6;background:var(--cream)}
header{padding:20px 36px 24px;max-width:1240px}.brand{display:block;line-height:0}.brand img{display:block;width:290px;height:auto;max-width:100%}
select{background:white;border:1px solid #d4dfcc;border-radius:25px;font-size:16px;padding:10px 18px;max-width:190px;color:var(--ink)}
h1,h2,h3{font-family:Nunito,'Trebuchet MS',sans-serif;letter-spacing:0;font-weight:700}h1{font-size:clamp(40px,5vw,66px)}h2{font-size:35px}h3{font-size:23px}
.hero{min-height:530px;border-radius:5px 55px 5px 55px;overflow:hidden;box-shadow:none;background:#2a5634}.hero>img{object-position:center 54%}.hero:after{background:linear-gradient(90deg,#133f28db 0%,#133f2880 55%,#133f280a 100%)}
.hero-content{max-width:650px;padding:55px 58px 65px}.hero h1{font-size:clamp(46px,5vw,68px);font-weight:400;line-height:1.02;max-width:450px;margin-bottom:24px}.hero-content>p:not(.eyebrow){font-size:21px;line-height:1.55;color:white;max-width:470px}.eyebrow{font:700 14px/1.4 Nunito,sans-serif;letter-spacing:1px;text-transform:none}.hero .eyebrow{color:#e1f5be;font-size:17px}
.button{font:700 19px/1.2 Nunito,sans-serif;border-radius:30px;background:var(--sun);color:#35372d;padding:15px 26px;box-shadow:0 3px 0 #dfb325;gap:20px}.button:hover{background:#f5d350}.light{background:var(--sun);color:#35372d;margin-top:8px}.photo-caption{background:#184b35c9;bottom:14px;border-radius:4px;font-size:12px}
.section{padding-top:48px}.section-title{margin-bottom:8px}.section-title h2{font-size:42px;font-weight:400;margin-bottom:8px}.section-title .eyebrow{color:var(--sage);margin-bottom:8px}.section-title p{font-size:19px;color:#69725c}.leaf{color:#459d4b;font-size:80px}
.category-grid{gap:20px}.category{position:relative;border:0;background:#edf3e6;border-radius:6px 28px 6px 28px;padding:28px 23px;align-items:flex-start;gap:17px;min-height:150px;box-shadow:none}.category h3{font-size:23px;font-weight:700;margin:0 0 8px;line-height:1.12;color:#276c4c}.category p{font-size:16px;line-height:1.4;color:#5c6954}.icon{border-radius:50% 45% 50% 40%;background:#459d4b;color:white;width:47px;height:47px;font-size:29px;box-shadow:0 3px 6px #32742a15}.arrow{font-size:22px;color:#39874c;position:absolute;right:18px;bottom:12px}.category:hover{transform:translateY(-3px);box-shadow:0 8px 20px #30572e15}
.quiet{background:#e8efdc;border:0;border-radius:5px 28px 5px 28px;margin-top:24px;padding:19px 26px}.quiet b{font-size:21px}.quiet p{font-size:18px}.quiet>span:first-child{color:#d4a51d}.quiet>span:last-child{color:#459d4b}
footer{font-size:15px;color:#57754a;border-color:#dce7d1}footer small{font-size:12px}#dock{border-radius:30px;padding:8px 24px;font-size:17px;gap:28px;background:#fffffff5;box-shadow:0 4px 18px #204c3220}#dock a{min-height:40px;color:var(--green)}
.breadcrumb{font-size:17px}.page-heading h1{font-size:52px;font-weight:400}.page-heading p:not(.eyebrow){font-size:21px}.notice{font-size:17px;background:#fff2cd;border-color:#d8ac31}.panel{border:0;background:#f0f4e9;border-radius:5px 26px 5px 26px;padding:30px}.panel h2{font-size:30px;font-weight:700}.panel p{color:#52634e}.device-card{border:0;border-radius:5px 30px 5px 30px;background:#eef3e7}.device-card h2{font:700 26px/1.15 Nunito,sans-serif}.device-card p{font-size:17px}.device-card img{background:#e8dfd0}.detail-layout small,.muted{font-size:16px}.checklist label{background:#fffdf7;min-height:55px}.text-button{font-size:18px}.activity h2{font-size:28px}.activity small{font-size:16px}.wifi-panel h2{font:700 23px/1.2 Nunito,sans-serif}.emergency{background:#fcf0ce}.qr-card h2{font-size:25px}.qr-card small{font-size:13px}.contact-actions p{font-size:20px}
@media(max-width:950px){.hero-content{padding:45px 38px}.category h3{font-size:23px}.brand img{width:270px}}
@media(max-width:600px){body{font-size:18px}header{padding:15px 18px 19px;gap:14px}.brand{flex:1}.brand img{width:220px}select{font-size:14px;padding:9px;max-width:132px}.hero{min-height:545px;border-radius:4px 30px 4px 30px}.hero-content{padding:36px 25px 55px}.hero h1{font-size:48px}.hero-content>p:not(.eyebrow){font-size:19px;line-height:1.5}.hero .eyebrow{font-size:14px}.hero:after{background:linear-gradient(90deg,#133f28e8,#133f2866)}.photo-caption{font-size:10px;left:16px;right:16px;width:fit-content}.button{font-size:18px;padding:14px 21px}.section{padding-top:32px}.section-title h2{font-size:35px}.section-title p{font-size:18px}.category-grid{gap:12px}.category{padding:22px 20px;min-height:112px;border-radius:5px 24px 5px 24px;align-items:center}.category h3{font-size:23px}.category p{font-size:16px;padding-right:12px}.arrow{bottom:15px}.page-heading h1{font-size:41px}.page-heading p:not(.eyebrow){font-size:19px}.panel{padding:24px}.panel h2{font-size:28px}.device-card h2{font-size:23px}.device-card p{font-size:16px}.quiet b{font-size:20px}.quiet p{font-size:17px}#dock{font-size:16px;gap:22px;padding:7px 20px}footer{font-size:14px}.eyebrow{font-size:13px}.leaf{display:none}}
@media print{body{font-size:12px;background:white}.page-heading h1{font-size:25px}.qr-card h2{font-size:20px}.qr-card small{font-size:10px}.notice{font-size:12px}.qr-card{border:1px solid #ccc}.button{box-shadow:none}}

/* Softer, rounded typography. */
@font-face{font-family:Nunito;src:url("/assets/Nunito-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Nunito;src:url("/assets/Nunito-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Nunito;src:url("/assets/Nunito-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
h1,h2,h3,.category h3,.panel h2,.device-card h2,.activity h2{font-weight:600} .hero h1{font-weight:600;line-height:1.12} .eyebrow{font-weight:600;letter-spacing:.4px} .hero-content>p:not(.eyebrow){font-size:19px;line-height:1.65} .category h3{font-size:21px;line-height:1.3} .category p{font-size:15px} .section-title h2{font-size:37px} @media(max-width:600px){.hero h1{font-size:43px}.hero-content>p:not(.eyebrow){font-size:17px}.category h3{font-size:20px}.section-title h2{font-size:31px}}
/* Guest app extensions */
.install-card{display:flex;align-items:center;gap:20px;background:#e9f0df;border-radius:5px 28px 5px 28px;padding:26px;margin:15px 0 45px}.install-card h2{font-size:24px;margin:0}.install-card .text-button{margin:0;padding-bottom:0}.map-tools{display:flex;gap:14px;margin:20px 0}.map-viewport{max-height:75vh;overflow:auto;border:1px solid #d3dec9;border-radius:16px;margin:20px 0 40px}.map-viewport img{display:block;max-width:none;width:100%;height:auto}.bread-day{display:flex;justify-content:space-between;gap:25px;align-items:center;margin:25px 0 30px;padding:25px;background:#e8efdf;border-radius:5px 28px 5px 28px}.bread-day h2{font-size:27px;margin:5px 0}.bread-day p{margin:5px 0;font-size:16px}.bread-day small{font-size:14px;color:#63735b}.bread-day b{font-size:17px}.bread-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.bread-card{background:#fffefa;border:1px solid #e4e8da;border-radius:5px 30px 5px 30px;overflow:hidden}.bread-card>img{width:100%;height:180px;object-fit:cover}.bread-card>div{padding:23px}.bread-card small{font-size:12px;color:#778368}.bread-card h2{font-size:26px;margin:8px 0 12px}.bread-card p{font-size:15px;min-height:48px}.bread-price{display:flex;justify-content:space-between;align-items:center;gap:12px}.bread-price b{font-size:18px}.bread-price b small{display:block}.stepper{display:flex;align-items:center;gap:14px;background:#edf3e6;border-radius:28px;padding:4px}.stepper button{font:600 25px Nunito,sans-serif;border:0;border-radius:50%;width:42px;height:42px;background:white;color:var(--green);cursor:pointer}.stepper output{min-width:19px;text-align:center;font-size:20px}.bread-form{max-width:720px;margin:30px 0 45px}.bread-form label{display:block;font-size:16px;margin:20px 0}.bread-form input{width:100%;font:18px Nunito,sans-serif;border:1px solid #c9d5be;padding:14px;border-radius:9px;margin-top:8px;background:white}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.order-total{display:flex;justify-content:space-between;border-top:1px solid #cdd9bf;padding-top:18px;font-size:24px}.order-lines>p{display:flex;justify-content:space-between;gap:20px;margin:15px 0}.order-lines .order-total{margin-top:24px;padding-top:20px}.order-review,.order-success{max-width:750px;margin-bottom:45px}.order-review h2,.order-success h2{font-size:32px}.action-row{display:flex;align-items:center;gap:25px;flex-wrap:wrap}button:disabled{opacity:.5;cursor:wait}.success-mark{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#459d4b;color:white;width:65px;height:65px;font-size:35px;margin:5px 0 22px}dialog{border:0;border-radius:25px;background:var(--cream);color:var(--ink);padding:35px;max-width:min(540px,90vw);box-shadow:0 15px 60px #0004}dialog::backdrop{background:#153a2b99}dialog h2{font-size:30px}#bread-error,#confirm-error{color:#a03c20;font-size:16px}.page-heading:has(+ #bread-app) h1{margin-bottom:0}@media(max-width:600px){.bread-grid{grid-template-columns:1fr;gap:18px}.bread-day{flex-direction:column;align-items:flex-start;gap:12px;padding:22px}.bread-day h2{font-size:25px}.bread-card>img{height:160px}.bread-card>div{padding:20px}.bread-card p{min-height:0}.install-card{padding:23px;gap:14px}.install-card h2{font-size:21px}.install-card .text-button{font-size:16px}.order-review h2,.order-success h2{font-size:28px}.order-lines p{font-size:16px}.hero-content h1{font-size:clamp(36px,7vw,62px)}.bread-form{margin-bottom:30px}}
[hidden]{display:none!important}
.order-period{background:#fff3cf;border-radius:5px 24px 5px 24px;padding:22px 26px;margin:0 0 22px}.order-period h3{font-size:23px;color:var(--green);margin:0 0 10px}.order-period p{font-size:17px;margin-bottom:8px}.order-period small{font-size:13px;color:#777454}#window-status:not(:empty){padding:14px 18px;background:#e8efdf;border-radius:9px;font-size:16px;margin-bottom:22px}
/* Camping guide, search and original map */
.preserve-lines{white-space:pre-line}.article-sections{max-width:900px}.category h2{font-size:23px;margin:0}.guest-search{background:#eaf0df;border-radius:6px 28px;padding:24px;margin:28px 0}.guest-search label{display:block;font-weight:700;margin-bottom:10px}.guest-search>div{display:flex;gap:12px}.guest-search input{min-width:0;flex:1;border:1px solid #a7b89e;border-radius:12px;background:#fffefa;font:inherit;padding:12px}.reception-summary{display:flex;gap:20px;align-items:center;flex-wrap:wrap;background:#fff5d6;padding:18px 24px;border-radius:6px 24px;margin-top:22px}.reception-summary a{margin-left:auto}.emergency-access{display:inline-flex;align-items:center;border:1px solid #9b4f35;color:#87432c;background:#fff8ed;border-radius:24px;padding:8px 15px;font-size:14px;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:14px}.area-cards .panel{padding:0;overflow:hidden}.area-cards .activity>div:not(.place-photo){padding:22px}.place-photo{position:relative}.place-photo img{width:100%;height:140px;object-fit:cover;display:block}.place-photo small{position:absolute;bottom:5px;left:8px;background:#fffefbe8;padding:2px 7px;border-radius:5px;font-size:11px}.area-cards .action-row{gap:10px}.area-cards .button{padding:10px 16px;font-size:15px}.section-photo{width:100%;max-height:260px;object-fit:cover;border-radius:5px 30px}.search-result h2{font-size:24px}.search-result:hover{border-color:var(--green)}.map-shell{background:#ebeedd;border:1px solid #b8c3a5;border-radius:16px;padding:12px;margin-bottom:20px}.map-shell .map-tools{margin:0 0 12px;flex-wrap:wrap;gap:8px}.map-canvas{height:65vh;overflow:auto;touch-action:none;cursor:grab;background:#fff;overscroll-behavior:contain}.map-canvas:active{cursor:grabbing}.map-canvas img{width:100%;max-width:none;display:block;user-select:none}.map-shell.expanded{position:fixed;inset:0;z-index:100;border-radius:0;display:flex;flex-direction:column;margin:0;padding:12px;background:var(--cream)}.map-shell.expanded .map-canvas{flex:1;height:auto}.action-row{margin:20px 0}#dock{gap:18px}#dock .button{background:none;padding:6px 2px;color:var(--green);font-size:14px;min-height:38px}
@media(max-width:650px){header{flex-wrap:wrap;padding-bottom:16px}.header-actions{width:100%;justify-content:space-between}.emergency-access{font-size:13px}.guest-search{padding:18px}.guest-search>div{flex-direction:column}.guest-search input{width:100%;font-size:16px}.reception-summary{gap:4px;font-size:15px}.reception-summary span{width:100%}#dock{bottom:8px;width:calc(100% - 16px);justify-content:space-around;gap:3px;padding:7px 9px}#dock .button{font-size:12px}.map-tools .button{font-size:13px;padding:9px 13px}.map-canvas{height:56vh}.area-cards .activity>div:not(.place-photo){padding:20px}}
.search-access{font-size:15px;color:var(--green);white-space:nowrap}.header-actions{flex-wrap:wrap}.emergency-access{position:fixed;bottom:90px;right:20px;z-index:8;box-shadow:0 2px 12px #294b3817}.map-shell.expanded~*{pointer-events:none}@media(max-width:650px){.emergency-access{bottom:78px;right:12px}.header-actions{justify-content:space-between}.category h2{font-size:21px}}
/* Quiet bottom navigation: dedicated links, independent of action buttons. */
#dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:min(520px,calc(100% - 24px));padding:7px;background:#fffefb;border:1px solid #e1e6dc;border-radius:18px;box-shadow:0 3px 14px #294b380d;backdrop-filter:none;bottom:12px}
#dock a.nav-item{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:58px;padding:7px 9px;border:0;border-radius:12px;background:transparent;box-shadow:none;transform:none;text-decoration:none;font-size:13px;font-weight:600;line-height:1.25;color:#617363;transition:background .15s,color .15s}
#dock a.nav-item svg{width:22px;height:22px;flex:none}#dock a.nav-item[aria-current="page"]{background:#edf2e8;color:var(--green)}#dock a.nav-item:hover{background:#f0f3ec;color:var(--green)}
.emergency-access{box-shadow:none;border-color:#d8c9bb;border-radius:12px;background:#fffaf3;font-size:13px;padding:7px 12px;bottom:96px}
@media(max-width:650px){#dock{width:calc(100% - 20px);bottom:10px;padding:6px;gap:2px}#dock a.nav-item{padding:6px 2px;min-height:56px;font-size:12px}.emergency-access{bottom:94px}}
/* Shared guest typography and spacing. Component-specific layouts use this scale. */
:root{--text-small:.8125rem;--text-body:1rem;--text-title:clamp(1.75rem,3.5vw,2.5rem);--text-section:1.25rem;--text-card:1.0625rem;--radius:16px;--radius-small:10px;--space:24px;--text-muted:#606b5d}
body{font-size:var(--text-body);line-height:1.65;font-weight:400}
h1,h2,h3,h4,.hero h1,.page-heading h1{font-family:Nunito,'Trebuchet MS',sans-serif;font-weight:600;letter-spacing:0;overflow-wrap:anywhere;text-wrap:balance}
h1,.page-heading h1{font-size:var(--text-title);line-height:1.25;margin:0 0 18px}
h2,.section-title h2{font-size:var(--text-section);line-height:1.4;font-weight:600;margin:0 0 12px}
h3{font-size:var(--text-card);line-height:1.4;margin:0 0 10px}
p{margin:0 0 14px}p:last-child{margin-bottom:0}b,strong{font-weight:600}small,.muted,.detail-layout small{font-size:var(--text-small);line-height:1.55;color:var(--text-muted)}
main{padding-bottom:24px}main p,main li,main label,main small,main a{overflow-wrap:anywhere}main :where(section,article,div){min-width:0}
.page-heading{padding:24px 0 12px;max-width:760px}.page-heading p:not(.eyebrow),.section-title p{font-size:var(--text-body);line-height:1.65;color:var(--text-muted)}
.eyebrow,.hero .eyebrow{font-size:.75rem;line-height:1.5;font-weight:600;letter-spacing:.06em;margin:0 0 12px}
.hero{min-height:420px;border-radius:var(--radius)}.hero-content{max-width:660px;padding:48px}.hero h1,.hero-content h1{font-size:clamp(1.875rem,3.8vw,2.75rem);line-height:1.22;max-width:520px;margin-bottom:20px}.hero-content>p:not(.eyebrow){font-size:var(--text-body);line-height:1.75;max-width:500px}.hero .eyebrow{color:#e1f5be}.hero .button{margin-top:8px}
.section{padding:32px 0 24px}.section-title{margin-bottom:16px}.section-title h2{font-size:1.5rem}.section-title p{margin:0}.leaf{font-size:48px}
.category-grid,.info-grid,.device-grid,.activity-grid,.bread-grid,.qr-grid{gap:20px;margin-top:20px;margin-bottom:28px}
.panel,.category,.device-card,.bread-card,.qr-card,.install-card,.guest-search,.bread-day,.order-period,.reception-summary,.section-photo,.device-photo,.map-shell{border-radius:var(--radius)}
.panel{padding:var(--space);margin-bottom:20px}.panel h2,.activity h2,.device-card h2,.category h2,.category h3,.bread-card h2,.install-card h2,.qr-card h2{font:600 var(--text-card)/1.45 Nunito,sans-serif;margin:0 0 10px}.panel p,.activity p,.device-card p,.category p,.bread-card p,.contact-actions p{font-size:var(--text-body);line-height:1.65;color:var(--text-muted)}
.category{padding:24px;min-height:124px;align-items:center;gap:16px}.category h2,.category h3{margin-bottom:6px}.category p{font-size:.875rem;margin:0;padding-right:8px}.icon{width:40px;height:40px;font-size:24px;box-shadow:none}.arrow{font-size:19px}.category:hover,.device-card:hover{transform:none;box-shadow:0 3px 12px #30572e0a}
.device-card>div,.bread-card>div,.activity>div,.area-cards .activity>div:not(.place-photo){padding:var(--space)}.area-cards .activity>.place-photo{padding:0}.device-card p,.bread-card p{min-height:0}.detail-layout{gap:32px}.detail-layout ol{padding-left:24px}.detail-layout li{padding:0 0 12px 4px}
.button,.light,.area-cards .button{font:600 .9375rem/1.4 Nunito,sans-serif;min-height:44px;padding:11px 18px;gap:10px;border-radius:var(--radius-small);box-shadow:none;white-space:normal;text-align:center;max-width:100%;overflow-wrap:anywhere}
.text-button{font-size:.9375rem;line-height:1.5;font-weight:400}.action-row{gap:12px;align-items:center;margin:20px 0}.notice,#window-status:not(:empty){font-size:.875rem;line-height:1.6;padding:16px 18px;border-radius:var(--radius-small)}
.guest-search,.install-card{padding:var(--space);margin:24px 0}.guest-search label{font-size:var(--text-card);font-weight:600;margin-bottom:12px}.guest-search input,.bread-form input{font-size:1rem;line-height:1.5;padding:12px;border-radius:var(--radius-small)}.install-card h2{margin:0}.install-card .text-button{margin-top:6px}
.reading-text{max-width:70ch}.reading-text p{white-space:pre-line}.reading-text p+p{margin-top:14px}.time-slot{display:inline-block;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:400;padding:3px 9px;border-radius:7px;background:#ffffffa6;margin:2px 2px 2px 0}
.reception-summary{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,2fr) auto;align-items:center;gap:20px;padding:20px 24px;margin-top:24px}.reception-summary h2{font-size:1rem;margin:0}.reception-summary a{padding:8px;font-size:18px}.reception-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.reception-times .time-slot{display:block;text-align:center;margin:0;padding:8px;font-size:.9375rem}.time-separator{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.tariff-list{max-width:none}.tariff-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:13px 0;border-bottom:1px solid #dce4d6;align-items:baseline}.tariff-row:first-child{padding-top:0}.tariff-row:last-child{border-bottom:0;padding-bottom:0}.tariff-row>span:last-child{text-align:right;font-variant-numeric:tabular-nums;color:var(--green)}
.bread-day{padding:var(--space);align-items:flex-start;gap:24px;margin:20px 0}.bread-day h2{font-size:1.25rem;line-height:1.45;margin:6px 0 0}.bread-day small{font-size:var(--text-small)}.bread-day b,.bread-day p{font-size:.9375rem;line-height:1.65;font-weight:400;margin:0 0 6px}.bread-day>div:last-child{max-width:360px}.order-period{padding:var(--space);margin-bottom:20px}.order-period h3{font-size:var(--text-card)}.order-period p{font-size:.9375rem;line-height:1.65}.order-period small,.bread-card small,.place-photo small{font-size:var(--text-small)}
.bread-price{gap:12px;flex-wrap:wrap}.bread-price b{font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums}.bread-price b small{font-weight:400}.stepper{gap:10px;border-radius:var(--radius-small)}.stepper button{font-size:21px;width:40px;height:40px}.stepper output{font-size:1rem}.bread-form{margin:24px 0}.bread-form label{font-size:1rem;margin:18px 0}.order-total,.order-lines .order-total{font-size:1.125rem;padding-top:16px}.order-lines>p{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;font-size:1rem;padding:12px 0;margin:0;border-bottom:1px solid #dce4d6}.order-lines b{font-weight:600;font-variant-numeric:tabular-nums}.order-review h2,.order-success h2{font-size:1.375rem;line-height:1.4}.success-mark{width:48px;height:48px;font-size:26px;margin-bottom:18px}
.wifi-panel h2{font-size:.875rem;margin-bottom:6px}.wifi-panel p{font-size:1rem}.checklist label{font-size:1rem;line-height:1.55;padding:12px;border-radius:var(--radius-small);gap:12px}.checklist input{flex:none}.search-result h2{font-size:var(--text-card)}.breadcrumb{font-size:.875rem;padding:16px 0}.qr-card small{font-size:.75rem}footer{font-size:.8125rem;line-height:1.6;margin-bottom:155px}footer small{font-size:.75rem}summary{font-weight:600;line-height:1.55}dialog{padding:28px;border-radius:var(--radius)}dialog h2{font-size:1.375rem}dialog p{font-size:1rem}
@media(max-width:700px){:root{--space:20px}.reception-summary{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:20px}.reception-summary h2{grid-column:1}.reception-summary>a{grid-column:2;grid-row:1;margin:0}.reception-times{grid-column:1/-1}.category-grid,.device-grid,.activity-grid,.bread-grid,.info-grid{gap:16px}.hero-content{padding:32px}.header-actions{gap:12px}.contact-actions{display:flex;flex-wrap:wrap;gap:12px}.contact-actions .button{margin:0}}
@media(max-width:600px){body{font-size:1rem}header{padding:18px;gap:16px}.brand img{width:210px}.header-actions{width:100%}.hero{min-height:0}.hero-content{padding:32px 24px}.hero h1,.hero-content h1{font-size:1.875rem}.hero-content>p:not(.eyebrow){font-size:1rem;line-height:1.7}.hero .eyebrow{font-size:.6875rem}.page-heading{padding:18px 0 8px}.page-heading h1{font-size:1.75rem}.page-heading p:not(.eyebrow){font-size:1rem}.section{padding-top:28px}.section-title h2{font-size:1.375rem}.section-title p{font-size:.9375rem}.category{min-height:100px;padding:20px;gap:14px}.category h2,.category h3{font-size:var(--text-card)}.panel h2,.bread-card h2,.device-card h2,.install-card h2{font-size:var(--text-card)}.device-card>div{padding:18px}.device-card img{width:95px;height:120px}.bread-day{flex-direction:column;gap:16px}.bread-day h2{font-size:1.1875rem}.bread-day>div:last-child{max-width:none}.order-review h2,.order-success h2{font-size:1.25rem}.reception-times{grid-template-columns:1fr}.reception-times .time-slot{text-align:left;padding:8px 12px}.tariff-row{gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);font-size:.9375rem}.guest-search>div{gap:10px}.install-card{gap:14px}.map-tools .button{font-size:.875rem;padding:10px 13px}.order-lines>p{font-size:.9375rem}.action-row .button{flex:0 1 auto}footer{margin-bottom:155px}.photo-caption{max-width:calc(100% - 32px)} }
@media print{body{font-size:12px}.hero{min-height:0}.emergency-access,.search-access{display:none}.panel,.category,.bread-card{break-inside:avoid}.page-heading h1{font-size:24px}.tariff-row{font-size:12px}.time-slot{background:none;padding:0}.qr-card h2{font-size:18px}}
.opening-row+.opening-row{margin-top:24px}.opening-day{font-weight:600;margin:0 0 10px}.opening-times{display:flex;flex-wrap:wrap;gap:8px}.opening-times .time-slot{margin:0;padding:7px 12px;font-size:.9375rem}@media(max-width:600px){.opening-times{display:grid;grid-template-columns:1fr}.opening-times .time-slot{display:block}}
/* General home wifi card: credentials come from the existing shared guide config. */
.home-wifi{margin:24px 0 0;padding:22px 24px;border:1px solid #b9cfb4;border-radius:var(--radius);background:#edf4e8;color:var(--green)}.home-wifi-heading{display:flex;align-items:center;gap:14px;margin-bottom:18px}.home-wifi-heading svg{width:30px;height:30px;flex:none}.home-wifi h2{font-size:var(--text-card);line-height:1.4;margin:0 0 3px;font-weight:600}.home-wifi-heading p{font-size:.875rem;color:var(--text-muted);margin:0}.home-wifi-details{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;max-width:650px}.wifi-field-label{display:block;font-size:.8125rem;line-height:1.5;color:var(--text-muted);margin:0 0 5px}.wifi-network{font-size:1rem;line-height:1.5;margin:0;overflow-wrap:anywhere}.wifi-password-row{display:flex;align-items:center;gap:10px;min-width:0}.wifi-password-row input{font:400 1rem/1.5 Nunito,sans-serif;letter-spacing:.04em;min-width:0;width:130px;max-width:100%;padding:4px 0;border:0;border-radius:0;background:transparent;color:var(--green)}.wifi-password-row button{font:600 .8125rem/1.4 Nunito,sans-serif;min-height:40px;padding:8px 12px;border:1px solid #bdcfb6;border-radius:var(--radius-small);background:#fffdf7;color:var(--green);cursor:pointer}.home-wifi-actions{display:flex;align-items:center;gap:16px;margin-top:16px}.home-wifi-actions .button{background:var(--green);color:#fffdf7;font-size:.875rem;flex:none}.home-wifi-actions .button:hover{background:#1d664e}.home-wifi-actions p{font-size:.8125rem;line-height:1.5;margin:0;color:var(--green)}
@media(max-width:600px){.home-wifi{padding:20px;margin-top:20px}.home-wifi-details{grid-template-columns:1fr 1fr;gap:16px}.wifi-password-row{flex-wrap:wrap;gap:4px}.wifi-password-row input{width:100%;min-height:28px}.wifi-password-row button{padding:7px 10px}.home-wifi-actions{align-items:flex-start;flex-direction:column;gap:8px}.home-wifi-actions .button{width:100%}.home-wifi-actions p:empty{display:none}}
/* Keep hidden reception separators from inheriting the mobile full-width span rule. */
.reception-summary .reception-times .time-separator{width:1px;max-width:1px}
@media(max-width:600px){.wifi-password-row{flex-wrap:nowrap;gap:6px}.wifi-password-row input{width:0;flex:1}.wifi-password-row button{flex:none;font-size:.75rem;padding:7px 8px}}
@media(max-width:360px){.home-wifi-details{grid-template-columns:1fr}.wifi-password-row{max-width:240px}.wifi-password-row input{flex:0 1 120px;width:120px}}
.wifi-password-row button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:8px}.wifi-password-row button svg{width:20px;height:20px}
.home-wifi{position:relative}.home-wifi-heading{padding-right:32px}.wifi-dismiss{position:absolute;top:10px;right:10px;width:40px;height:40px;border:0;border-radius:10px;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--green);cursor:pointer}.wifi-dismiss:hover{background:#dae8d3}.wifi-dismiss svg{width:18px;height:18px}

/* Catalogue: compact shared cards and independent whole/half steppers. */
.bread-card{min-width:0;overflow:hidden}.bread-card>img{object-fit:contain;background:#fff;height:160px;width:100%}.bread-card h2{font-size:1.1rem;font-weight:650;line-height:1.35}.bread-price{gap:.6rem;flex-wrap:wrap;border-top:1px solid #e6e8df;padding-top:.65rem;margin-top:.65rem}.bread-price small{font-size:.8rem;font-weight:400}.bread-info{margin-top:.8rem;font-size:.85rem;line-height:1.6}.bread-info summary{cursor:pointer;color:var(--green,#247357);font-weight:500}.bread-info p{white-space:pre-line;overflow-wrap:anywhere}.bread-info a{overflow-wrap:anywhere}.bread-grid{align-items:start}.bread-card .stepper{flex-shrink:0}.bread-card .stepper button{min-width:38px;min-height:38px}.catalogue-preview{margin-top:1.2rem}.catalogue-preview .bread-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}

/* Shared phone readability: 16px prose, finger-sized controls and contained content. */
main,main section,main article,.category>div,.order-lines span{min-width:0}
main p,main li{overflow-wrap:anywhere}
.wifi-instructions{margin-top:24px}.wifi-instructions ol{margin:0;padding-left:1.35rem}.wifi-instructions li{font-size:1rem;line-height:1.7;margin:.65rem 0}
.button,button.text-button,.stepper button,.wifi-password-row button{min-height:44px}
.bread-info summary{font-size:1rem;min-height:44px;padding:9px 0;box-sizing:border-box}
.bread-card .stepper button{width:44px;height:44px;min-width:44px;min-height:44px}
.home-wifi-actions .button{font-size:1rem}.home-wifi-actions p{font-size:.9375rem}
@media(max-width:600px){
 .category p,.section-title p,.notice,#window-status:not(:empty),.order-period p,.bread-day p,.bread-day b,.order-lines>p,.tariff-row,.opening-times .time-slot,.reception-times .time-slot{font-size:1rem}
 #dock a.nav-item{font-size:.875rem;min-height:60px}
 .home-wifi-details{grid-template-columns:1fr;gap:18px}
 .wifi-password-row{max-width:280px}.wifi-password-row input{flex:1;width:150px}
 .wifi-field-label{font-size:.875rem}.home-wifi-heading p{font-size:1rem}
 .action-row .button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
 .map-tools .button{min-width:44px;min-height:44px}
}
@media(max-width:600px){.wifi-password-row button{min-width:44px}main>p.muted{font-size:1rem}}
/* Keep the keyboard skip link truly hidden until focus, including full-page captures. */
.skip{top:0;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
.skip:focus{top:10px;width:auto;height:auto;padding:15px;clip-path:none;overflow:visible}

.bread-day .pickup-weekday{font-size:1.125rem;font-weight:600;line-height:1.4;color:var(--green);margin:8px 0 2px}
.bread-day .pickup-weekday+h2{margin-top:0}

/* Accommodation choice: one accessible radio group, pitch number only when needed. */
.stay-choice{border:0;padding:0;margin:24px 0}.stay-choice legend{font-size:1rem;font-weight:600;margin-bottom:12px}.stay-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bread-form .stay-options label{display:flex;align-items:center;gap:12px;min-height:52px;margin:0;padding:12px;border:1px solid #cad8c5;border-radius:10px;background:#fffdf8;font-size:1rem;font-weight:400;cursor:pointer}.bread-form .stay-options input[type=radio]{width:20px;height:20px;min-height:20px;flex:none;margin:0;padding:0;accent-color:var(--green)}.stay-options label:has(input:checked){border-color:var(--green);background:#edf4e8}.bread-form #pitch-field[hidden]{display:none!important}.stay-options span{min-width:0;overflow-wrap:anywhere}@media(max-width:600px){.stay-options{grid-template-columns:1fr}}
.stay-options input:checked+span{text-decoration:none;color:inherit}

/* Compact bread catalogue: shared list rows with independent whole/half quantities. */
.bread-grid{display:block;max-width:940px;margin:0 auto;background:transparent}
.bread-card.bread-product-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 10px;align-items:center;min-height:88px;margin:0;padding:8px 0;border:0;border-bottom:1px solid #dce4d6;border-radius:0;box-shadow:none;background:transparent;overflow:visible}
.bread-product-row .bread-thumbnail{position:relative;align-self:center;width:64px;height:64px;padding:0}
.bread-product-row .bread-thumbnail img{display:block;width:64px;height:64px;object-fit:cover;border-radius:8px;background:white}
.bread-product-row .bread-product-main{display:grid;grid-template-columns:minmax(0,1fr) 112px;column-gap:8px;min-width:0;padding:0}
.bread-card.bread-product-row h2{grid-column:1;font:500 1rem/1.25 Nunito,sans-serif;margin:0 0 4px;overflow-wrap:anywhere;color:var(--green)}
.bread-product-row .bread-price{display:contents;margin:0;padding:0;border:0}
.bread-product-row .bread-unit-price{grid-column:1;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 8px;font-size:.8125rem;line-height:1.35;color:var(--text-muted);min-width:0}
.bread-product-row .bread-unit-price b{font-size:1rem;line-height:1.4;font-weight:600;color:var(--green);white-space:nowrap}
.bread-product-row .stepper{grid-column:2;grid-row:1/span 2;align-self:center;display:flex;gap:0;width:112px;padding:0;border-radius:0;background:transparent}
.bread-card.bread-product-row .stepper button{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;font:500 22px/1 Nunito,sans-serif;border:1px solid #cbdac5;border-radius:10px;background:#fffefa;box-shadow:none}
.bread-product-row .stepper output{width:24px;min-width:24px;text-align:center;font-size:1rem;line-height:1.4}
.bread-product-row.has-variants .bread-thumbnail{align-self:start;margin-top:2px}
.bread-card.bread-product-row.has-variants h2{grid-column:1/-1;margin-bottom:4px}
.bread-product-row.has-variants .bread-price{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px;min-height:44px}
.bread-product-row.has-variants .stepper{grid-row:auto}
.bread-product-row.has-variants .bread-unit-price{align-self:center}
.bread-product-row .product-info-toggle{position:absolute;right:-4px;bottom:-4px;display:flex;align-items:end;justify-content:end;width:44px;height:44px;min-height:44px;min-width:44px;margin:0;padding:2px;border:0;background:transparent;color:var(--green);cursor:pointer;box-shadow:none}
.product-info-toggle span{display:flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;background:#fffdf7;border:1px solid #cbdac5;font:500 16px/1 Nunito,sans-serif}
.bread-product-row .bread-product-info{grid-column:1/-1;padding:12px;margin:8px 0;background:#edf3e6;border-radius:10px;min-width:0}
.bread-product-info[hidden]{display:none!important}.bread-product-info p,.bread-product-info a{font-size:1rem;line-height:1.6;overflow-wrap:anywhere}.bread-product-info p{min-height:0;white-space:pre-line;margin:0 0 10px}
#bread-editor .bread-card.bread-product-row>div{padding:0}#bread-editor .bread-card.bread-product-row .bread-product-info{padding:12px}#bread-editor .bread-card.bread-product-row h2{font-size:1rem;line-height:1.25;margin:0 0 4px}#bread-editor .bread-card.bread-product-row output{min-width:24px}
#bread-editor .bread-card.bread-product-row .bread-product-info p{font-size:1rem;line-height:1.6}
/* Shared information-page photos: compact covers, with text always outside the image. */
.page-photo{margin:0 0 24px;min-width:0;max-width:100%}.page-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:18px;background:#edf1e6}.page-photo-cover{max-width:960px}.page-photo-cover img{max-height:360px}.page-photo-inline{width:100%;max-width:760px;margin:8px 0 24px}.page-photo-inline img{max-height:380px}.page-photo figcaption{font-size:14px;font-weight:400;line-height:1.5;color:#66725f;margin-top:8px;overflow-wrap:anywhere}.article-sections>.page-photo{grid-column:1/-1}@media(max-width:600px){.page-photo{margin-bottom:20px}.page-photo img{border-radius:14px;max-height:none}}

/* Category icons share the same optical size and stroke on every device. */
.icon>.guest-icon{display:block;width:26px;height:26px;flex:none}.icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}

.leaf>.guest-icon{width:40px;height:40px;display:block}

/* One calm category treatment across the homepage and all topic overviews. */
.category-grid{gap:16px}.category{background:#edf3e8;border-radius:18px;padding:20px;min-height:108px;gap:16px}.category .icon{background:#28674e;color:#fffdf7;border-radius:50%;box-shadow:none}.category:hover{background:#e6efdf;box-shadow:none}.category .arrow{color:#50785d}.category h2,.category h3{margin-bottom:6px}.category h2:last-of-type{margin-bottom:0}
@media(max-width:600px){.category-grid{gap:12px}.category{padding:18px;min-height:92px;border-radius:18px;gap:14px}}

/* Real location photos replace the repeated campsite image on outing cards. */
.area-cards .place-photo img{height:auto;aspect-ratio:16/9;object-fit:cover}.place-photo small a{display:inline-flex;align-items:center;min-height:32px;padding:0 3px;text-decoration:underline}.place-photo small{font-size:12px;line-height:1.3}.location-placeholder{height:100px;display:flex;align-items:center;justify-content:center;background:#e8efdf;color:#4c7758}.location-placeholder>.guest-icon{width:42px;height:42px}

.reading-text .compact-point{margin:5px 0}.provider-name{margin:0 0 5px;font-weight:500}.provider-availability{font-size:.9375rem;color:#62715c;margin:0 0 12px}.reading-text a{color:var(--green);text-decoration:underline;text-underline-offset:3px}

/* Compact home-screen installation, shared by every language. */
.install-card{align-items:flex-start;padding:20px;border-radius:18px;gap:16px}.install-card>div{min-width:0}.install-card h2{font-size:1.2rem;font-weight:600}.install-card p{font-size:1rem;line-height:1.6;margin:8px 0 14px;max-width:58ch}.install-card .install-button{background:#23775c;color:#fffdf7;min-height:44px;border:0;font-size:1rem;white-space:normal;text-align:left}.install-button:disabled{opacity:.65}.install-help{width:min(460px,calc(100% - 32px));max-height:85dvh;overflow:auto;box-sizing:border-box;border:1px solid #d3dec9;border-radius:18px;padding:24px;background:#fffdf7;color:#344739}.install-help::backdrop{background:#142c2566}.install-help h2{font-size:1.3rem;font-weight:600;margin:0 0 16px}.install-help p,.install-help li{font-size:1rem;line-height:1.6;overflow-wrap:anywhere}.install-help ol{padding-left:24px}.install-help li{margin:10px 0}.install-help .install-note{color:#5c6858;font-size:.9375rem}.install-share{color:#23775c}.install-help .button{min-height:44px}.install-button:focus-visible,.install-help button:focus-visible{outline:3px solid #ac7e12;outline-offset:4px}@media(max-width:600px){.install-card{padding:18px;gap:12px}.install-card>.icon{flex-shrink:0}.install-help{padding:20px}}
/* Guest order confirmation and history; the thermal receipt styles stay separate. */
.bread-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 18px}.bread-navigation button{min-height:44px}.order-not-placed{font-weight:600;line-height:1.5;margin:0 0 16px}.order-unit-price{display:block;font-size:.85rem;line-height:1.35;color:#61705e;margin-top:3px}.guest-order-history .saved-order{margin:16px 0}.saved-order h3{font-size:1.1rem;overflow-wrap:anywhere}.order-status{color:var(--green);font-weight:600}.guest-order-history .order-lines p{gap:12px}.guest-order-history .order-lines span{min-width:0;overflow-wrap:anywhere}

/* Reserve space only for asynchronously fetched content. No motion is required. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.async-loading{margin:0 0 24px;border-radius:var(--radius,20px);overflow:hidden}
.skeleton-line,.skeleton-photo,.skeleton-controls,.skeleton-day{display:block;background:#e5ecdf;border-radius:8px}
.skeleton-line{height:18px;width:100%;margin:12px 0}.skeleton-line.short{width:58%}.skeleton-line.title{height:32px;width:min(72%,420px);margin-bottom:32px}
.skeleton-content{background:#f0f3ec;padding:24px;border-radius:var(--radius,20px);min-height:180px}
.skeleton-reception .skeleton-shapes{display:grid;grid-template-columns:1fr 2fr;gap:24px;align-items:center;min-height:112px;padding:24px;background:#edf2e7;border-radius:var(--radius,20px)}
.skeleton-product{display:grid;grid-template-columns:66px minmax(0,1fr) 118px;gap:12px;align-items:center;min-height:92px;border-bottom:1px solid #e2e8db}
.skeleton-photo{width:66px;height:66px}.skeleton-controls{height:44px}.skeleton-day{height:142px;margin-bottom:16px;background:#edf2e7}
.async-error{padding:20px;background:#edf2e7;border-radius:var(--radius,20px);margin-bottom:24px}.async-error p{margin-top:0}.loading-delay{font-size:1rem}
@media(max-width:600px){.skeleton-reception .skeleton-shapes{grid-template-columns:1fr;gap:8px;min-height:160px}.skeleton-product{grid-template-columns:60px minmax(0,1fr) 112px;gap:8px}.skeleton-photo{width:60px;height:60px}}
@media(prefers-reduced-motion:reduce){.async-loading,.async-loading *{animation:none!important;transition:none!important}}

/* A compact booking link in the shared guest header. */
.guest-header-links{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}
.header-actions .reservation-access{background:var(--sun);color:#294b38;font-size:.9375rem;font-weight:600;min-height:44px;padding:10px 16px;white-space:nowrap;overflow-wrap:normal}
.header-actions .reservation-access:hover{background:#f5d350}
@media(max-width:650px){.header-actions{gap:10px}.guest-header-links{gap:10px;margin-left:auto}.header-actions .reservation-access{font-size:.875rem;padding:10px 12px}}
@media print{.reservation-access{display:none}}
