:root{--green:#5cb85c;--green-d:#3d8b3d;--blue:#29abe2;--blue-d:#1c7fb0;--red:#c0392b;--ink:#2c3e34;--paper:#f7faf7;--line:#e3ece4}
.wa-float{position:fixed;right:22px;bottom:22px;z-index:950;display:inline-flex;align-items:center;gap:7px;background:#25d366;color:#fff!important;padding:13px 20px;border-radius:50px;box-shadow:0 10px 26px rgba(18,140,73,.38);font-weight:700;text-decoration:none;animation:waBob 2s ease-in-out infinite}
@keyframes waBob{50%{transform:translateY(-6px)}}
.hp-field{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.consent label{display:flex!important;gap:9px;align-items:flex-start;font-size:.84rem;line-height:1.55;color:#5b6b60}.consent input{width:auto!important;margin-top:5px;flex:0 0 auto}
.js-booking-status:empty{display:none!important}.js-booking-status.is-error{display:block!important;background:#fff0ee!important;color:#a72d20!important}.js-booking-status.is-success{display:block!important}
.hint{font-size:.8rem;color:#78877d;text-align:center;margin-top:10px}.medical-disclaimer{font-size:.82rem!important;color:#7e948a!important;line-height:1.9!important;margin-top:28px}.generic-page{padding:130px 0 80px;min-height:65vh}
.error-page{min-height:100vh;display:grid;place-items:center;text-align:center;padding:30px;font-family:"Noto Sans TC",sans-serif;background:#f7faf7;color:#2c3e34}.error-page span{font-size:5rem;font-weight:900;color:#5cb85c}.error-page h1{font-size:2rem}.error-page p{margin:12px 0 25px}.error-page a{display:inline-block;background:#3d8b3d;color:#fff;padding:12px 25px;border-radius:30px;text-decoration:none}
.pagination{display:flex;justify-content:center;gap:8px;margin-top:42px;flex-wrap:wrap}.pagination a{min-width:40px;height:40px;padding:0 10px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:9px;color:var(--ink);text-decoration:none}.pagination a.active,.pagination a:hover{background:var(--green-d);color:#fff;border-color:var(--green-d)}
@media(max-width:900px){.why .cards{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.why .cards{grid-template-columns:1fr}.wa-float{right:14px;bottom:14px;padding:12px 16px}.medical-disclaimer{padding:0 8px}}
