/* Identidade BAX exclusiva da index2. A geometria vem do CSS original. */
:root {
  --bg: #080b0a;
  --panel: #101412;
  --panel-2: #181d19;
  --line: rgba(215, 227, 213, .15);
  --line-strong: rgba(225, 234, 221, .28);
  --text: #f5f7f3;
  --muted: #a8b0a7;
  --lime: #c4f500;
  --red: var(--lime);
  --red-dark: #83ad00;
  --red-glow: rgba(196, 245, 0, .18);
  --silver: #e2e7df;
}
body { background: radial-gradient(ellipse at 85% 0, #20291a 0, #080b0a 45%); }
::selection { color: #101600; background: var(--lime); }
:focus-visible { outline: 2px solid var(--lime); outline-offset: 4px; }
.sidebar { background: radial-gradient(ellipse at 0 0, #202715 0, transparent 35%), linear-gradient(160deg, #111613, #070a09 65%); border-right-color: #343d2c; box-shadow: 8px 0 40px #0005; }
.sidebar::after { background: linear-gradient(90deg, #6e8b00, #d5ff39, #7b9c0a); box-shadow: 0 -3px 20px #c4f51a28; }
.sidebar-top { height: 146px; min-height: 146px; padding: 0; overflow: hidden; background: radial-gradient(ellipse at center, #29351b38, transparent 70%); border-bottom-color: #d4e4c818; }
.brand { position: relative; width: 100%; height: 100%; background: none; filter: none; }
.bax-logo-window { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; border-radius: 0; }
.brand .bax-logo-window img { position: absolute; width: 100%; max-width: none; height: 100%; left: 0; top: 0; opacity: 1; object-fit: cover; }
.nav-item { color: #b9c0b6; }
.nav-item:hover { color: #f5f7ef; background: #c4f50008; }
.nav-item.active { color: var(--lime); background: linear-gradient(90deg, #c4f5001f, #c4f50004); box-shadow: inset 0 1px #d2f48b0a, inset 0 -1px #d2f48b0a; }
.nav-item.active .nav-icon { filter: drop-shadow(0 0 7px #c4f50035); }
.sidebar-map { color: #8e9989; }
.sidebar-map strong { color: #c9d0c4; }
.topbar { background: #0a0e0beF; border-bottom-color: #c5d6b82b; box-shadow: 0 8px 30px #0002; }
.search { background: linear-gradient(135deg, #111611, #090d0a); border-color: #65705a7a; box-shadow: inset 0 1px 4px #0005; }
.search:focus-within { border-color: #c4f500aa; box-shadow: 0 0 0 3px #c4f5000c; }
.search input::placeholder { color: #a1aa9d; }
.search button, .button-primary, .buy-button, .page-back-button {
  color: #172000; border-color: #d1f957;
  background: linear-gradient(135deg, #d3ff31, #b6e700 70%, #a5cf08);
  text-shadow: none;
  box-shadow: inset 0 1px #f1ffb180, 0 5px 18px #b6e70015;
}
.search button:hover, .button-primary:hover, .page-back-button:hover, .buy-button:hover:not(:disabled) { background: linear-gradient(135deg, #e0ff73, #c4f500); border-color: #e2ff87; box-shadow: 0 5px 24px #c4f50026; }
.hero { background-color: #080b08; border-bottom-color: #afc1933b; }
.hero::before { background-image: url("puerto-global-bax-green.png"); filter: saturate(.8); }
.hero::after { background: linear-gradient(90deg, #070c09ed 0%, #080e0aba 27%, #121c0b20 63%, #111a0938), linear-gradient(0deg, #080c0ade, transparent 90px); }
.hero h1 { color: #f0f3eb; text-shadow: 0 3px 20px #0008; }
.hero h1 span { color: var(--lime); text-shadow: 0 2px 18px #0009; }
.hero .eyebrow { color: #d4ddc9; }
.hero-copy { color: #d1d8cb; }
.button-ghost { background: linear-gradient(145deg, #252c2080, #0a0e0bcc); border-color: #c4d0b86b; box-shadow: inset 0 1px #f1ffe112; backdrop-filter: blur(8px); }
.button-ghost:hover { background: #28331e; border-color: #d4efa6; }
.benefits { background: linear-gradient(180deg, #181e16, #0e130e); box-shadow: inset 0 1px #e8fbd309; }
.benefit { color: #d5dccf; border-right-color: #c9ddb117; }
.benefit span:first-child { color: var(--lime); text-shadow: 0 0 15px #c4f50022; }
.section-heading h2, .page-header h1 { color: #edf1e7; }
.section-heading h2::before, .page-header h1::before { box-shadow: 0 0 12px #c4f50030; }
.text-link, .text-link:hover { color: var(--lime); }
.offer-card { background: linear-gradient(145deg, #1d211e, #111612 55%, #101411); border-color: #a1b68738; box-shadow: inset 0 1px #f4ffe516, 0 12px 28px #0004; }
.offer-card:hover { border-color: #c4f50080; box-shadow: inset 0 1px #e5ff9d30, 0 15px 32px #0006, 0 0 20px #c4f50008; }
.quota-visual { background: linear-gradient(135deg, #fff, #eef1e9); border-bottom: 1px solid #c0ceaf; }
.quota-visual > img { mix-blend-mode: multiply; }
.offer-badge, .cart-button em, .step-number { color: #182000; text-shadow: none; }
.offer-meta, .quota-meta, .quota-facts, .quota-facts > strong, .quota-counts { color: #aeb9a5; }
.quota-auction-price { color: #e1e8db; }
.quota-auction-price s { color: #a6b39a; }
.price, .detail-price, .quota-value { color: #d0f95b; }
.quota-counts strong { color: #edf6df; }
.quota-tag { color: #d2eea0; background: #c4f5000b; border-color: #b4d17750; }
.details-button { color: #e4ebdc; border-color: #adbf9766; background: linear-gradient(160deg, #404b35, #222c1b 55%, #303b26); text-shadow: 0 1px #0007; box-shadow: inset 0 1px #eefed02b, 0 4px 10px #0003; }
.card-icon-button, .mini-button { background-color: #151e11; color: #d5dfcd; }
.mini-button.buy-button { color: #172000; }
.hero .button-primary { white-space: nowrap; padding-inline: .6rem; }
.card-icon-button:hover, .card-icon-button:focus-visible { color: var(--lime); background: #242f17; border-color: #9bb963; }
.card-icon-button.is-favorite { color: var(--lime); border-color: #9bb963; }
.card-buy-action { box-shadow: inset 0 1px #fff8, 0 5px 18px #c4f50018; }
.origin-panel { background-image: linear-gradient(90deg, #090e09f5, #0b170c66), url("puerto-global-bax-green.png"); border-color: #a1b68738; }
.offer-visual:not(.quota-visual) { background-image: linear-gradient(180deg, transparent 45%, rgba(4,9,14,.92)), url("puerto-global-bax-green.png"); }
.detail-visual { background-image: linear-gradient(180deg, rgba(1,5,8,.04), rgba(1,5,8,.75)), url("puerto-global-bax-green.png"); }
.categories-panel, .account-card, .commerce-dialog, .checkout-card, .status-panel { background: linear-gradient(145deg, #181e15, #0d120d); }
.category-tile, .category-card, .fact, .lot-option, .step, .filter-chip, .payment-summary div { background: linear-gradient(145deg, #1b2317, #11170e); border-color: #a1b68730; }
.category-tile:hover, .category-card:hover { background: #252f1b; border-color: #c4f50070; }
.category-tile b, .category-card b { color: #cee6ab; }
.filter-chip.active { color: var(--lime); background: #c4f50014; }
.account-head { background: linear-gradient(135deg, #c4f50012, transparent 65%); }
.field input, .field select, .field textarea { background: #0b1109; }
.field input:focus, .field select:focus, .field textarea:focus { box-shadow: 0 0 0 3px #c4f50012; }
.footer { background: #090e09; color: #9ea995; border-top-color: #c6dbad2b; }
.footer-brand { color: #e0e9d7; }
.footer-brand span { color: var(--lime); }
.mobile-nav { background: #0c120af5; border-top-color: #d5e6bb30; }
.mobile-link.active { color: var(--lime); background: #c4f50006; }
.toast { background: #1b2516; border-color: #a6c37550; }
.customer-reservation,.customer-finance-summary,.customer-finance-row { background:linear-gradient(145deg,#1d211e,#101411); border-color:#a1b68738; }
.customer-reservation-code,.customer-progress-info strong,.customer-finance-summary>span { color:#d0f95b; }
@media (max-width: 860px) {
  .hero-content { background: linear-gradient(0deg, #070d08ed, #0b130633); }
}
@media (max-width: 580px) {
  .hero::after { background: linear-gradient(0deg, #070c08fa 0%, #080e09ba 58%, #101b0a20 100%); }
}
.commerce-overlay.auth-overlay { align-items: center; padding: 16px; background: rgba(3,7,4,.42); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.auth-overlay .auth-dialog { width: min(100%,510px); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 24px 32px 22px; border: 1px solid rgba(245,255,235,.34); border-radius: 22px; background: linear-gradient(135deg,rgba(222,248,212,.15),rgba(38,55,43,.37) 38%,rgba(15,24,19,.48)); box-shadow: inset 0 1px 0 rgba(255,255,255,.32),inset 1px 0 0 rgba(255,255,255,.08),0 24px 80px rgba(0,0,0,.42); backdrop-filter: blur(32px) saturate(145%); -webkit-backdrop-filter: blur(32px) saturate(145%); animation: auth-rise .28s ease-out; }
.auth-dialog .form-grid { gap: 12px; }
.auth-heading { margin-bottom: 17px; }
.auth-symbol { display: block; width: 124px; height: 52px; margin-bottom: 9px; }
.auth-symbol img { display: block; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: screen; }
.auth-password-toggle svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.auth-eyebrow { color: #c5d0bf; font-size: 10px; font-weight: 700; letter-spacing: .18em; }
.auth-heading h1 { margin: 5px 0 6px; color: #f4f7f0; font-family: Inter,sans-serif; font-size: clamp(23px,5.8vw,28px); font-weight: 600; letter-spacing: -.04em; line-height: 1.2; }
.auth-heading p { margin: 0; color: #adb8a9; font-size: 13px; line-height: 1.65; }
.auth-dialog .field label { display: grid; gap: 6px; color: #e7eee2; font-size: 12px; }
.auth-dialog .field input { min-height: 44px; border: 1px solid rgba(232,255,220,.27); border-radius: 10px; background: rgba(10,20,17,.33); color: #f5f7f2; font-size: 14px; }
.auth-dialog .field input::placeholder { color: #85917f; }
.auth-dialog .field input:focus { border-color: #bbed36; box-shadow: 0 0 0 3px #ccff0010; }
.auth-password { position: relative; }
.auth-password input { padding-right: 50px; }
.auth-password-toggle { position: absolute; top: 0; right: 2px; width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 8px; color: #c6d0bf; background: transparent; cursor: pointer; }
.auth-password-toggle:hover { color: #ccff00; background: #ffffff08; }
.auth-password-toggle .eye-slash { display: none; }
.auth-password-toggle[aria-pressed=true] .eye-slash { display: block; }
.auth-dialog .form-link { padding: 0; font-size: 12px; color: #d6e5c9; text-decoration: none; cursor: pointer; }
.auth-dialog .form-link:hover { color: #ccff00; text-decoration: underline; }
.auth-forgot { grid-column: 1/-1; justify-self: end; }
.auth-dialog .field-error:empty { display: none; }
.auth-dialog .field-error { color: #ffc0b4; }
.auth-dialog .auth-submit { grid-column: 1/-1; display: flex; justify-content: space-between; align-items: center; min-height: 46px; margin-top: 0; padding: 10px 18px; border-radius: 10px; font-size: 14px; }
.auth-footer { grid-column: 1/-1; margin-top: 1px; padding-top: 12px; border-top: 1px solid rgba(245,255,235,.2); text-align: center; color: #becbb6; font-size: 12px; line-height: 1.5; }
.auth-footer .form-link { margin-left: 4px; color: #d6f795; font-weight: 600; }
.auth-recovery-note { grid-column: 1/-1; margin: 0; color: #c7d5bd; font-size: 13px; line-height: 1.7; }
.auth-dialog .overlay-close { top: 14px; right: 14px; width: 36px; height: 36px; border-radius: 50%; color: #c3cfbb; }
@keyframes auth-rise { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
@media (max-width: 540px) { .commerce-overlay.auth-overlay { padding: 12px; } .auth-overlay .auth-dialog { padding: 21px 22px 18px; max-height: calc(100dvh - 24px); border-radius: 20px; } }

/* Reserva de cuotas: panel ancho, transparente y con la información distribuida. */
.commerce-overlay.reservation-overlay { align-items:center; padding:16px; background:rgba(3,7,4,.48); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.reservation-overlay .reservation-dialog { width:min(100%,880px); max-height:calc(100dvh - 32px); padding:30px 34px 28px; overflow-y:auto; border:1px solid rgba(235,255,222,.31); border-radius:24px; background:linear-gradient(135deg,rgba(215,245,203,.16),rgba(38,57,42,.40) 42%,rgba(10,18,13,.60)); box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 1px 0 0 rgba(255,255,255,.07),0 28px 90px rgba(0,0,0,.48); backdrop-filter:blur(32px) saturate(145%); -webkit-backdrop-filter:blur(32px) saturate(145%); animation:auth-rise .28s ease-out; }
.reservation-dialog .overlay-close { top:14px; right:14px; width:36px; height:36px; border-radius:50%; color:#c3cfbb; }
.reservation-heading { padding-right:48px; margin-bottom:22px; }
.reservation-eyebrow { display:block; color:#c5d0bf; font-size:10px; font-weight:700; letter-spacing:.18em; }
.reservation-heading h1 { margin:5px 0 6px; color:#f4f7f0; font-family:Inter,sans-serif; font-size:clamp(26px,4vw,34px); font-weight:600; letter-spacing:-.045em; line-height:1.12; }
.reservation-heading p { margin:0; color:#dce6d5; font-size:17px; font-weight:600; line-height:1.35; }
.reservation-layout { display:grid; grid-template-columns:minmax(245px,.95fr) minmax(0,1.45fr); gap:14px; margin-bottom:18px; }
.reservation-price-card,.reservation-summary>div { border:1px solid rgba(235,255,222,.19); background:rgba(8,18,12,.34); box-shadow:inset 0 1px 0 rgba(255,255,255,.07); }
.reservation-price-card { display:flex; flex-direction:column; min-height:190px; padding:18px; border-radius:16px; }
.reservation-price-card>span { color:#c3d0ba; font-size:10px; font-weight:700; letter-spacing:.04em; }
.reservation-price-card small { margin-top:22px; color:#9ba896; font-size:11px; }
.reservation-price-card del { color:#aab5a4; font-size:13px; font-weight:600; }
.reservation-price-card strong { margin-top:3px; color:#ccff38; font-size:clamp(26px,3.1vw,34px); letter-spacing:-.055em; line-height:1; }
.reservation-price-card em { margin-top:5px; color:#c8e778; font-size:11px; font-style:normal; font-weight:700; }
.reservation-discount { margin-top:auto; padding-top:12px; border-top:1px solid rgba(235,255,222,.15); color:#b8c4b0; font-size:11px; }
.reservation-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.reservation-summary>div { display:flex; flex-direction:column; justify-content:center; min-height:88px; padding:14px 16px; border-radius:14px; }
.reservation-summary span { color:#aebaa7; font-size:11px; }
.reservation-summary strong { margin-top:5px; color:#f0f6eb; font-size:23px; line-height:1; }
.reservation-summary>div:nth-last-child(2) strong { color:#d6f795; }
.reservation-form { display:grid; grid-template-columns:minmax(180px,.72fr) minmax(0,1.28fr); gap:16px; align-items:end; padding-top:18px; border-top:1px solid rgba(235,255,222,.18); }
.reservation-form .field { margin:0; }
.reservation-form .field label { display:grid; gap:7px; color:#e7eee2; font-size:12px; }
.reservation-form .field input { min-height:48px; border:1px solid rgba(232,255,220,.30); border-radius:11px; background:rgba(7,17,11,.42); color:#f5f7f2; font-size:16px; }
.reservation-form .field input:focus { border-color:#bbed36; box-shadow:0 0 0 3px #ccff0010; }
.reservation-action { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.reservation-action p { max-width:360px; margin:0; color:#c5d0bf; font-size:12px; line-height:1.5; }
.reservation-action .button { flex:0 0 auto; min-height:48px; padding:10px 17px; border-radius:11px; font-size:13px; }
.reservation-action .button span { margin-left:10px; font-size:18px; line-height:0; }
.reservation-error { grid-column:1/-1; min-height:0; margin:0; color:#ffc0b4; font-size:12px; }
.reservation-error:empty { display:none; }
@media (max-width:640px) { .commerce-overlay.reservation-overlay { padding:12px; } .reservation-overlay .reservation-dialog { padding:23px 20px 20px; border-radius:20px; max-height:calc(100dvh - 24px); } .reservation-heading { margin-bottom:18px; } .reservation-heading p { font-size:15px; } .reservation-layout,.reservation-form { grid-template-columns:1fr; gap:12px; } .reservation-price-card { min-height:0; } .reservation-price-card small { margin-top:16px; } .reservation-summary>div { min-height:76px; } .reservation-action { align-items:stretch; flex-direction:column; } .reservation-action p { max-width:none; } .reservation-action .button { width:100%; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* Cards de oferta: produto em primeiro plano, pátio real ao fundo e indicador de ocupação fixo. */
.quota-card .quota-visual { isolation:isolate; background-color:#0d1612; background-size:cover !important; background-position:center !important; }
.quota-card .quota-visual::before { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(180deg,rgba(2,8,5,.08),rgba(2,8,5,.52)); pointer-events:none; }
.quota-card .quota-visual.container-scene-green { background-image:url("container-scene-green.png") !important; }
.quota-card .quota-visual.container-scene-blue-orange { background-image:url("container-scene-blue-orange.png") !important; }
.quota-card .quota-visual.container-scene-charcoal-yellow { background-image:url("container-scene-charcoal-yellow.png") !important; }
.quota-card .quota-visual > img { position:relative; z-index:1; height:100%; padding:8px 18px 13px; filter:drop-shadow(0 7px 7px rgba(0,0,0,.42)); }
.quota-card .quota-visual .quota-container { z-index:2; right:7px; bottom:6px; width:39%; max-width:122px; }
.quota-card .quota-visual .container-percent { margin-top:2px; padding:3px 6px; font-size:.56rem; box-shadow:0 1px 4px rgba(0,0,0,.28); }
