/* Willowhouse actions: forest primary, ivory secondary, consistent quiet edges. */
:root{--action-radius:8px;--action-border:#b4bfae;--action-bg:#fbfaf6;--action-hover:#e5ebde;--action-ink:#344d41}
body main .solid,body main .book,body .header .nav-book,body .header .mobile-book{min-height:48px;border-radius:var(--action-radius);font-size:14px;font-weight:700;border:1px solid #344d41;background:#344d41;color:#fff;line-height:1.5;transition:background .18s,border-color .18s}
body main .solid,body main .book{padding:14px 23px;gap:28px}
body main .solid:hover,body main .book:hover,body .header .nav-book:hover,body .header .mobile-book:hover{background:#243b2e;border-color:#243b2e;color:#fff}
body main .text-link,body main .tour-photos,body main .checkin-map-links a,body main .rooms-related a,body main .checkin-nav a,body main .tour-jump a,body main .checkin-night a{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:46px;padding:11px 18px;border:1px solid var(--action-border);border-radius:var(--action-radius);background:var(--action-bg);color:var(--action-ink);font-size:14px;font-weight:600;line-height:1.5;text-decoration:none;width:fit-content;max-width:100%;transition:background .18s,border-color .18s}
body main .text-link:hover,body main .tour-photos:hover,body main .checkin-map-links a:hover,body main .rooms-related a:hover,body main .checkin-nav a:hover,body main .tour-jump a:hover,body main .checkin-night a:hover{background:var(--action-hover);border-color:#7e9270}
body main :is(.rooms-related,.checkin-nav,.tour-jump){gap:10px}
body #faq>div:first-child .text-link{padding:8px 0;min-height:44px;border:0;border-bottom:1px solid #c9d4c1;border-radius:0;background:transparent;color:#f7f5ef;font-weight:500}body #faq>div:first-child .text-link:hover{background:transparent;color:#fff;border-bottom-color:#fff}
body .contact-cta{display:inline-flex;min-height:48px;padding:12px 18px;gap:24px;border:1px solid var(--action-border);border-radius:var(--action-radius);background:var(--action-bg);color:#344d41;font-weight:600;line-height:1.5;text-decoration:none;transition:background .18s,border-color .18s}
body .contact-cta.solid{background:#344d41;border-color:#344d41;color:#fff}
body .contact-cta:hover{background:var(--action-hover);border-color:#7e9270}body .contact-cta.solid:hover{background:#243b2e;border-color:#243b2e}
body .header .booking-status{font-weight:700;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid #9ba88e}
body main .explore-rooms{border-radius:var(--action-radius);min-height:48px;padding:14px 24px;gap:32px;font-size:14px;font-weight:700;background:#fbfaf6;color:#344d41;border:1px solid #fbfaf6;text-decoration:none}
body main .explore-rooms:hover{background:#e5ebde;border-color:#e5ebde}
body .faq-list summary,body .faq-page-content summary{font-weight:600;padding:20px 18px;min-height:68px;background:#f0f2eb;color:#344d41;gap:18px;transition:background .18s}
body .faq-list summary:hover,body .faq-page-content summary:hover{background:#e0e7d8}
body .faq-list summary>span,body .faq-page-content summary>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid #b4bfae;border-radius:50%;background:#fbfaf6;color:#344d41;line-height:1;font-size:21px}
body .checkin-route{border-color:#b4bfae;border-radius:12px;background:#edf1e7;overflow:clip}
body .checkin-route>summary{border-radius:11px;font-weight:600}
body .checkin-route>summary>span>span{border-radius:5px;padding:7px 12px;font-weight:600}
body .checkin-route>summary>span:after{border-radius:50%;border-color:#b4bfae;background:#fbfaf6}
body .room-cover>span,body .rubbish-photo>span,body .checkin-photo>span,body .home-gallery-enlarge{padding:11px 16px;min-height:44px;border-radius:var(--action-radius);font-size:13px;font-weight:600;background:#fbfaf6;color:#344d41;border:1px solid #b4bfae;line-height:1.5}
body :is(.room-cover,.rubbish-photo,.checkin-photo):hover>span,body .home-gallery-open:hover .home-gallery-enlarge{background:#e5ebde;border-color:#7e9270}
body .home-gallery-arrow{border:1px solid #b4bfae;border-radius:8px;background:#fbfaf6;color:#344d41;min-width:40px;min-height:44px}
body dialog button,body .contact-id-row button,body .contact-close{min-height:44px;min-width:44px;font-weight:600;border-radius:8px}
body dialog button{background:#fbfaf6;border-color:#b4bfae}body dialog button:hover{background:#e5ebde}
body .contact-id-row button{background:#edf1e7;border:1px solid #b4bfae;padding:8px 12px}
body .contact-platform-row>a{min-height:44px;font-weight:600;text-decoration:none}body .contact-platform-row>a:hover{color:#526b43}
body .contact-qr summary{min-height:44px;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
body :is(a,button,input,select,summary):focus-visible{outline:3px solid #526b43;outline-offset:4px}
body button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:600px){body main .text-link,body main .tour-photos,body main .checkin-map-links a,body main .rooms-related a,body main .checkin-nav a,body main .tour-jump a,body main .checkin-night a{font-size:13px;padding:11px 14px;gap:14px}body main .solid{font-size:13px;padding:13px 20px}body .room-cover>span,body .rubbish-photo>span,body .checkin-photo>span,body .home-gallery-enlarge{font-size:12px;padding:10px 13px}body .header .mobile-book{font-size:12px}body .checkin-route>summary>span>span{padding:6px 9px}}
@media(prefers-reduced-motion:reduce){body :is(a,button,summary){transition:none}}

/* Keep the translated closing sentences visually separated. */
.final-cta h2 em{margin-inline-start:.25em}
@media(max-width:600px){.final-cta h2 em{margin-inline-start:0}}
/* Arrival links stay light and share a baseline across the three columns. */
#arrival .arrival-grid article{display:flex;flex-direction:column}
#arrival .arrival-grid article>p{margin-bottom:18px}
body #arrival .arrival-grid article>a.text-link{display:inline-flex;align-items:flex-start;justify-content:flex-start;align-self:flex-start;gap:10px;min-height:72px;margin-top:auto;padding:6px 0;border:0;border-radius:0;background:transparent;color:#344d41;font-size:12px;font-weight:500;line-height:1.65;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
body #arrival .arrival-grid article>a.text-link:hover{background:transparent;color:#61784e}
body #arrival .arrival-grid article>a.contact-cta{text-decoration:none}
#arrival .contact-cta-copy>span{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
#arrival .arrival-grid article>a.text-link>span[aria-hidden]{font-size:15px}
@media(max-width:600px){body #arrival .arrival-grid article>a.text-link{min-height:44px;margin-top:0;font-size:13px}}
/* FAQ transport reference uses a simple text link. */
body .faq-page-content details>a.text-link{padding:8px 0;min-height:44px;border:0;border-radius:0;background:transparent;color:#344d41;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;font-weight:500}
body .faq-page-content details>a.text-link:hover{background:transparent;color:#61784e}
