.place-booking-trigger { padding:0; border:0; background:none; color:#2a765a; font:inherit; font-weight:800; text-align:left; cursor:pointer; }
.place-booking-trigger:hover { text-decoration:underline; }
.place-booking-dialog { width:min(540px,calc(100vw - 28px)); max-width:none; max-height:min(85vh,760px); margin:auto; padding:28px; border:1px solid #e5e8e2; border-radius:16px; background:#fffdfa; color:#20372f; box-shadow:0 25px 80px #10292055; }
.place-booking-dialog::backdrop { background:#081b18ad; }
.place-booking-dialog-head { display:flex; justify-content:space-between; align-items:start; gap:15px; }
.place-booking-dialog-head h2 { margin:0; font-family:"Noto Serif SC","Songti SC","SimSun",serif; font-size:27px; }
.place-booking-dialog-head p { margin:8px 0 0; color:#7c8d82; font-size:13px; }
.place-booking-dialog-head button { flex:none; width:33px; height:33px; border:1px solid #dfe6dd; border-radius:50%; background:#fff; color:#435f4e; cursor:pointer; }
.place-booking-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; max-height:48vh; overflow:auto; margin-top:23px; }
.place-booking-options a { display:flex; justify-content:space-between; align-items:center; gap:7px; min-height:47px; padding:10px 14px; border:1px solid #e5eae3; border-radius:9px; background:#fff; color:#254737; font-size:14px; font-weight:750; text-decoration:none; }
.place-booking-options a:hover { border-color:#eabb72; background:#fff8e9; }
.place-booking-options a span { color:#b98948; }
.place-booking-disclaimer { margin:20px 0 0; color:#89938b; font-size:11px; line-height:1.65; }
@media(max-width:480px) { .place-booking-dialog { padding:20px; }.place-booking-dialog-head h2 { font-size:23px; }.place-booking-options { grid-template-columns:1fr; } }

.place-booking-options{grid-template-columns:1fr}
.place-booking-options .booking-project-copy{display:grid;min-width:0;gap:4px;color:#254737;overflow-wrap:anywhere}
.place-booking-options .booking-project-name{color:#63766b;font-size:13px;font-weight:500;line-height:1.5}
.place-booking-options a>span:last-child{flex:none}
.place-booking-options .route-platform-label{min-width:0}
.place-booking-options .route-platform-label img,.place-booking-options .route-platform-mark{flex:none}
.place-booking-tabs{display:flex;gap:6px;margin-top:20px;padding:4px;border:1px solid #e2e7dc;border-radius:10px;background:#f5f3ec}
.place-booking-dialog:has(.place-booking-category-content){box-sizing:border-box}
.place-booking-tabs button{flex:1;min-width:0;min-height:42px;padding:6px 4px;border:0;border-radius:7px;background:transparent;color:#28513d;font:inherit;font-size:14px;font-weight:750;cursor:pointer}
.place-booking-tabs button[aria-selected="true"]{background:#28513d;color:#fff}
.place-booking-tabs button:focus-visible{outline:2px solid #a1713d;outline-offset:2px}
.place-booking-category-content{max-height:48vh;overflow:auto;margin-top:14px}
.place-booking-category-content .place-booking-options{max-height:none;overflow:visible;margin-top:0}
.place-booking-options[hidden]{display:none}
.place-booking-category-title{margin:12px 0 8px;color:#315842;font-size:14px}
.place-booking-category-title:first-child{margin-top:0}
