:root{--ink:#192438;--muted:#697486;--blue:#2445a3;--blue-dark:#193785;--pale:#edf2fd;--line:#dfe4ed;--paper:#f9fafc;--white:#fff;--serif:'Songti SC','STSong','Noto Serif CJK SC',Georgia,serif;--sans:'PingFang SC','Microsoft YaHei',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,summary,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button,select{border:0;background:none}a{color:inherit;text-decoration:none}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}button{transition:background .18s,color .18s,transform .12s}button:active,.primary-button:active{transform:scale(.985)}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:4px}::selection{background:#dbe6ff}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:600}button:disabled{cursor:not-allowed}button:disabled:active{transform:none}[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.site-header{height:78px;padding:0 5.55%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:10px;color:var(--blue);font-family:var(--serif);font-size:32px;font-weight:600;line-height:1}.brand-mark svg{width:27px;height:32px;stroke-width:1.5}.brand-tag{font-family:var(--sans);font-size:12px;font-weight:400;color:var(--muted);margin-left:15px;letter-spacing:1px}.top-nav{display:flex;gap:34px;font-size:14px;height:100%;align-items:center}.top-nav a{position:relative;padding:26px 0;color:var(--muted)}.top-nav a.active{color:var(--blue);font-weight:600}.top-nav a.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--blue)}.top-nav a:hover{color:var(--blue)}.saved-link{display:flex;align-items:center;gap:8px;font-size:13px;padding:12px 0 12px 12px}.saved-link svg{width:19px;height:19px}.saved-count{width:18px;height:18px;display:grid;place-items:center;font-size:10px;border-radius:50%;background:var(--pale);color:var(--blue)}
.page{max-width:1280px;margin:auto;padding:0 0}.breadcrumb{height:58px;display:flex;align-items:center;gap:13px;color:var(--muted);font-size:12px}.breadcrumb a:hover{color:var(--blue)}.breadcrumb .collection{margin-left:auto;font-size:11px;letter-spacing:1px}.listing-grid{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:38px;align-items:start}.stay-main{min-width:0}.title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;min-height:80px}.title-row h1{font-size:38px;line-height:1.3;letter-spacing:-1px;margin-left:-1px}.title-dot{padding:0 10px;color:var(--blue)}.location-link{display:flex;align-items:center;gap:5px;margin-top:9px;font-size:13px;color:var(--muted)}.location-link svg{width:15px;height:15px}.text-dot{padding:0 5px}.title-actions{display:flex;gap:6px}.icon-button{width:40px;height:40px;border-radius:50%;display:grid;place-items:center}.icon-button:hover{background:var(--pale);color:var(--blue)}.icon-button[aria-pressed=true]{color:var(--blue);background:var(--pale)}.icon-button[aria-pressed=true] svg{fill:#2445a31a}.title-actions svg{width:21px;height:21px}
.photo-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1.16fr);gap:8px;height:418px;scroll-margin-top:24px}.photo{position:relative;padding:0;overflow:hidden;border-radius:5px;display:block;width:100%;height:100%;background:#dce3ee}.hero-photo img{object-position:43% center}.photo img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}.photo:hover img{transform:scale(1.035)}.photo-caption{position:absolute;bottom:22px;left:23px;color:#fff;display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:1px;text-shadow:0 1px 6px #0007}.caption-line{width:22px;height:1px;background:currentColor}.side-photos{display:grid;grid-template-rows:1fr 1fr;gap:8px;min-height:0}.side-photos .photo:first-child img{object-position:50% center}.lake-photo img{object-position:55% center}.photo-count{position:absolute;bottom:12px;left:10px;right:10px;display:flex;align-items:center;justify-content:center;gap:6px;background:#fffefc;color:var(--ink);padding:9px 3px;font-size:11px;border-radius:4px;box-shadow:0 1px 6px #0001}.photo-count svg{width:14px;height:14px}
.section-nav{display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);height:70px;font-size:14px;margin-bottom:28px}.section-nav a{padding:24px 0 21px;position:relative}.section-nav a:hover,.section-nav a.active{color:var(--blue)}.section-nav a.active:after{position:absolute;content:'';height:2px;background:var(--blue);bottom:-1px;left:0;right:0}.section-nav>span{margin-left:auto;font-family:var(--serif);font-size:14px;color:var(--muted)}.section{padding:0 0 35px;margin-bottom:35px;border-bottom:1px solid var(--line);scroll-margin-top:26px}.section h2{font-size:26px;line-height:1.4;letter-spacing:-.4px}.intro-head{display:flex;justify-content:space-between;gap:10px}.intro-head p{font-size:13px;color:var(--muted);margin-top:10px}.intro-head p span{margin:0 6px;color:#aab2bf}.stay-stamp{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.8;color:var(--muted);padding-right:4px}.stay-stamp svg{width:29px;height:29px;color:var(--blue)}.stay-stamp b{font-weight:500;color:var(--ink)}.intro-copy{font-size:15px;line-height:1.9;color:#5f6b7c;max-width:690px;margin-top:20px}.room-card{display:flex;gap:20px;align-items:center;padding:22px 0 20px}.room-card>img{width:136px;height:93px;border-radius:4px}.room-info h3{font-size:17px;font-weight:600}.room-info p{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:7px;margin-top:5px}.room-info p svg{width:17px;height:17px}.room-inclusion{font-size:12px;color:var(--muted);display:block;margin-top:7px}.room-size{font-family:Georgia,serif;font-size:30px;margin-left:auto}.room-size small{font-family:var(--sans);font-size:12px;color:var(--muted)}.packages{display:grid;grid-template-columns:1fr 1fr;gap:12px}.package{display:flex;text-align:left;align-items:center;gap:11px;border:1px solid var(--line);border-radius:6px;padding:15px 13px;min-height:76px;background:var(--white)}.package:hover{border-color:#a9b9db}.package.selected{border-color:var(--blue);background:var(--pale)}.radio-dot{width:17px;height:17px;border:1px solid #b8c0cd;border-radius:50%;flex:none;display:grid;place-items:center}.selected .radio-dot{border-color:var(--blue)}.selected .radio-dot:after{content:'';width:7px;height:7px;background:var(--blue);border-radius:50%}.package b{display:block;font-size:13px;font-weight:600}.package small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.package-price{font-size:12px;margin-left:auto;white-space:nowrap;color:var(--blue)}.package-price small{display:inline;font-size:10px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:23px}.section-heading>span{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:4px}.section-heading>span svg{width:15px;height:15px}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);row-gap:24px}.amenity-grid>div{display:flex;align-items:center;gap:13px;font-size:14px}.amenity-grid svg{color:#55667e;width:24px;height:24px}.more-amenities{margin-top:26px;font-size:13px}.more-amenities summary{display:flex;align-items:center;gap:8px;color:var(--blue);cursor:pointer;list-style:none;width:fit-content}.more-amenities summary::-webkit-details-marker{display:none}.more-amenities svg{width:16px;height:16px}.more-amenities[open] svg{transform:rotate(90deg)}.more-amenities>div{margin-top:15px;color:var(--muted);line-height:2}.more-amenities>div span{padding:0 7px}.map-panel{height:225px;position:relative;overflow:hidden;border-radius:5px}.map-art{width:100%;height:100%;stroke:none}.map-label{position:absolute;left:46%;top:37%;font-size:12px;background:#fff;padding:8px 12px;box-shadow:0 1px 6px #38568610;border-radius:4px;white-space:nowrap}.map-scale{position:absolute;right:16px;bottom:13px;color:#72849b;font-size:10px}.location-notes{display:flex;justify-content:space-between;gap:20px;margin-top:20px;font-size:12px;color:var(--muted)}.location-notes p{line-height:1.9;flex:1.5}.location-notes>div{flex:1;padding-top:2px}.location-notes b{display:block;color:var(--ink);font-weight:500;font-size:14px}.location-notes span{display:block;margin-top:4px}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 30px;margin-top:23px}.rules-grid h3{font-weight:500;font-size:14px;margin-bottom:7px}.rules-grid p{font-size:13px;color:var(--muted);line-height:1.9}.rules{border:0;margin-bottom:5px}
.booking-column{position:sticky;top:22px;min-width:0}.booking-card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:22px;box-shadow:0 2px 3px #1e376504,0 10px 32px #1e376506}.booking-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.average-label{font-size:11px;color:var(--muted)}.headline-price{display:flex;align-items:baseline;gap:3px;line-height:1.25;margin-top:3px}.headline-price .currency{font-family:Georgia,serif;font-size:18px}.headline-price strong{font-size:31px;font-family:Georgia,serif;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:-1px}.headline-price small{font-size:12px;color:var(--muted);margin-left:5px}.booking-room{text-align:right;font-size:11px;color:var(--muted);line-height:1.9}.booking-room b{font-weight:500;color:var(--ink)}.date-fields{border:1px solid #cfd7e5;border-radius:5px;display:flex;align-items:center;min-height:63px}.date-field{flex:1;text-align:left;display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:5px;row-gap:0;padding:10px 12px;border-radius:4px;min-height:61px}.date-field:hover{background:#f5f7fc}.date-field>span{font-size:10px;color:var(--muted);grid-column:1/-1}.date-field b{font-size:13px;font-weight:500;white-space:nowrap}.date-field small{font-size:10px;color:var(--muted);white-space:nowrap}.date-arrow{font-size:15px;color:#8b97a9}.date-field.is-editing{background:var(--pale);color:var(--blue)}.calendar{margin-top:12px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.calendar-head>b{font-size:12px;font-weight:500}.calendar-head>div{display:flex;gap:1px}.month-arrow{height:29px;width:29px;border-radius:4px;display:grid;place-items:center}.month-arrow:hover{background:var(--pale);color:var(--blue)}.month-arrow svg{height:14px;width:14px}.month-arrow.prev svg{transform:rotate(180deg)}.month-arrow:disabled{opacity:.25}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{font-size:10px;color:var(--muted);text-align:center;line-height:22px;margin-bottom:3px}.calendar-grid{row-gap:3px}.calendar-day,.calendar-blank{height:38px;min-width:0}.calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;border-radius:4px;position:relative;z-index:0;padding:0}.calendar-day .day-number{font-size:12px;line-height:17px;font-variant-numeric:tabular-nums}.calendar-day .day-price{font-size:9px;line-height:13px;color:#73819a;font-variant-numeric:tabular-nums}.calendar-day:hover:not(:disabled){background:#eef2fa}.calendar-day.in-range{background:var(--pale);border-radius:0;color:var(--blue)}.calendar-day.in-range .day-price{color:#5b70a0}.calendar-day.start,.calendar-day.end{background:var(--blue);color:#fff;border-radius:4px}.calendar-day.start .day-price,.calendar-day.end .day-price{color:#d2defa}.calendar-day.end{background:#fff;color:var(--blue);box-shadow:inset 0 0 0 1.5px var(--blue)}.calendar-day.end .day-price{color:var(--blue)}.calendar-day:disabled .day-number{color:#c7ccd5;text-decoration:line-through}.calendar-day:disabled .day-price{color:#bdc5d0}.calendar-day.preview{background:#edf2fd;outline:1px dashed #b3c2e5;outline-offset:-1px}.calendar-hint{margin-top:9px;font-size:9px;color:var(--muted);display:flex;align-items:center;gap:4px;min-height:15px}.legend-range{width:7px;height:7px;border-radius:2px;background:var(--blue);display:block}.unavailable-legend{margin-left:auto}.guest-field{margin-top:14px;padding:9px 12px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:4px;position:relative}.guest-field label{font-size:11px;color:var(--muted)}.guest-field select{font-size:12px;padding:0 18px 0 0;appearance:none;color:var(--ink);margin-left:auto;cursor:pointer}.guest-field svg{position:absolute;right:10px;height:12px;width:12px;transform:rotate(90deg);pointer-events:none}.bill{margin-top:17px;font-size:12px}.bill-heading{display:flex;justify-content:space-between;margin-bottom:9px}.bill-heading b{font-weight:500;font-variant-numeric:tabular-nums}.night-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:12px}.night-chip{background:#f1f4fb;color:#526487;text-align:center;padding:6px 2px;border-radius:3px;line-height:1.5;animation:night-arrive .18s ease-out}.night-chip span{font-size:9px;display:block}.night-chip b{font-size:11px;font-weight:500;display:block;color:var(--blue);font-variant-numeric:tabular-nums}.bill-row{display:flex;justify-content:space-between;margin-top:5px;color:#5f6c80;font-variant-numeric:tabular-nums}.bill-row.discount{color:var(--blue)}.bill-row small{font-size:9px;margin-left:5px;border:1px solid #cad5ed;padding:0 3px;border-radius:2px}.bill-total{border-top:1px solid var(--line);margin-top:13px;padding-top:13px;display:flex;align-items:center;justify-content:space-between}.bill-total b{font-weight:500;font-size:13px}.bill-total small{display:block;color:var(--muted);font-size:10px;margin-top:1px}.bill-total strong{font-family:Georgia,serif;font-weight:400;font-size:29px;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.updated{animation:amount-arrive .22s ease-out}.primary-button{background:var(--blue);color:white;border-radius:5px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;font-weight:500;font-size:13px;min-height:47px;transition:background .18s,transform .12s}.primary-button:hover{background:var(--blue-dark)}.primary-button svg{width:19px;height:19px}.booking-card>.primary-button{width:100%;margin-top:16px}.primary-button:disabled{background:#b4bfd6;color:#fff}.charge-note{font-size:10px;color:var(--muted);text-align:center;margin-top:10px}.booking-error{font-size:11px;background:#fff2e8;color:#9e4e24;padding:8px;margin-top:10px;border-radius:4px}.cancel-note{display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;color:var(--muted);margin-top:14px}.cancel-note svg{width:16px;height:16px;color:var(--blue)}.booking-help{margin:24px 12px 0;text-align:center;font-size:11px;line-height:2;color:var(--muted)}.booking-help a{display:block;color:var(--ink)}.booking-help a span{padding-left:8px}
footer{border-top:1px solid var(--line);padding:32px 0 37px;display:flex;align-items:center;gap:18px;color:var(--muted);font-size:11px}.footer-brand{font-family:var(--serif);font-size:30px;color:var(--blue);line-height:1}footer>span{margin-left:auto}footer>a:last-child{margin-left:25px}.mobile-booking{display:none}
dialog{padding:0;border:0;color:var(--ink);border-radius:10px;box-shadow:0 10px 100px #17233833;max-height:calc(100dvh - 48px);background:#fff}dialog::backdrop{background:#101b2bcc;backdrop-filter:blur(5px)}.photo-dialog{width:1050px;max-width:calc(100vw - 64px);background:#151f30;color:#fff}.gallery-header{display:flex;align-items:center;justify-content:space-between;padding:18px 25px;font-size:14px}.gallery-header .icon-button:hover{background:#ffffff14;color:#fff}.gallery-stage{height:min(66vh,620px);position:relative}.gallery-stage>img{object-fit:contain}.gallery-arrow{position:absolute;right:15px;top:50%;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--ink);transform:translateY(-50%)}.gallery-arrow.left{right:auto;left:15px}.gallery-arrow.left svg{transform:rotate(180deg)}.gallery-footer{padding:21px 26px;display:flex;justify-content:space-between;color:#c5ccdb;font-size:12px}.reservation-dialog{width:520px;max-width:calc(100vw - 32px)}.dialog-header{padding:26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:10px}.dialog-header h2{font-size:26px;line-height:1.4}.dialog-eyebrow{font-size:12px;color:var(--muted);display:block;margin-bottom:5px}.dialog-body{padding:24px 26px;overflow:auto;max-height:calc(100dvh - 250px)}.trip-identity{display:flex;align-items:center;gap:16px}.trip-identity img{width:104px;height:83px;border-radius:5px}.trip-identity h3{font-family:var(--serif);font-size:20px}.trip-identity p{font-size:12px;color:var(--muted);margin-top:3px}.trip-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}.trip-details dt{font-size:11px;color:var(--muted)}.trip-details dd{font-size:14px;margin:3px 0 0}.trip-total{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;font-size:13px}.trip-total strong{font-family:Georgia,serif;font-size:31px;font-weight:400}.trip-cancel{font-size:11px;color:var(--blue);margin-top:10px}.trip-note{display:flex;gap:11px;background:var(--pale);padding:13px;margin-top:23px;border-radius:5px;font-size:12px;line-height:1.8;color:#5a6e93}.trip-note svg{width:20px;height:20px;margin-top:2px}.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding:20px 26px}.text-button{font-size:13px;padding:12px 0;color:var(--muted)}.text-button:hover{color:var(--blue)}.saved-dialog{width:500px;max-width:calc(100vw - 32px)}#savedContent{padding:25px}.saved-item{display:flex;gap:18px;align-items:center}.saved-item img{width:115px;height:90px;border-radius:5px}.saved-item h3{font-family:var(--serif);font-size:21px}.saved-item p{font-size:12px;color:var(--muted);margin-top:4px}.saved-item button{font-size:12px;color:var(--blue);padding:7px 0}.saved-empty{font-size:14px;line-height:1.9;color:var(--muted)}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;background:var(--ink);color:white;padding:11px 22px;box-shadow:0 6px 30px #1112;border-radius:6px;font-size:13px;max-width:90vw;text-align:center}
@keyframes night-arrive{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes amount-arrive{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.page{max-width:1330px}.listing-grid{grid-template-columns:minmax(0,1fr) 370px;gap:48px}.photo-grid{height:460px}}
@media(max-width:1380px){.page{padding:0 5.55%}.listing-grid{grid-template-columns:minmax(0,1fr) 340px;gap:28px}.title-row h1{font-size:35px}.photo-grid{height:395px}.section-nav{gap:24px}.section-nav>span{font-size:12px}.packages{grid-template-columns:1fr}.package{min-height:68px}}
@media(max-width:1050px){.brand-tag{display:none}.listing-grid{grid-template-columns:minmax(0,1fr) 320px;gap:24px}.booking-card{padding:18px}.title-row h1{font-size:30px}.title-actions{gap:0}.photo-grid{height:365px;grid-template-columns:minmax(0,1fr)}.side-photos{display:none}.section-nav>span{display:none}.location-notes{flex-wrap:wrap}.location-notes p{flex-basis:100%}.intro-head{display:block}.stay-stamp{display:none}.room-card>img{width:100px;height:85px}.room-info p,.room-inclusion{font-size:11px}.room-size{display:none}.amenity-grid{grid-template-columns:1fr 1fr}.section-heading{align-items:flex-start;flex-direction:column;gap:7px}.map-label{left:47%;font-size:10px}.top-nav{gap:25px}}
@media(max-width:760px){html{scroll-padding-top:15px}.site-header{height:64px;padding:0 20px}.brand{font-size:29px;gap:7px}.brand-mark svg{width:23px;height:29px}.top-nav{display:none}.saved-link{font-size:12px}.saved-link svg{width:18px;height:18px}.page{padding:0 20px}.breadcrumb{height:45px;font-size:11px;gap:10px}.breadcrumb .collection{display:none}.listing-grid{display:flex;flex-direction:column;gap:0}.stay-main{display:contents}.title-row{width:100%;min-height:76px;margin-bottom:18px;order:0;align-items:center}.title-row h1{font-size:30px;letter-spacing:-1px}.title-dot{padding:0 6px}.location-link{font-size:11px;gap:3px;margin-top:8px;flex-wrap:wrap}.title-actions{display:flex}.title-actions .icon-button{width:32px;height:36px}.title-actions svg{width:18px;height:18px}.title-actions #share{display:none}.photo-grid{width:100%;height:287px;order:1;display:grid;grid-template-columns:1fr}.hero-photo img{object-position:44% center}.side-photos{display:none}.photo-caption{bottom:18px;left:17px;font-size:11px}.hero-photo:after{content:'查看照片 · 3';position:absolute;bottom:16px;right:14px;background:#fffffff0;border-radius:4px;padding:6px 9px;font-size:10px;color:var(--ink)}.section-nav{order:3;width:100%;height:61px;gap:30px;margin:22px 0}.section-nav a{padding:20px 0;font-size:14px}.booking-column{position:static;order:2;width:100%;margin-top:24px}.booking-card{padding:21px;border-radius:7px;box-shadow:0 4px 20px #1e376505}.booking-top{margin-bottom:17px}.headline-price strong{font-size:33px}.average-label{font-size:12px}.booking-room{font-size:12px}.date-field{min-height:65px;padding:11px 12px}.date-field b{font-size:14px}.date-field small{font-size:11px}.date-field>span{font-size:11px}.calendar{margin-top:17px}.calendar-head>b{font-size:13px}.month-arrow{width:36px;height:36px}.weekdays{font-size:11px}.calendar-grid{row-gap:4px}.calendar-day,.calendar-blank{height:43px}.calendar-day .day-number{font-size:14px;line-height:20px}.calendar-day .day-price{font-size:10px;line-height:14px}.calendar-hint{font-size:10px;margin-top:10px}.guest-field{padding:12px;margin-top:18px}.guest-field label{font-size:12px}.guest-field select{font-size:16px}.bill{font-size:13px;margin-top:20px}.night-chip span{font-size:10px}.night-chip b{font-size:12px}.night-chip{padding:8px 2px}.bill-total{margin-top:15px;padding-top:15px}.bill-total b{font-size:14px}.bill-total small{font-size:11px}.bill-total strong{font-size:32px}.booking-card>.primary-button{font-size:14px;min-height:50px}.charge-note{font-size:11px}.cancel-note{font-size:12px;margin-top:13px}.booking-help{display:none}.section{order:4;width:100%;margin-bottom:29px;padding-bottom:29px}.section h2{font-size:25px}.intro-head p{font-size:12px;line-height:1.9;margin-top:10px}.intro-head p span{margin:0 4px}.intro-copy{font-size:14px;line-height:1.9;margin-top:18px}.room-card{gap:13px;padding-top:24px}.room-card>img{width:100px;height:86px}.room-info h3{font-size:16px}.room-info p{font-size:11px;gap:5px}.room-inclusion{font-size:11px;max-width:210px;line-height:1.8}.packages{gap:10px}.package{min-height:78px;padding:14px}.package b{font-size:14px}.package small{font-size:12px}.package-price{font-size:13px}.amenity-grid{grid-template-columns:1fr 1fr;row-gap:23px;column-gap:13px}.amenity-grid>div{font-size:13px;gap:11px}.amenity-grid svg{width:22px;height:22px}.section-heading{margin-bottom:20px}.map-panel{height:220px}.map-art{width:660px;max-width:none;position:absolute;left:50%;transform:translateX(-50%)}.map-label{left:49%;top:40%;font-size:10px;padding:7px}.location-notes{gap:15px;font-size:12px}.location-notes>div{flex-basis:40%}.rules-grid{grid-template-columns:1fr;gap:20px}.rules-grid h3{font-size:14px}.rules-grid p{font-size:13px}.rules{padding-bottom:15px}.mobile-booking{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;border-top:1px solid var(--line);background:#fffffff5;backdrop-filter:blur(12px);padding:12px 20px calc(12px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:12px}.mobile-booking b{font-size:22px;font-family:Georgia,serif;font-weight:400}.mobile-booking small{font-size:11px;color:var(--muted)}.mobile-booking>div>a{display:block;font-size:10px;color:var(--muted);text-decoration:underline}.mobile-booking>.primary-button{min-height:46px;font-size:12px;gap:10px;padding:12px}.mobile-booking svg{height:17px;width:17px}footer{flex-wrap:wrap;gap:14px;padding:27px 0 130px}footer p{font-size:11px}footer>span{width:100%;margin-left:0;font-size:10px}footer>a:last-child{margin-left:0;font-size:11px}.photo-dialog{max-width:calc(100vw - 24px);width:100%}.gallery-header{padding:13px 16px;font-size:12px}.gallery-stage{height:55vh}.gallery-arrow{width:34px;height:34px;right:8px}.gallery-arrow.left{left:8px}.gallery-footer{padding:18px 16px;font-size:11px}.dialog-header{padding:21px}.dialog-header h2{font-size:23px}.dialog-body{padding:21px}.dialog-actions{padding:18px 21px}.dialog-actions .primary-button{font-size:12px;padding:12px 13px;gap:9px}.trip-identity img{width:88px;height:77px}.trip-identity{gap:12px}.trip-identity h3{font-size:18px}.trip-identity p{font-size:11px}.toast{bottom:105px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.photo:hover img{transform:none}}
/* 第二轮：完整露出主动作，报价字号与触控面积重新分配。 */
@media(min-width:761px){.listing-grid{grid-template-columns:minmax(0,1fr) 372px;gap:34px}.booking-card{padding:19px 21px}.booking-top{margin-bottom:13px;min-height:39px}.headline-price{margin-top:0}.headline-price strong{font-size:29px}.headline-price small{font-size:11px}.calendar-day .day-number{font-size:13px;line-height:18px}.calendar-day .day-price{font-size:11px;line-height:14px}.calendar-day,.calendar-blank{height:39px}.calendar-head>b{font-size:13px}.weekdays{font-size:11px}.calendar-hint{font-size:10px;margin-top:6px;min-height:14px}.bill{font-size:13px;margin-top:13px}.night-chip span{font-size:10px}.night-chip b{font-size:12px}.night-chip{padding:5px 2px}.night-strip{margin-bottom:8px}.bill-row{margin-top:4px}.bill-total{margin-top:10px;padding-top:10px}.booking-card>.primary-button{margin-top:13px}.charge-note{font-size:11px;margin-top:8px}.cancel-note{font-size:12px}.booking-help{margin-top:17px}}
.compact-guests{padding:0 15px 0 0;margin:0;border:0;gap:0;background:transparent}.compact-guests label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.compact-guests select{font-size:12px;padding:8px 4px;min-height:36px;color:var(--muted)}.compact-guests svg{right:0}.booking-top .compact-guests select:hover{color:var(--blue)}
@media(max-width:1050px) and (min-width:761px){.listing-grid{grid-template-columns:minmax(0,1fr) 330px;gap:24px}.booking-card{padding:18px}.date-field{padding:9px}.date-field small{font-size:9px}}
@media(max-width:760px){.booking-top .compact-guests{margin:0;padding-right:15px}.booking-top .compact-guests select{font-size:16px}.mobile-booking>.primary-button{min-height:46px;font-size:12px;gap:10px;padding:12px 14px}.section-nav{gap:24px}.headline-price small{font-size:11px}}
/* 第三轮：判断信息留在场，预估与确定直接标在结果上。 */
.calendar-day.checkout-only{color:var(--blue);background:#f3f6fd}.calendar-day.checkout-only .day-price{color:var(--blue);font-size:10px}.booking-error{font-size:12px;line-height:1.8}
.mobile-night-peek{display:none}
@media(max-width:760px){.mobile-booking{display:block;padding-top:9px}.mobile-booking-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-night-peek{display:flex;justify-content:space-between;gap:5px;border-bottom:1px solid var(--line);padding:0 0 7px;margin-bottom:8px;font-size:10px;color:var(--muted);line-height:1.5}.mobile-night-peek b{font-size:11px;font-family:var(--sans);font-weight:500;color:var(--ink)}.mobile-booking-main>div>a{display:block;font-size:10px;color:var(--muted);text-decoration:underline}.mobile-booking-main .primary-button{min-height:46px;font-size:12px;gap:10px;padding:12px 14px}.booking-card{padding:18px}.booking-top{margin-bottom:13px}.headline-price strong{font-size:30px}.date-field{min-height:59px;padding:9px 11px}.calendar{margin-top:14px}.calendar-day,.calendar-blank{height:39px}.calendar-grid{row-gap:3px}.month-arrow{height:32px}.calendar-head{margin-bottom:1px}.bill{margin-top:17px}.night-chip{padding:6px 2px}.bill-total{margin-top:12px;padding-top:12px}.booking-card>.primary-button{margin-top:13px}.charge-note{margin-top:8px}.toast{bottom:130px}.section-nav{gap:23px}.section-nav a{white-space:nowrap;font-size:13px}}
