#review{max-width:900px;padding:26px;background:#fffefb;border:1px solid #e8e5dc;border-radius:16px}#review [hidden]{display:none!important}.reservation-top{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:30px;align-items:center;border-bottom:1px solid #e7e7dc;padding-bottom:22px}.reservation-info h2{font-family:"Noto Serif TC","PMingLiU",serif;font-size:30px;font-weight:400;letter-spacing:2px;color:#244f43;margin:0 0 18px}.room-line{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;font-size:18px;line-height:1.6;margin-bottom:16px}.room-line>span,.amount-line>span:first-child{color:#708174}.room-line strong{font-weight:700}.stay-summary{font-size:18px;line-height:1.7;color:#4a6056}.amount-line{display:flex;gap:16px;border-top:1px solid #e4e8df;margin-top:16px;padding-top:14px;font-size:18px;font-weight:400}.review-property-links{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;margin-top:12px}.review-property-links a{color:#476d59}#reviewGallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}#reviewGallery button{border:0;padding:0;background:#edf3ec;border-radius:7px;overflow:hidden;aspect-ratio:1;cursor:zoom-in}#reviewGallery button:first-child{grid-column:1/-1;aspect-ratio:1.65}#reviewGallery img{display:block;width:100%;height:100%;object-fit:cover}#review .review-person{padding-top:18px}#reviewContact{grid-template-columns:110px 150px minmax(150px,210px);gap:10px}#review .review-person label{font-size:12px}#review .review-person input{height:32px;padding:6px 8px;font-size:13px}#review .direct-needs{margin-top:12px}#review textarea{min-height:48px;font-size:13px}#review input::placeholder,#review textarea::placeholder{color:#96a297}.review-actions{display:flex;align-items:center;gap:14px;margin-top:14px}.review-actions span{font-size:12px;color:#788777;margin-left:auto}#reviewToPayment{padding:10px 16px;border:0;border-radius:8px;background:#2d6954;color:#fff}#reviewLightbox{width:900px;max-width:94vw;border:0;border-radius:14px;background:#183329;color:white;padding:16px}#reviewLightbox::backdrop{background:#102a23d9}#galleryLarge{width:100%;height:65vh;object-fit:contain;display:block}#reviewLightbox>div{display:flex;align-items:center;justify-content:space-between}#reviewLightbox button{padding:8px 12px;background:#294f40;color:white;border:1px solid #8fa196;border-radius:7px}#paymentView{max-width:560px;margin:auto}#paymentView button{padding:10px 16px;margin:10px}
@media(max-width:650px){#review{padding:18px}.reservation-top{grid-template-columns:minmax(0,1fr) 145px;gap:14px}.reservation-info h2{font-size:25px}.room-line{grid-template-columns:1fr;gap:2px}.room-line,.stay-summary,.amount-line{font-size:16px}#reviewGallery{grid-template-columns:repeat(2,minmax(0,1fr))}#reviewContact{grid-template-columns:1fr 1fr}#reviewContact label:last-child{grid-column:1/-1}.review-actions{gap:8px}.review-actions button{white-space:nowrap}}@media(max-width:390px){.reservation-top{grid-template-columns:1fr}#reviewGallery{grid-template-columns:repeat(4,minmax(0,1fr))}#reviewGallery button:first-child{aspect-ratio:2.5}}#reviewPhoto,#reviewPhotoCaption,#reviewDetails{display:none!important}
#reviewGallery{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:650px){#reviewGallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
.in-review .home-footer{display:none}.review-footer{display:flex;justify-content:center;gap:22px;border-top:1px solid #e5e9df;padding-top:16px;margin-top:20px;font-size:13px}.review-footer a{color:#58715e}
/* Compact visual finish: brand recognition and readable controls. */
#review{box-shadow:0 12px 36px #244f4309;border-color:#e3e8df}
#reviewProperty{color:inherit;text-decoration:none}#reviewProperty:hover{text-decoration:underline;text-underline-offset:6px}
#review .social-login{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:40px;min-width:184px;font:500 14px/20px Arial,sans-serif!important;border-color:#747775!important;color:#1f1f1f!important;border-radius:8px!important;background:#fff!important}
#review .social-login img{width:20px;height:20px;object-fit:contain;flex-shrink:0}
#review .social-login:hover{box-shadow:0 2px 6px #244f4318}#review button:focus-visible,#review a:focus-visible{outline:2px solid #316d56;outline-offset:3px}
#review .member-login p:empty{display:none}#review .review-person input{height:36px;font-size:14px;border:1px solid #d7dfd5;border-radius:7px;background:#fff}#review textarea{border:1px solid #d7dfd5;border-radius:8px;padding:10px}
#reviewGallery{gap:6px;align-self:center}#reviewGallery button{border-radius:8px}#review .review-person label{color:#4b6256}
@media(max-width:650px){.reservation-top{gap:18px}.stay-summary{font-size:16px}.reservation-info h2{letter-spacing:1px}#review .social-login{min-width:0;flex:1;font-size:13px!important}}
#review .social-login--line{background:#06c755!important;color:white!important;border-color:#06c755!important;gap:8px;padding-left:4px!important}#review .social-login--line img{width:32px;height:32px}#review .social-login--line:hover{background:#05b34c!important}#reviewNotice:empty{display:none}
.login-choice-divider{display:flex;align-items:center;gap:12px;color:#65766b;font-size:13px;margin:14px 0 12px}.login-choice-divider::before,.login-choice-divider::after{content:"";height:1px;background:#dfe6dc;flex:1}.login-choice-divider[hidden]{display:none}
.login-options-title{font-size:14px;font-weight:600;color:#294b39;margin:0 0 10px}#review .social-login-options .social-login{width:100%;flex:none;justify-content:flex-start;padding:0 14px!important;height:44px}#review .social-login-options .social-login--line{padding-left:8px!important}
#review .social-login-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;max-width:none}#review .social-login-options .social-login{min-width:0;justify-content:center;padding:0 8px!important}#review .social-login-options .direct-entry{background:#f3f6ef!important;color:#294b39!important;border-color:#a8bba9!important}#review .social-login-options button[aria-pressed=true]{box-shadow:0 0 0 2px #295e4a;outline-offset:3px}#reviewToPayment:disabled{opacity:.45;cursor:not-allowed}@media(max-width:520px){#review .social-login-options{grid-template-columns:1fr}#review .social-login-options .social-login{justify-content:flex-start;padding-left:16px!important}}
#dateArea .fields{display:flex;flex-wrap:wrap;align-items:end;gap:10px}#dateArea .fields label{flex:0 1 auto}#dateArea #nextStep{align-self:end;white-space:nowrap;padding:10px 16px;background:#2d6954;color:white;border:0;border-radius:8px}#contactForm:empty{display:none}
.front-room-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.front-room-thumbs[hidden]{display:none}.front-room-thumbs button{padding:0;border:0;border-radius:9px;overflow:hidden;aspect-ratio:1.5;cursor:zoom-in;background:#e7eee3}.front-room-thumbs img{width:100%;height:100%;object-fit:cover;display:block}.front-room-lightbox{width:900px;max-width:94vw;border:0;border-radius:14px;background:#173c30;color:#fff;padding:14px}.front-room-lightbox::backdrop{background:#10271ed9}.front-room-lightbox>img{width:100%;height:65vh;object-fit:contain}.front-room-lightbox>div{display:flex;gap:12px;align-items:center;justify-content:space-between}.front-room-lightbox button{border:1px solid #829e8e;border-radius:6px;color:white;background:#2b5946;padding:8px 12px}
