/* CEC — catálogo dinâmico, detalhes e checkout */
.system-notice{display:none;margin:18px auto 0;padding:13px 16px;border:1px solid #ecd7ae;border-radius:14px;background:#fff9ed;color:#785b29;font-size:.78rem;line-height:1.55}.system-notice.is-visible{display:block}.catalog-loading,.catalog-empty{grid-column:1/-1;padding:55px 24px;border:1px dashed rgba(7,28,57,.2);border-radius:22px;text-align:center;color:#667383;background:#fff}.catalog-loading:before{content:"";display:block;width:32px;height:32px;margin:0 auto 14px;border:3px solid #dfe5eb;border-top-color:#0d3157;border-radius:50%;animation:cec-spin .8s linear infinite}@keyframes cec-spin{to{transform:rotate(360deg)}}
.catalog-price{display:flex;align-items:flex-end;gap:7px;margin:16px 0 4px}.catalog-price span{color:#758091;font-size:.66rem}.catalog-price strong{font-family:"Outfit",sans-serif;font-size:1.35rem;font-weight:500;color:#071c39}.catalog-date{display:block;margin-top:8px;color:#6f7b89;font-size:.68rem}.catalog-card[hidden]{display:none!important}
.detail-hero.is-loading{min-height:520px;background:#081d37}.detail-hero.is-loading:after{content:"Carregando viagem...";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;font-weight:700}.detail-price-box{padding:20px;border:1px solid #e1e6eb;border-radius:18px;background:#f8fafb}.detail-price-box small{display:block;color:#758091;font-size:.65rem}.detail-price-box strong{display:block;margin-top:4px;font-family:"Outfit",sans-serif;font-size:2rem;font-weight:500;color:#071c39}.detail-price-box del{display:block;margin-top:3px;color:#929baa;font-size:.72rem}.detail-price-box .deposit-note{margin-top:8px;color:#4f6579;font-size:.66rem;line-height:1.5}.detail-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:17px 0}.detail-meta-grid div{padding:12px;border:1px solid #e4e8ed;border-radius:13px;background:#fff}.detail-meta-grid span{display:block;color:#798391;font-size:.56rem;text-transform:uppercase;letter-spacing:.06em}.detail-meta-grid strong{display:block;margin-top:4px;font-size:.68rem;color:#122a45}.detail-list.is-empty{color:#7f8995;font-style:italic}
.checkout-modal{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:18px;background:rgba(3,14,28,.72);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:.25s}.checkout-modal.is-open{opacity:1;visibility:visible}.checkout-dialog{width:min(980px,100%);max-height:94vh;overflow:auto;border-radius:26px;background:#fff;box-shadow:0 35px 100px rgba(0,0,0,.32)}.checkout-header{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 24px;border-bottom:1px solid #e5e9ee;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.checkout-header small{display:block;color:#9b7b43;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.checkout-header h2{margin:4px 0 0;font-family:"Outfit",sans-serif;font-size:1.55rem;font-weight:500}.checkout-close{width:40px;height:40px;border:0;border-radius:12px;background:#eff2f5;color:#243951;font-size:1.35rem;cursor:pointer}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:0}.checkout-form{padding:24px}.checkout-sidebar{padding:24px;border-left:1px solid #e6eaee;background:#f7f9fb}.checkout-section{margin-bottom:25px}.checkout-section-title{margin:0 0 13px;font-family:"Outfit",sans-serif;font-size:1.05rem;font-weight:500}.checkout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checkout-field{display:grid;gap:6px}.checkout-field.full{grid-column:1/-1}.checkout-field label{color:#405267;font-size:.62rem;font-weight:750}.checkout-field input,.checkout-field select,.checkout-field textarea{width:100%;min-height:45px;padding:11px 12px;border:1px solid #dbe1e7;border-radius:12px;background:#fff;color:#142b45;font:inherit;font-size:.72rem;outline:0;transition:.2s}.checkout-field textarea{min-height:90px;resize:vertical}.checkout-field input:focus,.checkout-field select:focus,.checkout-field textarea:focus{border-color:#7c99b8;box-shadow:0 0 0 3px rgba(25,78,124,.09)}.passenger-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.passenger-counter{display:flex;align-items:center;border:1px solid #dce2e8;border-radius:12px;overflow:hidden}.passenger-counter button{width:38px;height:38px;border:0;background:#f1f4f6;cursor:pointer;font-size:1.1rem}.passenger-counter output{min-width:38px;text-align:center;font-size:.72rem;font-weight:800}.passenger-card{margin-bottom:11px;padding:15px;border:1px solid #e1e6eb;border-radius:16px;background:#fbfcfd}.passenger-card>strong{display:block;margin-bottom:11px;color:#122b47;font-size:.68rem}.checkout-consent{display:flex;align-items:flex-start;gap:9px;margin:16px 0;color:#667384;font-size:.61rem;line-height:1.55}.checkout-consent input{margin-top:3px}.checkout-submit{width:100%;min-height:49px}.checkout-submit[disabled]{opacity:.65;cursor:wait}.checkout-error{display:none;margin:12px 0;padding:12px;border:1px solid #f0c4c0;border-radius:12px;background:#fff1f0;color:#9b3f3a;font-size:.66rem;line-height:1.55}.checkout-error.is-visible{display:block}.summary-card{padding:17px;border:1px solid #dfe5eb;border-radius:17px;background:#fff}.summary-card h3{margin:0 0 13px;font-family:"Outfit",sans-serif;font-size:1rem;font-weight:500}.summary-line{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid #edf0f2;color:#697586;font-size:.64rem}.summary-line strong{color:#1b314b;text-align:right}.summary-total{padding-top:14px;border-bottom:0}.summary-total span{font-weight:800;color:#1b314b}.summary-total strong{font-family:"Outfit",sans-serif;font-size:1.2rem}.summary-note{margin:12px 0 0;color:#75808e;font-size:.57rem;line-height:1.6}.secure-badge{display:flex;gap:9px;margin-top:14px;padding:12px;border-radius:13px;background:#eaf5f1;color:#24664f;font-size:.59rem;line-height:1.5}.payment-result-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 15%,rgba(211,169,96,.16),transparent 28%),#071c39}.payment-result-card{width:min(570px,100%);padding:42px;border-radius:28px;background:#fff;text-align:center;box-shadow:0 35px 100px rgba(0,0,0,.25)}.payment-result-icon{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;background:#e9f7f1;color:#297459;font-size:2rem;font-weight:800}.payment-result-icon.pending{background:#fff5df;color:#956619}.payment-result-icon.failure{background:#fff0ef;color:#a8423d}.payment-result-card h1{margin:0;font-family:"Outfit",sans-serif;font-size:2.2rem;font-weight:500}.payment-result-card p{margin:14px 0 22px;color:#687584;line-height:1.7}.payment-result-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:9px}
@media(max-width:820px){.checkout-layout{grid-template-columns:1fr}.checkout-sidebar{border-top:1px solid #e6eaee;border-left:0}.detail-meta-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.checkout-modal{padding:0}.checkout-dialog{max-height:100vh;border-radius:0}.checkout-header,.checkout-form,.checkout-sidebar{padding:18px}.checkout-grid{grid-template-columns:1fr}.checkout-field.full{grid-column:auto}.passenger-toolbar{align-items:flex-start;flex-direction:column}.detail-meta-grid{grid-template-columns:1fr}.payment-result-card{padding:30px 20px}}
