[data-vta-quote-journey] { --qj-navy: #0D2B4A; --qj-blue: #176CC0; --qj-ivory: #FAF8F3; --qj-gold: #C5A36A; --qj-border: #dbe5ed; color: var(--qj-navy); font-family: inherit; }
[data-vta-quote-journey] [hidden] { display: none !important; }
.vta-qj-bar { display: none; }
.vta-qj-overlay { position: fixed; z-index: 110; inset-inline: 0; top: var(--vta-qj-vv-top, 0px); height: var(--vta-qj-vv-height, 100dvh); padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)); background: rgb(8 26 43 / 65%); align-items: center; justify-content: center; }
.vta-qj-overlay:not([hidden]) { display: flex; }
.vta-qj-dialog { display: flex; flex-direction: column; width: 100%; max-width: 700px; max-height: 100%; background: #fff; border-radius: 18px; box-shadow: 0 22px 70px rgb(0 0 0 / 25%); overflow: hidden; }
.vta-qj-header { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding: 20px 24px; background: var(--qj-navy); color: #fff; flex: 0 0 auto; }
.vta-qj-eyebrow { font-size: 10px; letter-spacing: .14em; font-weight: 700; color: #d7c196; margin: 0 0 5px; }
.vta-qj-header h2 { color: #fff; margin: 0; font-size: 25px; line-height: 1.25; font-weight: 700; }
.vta-qj-close { border: 1px solid rgb(255 255 255 / 30%); border-radius: 50%; color: #fff; background: transparent; width: 44px; height: 44px; font-size: 30px; flex: 0 0 44px; line-height: 1; }
.vta-qj-body { padding: 20px 24px 24px; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; min-height: 0; }
.vta-qj-body > p { font-size: 13px; line-height: 1.6; margin: 0 0 16px; color: #526477; }
.vta-qj-product { display: flex; align-items: center; gap: 14px; border: 1px solid var(--qj-border); background: var(--qj-ivory); border-radius: 12px; padding: 12px; margin-bottom: 16px; }
.vta-qj-product img { width: 112px; height: 84px; object-fit: cover; border-radius: 8px; flex: 0 0 auto; }
.vta-qj-product h3 { font-size: 15px; line-height: 1.4; margin: 2px 0 5px; font-weight: 700; color: var(--qj-navy); overflow-wrap: anywhere; }
.vta-qj-product p { margin: 0; font-size: 12px; color: #526477; }
.vta-qj-product .vta-qj-product-kind { color: var(--qj-blue); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; font-weight: 700; }
.vta-qj-selections { padding: 10px 14px; margin-bottom: 16px; border-left: 3px solid var(--qj-gold); background: #f4f8fc; font-size: 12px; }
.vta-qj-selections p { font-weight: 700; margin: 0 0 4px; }
.vta-qj-selections ul { padding-left: 16px; margin: 0; display: grid; gap: 3px; }
.vta-qj-form { display: grid; gap: 16px; }
.vta-qj-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.vta-qj-travelers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.vta-qj-form label { display: block; font-size: 12px; line-height: 1.5; font-weight: 600; color: var(--qj-navy); margin-bottom: 5px; }
.vta-qj-form label span { font-weight: 400; color: #526477; }
.vta-qj-form input:not([type="hidden"]), .vta-qj-form select, .vta-qj-form textarea { width: 100%; min-height: 46px; border: 1px solid #bdcbd8; border-radius: 8px; padding: 10px 12px; background: #fff; color: var(--qj-navy); font: inherit; font-size: 16px; box-sizing: border-box; }
.vta-qj-form input[type="date"] { min-width: 0; }
.vta-qj-form textarea { min-height: 106px; resize: vertical; }
.vta-qj-form [aria-invalid="true"] { border-color: #b42318 !important; }
.vta-qj-form ::placeholder { color: #788a9b; opacity: 1; }
.vta-qj-form :is(input, select, textarea):focus { border-color: var(--qj-blue); outline: 3px solid rgb(23 108 192 / 18%); outline-offset: 1px; }
[data-vta-quote-journey] button, [data-vta-quote-journey] a { -webkit-tap-highlight-color: transparent; }
[data-vta-quote-journey] :is(button, a):focus-visible { outline: 3px solid #c5a36a; outline-offset: 3px; }
.vta-qj-preferences { border: 1px solid var(--qj-border); padding: 12px 14px 14px; border-radius: 12px; min-width: 0; }
.vta-qj-preferences legend { font-size: 13px; font-weight: 700; padding: 0 5px; }
.vta-qj-help, .vta-qj-privacy { color: #526477; font-size: 11px; line-height: 1.6; margin: 0 0 10px; }
.vta-qj-privacy { margin: 0; }
.vta-qj-privacy a { text-decoration: underline; color: var(--qj-blue); }
.vta-qj-primary, .vta-qj-whatsapp { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 16px; font-size: 13px; line-height: 1.35; font-weight: 700; border-radius: 9px; text-decoration: none; border: 1px solid transparent; cursor: pointer; }
.vta-qj-primary { background: var(--qj-blue); color: #fff; }
.vta-qj-primary:hover { background: #125a9f; }
.vta-qj-primary:disabled { opacity: .65; cursor: wait; }
.vta-qj-whatsapp { color: #073b22; background: #25D366; }
.vta-qj-whatsapp i { font-size: 18px; }
.vta-qj-submit { width: 100%; }
.vta-qj-text-button { color: var(--qj-blue); text-decoration: underline; background: transparent; border: 0; min-height: 44px; padding: 10px 5px; cursor: pointer; font-size: 12px; }
.vta-qj-field-error { color: #b42318; font-size: 11px; line-height: 1.5; margin: 4px 0 0; }
.vta-qj-error-summary { background: #fff3f0; color: #8b2319; border: 1px solid #efb7ad; padding: 12px 14px; border-radius: 9px; margin: 0 0 16px; font-size: 13px; line-height: 1.6; }
.vta-qj-success { border: 1px solid #b4d9c5; background: #f3faf6; padding: 18px; border-radius: 12px; }
.vta-qj-success h3 { color: var(--qj-navy); margin: 0 0 12px; font-size: 22px; font-weight: 700; }
.vta-qj-success p { margin: 0 0 12px; font-size: 13px; line-height: 1.7; }
.vta-qj-success strong { overflow-wrap: anywhere; }
.vta-qj-noscript { max-width: 700px; margin: 16px auto; padding: 16px; font-size: 14px; }
body.vta-qj-modal-open { overflow: hidden; }
body.vta-qj-modal-open [data-vta-contact-stack] { visibility: hidden; pointer-events: none; }
@media (max-width: 1023px) {
    body.vta-qj-ready.vta-qj-has-bar { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
    body.vta-qj-ready [data-vta-legacy-quote-bar] { display: none !important; }
    body.vta-qj-ready.vta-qj-has-bar [data-vta-contact-stack] { bottom: calc(94px + env(safe-area-inset-bottom)); }
    .vta-qj-bar:not([hidden]) { position: fixed; z-index: 45; inset-inline: 0; bottom: 0; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 10px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #dbe5ed; box-shadow: 0 -4px 18px rgb(13 43 74 / 8%); }
    .vta-qj-bar .vta-qj-primary, .vta-qj-bar .vta-qj-whatsapp { min-height: 46px; padding-inline: 8px; font-size: 13px; }
    body.vta-qj-editing .vta-qj-bar, body.vta-qj-modal-open .vta-qj-bar, body.vta-qj-form-in-view .vta-qj-bar { display: none !important; }
}
@media (max-width: 767px) {
    .vta-qj-overlay { padding: max(8px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom)); }
    .vta-qj-dialog { border-radius: 14px; }
    .vta-qj-header { padding: 16px; }
    .vta-qj-header h2 { font-size: 21px; }
    .vta-qj-body { padding: 16px; }
    .vta-qj-grid { grid-template-columns: 1fr; gap: 13px; }
    .vta-qj-product { gap: 10px; padding: 10px; }
    .vta-qj-product img { width: 80px; height: 70px; }
    .vta-qj-product h3 { font-size: 14px; }
    .vta-qj-travelers { gap: 8px; }
    .vta-qj-travelers label { font-size: 11px; }
    .vta-qj-travelers label span { display: block; }
    .vta-qj-travelers input { padding-inline: 8px; }
}
@media print { [data-vta-quote-journey] { display: none !important; } body.vta-qj-ready { padding-bottom: 0; } }
@media (prefers-reduced-motion: reduce) { .vta-qj-dialog, .vta-qj-overlay { scroll-behavior: auto; } }
