/* Shared readability and responsive interaction fixes. */
:root{color-scheme:light}
button{color:var(--ink)}
.btn{min-height:44px;text-align:center;line-height:1.4}
.contact .actions>.btn:not(.ghost){background:var(--lime);color:var(--ink);border-color:var(--lime)}
.contact .actions>.btn.ghost{color:#fff;border-color:#b8cbd3;background:transparent}
.contact .actions>.btn.ghost:hover{background:#ffffff14}
.contact .actions>.btn:focus-visible{outline:3px solid var(--lime)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue)}
.contact a[href^="mailto:"]{overflow-wrap:anywhere}
.contact p>a[href^="mailto:"],footer a[href^="mailto:"]{text-decoration:underline;text-underline-offset:3px}
.btn:disabled{opacity:.65;cursor:wait}
.demo-layout>*,.contact-grid>*,.package-grid>*,.work-grid>*{min-width:0}
img{max-width:100%}
.menu-toggle,.booking button,.tabs button,.filter-row button,.demo-action{min-height:44px}
@media(max-width:650px){
.contact .actions{display:grid;grid-template-columns:1fr;width:100%}
.contact .actions>.btn{width:100%}
input,select,textarea{font-size:16px}
.navlinks a:not(.btn){min-height:44px}
.site-map a{padding:8px 0;min-height:44px;display:inline-flex;align-items:center}
.demo-brand{gap:12px;overflow-wrap:anywhere}
.tabs button{overflow-wrap:anywhere}
}

/* Visible payment choices avoid truncated native mobile menus. */
.payment-options{margin:0!important;padding:0;border:0;min-width:0}
.payment-options legend{font-size:16px;margin-bottom:12px;line-height:1.4}
.payment-options>div{display:grid;gap:10px}
form .payment-option{display:flex;gap:12px;align-items:flex-start;padding:14px;background:#fff;border:1px solid #bdccd1;border-radius:10px;cursor:pointer;margin:0;color:#19303b;font-weight:400}
form .payment-option:has(input:checked){border-color:#315aeb;background:#f2f5ff;box-shadow:0 0 0 1px #315aeb}
form .payment-option input{width:20px;height:20px;min-height:0;padding:0;margin:3px 0 0;flex-shrink:0;accent-color:#315aeb}
.payment-option strong{display:block;font-size:16px;line-height:1.4}
.payment-option span span{display:block;font-size:14px;line-height:1.5;margin-top:4px;color:#465c67}
form #payment-help{font-size:14px;line-height:1.6;color:#465c67;margin:12px 0 0}
