.product-page{background:var(--ivory);padding-bottom:100px}.product-page [style*=border-radius],.product-page [style*=borderRadius]{border-radius:0!important}.product-page h1,.product-page h2,.product-page h3{font-family:var(--font-main)!important}.product-hero{background-color:var(--navy);filter:saturate(.9);width:min(1180px,100% - 48px);height:360px;margin-inline:auto;position:relative}.product-hero:after{content:"STAY HALONG / ON BOARD";color:#fff;letter-spacing:.16em;font-size:.62rem;font-weight:800;position:absolute;bottom:35px;right:24px}.product-hero-bg{width:100%;height:100%;background:linear-gradient(#06272a08,#06272aa6)!important}.product-content-wrapper{z-index:2;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:24px;margin-top:0;display:grid;position:relative}.product-main,.reservation-card{box-shadow:none;background:#fff;border-radius:0}.product-main{padding:48px}.duration-badge{background:var(--acid);color:var(--navy);letter-spacing:.08em;border-radius:0;margin-bottom:20px;padding:8px 12px;font-size:.64rem;font-weight:900;display:inline-flex}.product-header h1{letter-spacing:-.065em;color:var(--navy);margin-bottom:18px;font-size:clamp(1.9rem,3.2vw,3.4rem);font-weight:750;line-height:1}.product-desc{color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:30px;padding-bottom:28px;font-size:.85rem}.product-section{margin-bottom:48px}.product-section h2{letter-spacing:-.05em;color:var(--navy);border-bottom:1px solid var(--line);margin-bottom:22px;padding:0 0 13px;font-size:1.8rem;font-weight:750}.cabins-list{border-top:1px solid var(--line);flex-direction:column;gap:0;display:flex}.cabin-card{cursor:pointer;background:#fff;transition:all .2s;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important}.cabin-card:hover{background:#f7f9ed}.cabin-card.active{box-shadow:inset 4px 0 var(--acid);background:#f4ffd5;border-color:var(--line)!important}.cabin-info h3{margin-bottom:3px;font-size:1rem!important;font-weight:750!important}.cabin-price{color:var(--navy)}.reservation-card{border-top:8px solid var(--acid);padding:30px}.sticky{position:sticky;top:96px}.reservation-card>h3{font-size:1.2rem!important;font-weight:800!important}.reservation-form{flex-direction:column;gap:18px;display:flex}.reservation-form .form-group{flex-direction:column;gap:6px;display:flex}.reservation-form label{font-size:.7rem;font-weight:800}.reservation-form input,.reservation-form select{border:1px solid var(--line);background:#fff;border-radius:0;min-height:46px;padding:12px}.reservation-form input:focus,.reservation-form select:focus{outline:3px solid var(--acid);outline-offset:0}.total-price-box{justify-content:space-between;align-items:center;margin-top:8px;padding:18px;display:flex;background:var(--acid)!important}.total-price-box span{font-size:.75rem;font-weight:800}.total-amount{font-family:var(--font-main)!important;color:var(--navy)!important;font-size:1.45rem!important}.w-100{width:100%;padding:15px;font-size:.85rem}.product-page table,.product-page [style*="background-color: rgb(248, 250, 252)"],.product-page [style*="backgroundColor: '#f8fafc'"]{border-radius:0!important}.product-state{color:#fff;background:#06272a;flex-direction:column;justify-content:center;align-items:flex-start;min-height:calc(100vh - 76px);padding:80px max(24px,50vw - 590px);display:flex}.product-state>span{color:var(--acid);letter-spacing:.16em;font-size:.62rem;font-weight:800}.product-state h1,.product-state h2{max-width:800px;font-family:var(--font-main);letter-spacing:-.07em;margin:24px 0;font-size:clamp(3.2rem,6vw,6.5rem);font-weight:750;line-height:.98}.product-state p{color:#ffffff8c;font-size:.8rem}.product-state i{background:linear-gradient(90deg,var(--acid) 0 38%,#ffffff24 38%);width:min(500px,80vw);height:5px;margin:20px 0 25px;animation:1.3s ease-in-out infinite alternate productLoad}.product-state-error{background:var(--coral);color:var(--navy)}.product-state-error>span{color:var(--navy)}@keyframes productLoad{to{opacity:.45;transform-origin:0;transform:scaleX(.82)}}@media (max-width:980px){.product-content-wrapper{grid-template-columns:minmax(0,1fr)}.product-main,.product-sidebar{min-width:0}.sticky{position:static}.product-main{padding:34px}.product-hero{height:320px}}@media (max-width:600px){.product-content-wrapper{width:100%;margin-top:0}.product-main{padding:30px 18px}.reservation-card{border-radius:0}.cabin-card{flex-wrap:wrap;gap:10px!important;padding:14px!important}.cabin-card>div:first-of-type{width:76px!important;height:65px!important}.cabin-price{width:100%;padding-left:0;text-align:right!important}.product-hero{width:calc(100% - 32px);height:220px}.product-header h1{font-size:1.9rem}}.product-subtitle{color:var(--muted);letter-spacing:.04em;margin-top:-10px;margin-bottom:16px;font-size:.78rem}.product-facts{flex-wrap:wrap;gap:8px;margin-bottom:36px;display:flex}.product-facts span,.feature-list span,.facility-block span{border:1px solid var(--line);color:var(--navy);background:#f8faf6;padding:7px 10px;font-size:.68rem;font-weight:750;display:inline-flex}.section-heading-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px;display:flex}.section-heading-row h2{border:0;margin:0}.schedule-picker{align-items:center;gap:8px;padding-bottom:13px;display:flex}.schedule-picker span{font-size:.68rem;font-weight:800}.schedule-picker select{border:1px solid var(--line);background:#fff;min-height:38px;padding:0 30px 0 10px}.price-notice{color:#715a1f;background:#fff8df;border-left:4px solid #f2b84b;margin-bottom:20px;padding:12px 14px;font-size:.73rem;line-height:1.55}.cabin-card{text-align:left;width:100%;font:inherit;color:inherit;align-items:center;gap:20px;padding:18px;display:flex}.cabin-image{background-position:50%;background-size:cover;flex:0 0 100px;width:100px;height:78px}.cabin-info{flex-direction:column;flex:1;min-width:0;display:flex}.cabin-info strong{font-size:1rem}.cabin-info small{color:var(--muted);margin-top:5px;font-size:.7rem}.cabin-price{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:3px;display:flex}.cabin-price small{color:var(--muted);font-size:.65rem}.cabin-price strong{font-size:.9rem}.cabin-detail{border:1px solid var(--line);background:#f8faf6;margin-bottom:30px;padding:30px}.cabin-detail h2{font-family:var(--font-main);letter-spacing:-.04em;font-size:1.55rem}.cabin-name-en{color:var(--muted);margin-top:4px;font-size:.75rem}.feature-list{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.amenity-note,.facility-block,.rate-reference{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.amenity-note>strong,.facility-block>strong,.rate-reference>strong{margin-bottom:10px;font-size:.76rem;display:block}.amenity-note p{white-space:pre-wrap;color:var(--muted);font-size:.78rem;line-height:1.7}.facility-block>div{flex-wrap:wrap;gap:7px;display:flex}.rate-reference dl{margin:0}.rate-reference dl>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:9px 0;font-size:.73rem;display:flex}.rate-reference dt{color:var(--muted)}.rate-reference dd{text-align:right;margin:0;font-weight:700}.reservation-step{color:var(--muted);letter-spacing:.15em;margin-bottom:17px;font-size:.6rem;font-weight:900;display:block}.reservation-intro{color:var(--muted);margin:10px 0 20px;font-size:.72rem;line-height:1.55}.guest-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.date-warning{color:#9a4d20;background:#fff3e8;padding:10px;font-size:.7rem;line-height:1.5}.total-price-box{flex-direction:column;align-items:flex-start;gap:5px}.total-price-box strong{font-family:var(--font-main);font-size:1.25rem}.total-price-box small{font-size:.62rem;line-height:1.45}.handoff-note{color:var(--muted);text-align:center;margin-top:-8px;font-size:.64rem;line-height:1.55}.kakao-link{border:1px solid var(--navy);color:var(--navy);text-align:center;padding:12px;font-size:.72rem;font-weight:800;display:block}.reservation-form input[readonly]{color:var(--navy);background:#f4f5ef;font-weight:700}@media (max-width:600px){.section-heading-row{flex-direction:column;align-items:flex-start}.schedule-picker{justify-content:space-between;width:100%}.cabin-card{display:flex}.cabin-image{flex-basis:76px;width:76px;height:65px}.cabin-price{align-items:flex-start;width:100%;padding-left:96px}.guest-grid{grid-template-columns:1fr}.cabin-detail{padding:22px 16px}.rate-reference dl>div{flex-direction:column;gap:3px}.rate-reference dd{text-align:left}}.cabin-select-button{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:20px;padding:0;display:flex}.cabin-select-button:focus-visible{outline:3px solid var(--acid);outline-offset:3px}@media (max-width:600px){.cabin-select-button{flex-wrap:wrap;gap:10px}.cabin-select-button .cabin-price{padding-left:86px}}.cabin-gallery-trigger{cursor:zoom-in;flex:0 0 100px;width:100px;height:78px;min-height:0;display:block}.cabin-gallery-trigger:focus-visible{outline:3px solid var(--acid);outline-offset:2px}@media (max-width:600px){.cabin-gallery-trigger{flex-basis:76px;width:76px;height:65px}}.cabin-detail-button{border:1px solid var(--navy);min-height:32px;color:var(--navy);letter-spacing:.04em;background:#fff;flex:none;padding:5px 8px;font-size:.67rem;font-weight:850;line-height:1}.cabin-detail-button span{color:#638000;margin-left:5px}.cabin-detail-button:hover{background:var(--acid)}.cabin-detail-button:focus-visible{outline:3px solid var(--acid);outline-offset:2px}.cabin-detail-modal{z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#021214d6;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.cabin-detail-modal-panel{border-top:8px solid var(--acid);width:min(700px,100%);max-height:calc(100vh - 48px);box-shadow:none;background:#fff;overflow:auto}.cabin-detail-modal-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 26px 20px;display:flex}.cabin-detail-modal-panel>header>div{gap:7px;display:grid}.cabin-detail-modal-panel header span{color:var(--muted);letter-spacing:.15em;font-size:.6rem;font-weight:900}.cabin-detail-modal-panel h2{color:var(--navy);letter-spacing:-.055em;margin:0;font-size:clamp(1.55rem,4vw,2.2rem);font-weight:780}.cabin-detail-modal-panel header button{border:1px solid var(--navy);min-height:42px;color:var(--navy);background:#fff;padding:0 12px;font-size:.68rem;font-weight:800}.cabin-detail-modal-content{padding:24px 26px 30px}.cabin-detail-modal-content .feature-list{margin:18px 0}.cabin-detail-modal-content .rate-reference{margin-bottom:0}.cabin-detail-modal-content .rate-reference dl>div:last-child{border-bottom:0}@media (max-width:600px){.cabin-card{align-items:flex-start}.cabin-detail-button{align-self:center}.cabin-detail-modal{padding:0}.cabin-detail-modal-panel{border-top-width:6px;width:100%;max-height:100dvh}.cabin-detail-modal-panel>header{padding:18px}.cabin-detail-modal-content{padding:20px 18px 28px}}.reservation-card h3{line-height:1.15}.reservation-intro{overflow-wrap:anywhere;line-height:1.5}@media (max-width:600px){.product-sidebar{display:none}.reservation-card{box-sizing:border-box;width:100%;min-width:0;padding:24px 18px}.reservation-card h3{margin:0 0 10px;font-size:1.45rem;line-height:1.15}.reservation-intro{word-break:keep-all;overflow-wrap:anywhere;margin:0 0 20px;font-size:.82rem;line-height:1.5}.reservation-form,.reservation-form input,.reservation-form select,.reservation-form button{box-sizing:border-box;max-width:100%}}.cabin-media-actions{flex-direction:column;flex:0 0 100px;gap:6px;display:flex}.cabin-media-actions>.cabin-image,.cabin-media-actions .cabin-gallery-trigger{width:100%;height:78px}.cabin-media-actions .cabin-detail-button{width:100%;padding:6px 4px}@media (max-width:600px){.cabin-card>.cabin-media-actions{flex-basis:76px;width:76px!important;height:auto!important}.cabin-media-actions>.cabin-image,.cabin-media-actions .cabin-gallery-trigger{height:65px}.cabin-media-actions .cabin-detail-button{min-height:30px;padding:5px 2px;font-size:.6rem}}.cabin-price{text-align:right}.cabin-price strong,.total-amount{font-variant-numeric:tabular-nums}@media (max-width:600px){.cabin-price{text-align:right!important;align-items:flex-end!important;padding-left:0!important}}.total-price-box{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 16px;display:grid}.total-price-box span,.total-price-box small{grid-column:1}.total-price-box strong{text-align:right;grid-area:1/2/3;align-self:center;margin:0}.rate-reference dd{text-align:right}@media (max-width:600px){.total-price-box{text-align:left;align-items:center}.total-price-box strong{text-align:right;justify-self:end}.rate-reference dd{text-align:right}}.product-reservation-modal{z-index:1200;background:#021214c7;align-items:end;display:grid;position:fixed;inset:0}.product-reservation-modal-panel{border-top:6px solid var(--acid);background:#fff;width:100%;max-height:92dvh;overflow:auto}.product-reservation-modal-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.product-reservation-modal-panel>header>div{gap:4px;display:grid}.product-reservation-modal-panel>header span{color:var(--muted);letter-spacing:.14em;font-size:.6rem;font-weight:900}.product-reservation-modal-panel>header strong{letter-spacing:-.03em;font-size:1rem}.product-reservation-modal-panel>header button{border:1px solid var(--navy);min-height:42px;color:var(--navy);background:#fff;padding:0 11px;font-size:.68rem;font-weight:850}.product-reservation-modal-panel>.reservation-card{border-top:0;padding:20px 18px 28px}.product-reservation-modal-panel .reservation-step{margin-bottom:10px}.product-reservation-modal-panel .reservation-card h3{font-size:1.35rem!important}.product-reservation-modal-panel .reservation-intro{margin-bottom:16px}.product-reservation-modal-panel .reservation-form{gap:14px}@media (min-width:601px){.product-reservation-modal{display:none}}.cruise-vehicle-choice-modal{z-index:1250;background:#021214d6;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.cruise-vehicle-choice-panel{border-top:8px solid var(--acid);background:#fff;width:min(760px,100%);max-height:calc(100dvh - 48px);overflow:auto}.cruise-vehicle-choice-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 26px 20px;display:flex}.cruise-vehicle-choice-panel>header>div{gap:7px;display:grid}.cruise-vehicle-choice-panel header span{color:var(--muted);letter-spacing:.15em;font-size:.6rem;font-weight:900}.cruise-vehicle-choice-panel h2{color:var(--navy);letter-spacing:-.055em;margin:0;font-size:clamp(1.55rem,4vw,2.2rem);font-weight:780}.cruise-vehicle-choice-panel header button{border:1px solid var(--navy);min-height:42px;color:var(--navy);background:#fff;padding:0 12px;font-size:.68rem;font-weight:800}.cruise-vehicle-choice-content{padding:24px 26px 30px}.cruise-vehicle-choice-content>p{color:var(--muted);word-break:keep-all;margin:0 0 22px;font-size:.82rem;line-height:1.7}.cruise-vehicle-choice-actions{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.cruise-vehicle-choice-actions button{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:218px;color:var(--navy);text-align:left;background:#fff;align-content:start;gap:11px;padding:20px;display:grid}.cruise-vehicle-choice-actions button:hover,.cruise-vehicle-choice-actions button:focus-visible{background:var(--acid);outline:0}.cruise-vehicle-choice-actions span{letter-spacing:.13em;font-size:.6rem;font-weight:900}.cruise-vehicle-choice-actions strong{letter-spacing:-.04em;font-size:1.2rem}.cruise-vehicle-choice-actions small{min-height:42px;color:var(--muted);word-break:keep-all;font-size:.72rem;line-height:1.55}.cruise-vehicle-choice-actions b{text-align:right;margin-top:auto;font-size:.72rem}@media (max-width:600px){.cruise-vehicle-choice-modal{align-items:end;padding:0}.cruise-vehicle-choice-panel{border-top-width:6px;max-height:92dvh}.cruise-vehicle-choice-panel>header{padding:18px}.cruise-vehicle-choice-content{padding:20px 18px 28px}.cruise-vehicle-choice-actions{grid-template-columns:1fr}.cruise-vehicle-choice-actions button{grid-template-columns:auto 1fr auto;align-items:center;min-height:0}.cruise-vehicle-choice-actions button span{grid-column:1/-1}.cruise-vehicle-choice-actions button small{min-height:0}.cruise-vehicle-choice-actions button b{align-self:center;margin-top:0}}.cruise-vehicle-choice-actions button:disabled{cursor:wait;opacity:.5}.cruise-vehicle-config{gap:18px;display:grid}.cruise-vehicle-back{border:0;border-bottom:1px solid var(--navy);min-height:40px;color:var(--navy);background:#fff;justify-self:start;padding:0;font-size:.7rem;font-weight:850}.cruise-vehicle-config>p{color:var(--muted);margin:0;font-size:.8rem;line-height:1.65}.cruise-vehicle-config>p strong{color:var(--navy)}.cruise-vehicle-status{background:#f6f8ef;padding:12px 14px!important}.cruise-vehicle-status.error{color:#9a4d20;background:#fff1ec}.cruise-vehicle-fields{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:18px;display:grid}.cruise-vehicle-fields label{gap:7px;min-width:0;display:grid}.cruise-vehicle-fields label span{font-size:.68rem;font-weight:850}.cruise-vehicle-fields select,.cruise-vehicle-fields input{box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:46px;color:var(--navy);background:#fff;border-radius:0;padding:10px}.cruise-vehicle-fields select:focus,.cruise-vehicle-fields input:focus{outline:3px solid var(--acid);outline-offset:0}.cruise-vehicle-total{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:16px 0;font-size:.75rem;font-weight:850;display:flex}.cruise-vehicle-total strong{text-align:right;font-variant-numeric:tabular-nums;font-size:1.25rem}.cruise-vehicle-save{background:var(--acid);width:100%;min-height:52px;color:var(--navy);text-align:left;border:0;padding:14px 18px;font-size:.82rem;font-weight:900}.cruise-vehicle-save:disabled{cursor:not-allowed;opacity:.45}@media (max-width:600px){.cruise-vehicle-fields{grid-template-columns:1fr}.cruise-vehicle-total strong{text-align:right}}.cruise-vehicle-addon{border:1px solid var(--line);cursor:pointer;background:#f6f8ef;align-items:center;gap:12px;padding:14px;display:flex}.cruise-vehicle-addon input{width:18px;height:18px;accent-color:var(--navy)}.cruise-vehicle-addon span{gap:3px;min-width:0;display:grid}.cruise-vehicle-addon strong{font-size:.78rem}.cruise-vehicle-addon small{color:var(--muted);font-size:.65rem}.cruise-vehicle-addon b{text-align:right;white-space:nowrap;margin-left:auto;font-size:.76rem}
