/* La oferta forma parte del estudio de producto; el modelo conserva su eje. */
.cj-sticky[data-phase=outro] .cj-showcase-visual { position:relative; }
.cj-reservation { position:absolute; z-index:2; right:0; top:46%; transform:translateY(-50%); width:260px; color:var(--text); }
.cj-reservation-label { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#b9c9de; font:500 12px/1.5 var(--font-sans); }
.cj-off-badge { display:inline-flex; padding:6px 10px; border-radius:8px; background:#b8ee83; color:#17290c; font:600 12px/1.2 var(--font-sans); letter-spacing:.025em; box-shadow:0 0 24px #b8ee8312; }
.cj-reservation-label s { color:#8e9aa9; font-weight:400; }
.cj-reservation-price { display:flex; align-items:baseline; gap:9px; margin:20px 0 10px; font:650 64px/.98 var(--font-display); letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.cj-reservation-currency { color:#b8c4d2; font:500 12px var(--font-sans); letter-spacing:0; }
.cj-reservation-installments { color:#bdc9d8; font:400 14px/1.5 var(--font-sans); }
.cj-reservation-cta { display:flex; align-items:center; justify-content:center; gap:18px; min-height:52px; margin-top:28px; padding:14px 20px; border:1px solid #fff5; border-radius:14px; background:#ecf3fa; color:#11161d; font:600 15px/1.5 var(--font-sans); text-decoration:none; box-shadow:0 6px 24px #a9cfff0c; transition:background .2s,box-shadow .2s; }
.cj-reservation-cta svg { width:18px; height:18px; flex:none; transition:translate .2s; }
.cj-reservation-cta:hover { background:#fff; box-shadow:0 0 24px #b6daff22; }
.cj-reservation-cta:hover svg { translate:2px 0; }
.cj-reservation-cta:focus-visible { outline:2px solid var(--focus); outline-offset:4px; }
.cj-reservation-terms { margin:20px 0 0; padding-top:18px; border-top:1px solid #ffffff16; }
.cj-reservation-terms>div { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:baseline; gap:8px; }
.cj-reservation-terms dt { margin:0; color:#9fadc0; font:400 12px/1.4 var(--font-sans); }
.cj-reservation-terms dd { margin:0; color:#c4d0df; font:500 12px/1.4 var(--font-sans); }
@media(min-width:1100px) {
 .cj-sticky[data-phase=outro] .cj-viewer { position:static; }
 .cj-sticky[data-phase=outro] .cj-customizer-body { top:46%; }
}
@media(max-width:1099px) {
 .cj-sticky[data-phase=outro] .cj-showcase-visual { gap:12px; }
 .cj-sticky[data-phase=outro] .cj-viewer-stage { height:min(calc(100svh - 430px),460px); min-height:170px; }
 .cj-sticky[data-phase=outro] .cj-viewer-dock { gap:8px; }
 .cj-sticky[data-phase=outro] .cj-customizer summary { min-height:44px; }
 .cj-sticky[data-phase=outro] .cj-viewer-hint { margin-top:8px; font-size:9px; }
 .cj-sticky[data-phase=outro]:not(.viewer-ready) #cj-showcase-product { width:max(170px,min(78vw,calc(100svh - 430px),350px)); }
 .cj-reservation { position:static; transform:none; width:min(100%,380px); }
 .cj-reservation-offer { display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:16px; }
 .cj-reservation-label { grid-column:1/-1; margin-bottom:10px; }
 .cj-reservation-price { margin:4px 0; font-size:54px; }
 .cj-reservation-installments { grid-column:1; font-size:13px; }
 .cj-reservation-cta { grid-column:2; grid-row:2/4; margin:0; padding:12px 18px; }
 .cj-reservation-terms { margin-top:16px; padding-top:14px; }
 .cj-sticky[data-phase=outro] #cj-tour-feedback { display:none; }
}
@media(max-width:360px) {
 .cj-reservation-offer { column-gap:10px; }
 .cj-reservation-price { font-size:44px; gap:6px; }
 .cj-reservation-cta { gap:8px; font-size:14px; padding-inline:12px; }
}
@media(max-width:600px) {
 .cj-sticky[data-phase=outro] .cj-viewer-stage { height:min(calc(100svh - 468px),460px); }
 .cj-reservation-offer { grid-template-columns:minmax(0,1fr); gap:0; }
 .cj-reservation-label { margin-bottom:8px; }
 .cj-reservation-price { margin:8px 0; font-size:58px; }
 .cj-reservation-installments { font-size:14px; }
 .cj-reservation-cta { grid-column:1; grid-row:auto; width:100%; margin-top:18px; font-size:15px; }
}
@media(max-width:360px) {
 .cj-reservation-price { font-size:54px; }
}
@media(max-width:1099px) and (max-height:600px) {
 .cj-sticky[data-phase=outro] .cj-showcase { inset:90px 20px 12px; overflow-y:auto; align-items:start; align-content:start; grid-template-rows:auto; }
 .cj-sticky[data-phase=outro] .cj-showcase-visual { align-self:start; }
}
