
/* Phase 2 marketplace expansion */
.phase2-page .page-hero{overflow:hidden}.phase2-page h1,.phase2-page h2,.phase2-page h3{letter-spacing:-.035em}.phase2-hero-art{max-width:440px;justify-self:end}.phase2-hero-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:44px;align-items:center;padding:34px}.phase2-hero-card img{max-height:310px;width:100%;object-fit:contain}.hero-search-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px;align-items:end;margin-top:25px;padding:12px}.hero-search-grid label{display:grid;gap:5px;padding:4px 9px}.hero-search-grid small,.search-unit small{color:var(--muted);font-weight:800;font-size:.69rem}.hero-search-grid input,.hero-search-grid select{width:100%;border:0;background:transparent;color:var(--ink);font-weight:800;outline:0}.phase2-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0}.phase2-tabs button,.phase2-chip{border:0;border-radius:15px;padding:10px 15px;background:rgba(255,255,255,.72);box-shadow:0 8px 20px rgba(72,52,92,.1);font-size:.78rem;font-weight:800}.phase2-tabs button.is-active,.phase2-chip.is-active{background:var(--lavender);box-shadow:inset 0 -3px 7px rgba(85,61,125,.12),inset 0 3px 7px rgba(255,255,255,.7)}
.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.market-card{overflow:hidden}.market-card .experience-image{min-height:225px}.market-card .experience-body{padding:19px 20px 21px}.attribute-row{display:flex;flex-wrap:wrap;gap:7px;margin:11px 0}.attribute-row span{padding:6px 9px;border-radius:11px;background:#f7f1f7;color:var(--muted);font-size:.68rem;font-weight:800}.market-section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:28px}.market-section-heading h2{margin:4px 0 0;font:800 clamp(2rem,4vw,3.6rem)/1 var(--clay-heading-font)}.market-section-heading p{max-width:560px;color:var(--muted)}
.category-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.category-rail a{display:flex;align-items:center;gap:14px;padding:18px;border-radius:23px}.category-rail span{width:50px;height:50px;display:grid;place-items:center;border-radius:17px;background:rgba(255,255,255,.72);font-size:1.5rem}.category-rail strong,.category-rail small{display:block}.category-rail small{color:var(--muted)}
.detail-split{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:42px;align-items:start}.sticky-booking{position:sticky;top:105px;padding:25px}.detail-banner{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.detail-banner>button{border:0;padding:0;overflow:hidden;border-radius:28px;background:var(--surface)}.detail-banner>button:first-child{grid-row:1/3}.detail-banner img{width:100%;height:100%;min-height:210px;object-fit:cover}.detail-title{display:flex;justify-content:space-between;gap:25px;align-items:start;margin:23px 0}.detail-title h1{margin:5px 0 8px;font:800 clamp(2.7rem,5vw,5.4rem)/.98 var(--clay-heading-font)}.detail-title p{color:var(--muted)}.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.spec-grid div{padding:15px;border-radius:18px;background:#faf5f8}.spec-grid span,.spec-grid strong,.spec-grid small{display:block}.spec-grid span{font-size:1.35rem}.spec-grid small{color:var(--muted)}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.amenity-grid div{display:flex;gap:10px;align-items:center;padding:14px;border-radius:17px;background:#fbf7fa}.room-option{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:18px;align-items:center;padding:15px;margin-top:14px}.room-option img{width:150px;height:110px;object-fit:contain;border-radius:20px;background:var(--lavender)}.room-option h3,.room-option p{margin:0}.room-option p{color:var(--muted)}.room-price{text-align:right}.room-price small,.room-price strong{display:block}.room-option.is-selected{outline:3px solid var(--peach-strong)}
.booking-fields{display:grid;gap:13px}.booking-fields label{display:grid;gap:6px}.booking-fields label>span{font-size:.72rem;font-weight:800;color:var(--muted)}.booking-fields input,.booking-fields select{width:100%;border:1px solid #e8dfe8;border-radius:16px;padding:12px;background:#fff}.booking-fields .clay-button{width:100%}.inline-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.price-breakdown{margin:17px 0;padding-top:13px;border-top:1px solid #eee3ec}.price-breakdown p{display:flex;justify-content:space-between;margin:8px 0}.price-breakdown p:last-child{font-size:1.08rem;font-weight:800}.option-check{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px;border:1px solid #eee3ec;border-radius:17px;margin-top:9px}.option-check span small{display:block;color:var(--muted)}
.vehicle-filter{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px;margin:25px 0}.vehicle-filter label{display:grid;gap:5px}.vehicle-filter select{border:0;background:#faf5f8;border-radius:14px;padding:11px}.compare-toggle{display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:800}.compare-tray{position:fixed;left:50%;bottom:25px;z-index:85;transform:translate(-50%,140%);width:min(calc(100% - 28px),760px);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border-radius:23px;background:rgba(255,253,249,.96);box-shadow:0 20px 55px rgba(57,39,69,.25);transition:.25s}.compare-tray.is-visible{transform:translate(-50%,0)}.compare-items{display:flex;gap:8px;overflow:hidden}.compare-items span{padding:8px 11px;border-radius:13px;background:var(--lavender);font-size:.7rem;font-weight:800;white-space:nowrap}
.boat-class-card{display:grid;grid-template-columns:150px 1fr auto;gap:18px;align-items:center;padding:18px}.boat-class-card img{width:150px;height:115px;object-fit:contain}.boat-class-card h3,.boat-class-card p{margin:0}.boat-class-card p{color:var(--muted)}.availability-dot{display:inline-flex;align-items:center;gap:6px;color:#377a57;font-size:.72rem;font-weight:800}.availability-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:#4caf7b;box-shadow:0 0 0 5px rgba(76,175,123,.12)}.deck-plan{display:grid;gap:14px}.deck-floor{padding:20px}.deck-floor-head{display:flex;justify-content:space-between}.deck-cabins{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:13px}.deck-cabins span{padding:14px;border-radius:15px;background:var(--lavender);text-align:center;font-size:.72rem;font-weight:800}.deck-cabins span.common{grid-column:span 2;background:var(--mint)}
.review-dashboard{display:grid;grid-template-columns:310px 1fr;gap:28px}.rating-summary{padding:28px;text-align:center}.rating-number{font:800 5rem/1 var(--clay-heading-font)}.rating-bars{display:grid;gap:8px;margin-top:20px}.rating-bars div{display:grid;grid-template-columns:28px 1fr 35px;gap:8px;align-items:center;font-size:.7rem}.rating-bars i{height:8px;border-radius:10px;background:#eee5eb;overflow:hidden}.rating-bars i:after{content:"";display:block;width:var(--w);height:100%;background:var(--peach-strong);border-radius:inherit}.review-feed{display:grid;gap:16px}.review-item{padding:22px}.review-head{display:flex;justify-content:space-between;gap:15px}.review-user{display:flex;align-items:center;gap:12px}.review-user>span{width:48px;height:48px;display:grid;place-items:center;border-radius:17px;background:var(--lavender);font-weight:800}.review-user strong,.review-user small{display:block}.review-user small,.review-item p{color:var(--muted)}.review-media{display:flex;gap:8px;margin-top:15px}.review-media img{width:90px;height:70px;object-fit:cover;border-radius:15px;background:var(--mint)}
.reward-hero{display:grid;grid-template-columns:1fr 330px;gap:30px;align-items:center}.points-card{padding:27px;background:linear-gradient(135deg,var(--lavender),var(--peach));box-shadow:var(--shadow-clay-lavender)}.points-card>span{font-size:.75rem;font-weight:800}.points-card>strong{display:block;font:800 4.2rem/1 var(--clay-heading-font);margin:8px 0}.tier-progress{height:12px;border-radius:12px;background:rgba(255,255,255,.58);overflow:hidden}.tier-progress i{display:block;width:68%;height:100%;background:var(--brand);border-radius:inherit}.reward-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.reward-stats article{padding:20px}.reward-stats strong{display:block;font:800 1.6rem/1.1 var(--clay-heading-font)}.reward-stats small{color:var(--muted)}.mission-grid,.voucher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.mission-card,.voucher-card{padding:22px}.mission-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:20px;background:var(--yellow);font-size:1.7rem}.mission-card progress{width:100%;accent-color:var(--brand)}.voucher-card{position:relative;overflow:hidden}.voucher-card:after{content:"";position:absolute;right:-25px;top:-25px;width:95px;height:95px;border-radius:50%;background:rgba(255,255,255,.45)}.voucher-card h3{font-size:1.4rem}.voucher-card small{color:var(--muted)}
.referral-hero{display:grid;grid-template-columns:1fr .9fr;gap:42px;align-items:center}.referral-code{display:grid;grid-template-columns:1fr auto;gap:10px;padding:11px;margin-top:20px}.referral-code strong{padding:10px;font:800 1.25rem/1 var(--clay-heading-font);letter-spacing:.08em}.referral-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.referral-steps article{padding:24px}.step-number{width:48px;height:48px;display:grid;place-items:center;border-radius:17px;background:var(--peach);font-weight:800}.referral-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.referral-stats div{padding:18px;border-radius:20px;background:#faf5f8}.referral-stats strong,.referral-stats small{display:block}.referral-stats strong{font-size:1.4rem}.referral-stats small{color:var(--muted)}
.deal-hero{padding:34px;background:linear-gradient(135deg,var(--peach),var(--lavender));display:grid;grid-template-columns:1fr 360px;align-items:center;gap:35px}.deal-countdown{display:flex;gap:9px;margin:20px 0}.deal-countdown div{min-width:72px;padding:12px;border-radius:18px;background:rgba(255,255,255,.65);text-align:center}.deal-countdown strong,.deal-countdown small{display:block}.deal-countdown strong{font:800 1.45rem/1 var(--clay-heading-font)}.deal-countdown small{color:var(--muted);font-size:.62rem}.deal-card{position:relative;overflow:hidden}.discount-burst{position:absolute;top:16px;left:16px;z-index:2;width:66px;height:66px;display:grid;place-items:center;border-radius:22px;background:var(--yellow);box-shadow:var(--shadow-clay-yellow);font-weight:800;transform:rotate(-7deg)}.old-price{text-decoration:line-through;color:var(--muted);font-size:.72rem}
.guide-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.guide-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.guide-facts div{padding:15px;border-radius:17px;background:#fff}.guide-facts strong,.guide-facts small{display:block}.guide-facts small{color:var(--muted)}.guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:35px}.guide-nav{position:sticky;top:105px;padding:18px}.guide-nav a{display:block;padding:9px 10px;border-radius:13px;color:var(--muted);font-weight:700;font-size:.78rem}.guide-nav a:hover{background:var(--lavender);color:var(--ink)}.season-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.season-card{padding:18px}.season-card strong,.season-card small{display:block}.season-card small{color:var(--muted)}.season-card.is-best{background:var(--mint);box-shadow:var(--shadow-clay-mint)}.neighborhood-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.neighborhood-grid article{padding:20px}.itinerary-panel[hidden]{display:none}.day-plan{display:grid;grid-template-columns:70px 1fr;gap:15px;padding:15px 0;border-bottom:1px solid #eee4ec}.day-plan>b{width:58px;height:58px;display:grid;place-items:center;border-radius:19px;background:var(--lavender)}
.compare-table-wrap{overflow-x:auto;padding-bottom:12px}.compare-table{min-width:900px;display:grid;grid-template-columns:190px repeat(3,1fr);gap:1px;background:#e9e0e7;border-radius:28px;overflow:hidden}.compare-table>*{background:var(--surface);padding:17px}.compare-table .compare-label{font-weight:800;background:#fbf6f9}.compare-product{text-align:center}.compare-product img{height:150px;width:100%;object-fit:contain}.compare-product h3{margin:10px 0 5px}.compare-value{text-align:center}.compare-value.is-best{background:var(--mint);font-weight:800}.compare-remove{border:0;background:transparent;color:var(--brand-deep);font-weight:800}.compare-mobile{display:none}
.profile-list{display:grid;gap:15px}.traveler-profile-card{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:20px}.traveler-avatar{width:64px;height:64px;display:grid;place-items:center;border-radius:22px;background:var(--lavender);font:800 1.2rem/1 var(--clay-heading-font)}.traveler-profile-card h3,.traveler-profile-card p{margin:0}.traveler-profile-card p{color:var(--muted)}.profile-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.profile-tags span{padding:5px 8px;border-radius:10px;background:#f7f1f7;font-size:.65rem;font-weight:800}.profile-actions{display:flex;gap:7px}.profile-actions button{width:42px;height:42px}.profile-dialog{width:min(92vw,680px);border:0;border-radius:30px;padding:0;background:var(--surface);box-shadow:0 35px 90px rgba(49,34,59,.35)}.profile-dialog::backdrop{background:rgba(43,31,49,.5);backdrop-filter:blur(6px)}.profile-dialog form{padding:27px}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.empty-inline{padding:35px;text-align:center}.section-callout{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px;margin-top:25px}.section-callout p{margin:4px 0 0;color:var(--muted)}
@media(max-width:1080px){.market-grid{grid-template-columns:repeat(2,1fr)}.phase2-hero-card,.deal-hero{grid-template-columns:1fr 320px}.detail-split{grid-template-columns:minmax(0,1fr) 330px}.mission-grid,.voucher-grid{grid-template-columns:repeat(2,1fr)}.category-rail{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.phase2-hero-card,.detail-split,.review-dashboard,.reward-hero,.referral-hero,.deal-hero,.guide-hero,.guide-layout{grid-template-columns:1fr}.phase2-hero-art,.deal-hero img,.guide-hero img{justify-self:center}.hero-search-grid{grid-template-columns:1fr 1fr}.hero-search-grid button{grid-column:1/-1}.sticky-booking,.guide-nav{position:static}.vehicle-filter{grid-template-columns:1fr 1fr}.reward-stats,.referral-stats{grid-template-columns:repeat(3,1fr)}.referral-steps{grid-template-columns:1fr 1fr}.season-grid{grid-template-columns:1fr 1fr}.compare-tray{bottom:92px}}
@media(max-width:640px){.phase2-hero-card,.deal-hero{padding:24px}.hero-search-grid,.inline-two,.vehicle-filter{grid-template-columns:1fr}.market-grid,.category-rail,.amenity-grid,.mission-grid,.voucher-grid,.neighborhood-grid,.reward-stats,.referral-steps,.referral-stats{grid-template-columns:1fr}.market-section-heading,.detail-title,.section-callout{display:block}.market-section-heading>a,.section-callout>a{margin-top:14px}.detail-banner{grid-template-columns:1fr 1fr}.detail-banner>button:first-child{grid-column:1/-1;grid-row:auto}.detail-banner img{min-height:145px}.spec-grid{grid-template-columns:1fr 1fr}.room-option,.boat-class-card{grid-template-columns:1fr}.room-option img,.boat-class-card img{width:100%;height:180px}.room-price{text-align:left}.deck-cabins{grid-template-columns:1fr 1fr}.review-head{display:block}.review-head>.stars{margin-top:10px}.deal-countdown div{min-width:58px}.guide-facts,.season-grid{grid-template-columns:1fr}.compare-table-wrap{display:none}.compare-mobile{display:grid;gap:15px}.compare-mobile article{padding:20px}.compare-mobile dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.compare-mobile dt{color:var(--muted)}.compare-mobile dd{text-align:right;font-weight:800}.traveler-profile-card{grid-template-columns:auto 1fr}.profile-actions{grid-column:2}.referral-code{grid-template-columns:1fr}.referral-code button{width:100%}}

/* Mobile containment hardening shared by the original homepage and Phase 2 pages */
@media (max-width: 860px) {
  .mobile-bottom-nav { left: 10px; right: auto; width: calc(100% - 20px); max-width: calc(100vw - 20px); min-width: 0; overflow: hidden; }
  .mobile-bottom-nav a { min-width: 0; overflow: hidden; }
  .mobile-bottom-nav small { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .destination-layout, .destination-layout > *, .destination-copy, .destination-stack { min-width: 0; max-width: 100%; }
  .filter-tabs { max-width: calc(100vw - 24px); }
}
html { max-width: 100%; overflow-x: hidden; }
@media (max-width: 640px) {
  .hero-visual { overflow: hidden; }
  .filter-tabs { contain: inline-size; }
}
