/* Booking form styles, shared by / and /zh (2026-11-10). Also used by the other forms on the English page. */
.tbc{color:#8a5a14;font-weight:600}
.form{display:grid;gap:18px;max-width:720px}
.f2{display:grid;gap:18px}@media(min-width:640px){.f2{grid-template-columns:1fr 1fr}}
label{display:block;font-weight:600;margin-bottom:6px}
input,select{width:100%;padding:12px;font:inherit;border:1.5px solid var(--brown);border-radius:8px;background:#fff;color:var(--ink)}
fieldset{border:0;padding:0;margin:0}
.areamap{margin:0}.areamap img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid var(--brown)}.areamap figcaption{font-size:.85rem;margin-top:6px}
legend{padding:0;margin-bottom:8px}
.stephead{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--green2);font-size:1.1rem}
.stephead span{display:inline grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;font-size:.9rem}
.vers{display:grid;gap:12px}
@media(min-width:640px){.vers{grid-template-columns:1fr 1fr}}
.ver{position:relative;display:block;padding:14px 14px 14px 44px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font-weight:400;cursor:pointer}
.ver input{position:absolute;left:14px;top:18px;width:auto}
.ver b{display:block}
.ver small{display:block;color:var(--muted);line-height:1.4;margin-top:4px}
.ver svg{display:block;margin-top:10px;width:100%;max-width:220px;height:auto}
.ver:has(input:checked){border-color:var(--green);box-shadow:0 0 0 2px var(--green) inset}
.tip{position:relative;display:inline-block;margin-left:10px;font-weight:400}
.tiplink{background:none;border:0;padding:0;color:var(--green);font:inherit;font-size:.9rem;text-decoration:underline dotted;text-underline-offset:3px;cursor:help}
.tipbox{display:none;position:absolute;left:0;top:100%;margin-top:6px;width:min(300px,80vw);background:var(--green2);color:#fff;padding:12px 14px;border-radius:8px;font-size:.88rem;line-height:1.45;z-index:5;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.tipbox::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}
.tipbox a{color:#fff;font-weight:600}
.tip:hover .tipbox,.tip:focus-within .tipbox,.tip.open .tipbox{display:block}
.opt{display:flex;gap:10px;align-items:flex-start;font-weight:400;padding:12px;border:1.5px solid var(--line);border-radius:8px;background:#fff;margin-bottom:8px}
.opt input{width:auto;margin-top:5px}
.hint{font-size:.9rem;color:var(--muted);margin:6px 0 0}
.ok{color:var(--green);font-weight:600}
.review-email{font-size:1.3rem;font-weight:700;color:var(--green2);margin:0 0 14px;overflow-wrap:anywhere}
.sug button{background:none;border:0;padding:0;color:var(--green);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
.tel{display:grid;grid-template-columns:minmax(0,11em) minmax(0,1fr);gap:8px}
.tel select{padding-right:6px}
@media(max-width:480px){.tel{grid-template-columns:minmax(0,7.5em) minmax(0,1fr)}}
.err{color:#9b2c1f;font-weight:600}
.sum{background:#fff;border:2px solid var(--green);border-radius:12px;padding:18px;margin-top:8px}
.sum dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 16px}.sum dt{font-weight:600}.sum dd{margin:0}
.applied{display:inline-block;margin-top:8px;background:var(--green);color:#fff;border-radius:99px;padding:3px 12px;font-size:.88rem;font-weight:600}
.linkbtn{background:none;border:0;padding:0;color:var(--green);text-decoration:underline;font:inherit;cursor:pointer}
.btn:disabled{opacity:.6;cursor:default}
.mbar.hide{display:none}
