/* Approved visual polish on existing elements; no layout or content replacement. */
:root{--sm-polish-light:217,187,135;--sm-polish-shadow:11,28,36}
.sm-polish-light,.sm-polish-ring,.sm-polish-shine{display:none!important;pointer-events:none!important;user-select:none!important}
html[data-sm-polish-level="1"] .sm-polish-target,html[data-sm-polish-level="2"] .sm-polish-target{outline-offset:-1px;transition:box-shadow .35s ease,outline-color .35s ease}
html[data-sm-polish-level="1"] .sm-polish-target:is(:hover,:focus-visible){box-shadow:0 0 0 1px rgba(var(--sm-polish-light),.4),0 8px 23px rgba(var(--sm-polish-shadow),.09)}
html[data-sm-polish-level="2"] .sm-polish-target:is(:hover,:focus-visible){box-shadow:0 0 0 1px rgba(var(--sm-polish-light),.65),0 12px 32px rgba(var(--sm-polish-shadow),.14)}
html[data-sm-polish-level="1"] .sm-polish-light,html[data-sm-polish-level="2"] .sm-polish-light{display:block!important;position:absolute!important;inset:0!important;z-index:8!important;border-radius:inherit!important;margin:0!important;padding:0!important;border:0!important;opacity:0!important;background:radial-gradient(340px circle at var(--sm-polish-x,50%) var(--sm-polish-y,50%),rgba(var(--sm-polish-light),.17),transparent 70%)!important;transition:opacity .35s ease!important;mix-blend-mode:screen}
html[data-sm-polish-level="2"] .sm-polish-light{background:radial-gradient(300px circle at var(--sm-polish-x,50%) var(--sm-polish-y,50%),rgba(var(--sm-polish-light),.26),transparent 70%)!important}
html[data-sm-polish-level="1"] .sm-polish-target:is(:hover,:focus-visible)>.sm-polish-light,html[data-sm-polish-level="2"] .sm-polish-target:is(:hover,:focus-visible)>.sm-polish-light{opacity:1!important}
html[data-sm-polish-level="2"] .sm-polish-ring{display:block!important;position:absolute!important;inset:0!important;border-radius:inherit!important;padding:1px!important;z-index:9!important;border:0!important;margin:0!important;background:radial-gradient(170px circle at var(--sm-polish-x,50%) var(--sm-polish-y,50%),rgba(var(--sm-polish-light),.9),transparent 85%)!important;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;opacity:0!important;transition:opacity .35s ease!important}
html[data-sm-polish-level="2"] .sm-polish-target:is(:hover,:focus-visible)>.sm-polish-ring{opacity:1!important}
html[data-sm-polish-level="2"] .sm-polish-cta{isolation:isolate}
html[data-sm-polish-level="2"] .sm-polish-shine{display:block!important;position:absolute!important;inset:0!important;z-index:3!important;border-radius:inherit!important;background:linear-gradient(110deg,transparent 26%,rgba(255,255,255,.2) 48%,transparent 70%)!important;background-size:260% 100%!important;background-position:160% 0!important;opacity:0!important;transition:background-position .65s ease,opacity .2s ease!important;border:0!important;margin:0!important;padding:0!important}
html[data-sm-polish-level="2"] .sm-polish-cta:is(:hover,:focus-visible)>.sm-polish-shine{opacity:1!important;background-position:-60% 0!important}
@media(hover:hover) and (pointer:fine){
 html[data-sm-polish-level="1"] .sm-polish-target img{transition:scale .65s cubic-bezier(.2,.7,.2,1)}
 html[data-sm-polish-level="1"] .sm-polish-target:is(:hover,:focus-visible) img{scale:1.018}
 html[data-sm-polish-level="2"] .sm-polish-target img{transition:scale .65s cubic-bezier(.2,.7,.2,1),filter .35s ease,opacity .35s ease}
 html[data-sm-polish-level="2"] .sm-polish-target:is(:hover,:focus-visible) img{scale:1.032}
 html[data-sm-polish-level="2"] .sm-polish-cluster:has(.sm-polish-target:is(:hover,:focus-visible)) .sm-polish-target:not(:hover):not(:focus-visible) img{filter:blur(.7px);opacity:.9}
}
html[data-sm-polish-level="2"] .sm-polish-enter{animation:sm-polish-soft-arrival .48s ease both}
@keyframes sm-polish-soft-arrival{from{opacity:.65;filter:blur(2px)}to{opacity:1;filter:blur(0)}}
@media(prefers-reduced-motion:reduce){
 html[data-sm-polish-level] .sm-polish-target,html[data-sm-polish-level] .sm-polish-target img{transition:none!important;scale:1!important}
 .sm-polish-enter{animation:none!important}
 .sm-polish-shine{display:none!important}
}

/* Approved second stage: typography, surfaces and touch controls. */

html[data-sm-polish-level="2"] main :is(h2,h3,.sp-way-title,.ab-saison-text b){text-wrap:balance;letter-spacing:-.025em}
html[data-sm-polish-level="2"] :is(.wc-body,.wc-sub,.sp-way-text,.ab-saison-text>span){text-wrap:pretty;line-height:1.65}
html[data-sm-polish-level="2"] :is(.sp-way,.ab-seatcard,.ab-saison-card){border-color:rgba(var(--sm-polish-light),.38);box-shadow:inset 0 1px 0 #ffffff14,0 12px 32px #071b2110}
html[data-sm-polish-level="2"] .ab-saison-text{padding:clamp(20px,3vw,38px)}
html[data-sm-polish-level="2"] .ab-saison-text b{line-height:1.13}
html[data-sm-polish-level="2"] .ab-saison-text small{letter-spacing:.1em}
html[data-sm-polish-level="2"] :is(.wc-copy,.world .in){text-shadow:0 2px 22px #001f25a6}
html[data-sm-polish-level="2"] .wc-shade{background:linear-gradient(90deg,#081a21d9,#081a2170 65%,#081a2120)}
html[data-sm-polish-level="2"] .world .in{padding:clamp(24px,3vw,42px);background:linear-gradient(0deg,#061923a8,transparent)}
html[data-sm-polish-level="2"] :is(.world .go,.wc-actions .btn,.wc-actions .btn-line,.save-moment,.package-tabs button,.slot-cta){min-height:44px}
html[data-sm-polish-level="2"] :is(.world .go,.wc-actions .btn-line,.save-moment){display:inline-flex;align-items:center;gap:12px}
html[data-sm-polish-level="2"] :is(#cruise-compass select,#package-select){min-height:52px;border-radius:12px;border-color:rgba(var(--sm-polish-light),.5);box-shadow:0 4px 14px #00000008}
html[data-sm-polish-level="2"] .package-information{border-radius:20px;box-shadow:inset 0 1px 0 #ffffff14,0 18px 50px #061a2110}
html[data-sm-polish-level="2"] :is(.sp-way-go,.world .go>span:last-child){transition:translate .25s ease}
@media(hover:hover) and (pointer:fine){html[data-sm-polish-level="2"] .sp-way:hover .sp-way-go,html[data-sm-polish-level="2"] .world:hover .go>span:last-child{translate:3px 0}}
@media(max-width:760px){html[data-sm-polish-level="2"] .wc-body{font-size:16px;line-height:1.65}html[data-sm-polish-level="2"] .wc-sub{line-height:1.45}html[data-sm-polish-level="2"] .ab-saison-text>span{font-size:15px}}
@media(prefers-reduced-motion:reduce){html[data-sm-polish-level="2"] :is(.sp-way-go,.world .go>span:last-child){transition:none;translate:0}}

