@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Outfit:wght@500;600;700;800&display=swap');

.oasis-sales {
  --oasis-blue: #13b8d1;
  --oasis-turquoise: #10c7a3;
  --oasis-green: #72c93b;
  --oasis-sun: #ffd04d;
  --oasis-coral: #ff7966;
  --oasis-deep: #063b4a;
  --oasis-ink: #123b45;
  --oasis-muted: #587a82;
  --oasis-line: rgba(7, 99, 116, .14);
  --oasis-card: rgba(255, 255, 255, .92);
  --oasis-shadow: 0 24px 70px rgba(0, 78, 98, .14);
  min-height: 100vh;
  color: var(--oasis-ink);
  background: #f6ffff;
  font: 500 16px/1.55 Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

.oasis-sales *, .oasis-sales *::before, .oasis-sales *::after { box-sizing: border-box; }
.oasis-sales button, .oasis-sales input, .oasis-sales select { font: inherit; }
.oasis-sales button { color: inherit; }
.oasis-sales img { display: block; max-width: 100%; }
.oasis-sales h1, .oasis-sales h2, .oasis-sales h3, .oasis-sales p { margin-top: 0; }
.oasis-sales h1, .oasis-sales h2, .oasis-sales h3 { font-family: Outfit, Manrope, sans-serif; letter-spacing: -.035em; line-height: 1.08; }
.oasis-sales h1 { font-size: clamp(2.7rem, 5.3vw, 5.55rem); }
.oasis-sales h2 { font-size: clamp(1.8rem, 3.2vw, 3.25rem); }
.oasis-sales h3 { font-size: clamp(1.18rem, 2vw, 1.65rem); }
.oasis-sales p { color: var(--oasis-muted); }
.oasis-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.oasis-page { display: none; }
.oasis-page.active { display: block; animation: oasisFade .42s ease both; }
.oasis-sales .hide, .oasis-sales [hidden] { display: none !important; }

@keyframes oasisFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes oasisFloat { 50% { transform: translateY(-10px) rotate(1deg); } }
@keyframes oasisPulse { 50% { box-shadow: 0 0 0 7px rgba(16, 199, 163, 0); } }

.oasis-top-note {
  min-height: 36px; padding: 7px 20px; display: flex; align-items: center; justify-content: center; gap: 10px;
  color: #043e46; background: linear-gradient(90deg, #d9fb9c, #ffec95 55%, #c7f8ff); font-size: .77rem; font-weight: 800;
  letter-spacing: .06em; text-transform: uppercase; text-align: center;
}
.oasis-sun-dot { width: 8px; height: 8px; border-radius: 50%; background: #ffad1f; box-shadow: 0 0 0 5px rgba(255, 173, 31, .18); }

.oasis-header { position: sticky; top: 0; z-index: 70; border-bottom: 1px solid rgba(255,255,255,.52); background: rgba(248,255,255,.82); backdrop-filter: blur(20px) saturate(150%); }
.oasis-header-inner { min-height: 82px; display: flex; align-items: center; gap: 28px; }
.oasis-brand { border: 0; background: transparent; padding: 0; display: flex; align-items: center; gap: 12px; cursor: pointer; text-align: left; }
.oasis-brand img { width: 66px; height: 58px; object-fit: contain; filter: drop-shadow(0 8px 12px rgba(2,77,89,.1)); }
.oasis-brand span { display: grid; line-height: 1.15; }
.oasis-brand strong { color: var(--oasis-deep); font-family: Outfit, sans-serif; font-size: 1.03rem; }
.oasis-brand small { margin-top: 4px; color: #6a9399; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.oasis-nav { display: flex; align-items: center; justify-content: center; gap: 4px; margin-left: auto; }
.oasis-nav-link { border: 0; background: transparent; padding: 10px 13px; border-radius: 13px; color: #426f78; font-size: .88rem; font-weight: 800; cursor: pointer; }
.oasis-nav-link:hover, .oasis-nav-link.active { color: #057c89; background: #e8fbfa; }
.oasis-header-actions { display: flex; align-items: center; gap: 9px; }
.oasis-icon-button { width: 44px; height: 44px; border: 1px solid var(--oasis-line); border-radius: 14px; background: white; cursor: pointer; }
.oasis-menu-button { display: none; font-size: 1.35rem; }

.oasis-button { min-height: 46px; border: 0; border-radius: 15px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; font-weight: 800; cursor: pointer; transition: .22s ease; text-decoration: none; }
.oasis-button:hover { transform: translateY(-2px); }
.oasis-button-primary { color: white !important; background: linear-gradient(135deg, #00ad99, #08a7c3); box-shadow: 0 12px 26px rgba(0, 156, 161, .22); }
.oasis-button-sun { color: #15454b !important; background: linear-gradient(135deg, #ffd861, #ffb82e); box-shadow: 0 14px 28px rgba(240, 170, 22, .27); }
.oasis-button-glass { color: white !important; border: 1px solid rgba(255,255,255,.4); background: rgba(255,255,255,.13); backdrop-filter: blur(12px); }
.oasis-button-outline { border: 1px solid rgba(5,116,133,.2); background: rgba(255,255,255,.78); color: #06798a; }
.oasis-button-large { min-height: 54px; padding-inline: 25px; border-radius: 17px; }
.oasis-text-button { border: 0; background: transparent; padding: 0; color: white; font-weight: 800; cursor: pointer; }

.oasis-connection { display: flex; justify-content: center; align-items: center; gap: 8px; min-height: 31px; padding: 5px 16px; color: #0f737f; background: #eafffc; border-bottom: 1px solid #cfefea; font-size: .76rem; font-weight: 800; }
.oasis-connection-dot, .oasis-live-chip i { width: 8px; height: 8px; border-radius: 50%; background: #19c795; box-shadow: 0 0 0 4px rgba(25,199,149,.13); animation: oasisPulse 1.8s infinite; }
.oasis-connection[data-status="loading"] .oasis-connection-dot { background: #fbbf32; }
.oasis-connection[data-status="error"] { color: #9d4a43; background: #fff1ee; border-color: #ffd8d1; }
.oasis-connection[data-status="error"] .oasis-connection-dot { background: var(--oasis-coral); }

.oasis-hero { position: relative; min-height: 690px; display: flex; align-items: center; color: white; background: radial-gradient(circle at 83% 12%, rgba(166,255,215,.35), transparent 24%), linear-gradient(125deg, #063c50 0%, #007e97 47%, #10b7b5 100%); overflow: hidden; }
.oasis-hero::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: radial-gradient(circle at 20% 30%, #fff 0 1px, transparent 2px), radial-gradient(circle at 75% 60%, #fff 0 1px, transparent 2px); background-size: 92px 92px, 123px 123px; }
.oasis-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: clamp(30px, 6vw, 84px); padding-block: 80px 125px; }
.oasis-hero-copy { max-width: 620px; }
.oasis-eyebrow, .oasis-kicker { display: inline-flex; align-items: center; gap: 9px; color: #087b82; font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.oasis-eyebrow i { width: 22px; height: 2px; border-radius: 2px; background: currentColor; }
.oasis-hero .oasis-eyebrow { color: #b8ffde; }
.oasis-hero h1 { max-width: 760px; margin: 15px 0 22px; color: white; text-wrap: balance; }
.oasis-hero-copy > p { max-width: 580px; margin-bottom: 28px; color: rgba(255,255,255,.8); font-size: clamp(1rem, 1.5vw, 1.18rem); }
.oasis-hero-actions { display: flex; flex-wrap: wrap; gap: 11px; }
.oasis-trust-row { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 12px 20px; color: rgba(255,255,255,.82); font-size: .78rem; font-weight: 700; }
.oasis-trust-row span { display: inline-flex; align-items: center; gap: 7px; }
.oasis-trust-row i { width: 19px; height: 19px; display: grid; place-items: center; border-radius: 50%; color: #06474c; background: #a7f4d0; font-style: normal; }
.oasis-hero-visual { position: relative; min-height: 520px; }
.oasis-main-photo { position: absolute; inset: 20px 4% 16px 4%; border: 10px solid rgba(255,255,255,.16); border-radius: 48% 52% 43% 57% / 45% 40% 60% 55%; background: linear-gradient(180deg, transparent 52%, rgba(1,64,78,.5)), var(--oasis-hero-image) center/cover; box-shadow: 0 36px 70px rgba(0,37,52,.32); animation: oasisFloat 7s ease-in-out infinite; }
.oasis-main-photo::after { content: ""; position: absolute; inset: 9%; border: 1px solid rgba(255,255,255,.32); border-radius: inherit; }
.oasis-water-orb { position: absolute; border-radius: 50%; filter: blur(3px); }
.oasis-water-orb-one { width: 380px; height: 380px; right: -120px; top: -130px; background: rgba(132,255,199,.2); }
.oasis-water-orb-two { width: 290px; height: 290px; left: -140px; bottom: -30px; background: rgba(33,188,255,.19); }
.oasis-floating-card { position: absolute; z-index: 4; padding: 16px 18px; border: 1px solid rgba(255,255,255,.36); border-radius: 20px; color: #12444c; background: rgba(255,255,255,.88); box-shadow: 0 22px 45px rgba(0,39,55,.22); backdrop-filter: blur(14px); }
.oasis-floating-card span, .oasis-floating-card small { display: block; color: #628088; font-size: .68rem; font-weight: 700; }
.oasis-floating-card strong { display: block; margin-block: 2px; color: #057786; font-family: Outfit, sans-serif; font-size: 1.35rem; }
.oasis-floating-date { left: -18px; top: 55px; }
.oasis-floating-safe { right: -8px; bottom: 50px; display: flex; align-items: center; gap: 11px; }
.oasis-floating-safe > i { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 13px; color: white; background: #0ec89b; font-style: normal; }
.oasis-floating-safe strong { font-size: .9rem; }
.oasis-bubble { position: absolute; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(255,255,255,.1); }
.oasis-bubble.b1 { width: 24px; height: 24px; top: 15px; right: 16%; }
.oasis-bubble.b2 { width: 13px; height: 13px; bottom: 115px; left: 3%; }
.oasis-bubble.b3 { width: 42px; height: 42px; top: 36%; right: -2%; }
.oasis-wave { position: absolute; z-index: 1; left: 0; right: 0; bottom: -2px; color: #f6ffff; line-height: 0; }
.oasis-wave svg { width: 100%; height: 120px; }

.oasis-fast-info { position: relative; z-index: 5; margin-top: -16px; }
.oasis-fast-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.oasis-fast-grid article { min-height: 100px; padding: 18px; display: flex; align-items: center; gap: 13px; border: 1px solid var(--oasis-line); border-radius: 22px; background: white; box-shadow: 0 14px 36px rgba(0,83,100,.08); }
.oasis-fast-grid strong, .oasis-fast-grid small { display: block; }
.oasis-fast-grid strong { color: var(--oasis-deep); font-size: .87rem; }
.oasis-fast-grid small { margin-top: 3px; color: #759198; font-size: .69rem; }
.oasis-fast-icon { flex: 0 0 43px; height: 43px; display: grid; place-items: center; border-radius: 14px; font-size: 1.15rem; }
.oasis-fast-icon.water { color: #0788ac; background: #dff7ff; }.oasis-fast-icon.sun { color: #c27b00; background: #fff2bf; }.oasis-fast-icon.leaf { color: #278941; background: #e2f8d5; }.oasis-fast-icon.coral { color: #d44a55; background: #ffe1dd; }

.oasis-experiences, .oasis-rules, .oasis-final-cta { padding: 104px 0; }
.oasis-section-head { margin-bottom: 34px; display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.oasis-section-head h2 { max-width: 650px; margin: 8px 0 0; color: var(--oasis-deep); }
.oasis-section-head > p { max-width: 430px; margin: 0; }
.oasis-bento { display: grid; grid-template-columns: 1.2fr .8fr; grid-template-rows: 270px 270px; gap: 17px; }
.oasis-experience-card, .oasis-color-card { position: relative; overflow: hidden; border-radius: 30px; box-shadow: var(--oasis-shadow); }
.oasis-experience-card { min-height: 260px; background: linear-gradient(180deg, rgba(3,41,53,.02), rgba(2,42,52,.84)), var(--card-image) center/cover; }
.oasis-experience-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(130deg, rgba(6,190,186,.25), transparent 50%); }
.oasis-experience-card > div, .oasis-color-card { display: flex; flex-direction: column; justify-content: end; }
.oasis-experience-card > div { position: absolute; z-index: 2; inset: auto 25px 24px; }
.oasis-experience-card span, .oasis-color-card > span { color: #b9ffe2; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.oasis-experience-card h3 { margin: 6px 0; color: white; }
.oasis-experience-card p { max-width: 520px; margin: 0; color: rgba(255,255,255,.76); font-size: .82rem; }
.oasis-experience-large { grid-row: 1 / 3; }
.oasis-color-card { padding: 28px; color: white; background: radial-gradient(circle at 80% 12%, rgba(255,228,105,.42), transparent 22%), linear-gradient(145deg, #0cb7bd, #0b7fa0); }
.oasis-color-card h3 { margin: 8px 0; color: white; }.oasis-color-card p { color: rgba(255,255,255,.78); }
.oasis-color-icon { width: 48px; height: 48px; margin-bottom: auto; display: grid; place-items: center; border-radius: 17px; color: #084a53; background: var(--oasis-sun); font-size: 1.35rem; }

.oasis-campaign-section { margin-top: 96px; padding: 78px 0; color: white; background: radial-gradient(circle at 95% 20%, rgba(255,215,72,.3), transparent 25%), linear-gradient(120deg, #063e50, #047f91); }
.oasis-section-head.light h2, .oasis-section-head.light .oasis-eyebrow { color: white; }
.oasis-live-chip { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 999px; color: #047078; background: rgba(255,255,255,.9); font-size: .68rem; font-weight: 800; }
.oasis-campaign-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }
.oasis-campaign-card, .campaign-card { min-height: 270px; padding: 25px; border: 1px solid rgba(255,255,255,.24); border-radius: 26px; display: flex; flex-direction: column; justify-content: end; color: white; background: linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.05)); }
.oasis-campaign-card h3, .campaign-card h3 { color: white; }.oasis-campaign-card p, .campaign-card p { color: rgba(255,255,255,.75); }
.campaign-card .btn { align-self: flex-start; margin-top: 8px; min-height: 42px; padding: 0 16px; border: 0; border-radius: 14px; color: #17484e; background: var(--oasis-sun); font-weight: 800; cursor: pointer; }

.oasis-rules { background: linear-gradient(180deg, #f6ffff, #eafbf7); }
.oasis-rules-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 60px; align-items: center; }
.oasis-rules-copy h2 { margin: 10px 0 16px; color: var(--oasis-deep); }
.oasis-rules-copy p { margin-bottom: 25px; }
.oasis-rule-list { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.oasis-rule-list article { min-height: 125px; padding: 20px; display: flex; gap: 14px; align-items: flex-start; border: 1px solid var(--oasis-line); border-radius: 24px; background: rgba(255,255,255,.82); box-shadow: 0 12px 34px rgba(0,84,99,.07); }
.oasis-rule-list i { flex: 0 0 46px; height: 46px; display: grid; place-items: center; border-radius: 15px; font-style: normal; font-weight: 800; }
.oasis-rule-list i.blue { color:#087fa4;background:#dff7ff }.oasis-rule-list i.green{color:#34873a;background:#e4f7d6}.oasis-rule-list i.sun{color:#9d6a00;background:#fff1bb}.oasis-rule-list i.coral{color:#c54854;background:#ffe3df}
.oasis-rule-list strong, .oasis-rule-list small { display: block; }.oasis-rule-list strong { color: var(--oasis-deep); }.oasis-rule-list small { margin-top: 5px; color: #749097; font-size: .76rem; }
.oasis-final-cta { padding-top: 28px; }
.oasis-final-card { min-height: 330px; padding: 55px; border-radius: 36px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; color: white; background: linear-gradient(100deg, rgba(2,54,67,.94), rgba(2,129,143,.72)), var(--oasis-hero-image) center/cover; box-shadow: var(--oasis-shadow); }
.oasis-final-card .oasis-kicker { color: #b8ffdc; }.oasis-final-card h2 { max-width: 700px; margin: 10px 0 24px; color: white; }

.oasis-booking-shell, .oasis-account-shell { min-height: 760px; padding: 62px 0 100px; background: radial-gradient(circle at 90% 2%, rgba(21,196,206,.18), transparent 28%), linear-gradient(180deg, #e9faf7, #f7ffff 55%); }
.oasis-booking-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.oasis-booking-head h1, .oasis-account-head h1 { max-width: 780px; margin: 9px 0 10px; color: var(--oasis-deep); font-size: clamp(2.2rem, 4vw, 4rem); }
.oasis-safe-pill { display: inline-flex; align-items: center; gap: 9px; padding: 11px 15px; border: 1px solid #bce5de; border-radius: 999px; color: #087c77; background: white; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.oasis-safe-pill i { width: 8px; height: 8px; border-radius: 50%; background: #10c99a; }
.oasis-checkout-live { margin-bottom: 18px; padding: 12px 15px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid #c8ece5; border-radius: 17px; background: rgba(255,255,255,.72); }
.oasis-checkout-live p { margin: 0; font-size: .8rem; }
.oasis-stepper { margin-bottom: 20px; padding: 9px; display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--oasis-line); border-radius: 21px; background: rgba(255,255,255,.8); }
.oasis-step { position: relative; min-height: 58px; display: flex; align-items: center; justify-content: center; gap: 9px; color: #79949a; font-size: .78rem; font-weight: 800; }
.oasis-step i { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 10px; background: #eaf4f4; font-style: normal; }
.oasis-step.active { color: #057c83; }.oasis-step.active i { color: white; background: linear-gradient(135deg, var(--oasis-turquoise), var(--oasis-blue)); }.oasis-step.done i { color: #087d79; background: #dcf8ed; }
.oasis-reserve-panel { display: none; }.oasis-reserve-panel.active { display: block; animation: oasisFade .35s ease both; }
.oasis-booking-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(310px,.55fr); gap: 19px; align-items: start; }
.oasis-card { border: 1px solid var(--oasis-line); border-radius: 28px; background: var(--oasis-card); box-shadow: 0 20px 55px rgba(0,78,94,.09); overflow: hidden; }
.oasis-card-pad { padding: clamp(22px,3.3vw,38px); }
.oasis-card-head { margin-bottom: 24px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.oasis-card-head h2, .oasis-form-section h2, .oasis-summary-card h2, .oasis-date-card h2, .oasis-benefit-card h2 { margin: 7px 0 6px; color: var(--oasis-deep); font-size: clamp(1.35rem,2.2vw,2rem); }
.oasis-card-head p, .oasis-form-section p { margin: 0; font-size: .86rem; }
.oasis-calendar-range { padding: 8px 10px; border-radius: 999px; color: #087887; background: #e3fafa; font-size: .68rem; font-weight: 800; white-space: nowrap; }
.oasis-calendar-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 13px; }
.oasis-calendar-head h3 { margin: 0; color: var(--oasis-deep); }
.oasis-calendar-head button { width: 42px; height: 42px; border: 1px solid var(--oasis-line); border-radius: 13px; color: #087f8d; background: white; cursor: pointer; }
.oasis-calendar-week, .oasis-calendar-days { display: grid; grid-template-columns: repeat(7,1fr); gap: 7px; }
.oasis-calendar-week { margin-bottom: 7px; color: #769097; font-size: .64rem; font-weight: 800; text-align: center; text-transform: uppercase; }
.cal-cell { min-height: 77px; padding: 9px; border: 1px solid #d5e9e7; border-radius: 16px; color: var(--oasis-deep); background: #fff; cursor: pointer; text-align: left; transition: .18s ease; }
.cal-cell:hover:not(.empty):not(.blocked) { transform: translateY(-2px); border-color: #2fcbb2; box-shadow: 0 8px 18px rgba(7,135,143,.12); }
.cal-cell.empty { border: 0; background: transparent; cursor: default; }.cal-cell.blocked { opacity: .44; cursor: not-allowed; background: #edf3f3; }.cal-cell.selected { color: white; border-color: transparent; background: linear-gradient(145deg, #0ac39e, #0ca4c2); box-shadow: 0 12px 25px rgba(2,157,164,.2); }
.cal-cell b, .cal-cell small, .cal-cell em { display: block; }.cal-cell b { font-size: .8rem; }.cal-cell small { margin-top: 8px; font-size: .58rem; }.cal-cell em { margin-top: 3px; font-size: .55rem; font-style: normal; }
.oasis-calendar-legend { margin-top: 13px; display: flex; flex-wrap: wrap; gap: 13px; color: #708e94; font-size: .64rem; }.oasis-calendar-legend span { display:flex;align-items:center;gap:6px }.oasis-calendar-legend i { width:7px;height:7px;border-radius:50%;background:#15c99e }.oasis-calendar-legend span:nth-child(2) i{background:#ffbf38}.oasis-calendar-legend span:nth-child(3) i{background:#b8c9cd}
.oasis-date-card { position: sticky; top: 128px; }.oasis-date-art { min-height: 205px; background: linear-gradient(180deg,transparent,rgba(2,60,74,.46)),var(--oasis-hero-image) center/cover; }.oasis-date-content { padding: 25px; }.oasis-date-content > p { font-size:.84rem }
.oasis-price-box { margin: 18px 0; padding: 5px 15px; border-radius: 17px; background: #eafff8; }.oasis-price-box > div { min-height: 48px; display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #cdece5 }.oasis-price-box > div:last-child{border:0}.oasis-price-box span{font-size:.78rem}.oasis-price-box b{color:#058276}
.oasis-info-note, .payment-guidance { padding: 14px 15px; border-radius: 15px; color: #526f75; background: #f0f7f7; font-size: .72rem; line-height: 1.5; }
.oasis-bottom-actions { margin-top: 18px; display:flex;align-items:center;justify-content:space-between;gap:12px }

.oasis-ticket-list { display:grid;gap:10px }.oasis-ticket-item { min-height:104px;padding:16px;display:grid;grid-template-columns:13px 1fr auto;align-items:center;gap:14px;border:1px solid #d4e9e6;border-radius:20px;background:#fbffff }.oasis-ticket-item > div:nth-child(2){display:grid}.oasis-ticket-item strong{color:var(--oasis-deep)}.oasis-ticket-item small{color:#78949a;font-size:.72rem}.oasis-ticket-item b{margin-top:4px;color:#068075;font-size:.8rem}.ticket-mark{width:8px;height:45px;border-radius:999px;background:#12bda0}.ticket-mark.half{background:#2aaefa}.ticket-mark.free{background:#74c939}.ticket-mark.birthday{background:#ffb630}.oasis-qty,.qty{display:flex;align-items:center;gap:7px}.oasis-qty button,.qty button{width:38px;height:38px;border:1px solid #cce5e2;border-radius:12px;color:#05837e;background:white;font-size:1.1rem;cursor:pointer}.oasis-qty output,.qty output{min-width:24px;text-align:center;font-weight:800}
.oasis-summary-card, .oasis-benefit-card { position:sticky;top:128px;padding:26px }.oasis-summary{margin-top:18px}.summary-line{padding:11px 0;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #dfedeb;font-size:.78rem}.summary-line:last-child{border:0}.summary-line.total{margin-top:5px;font-size:1rem}.summary-empty,.oasis-summary-empty{padding:25px 12px;color:#769399;border:1px dashed #cae2df;border-radius:16px;text-align:center;font-size:.76rem}
.oasis-extra-section { margin-top:22px;padding-top:22px;border-top:1px solid #dceceb }.oasis-extra-head h3{margin:7px 0 14px;color:var(--oasis-deep)}.oasis-promotion-options,.oasis-package-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.promotion-card,.package-card{padding:16px;border:1px solid #d4e9e6;border-radius:18px;background:#fbffff}.promotion-card.active{border-color:#17bfa4;background:#eafff8}.promotion-card h4,.package-card h4{margin:0 0 5px;color:var(--oasis-deep);font-size:.9rem}.promotion-card p,.package-card p{margin:0;color:#719096;font-size:.7rem}.promotion-action,.package-card{display:flex;align-items:center;justify-content:space-between;gap:12px}.promotion-copy{flex:1}.promotion-card .btn{min-height:36px;padding:0 12px;border:0;border-radius:11px;color:#087b77;background:#dff8f0;font-size:.7rem;font-weight:800;cursor:pointer}
.oasis-form-section + .oasis-form-section{margin-top:30px;padding-top:27px;border-top:1px solid #dfedeb}.oasis-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.oasis-form-grid label,.visitor-field label{display:grid;gap:7px;color:#315d65;font-size:.72rem;font-weight:800}.oasis-form-grid label.full{grid-column:1/-1}.oasis-form-grid input,.visitor-field input,.visitor-field select{width:100%;height:50px;padding:0 14px;border:1px solid #c9e2df;border-radius:14px;outline:0;color:#123b45;background:#fbffff}.oasis-form-grid input:focus,.visitor-field input:focus,.visitor-field select:focus{border-color:#14baa8;box-shadow:0 0 0 4px rgba(20,186,168,.1)}
.visitor-field{margin-top:10px;padding:15px;display:grid;grid-template-columns:42px 1fr;gap:12px;border:1px solid #d8eae8;border-radius:18px}.visitor-index{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;color:#087a7e;background:#e2f9f4;font-weight:800}.visitor-main{display:grid;grid-template-columns:1.4fr .6fr;gap:11px}.visitor-field.enhanced .visitor-main{grid-template-columns:1.2fr .65fr .65fr}.oasis-check{padding:14px;display:flex;align-items:flex-start;gap:11px;border:1px solid #cfe5e2;border-radius:16px;background:#faffff}.oasis-check+.oasis-check{margin-top:9px}.oasis-check.soft{background:#f3faf9}.oasis-check input{width:18px;height:18px;accent-color:#0bb596}.oasis-check span{display:grid}.oasis-check b{font-size:.78rem}.oasis-check small{margin-top:3px;color:#78949a;font-size:.66rem}.oasis-benefit-card{color:white;background:radial-gradient(circle at 85% 10%,rgba(255,215,73,.4),transparent 24%),linear-gradient(145deg,#07627a,#0bb9ae)}.oasis-benefit-card .oasis-kicker{color:#b9ffe2}.oasis-benefit-card h2{color:white}.oasis-benefit-card ul{padding:0;margin:22px 0 0;display:grid;gap:12px;list-style:none}.oasis-benefit-card li{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.87);font-size:.82rem}.oasis-benefit-card li i{width:24px;height:24px;display:grid;place-items:center;border-radius:9px;color:#084e52;background:#b8f2cd;font-style:normal}
.oasis-review-content .review-block{margin-bottom:13px;padding:17px;border:1px solid #d8e9e7;border-radius:17px;background:#fbffff}.review-block h3{margin:0 0 9px;color:var(--oasis-deep);font-size:1rem}.review-block p{margin:3px 0;font-size:.76rem}.oasis-total-box{padding:18px;display:flex;align-items:center;justify-content:space-between;border-radius:18px;color:white;background:linear-gradient(135deg,#076677,#0bb599)}.oasis-total-box span{font-size:.78rem}.oasis-total-box strong{font-family:Outfit,sans-serif;font-size:1.45rem}.oasis-payment-note{margin-top:12px;color:#708d93;font-size:.7rem}.oasis-payment-note span{color:#078675;font-weight:800}
.oasis-status-card{padding:clamp(26px,5vw,56px);display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center}.oasis-status-card h1{margin:9px 0 12px;color:var(--oasis-deep);font-size:clamp(2rem,3vw,3.2rem)}.oasis-order-code{margin:20px 0;padding:14px 16px;display:inline-grid;border-radius:15px;background:#eef8f7}.oasis-order-code span{font-size:.66rem;color:#718e94}.oasis-order-code strong{font-size:1rem;color:#076e79}.oasis-wait-visual{position:relative;width:170px;height:170px;display:grid;place-items:center}.oasis-spinner{position:absolute;inset:0;border:3px solid #d8efeb;border-top-color:#0db89c;border-radius:50%;animation:spin 1.2s linear infinite}.oasis-wait-icon{width:110px;height:110px;display:grid;place-items:center;border-radius:35px;color:#07867c;background:#e5fbf5;font-size:3rem}@keyframes spin{to{transform:rotate(360deg)}}
.oasis-approved-card{text-align:center}.oasis-approved-hero{padding:42px 28px;color:white;background:radial-gradient(circle at 82% 18%,rgba(255,215,74,.4),transparent 24%),linear-gradient(135deg,#046d82,#0bb99d)}.oasis-approved-check{width:72px;height:72px;margin:0 auto 13px;display:grid;place-items:center;border-radius:24px;color:#07545b;background:#c1f8cf;font-size:2rem}.oasis-approved-hero h1{margin:0 0 7px;color:white;font-size:clamp(2rem,4vw,3.5rem)}.oasis-approved-hero p{margin:0;color:rgba(255,255,255,.8)}.oasis-ticket-pass{width:min(680px,calc(100% - 34px));margin:-18px auto 0;padding:25px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:24px;border:1px solid var(--oasis-line);border-radius:25px;background:white;box-shadow:var(--oasis-shadow);text-align:left}.oasis-qr{width:154px;height:154px;padding:11px;display:grid;place-items:center;border-radius:18px;background:white;box-shadow:inset 0 0 0 1px #d8e8e6}.oasis-qr img,.oasis-qr canvas{max-width:100%;height:auto!important}.oasis-pass-copy h2{margin:7px 0;color:var(--oasis-deep)}.oasis-pass-copy p{margin:4px 0;font-size:.77rem}.oasis-pass-copy code{display:inline-block;margin-top:9px;padding:8px 10px;border-radius:9px;color:#087476;background:#e5f8f4}.oasis-ticket-instructions{width:min(680px,calc(100% - 34px));margin:16px auto 0;padding:17px;border-radius:17px;color:#526f75;background:#f0f8f7;font-size:.74rem}
.public-notices{margin:0 0 18px;display:grid;gap:8px}.public-notice{padding:13px 15px;display:grid;border:1px solid #cce6e2;border-radius:15px;background:white}.public-notice b{font-size:.78rem;color:var(--oasis-deep)}.public-notice span{font-size:.7rem;color:#708d93}

.oasis-account-head{margin-bottom:25px}.oasis-dashboard{display:grid;grid-template-columns:.55fr 1.45fr;gap:18px}.oasis-profile-card{padding:28px;color:white;background:linear-gradient(145deg,#064b61,#0b9c9a)}.oasis-profile-icon{width:55px;height:55px;display:grid;place-items:center;border-radius:18px;color:#075563;background:#b9f2d3;font-size:1.4rem}.oasis-profile-card h2{margin:16px 0 6px;color:white}.oasis-profile-card p{color:rgba(255,255,255,.76);font-size:.78rem}.oasis-local-orders{display:grid;gap:9px}.local-order{width:100%;min-height:70px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d4e8e6;border-radius:16px;background:#fbffff;cursor:pointer;text-align:left}.local-order span{display:grid}.local-order b{color:var(--oasis-deep)}.local-order small{color:#789399}.local-order strong{color:#a76e00;font-size:.7rem}.local-order strong.approved{color:#09826e}

.oasis-footer{padding:60px 0 28px;color:white;background:#052f3d}.oasis-footer-grid{display:grid;grid-template-columns:1.2fr .75fr .75fr 1fr;gap:36px}.oasis-footer-brand img{width:84px;height:72px;object-fit:contain;padding:7px;border-radius:18px;background:white}.oasis-footer-brand p,.oasis-footer p{color:#91b6bb;font-size:.76rem}.oasis-footer h3{margin-bottom:13px;color:white;font-size:.95rem}.oasis-footer ul{padding:0;margin:0;display:grid;gap:8px;list-style:none}.oasis-footer button,.oasis-footer a{border:0;background:transparent;padding:0;color:#b4d0d4;text-decoration:none;font-size:.75rem;cursor:pointer}.oasis-footer-bottom{margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.11);color:#719ca2;font-size:.67rem}.oasis-footer-bottom img{width:78px;height:30px;object-fit:contain;filter:grayscale(1) brightness(3);opacity:.65}.oasis-whatsapp{position:fixed;z-index:80;right:19px;bottom:19px;width:56px;height:56px;display:grid;place-items:center;border-radius:19px;color:white!important;background:#15b96f;box-shadow:0 15px 35px rgba(0,135,78,.3);text-decoration:none;font-weight:800}
.oasis-toast{position:fixed;z-index:100;left:50%;bottom:28px;max-width:min(480px,calc(100% - 30px));padding:13px 17px;border-radius:15px;color:white;background:#073e4c;box-shadow:0 16px 40px rgba(0,32,43,.26);opacity:0;pointer-events:none;transform:translate(-50%,15px);transition:.22s ease;font-size:.8rem}.oasis-toast.show{opacity:1;transform:translate(-50%,0)}

@media (max-width: 980px) {
  .oasis-nav { position: absolute; top: calc(100% + 8px); left: 20px; right: 20px; display: none; padding: 12px; border: 1px solid var(--oasis-line); border-radius: 20px; background: rgba(255,255,255,.98); box-shadow: var(--oasis-shadow); }
  .oasis-nav.open { display: grid; }.oasis-nav-link{text-align:left}.oasis-menu-button{display:grid;place-items:center}.oasis-header-actions>.oasis-button{display:none}
  .oasis-hero-grid{grid-template-columns:1fr;padding-top:62px}.oasis-hero-copy{max-width:760px}.oasis-hero-visual{min-height:470px}.oasis-fast-grid{grid-template-columns:1fr 1fr}.oasis-section-head{align-items:flex-start;flex-direction:column}.oasis-bento{grid-template-columns:1fr 1fr;grid-template-rows:420px 270px}.oasis-experience-large{grid-column:1/-1;grid-row:auto}.oasis-rules-grid{grid-template-columns:1fr;gap:35px}.oasis-campaign-grid{grid-template-columns:1fr 1fr}
  .oasis-booking-grid,.oasis-dashboard{grid-template-columns:1fr}.oasis-date-card,.oasis-summary-card,.oasis-benefit-card{position:static}.oasis-footer-grid{grid-template-columns:1fr 1fr}
}

@media (max-width: 640px) {
  .oasis-sales{font-size:15px}.oasis-container{width:min(100% - 24px,1180px)}.oasis-top-note{font-size:.61rem}.oasis-header-inner{min-height:70px}.oasis-brand img{width:53px;height:48px}.oasis-brand strong{font-size:.9rem}.oasis-brand small{font-size:.58rem}.oasis-icon-button{width:42px;height:42px}
  .oasis-hero{min-height:auto}.oasis-hero-grid{padding:52px 0 98px;gap:20px}.oasis-hero h1{font-size:clamp(2.55rem,13vw,4rem)}.oasis-hero-copy>p{font-size:.95rem}.oasis-hero-actions{display:grid}.oasis-button{width:100%}.oasis-trust-row{display:grid;gap:8px}.oasis-hero-visual{min-height:360px}.oasis-main-photo{inset:15px 2%}.oasis-floating-card{padding:12px}.oasis-floating-date{left:0;top:22px}.oasis-floating-safe{right:0;bottom:25px}.oasis-wave svg{height:70px}
  .oasis-fast-info{margin-top:-3px}.oasis-fast-grid{grid-template-columns:1fr;gap:8px}.oasis-fast-grid article{min-height:82px}.oasis-experiences,.oasis-rules,.oasis-final-cta{padding:72px 0}.oasis-bento{display:grid;grid-template-columns:1fr;grid-template-rows:none}.oasis-experience-card,.oasis-experience-large,.oasis-color-card{min-height:310px;grid-column:auto}.oasis-campaign-section{margin-top:70px;padding:60px 0}.oasis-campaign-grid{grid-template-columns:1fr}.oasis-rule-list{grid-template-columns:1fr}.oasis-final-card{min-height:360px;padding:28px}.oasis-final-card .oasis-button{width:auto}
  .oasis-booking-shell,.oasis-account-shell{padding:38px 0 70px}.oasis-booking-head{align-items:flex-start;flex-direction:column}.oasis-checkout-live{align-items:flex-start;flex-direction:column}.oasis-stepper{overflow:hidden;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.oasis-step{min-width:0;min-height:64px;padding:4px 1px;flex-direction:column;justify-content:center;gap:4px;font-size:.57rem;text-align:center}.oasis-step i{width:26px;height:26px}.oasis-card{border-radius:22px}.oasis-card-pad{padding:20px 16px}.oasis-calendar-week,.oasis-calendar-days{gap:4px}.cal-cell{min-height:58px;padding:6px;border-radius:12px}.cal-cell small,.cal-cell em{display:none}.oasis-date-art{min-height:180px}.oasis-bottom-actions{flex-direction:column-reverse}.oasis-ticket-item{padding:12px;grid-template-columns:8px 1fr}.oasis-ticket-item>.oasis-qty{grid-column:2;justify-self:start}.oasis-promotion-options,.oasis-package-options{grid-template-columns:1fr}.oasis-form-grid,.visitor-main,.visitor-field.enhanced .visitor-main{grid-template-columns:1fr}.oasis-form-grid label.full{grid-column:auto}.visitor-field{grid-template-columns:1fr}.oasis-status-card{grid-template-columns:1fr}.oasis-wait-visual{margin:auto}.oasis-ticket-pass{grid-template-columns:1fr;text-align:center}.oasis-qr{margin:auto}.oasis-footer-grid{grid-template-columns:1fr}.oasis-footer-bottom{align-items:flex-start;flex-direction:column}.oasis-whatsapp{width:52px;height:52px;border-radius:17px}
}

@media (prefers-reduced-motion: reduce) { .oasis-sales *, .oasis-sales *::before, .oasis-sales *::after { scroll-behavior:auto!important; animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; } }

/* Checkout states and account cards */
.oasis-payment-card{position:sticky;top:128px;padding:27px}.oasis-payment-card h2{margin:8px 0 18px;color:var(--oasis-deep);font-size:1.7rem}.oasis-payment-method{padding:15px;display:flex;align-items:center;gap:12px;border:1px solid #d4e7e5;border-radius:17px;background:#f8ffff}.oasis-payment-method>i{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:#087c78;background:#dcf8ee;font-style:normal;font-weight:800}.oasis-payment-method strong,.oasis-payment-method small{display:block}.oasis-payment-method small{margin-top:3px;color:#789298;font-size:.66rem}.oasis-payment-card .full{width:100%;margin-top:15px}.oasis-legal{margin:10px 0 0;color:#789298!important;font-size:.66rem;text-align:center}
.oasis-confirmation{max-width:760px;margin-inline:auto;padding:clamp(28px,5vw,55px);text-align:center}.oasis-confirm-icon{width:72px;height:72px;margin:0 auto 15px;display:grid;place-items:center;border-radius:24px;color:#08776f;background:#dff9f0;font-size:2rem}.oasis-confirmation h2{margin:8px 0;color:var(--oasis-deep)}.oasis-confirmation>p{max-width:600px;margin:0 auto 20px}.oasis-pending-ticket{margin:20px 0;padding:22px;border:1px solid #d5e7e5;border-radius:20px;background:#f7ffff}.oasis-pending-ticket span,.oasis-pending-ticket b{display:block}.oasis-pending-ticket span{color:#769197;font-size:.68rem}.oasis-pending-ticket h3{margin:6px 0;color:var(--oasis-deep)}.oasis-pending-ticket b{color:#b97700;font-size:.72rem;letter-spacing:.07em}.oasis-payment-guidance{margin-top:14px}.oasis-confirm-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:9px}.oasis-confirmation>small{display:block;margin-top:13px;color:#789298}.oasis-confirmation.approved{background:linear-gradient(180deg,#faffff,#e9fff7)}.oasis-confirmation.approved .oasis-confirm-icon{color:white;background:#10bd8e}.oasis-ticket-confirm{margin:25px auto;max-width:580px;padding:21px;display:grid;grid-template-columns:150px 1fr;align-items:center;gap:22px;border:1px solid #cbe4e1;border-radius:22px;background:white;text-align:left}.oasis-real-qr{width:150px;height:150px;padding:10px;display:grid;place-items:center;border:1px solid #d4e6e4;border-radius:17px;background:white}.oasis-real-qr img,.oasis-real-qr canvas{max-width:100%;height:auto!important}.oasis-ticket-confirm h3{margin:6px 0;color:var(--oasis-deep)}.oasis-ticket-confirm p{margin:3px 0;font-size:.75rem}.oasis-ticket-confirm b{display:inline-block;margin-top:7px;padding:7px 9px;border-radius:9px;color:#087b76;background:#e5f8f3;font-size:.72rem}
.oasis-account-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.oasis-account-brand{display:flex;align-items:center;gap:13px;margin-bottom:18px}.oasis-account-brand img{width:66px;height:58px;object-fit:contain}.oasis-account-brand span,.oasis-account-brand strong,.oasis-account-brand small{display:block}.oasis-account-brand small{margin-top:3px;color:#789198;font-size:.68rem}.oasis-account-benefits{padding:28px;color:white;background:radial-gradient(circle at 86% 12%,rgba(255,211,69,.35),transparent 26%),linear-gradient(145deg,#075c72,#09aa9b)}.oasis-account-benefits .oasis-kicker{color:#b8ffdd}.oasis-account-benefits h2{margin:8px 0;color:white}.oasis-account-benefits p{color:rgba(255,255,255,.75)}.oasis-account-benefits ul{padding:0;margin:18px 0 0;display:grid;gap:10px;list-style:none}.oasis-account-benefits li{display:flex;gap:9px;align-items:center}.oasis-account-benefits li i{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;color:#07545b;background:#c1f7cd;font-style:normal}
.promotion-card.selected{border-color:#14bda1;background:#eafff7}.promotion-card>img,.package-card>img{width:62px;height:62px;flex:0 0 62px;object-fit:cover;border-radius:14px}.promotion-card{display:grid;grid-template-columns:auto 1fr;gap:12px}.promotion-card .promotion-action{grid-column:1/-1}.promo-symbol,.package-symbol{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;color:#087c79;background:#ddf8ef}.package-card{display:grid;grid-template-columns:auto 1fr auto}.package-card>div:nth-child(2) span{color:#0a847e;font-size:.62rem;font-weight:800;text-transform:uppercase}.package-card>div:nth-child(2) b{display:block;margin-top:7px;color:#078479}.promotion-copy>span{color:#08847e;font-size:.61rem;font-weight:800;text-transform:uppercase}.promotion-copy details{margin-top:8px;color:#64848a;font-size:.66rem}.promotion-action>small{color:#6d8b91;font-size:.62rem}
.oasis-footer-grid>div:not(.oasis-footer-brand){display:grid;align-content:start;gap:7px}.oasis-footer-grid>div>span{color:#6ee4c3;font-size:.65rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.oasis-footer-grid>div>strong{color:white;font-size:.8rem}.oasis-footer-grid>div>small{color:#91b6bb}.oasis-footer-bottom span:last-child{display:flex;align-items:center;gap:5px}.oasis-footer-bottom b{color:#b8ffdd}
@media(max-width:980px){.oasis-payment-card{position:static}.oasis-account-grid{grid-template-columns:1fr}}
@media(max-width:640px){.oasis-ticket-confirm{grid-template-columns:1fr;text-align:center}.oasis-real-qr{margin:auto}.oasis-confirm-actions{display:grid}.promotion-card,.package-card{grid-template-columns:1fr}.promotion-card .promotion-action{grid-column:auto}.promotion-card>img,.package-card>img{width:100%;height:140px}.oasis-payment-method{align-items:flex-start}}
