.offer-detail-page{background:#f4f0e8}.premium-detail{max-width:1700px;margin:auto;padding-top:120px;padding-bottom:80px}.detail-heading{padding:30px 0}.detail-location{font-size:1rem;color:#386981;letter-spacing:.06em;margin-bottom:14px}.detail-heading h1{font-size:clamp(2rem,3.8vw,3.6rem);line-height:1.15;letter-spacing:-.045em;max-width:1100px}.original-offer-name{font-size:1rem;line-height:1.7;color:#526378;margin-top:15px}.detail-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.detail-badges span,.meal-badge{border:1px solid #b5d0dc;background:#e3f0f4;padding:7px 12px;font-size:0.875rem;border-radius:7px;color:#25485e}.detail-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);gap:38px;align-items:start}.detail-main-column{min-width:0}.detail-photo{border-radius:16px;overflow:hidden;background:#e1eaf0}.detail-photo .offer-main-photo{aspect-ratio:1.5;object-fit:cover;width:100%;height:auto}.detail-photo .offer-gallery{padding:12px;margin:0;background:#fff}.premium-booking{position:sticky;top:105px;background:#fff;border:1px solid #d9e1e6;border-radius:16px;padding:30px;box-shadow:0 12px 35px #14243d0c}.premium-booking .eyebrow{font-size:0.875rem}.premium-booking .detail-price{font-size:clamp(2.3rem,3.4vw,3.4rem);line-height:1.2;letter-spacing:-.055em;margin-top:18px;overflow-wrap:anywhere}.premium-booking .price-unit{font-size:0.9375rem;margin-top:8px;color:#4b6073}.booking-context{display:flex;flex-direction:column;gap:7px;font-size:1rem;padding:22px 0;border-top:1px solid #dde4e8;margin-top:25px}.booking-context span{color:#53687c}.premium-booking .action-primary{font-size:1.0625rem;min-height:56px;border-radius:9px;margin:0;background:#9cc9da}.premium-booking .booking-assurance{font-size:0.9375rem;line-height:1.75;color:#526478;padding-top:22px;margin-top:22px;border-top:1px solid #dde4e8}.variant-jump{display:block;text-align:center;font-size:0.9375rem;line-height:1.6;margin-top:18px;color:#386981;text-decoration:underline;text-underline-offset:4px}.detail-contact{display:block;font-size:0.9375rem;line-height:1.7;margin-top:20px}.conflicting-price{font-size:0.9375rem;color:#8b4431;padding:12px;background:#fbede4;margin-top:18px;border-radius:8px}.detail-section{padding:36px 0;border-bottom:1px solid #d1d9de;scroll-margin-top:110px}.detail-section-heading{display:flex;align-items:flex-start;gap:16px;margin-bottom:25px}.detail-step{font-size:0.875rem;color:#386981;background:#e0ebf1;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;flex:none}.detail-section h2{font-size:clamp(1.6rem,2.3vw,2rem);line-height:1.25;letter-spacing:-.035em}.detail-section-heading p{font-size:1rem;line-height:1.8;color:#526578;margin-top:12px}.summary-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0;padding:24px;background:#fff;border:1px solid #dee4e8;border-radius:12px}.summary-facts dt{font-size:0.875rem;color:#5b6e80;margin-bottom:6px}.summary-facts dd{font-size:1.0625rem;line-height:1.6;margin:0;overflow-wrap:anywhere}.period-nav{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.period-nav a{padding:10px 15px;border:1px solid #b7cbd8;border-radius:30px;font-size:0.875rem;background:#fff;min-height:44px}.period-nav a:hover{background:#d9ebf2}.variant-period{scroll-margin-top:105px;margin-top:30px}.variant-period>h3{font-size:1.3125rem;line-height:1.5;margin-bottom:18px}.variant-period>h3 span{display:block;font-size:0.875rem;color:#596d80;font-weight:400;margin-top:4px}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.room-card{background:#fff;border:1px solid #cfdbe3;border-radius:14px;padding:23px;display:flex;flex-direction:column;min-width:0;transition:box-shadow .2s,border-color .2s}.room-card:hover{box-shadow:0 10px 30px #14243d0d;border-color:#91b4c6}.room-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:22px}.room-index{font-size:0.875rem;color:#64788a}.room-card h4{font-size:1.375rem;line-height:1.4;letter-spacing:-.025em;margin:0 0 22px}.room-card dl{font-size:1rem;line-height:1.6;margin:0 0 25px}.room-card dl>div+div{margin-top:16px}.room-card dt{font-size:0.875rem;color:#5c7082}.room-card dd{margin:5px 0 0}.room-card-bottom{margin-top:auto;border-top:1px solid #dce4ea;padding-top:22px}.room-card-bottom strong{display:block;font-size:2.125rem;line-height:1.2;letter-spacing:-.045em}.room-card-bottom>div>span{display:block;font-size:0.875rem;color:#566c7e;margin-top:7px}.room-card .action-primary{width:100%;min-height:50px;gap:10px;font-size:0.9375rem;border-radius:8px;margin-top:22px;background:#14243d;color:white}.room-card .action-primary:hover{background:#2c4a65}.room-legend{font-size:0.875rem;line-height:1.8;color:#53687a;margin-top:25px}.inclusion-panel{padding:23px;background:white;border-radius:12px;border:1px solid #dee4e8}.detail-section ul,.inclusion-panel p{font-size:1rem;line-height:1.85;margin:0}.detail-section li+li{margin-top:12px}.important-panel{background:#e7edf1;padding:28px;border:1px solid #d0dce4;border-radius:14px;margin-top:35px}.important-panel .source-link{font-size:1rem;line-height:1.7}.important-panel .source-date{font-size:0.875rem}.detail-disclosure{padding:22px 0;border-bottom:1px solid #cbd7df;margin-top:12px;scroll-margin-top:100px}.detail-disclosure summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-size:1.125rem;line-height:1.6;min-height:44px;align-items:center;list-style:none}.detail-disclosure summary::-webkit-details-marker{display:none}.detail-disclosure[open]>summary{margin-bottom:22px}.detail-disclosure ul{font-size:1rem;line-height:1.9}.source-original{margin-top:30px}.source-original .source-description{font-size:1rem;line-height:1.9}.original-note{font-size:0.875rem;line-height:1.8;color:#546b7d;margin:18px 0}.offer-detail-page .detail-mobile-book{background:#14243d}.offer-detail-page .reservation-dialog{border-radius:16px}.offer-detail-page .reservation-dialog .source-notice{font-size:1rem!important}.selected-variant-note{padding:16px;background:#e5f0f5;border:1px solid #b7cedc;border-radius:8px;font-size:1rem;line-height:1.8}
@media(max-width:1100px){.detail-layout{grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr);gap:24px}.room-grid{grid-template-columns:1fr}.premium-booking{padding:23px}}
@media(max-width:700px){.premium-detail{padding-top:98px;padding-bottom:100px}.detail-heading{padding:25px 0}.detail-heading h1{font-size:clamp(1.9rem,8vw,2.7rem);line-height:1.2}.detail-layout{display:flex;flex-direction:column;gap:0}.detail-main-column{display:contents}.detail-photo{order:0;width:100%}.premium-booking{position:static;order:1;width:100%;margin-top:22px}.summary-section{order:2;width:100%}.detail-section{order:3;width:100%;padding-top:30px;padding-bottom:30px}.important-panel{order:4;padding:22px}.source-original{order:5;width:100%}.summary-facts{grid-template-columns:1fr;padding:22px;gap:22px}.room-grid{grid-template-columns:1fr}.room-card{padding:22px}.detail-section-heading{gap:12px}.detail-section h2{font-size:1.6875rem}.detail-step{width:30px;height:30px}.detail-photo .offer-main-photo{aspect-ratio:1.3}.offer-detail-page .detail-mobile-book{flex-wrap:wrap;gap:10px}.offer-detail-page .detail-mobile-book>span{font-size:0.875rem;flex:1;min-width:120px}.offer-detail-page .detail-mobile-book strong{font-size:1.5rem}.offer-detail-page .detail-mobile-book .action-primary{font-size:0.9375rem;min-height:50px;padding:12px 16px}.period-nav{gap:8px}.period-nav a{font-size:0.875rem;padding:9px 12px}}
.offer-detail-page .detail-section>h2{margin-bottom:22px}.offer-detail-page .experience-summary{font-size:1.0625rem;line-height:1.85;max-width:70ch;margin:0 0 25px}.offer-detail-page .source-date{line-height:1.7}.offer-detail-page [data-departure][hidden]{display:none}
