@charset "utf-8";

body { background: radial-gradient(90% 55% at 20% 0%, rgba(128, 84, 170, 0.07) 0%, transparent 60%), linear-gradient(rgb(250, 246, 254) 0%, rgb(255, 255, 255) 45%) rgb(255, 255, 255) !important; color: rgb(58, 32, 82) !important; padding-bottom: 0px !important; }

a { color: rgb(128, 84, 170); }

.site-header { min-height: 50px; align-items: center; justify-content: space-between; background: rgb(58, 32, 82) !important; padding: 7px 16px !important; display: flex !important; }

.site-header .brand-seal { width: 28px; height: 28px; }

.site-header .brand { font-size: 15px; font-weight: 700; color: rgb(255, 255, 255); }

.site-header .header-left, .site-header .header-right { flex: 1 1 0%; display: flex; align-items: center; }

.site-header .header-left { justify-content: flex-start; }

.site-header .header-right { justify-content: flex-end; }

.site-header .brand { flex: 0 0 auto; text-align: center; }

.btn-back { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0px 14px; border-radius: 10px; background: rgba(255, 255, 255, 0.08); color: rgb(226, 208, 238); font-size: 13px; font-weight: 600; text-decoration: none; transition: background 0.2s, color 0.2s; }

.btn-back:hover { background: rgba(255, 255, 255, 0.15); color: rgb(244, 250, 251); }

.form-card { background: rgb(255, 255, 255); box-shadow: rgba(58, 32, 82, 0.06) 0px 4px 24px; padding: 36px 28px; border: 1px solid rgb(227, 214, 237) !important; }

.form-card h1 { color: rgb(58, 32, 82); margin-bottom: 10px; }

.form-card .form-sub { color: rgb(117, 96, 135); margin-bottom: 32px; }

.campo { margin-bottom: 16px; }

.campo label { display: block; font-size: 13px; font-weight: 600; color: rgb(58, 32, 82); margin-bottom: 6px; }

.campo .obrigatorio { color: rgb(220, 38, 38); }

.campo input, .campo textarea { width: 100%; min-height: 44px; padding: 10px 14px; border-radius: 10px; font-size: 15px; font-family: Manrope, "Segoe UI", sans-serif; outline: none; transition: border-color 0.25s, box-shadow 0.25s; box-sizing: border-box; background: rgb(250, 246, 254) !important; border: 1.5px solid rgb(227, 214, 237) !important; color: rgb(58, 32, 82) !important; }

.campo select { width: 100%; min-height: 44px; padding: 10px 14px; border-radius: 10px; font-size: 15px; font-family: Manrope, "Segoe UI", sans-serif; outline: none; transition: border-color 0.25s, box-shadow 0.25s; box-sizing: border-box; background: rgb(255, 255, 255) !important; border: 1.5px solid rgb(227, 214, 237) !important; color: rgb(58, 32, 82) !important; }

.campo input::placeholder, .campo textarea::placeholder { color: rgb(165, 145, 180); opacity: 1; }

.campo input:focus, .campo select:focus, .campo textarea:focus { border-color: rgb(128, 84, 170) !important; box-shadow: rgba(128, 84, 170, 0.12) 0px 0px 0px 3px !important; }

.campo select { appearance: none; padding-right: 38px; background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231a5fb4' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.5'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; }

.campo select option { background: rgb(255, 255, 255); color: rgb(58, 32, 82); }

.campo-grid { gap: 12px; }

.vc-field { margin-bottom: 16px; }

.vc-label { display: block; font-size: 13px; font-weight: 600; color: rgb(58, 32, 82); margin-bottom: 6px; }

.vc-required { color: rgb(220, 38, 38); }

.vc-input { width: 100%; min-height: 44px; border-radius: 10px; font-size: 15px; font-family: Manrope, "Segoe UI", sans-serif; outline: none; transition: border-color 0.25s, box-shadow 0.25s; box-sizing: border-box; padding: 10px 14px !important; background: rgb(250, 246, 254) !important; border: 1.5px solid rgb(227, 214, 237) !important; color: rgb(58, 32, 82) !important; }

.vc-select { width: 100%; min-height: 44px; border-radius: 10px; font-size: 15px; font-family: Manrope, "Segoe UI", sans-serif; outline: none; transition: border-color 0.25s, box-shadow 0.25s; box-sizing: border-box; padding: 10px 14px !important; background: rgb(255, 255, 255) !important; border: 1.5px solid rgb(227, 214, 237) !important; color: rgb(58, 32, 82) !important; }

.vc-input::placeholder { color: rgb(165, 145, 180); opacity: 1; }

.vc-input:focus, .vc-select:focus { border-color: rgb(128, 84, 170) !important; box-shadow: rgba(128, 84, 170, 0.12) 0px 0px 0px 3px !important; }

.vc-select { appearance: none; background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231a5fb4' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.5'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; padding-right: 38px !important; }

.vc-select option { background: rgb(255, 255, 255); color: rgb(58, 32, 82); }

.vc-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 10px 12px; margin-bottom: 12px; }

.vc-field-grid--cidade { grid-template-columns: 1fr 92px; }

.vc-checkbox-wrapper { margin: 6px 0px; }

.vc-checkbox-label { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: rgb(58, 32, 82); cursor: pointer; line-height: 1.5; }

.vc-checkbox { width: auto; min-height: auto; margin-top: 3px; }

#select-tipo { min-height: 48px; font-size: 15px; font-weight: 500; padding: 10px 40px 10px 16px; border-radius: 10px; cursor: pointer; transition: border-color 0.25s, box-shadow 0.25s; appearance: none; letter-spacing: 0.01em; border: 2px solid rgb(227, 214, 237) !important; color: rgb(58, 32, 82) !important; background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231a5fb4' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.5'/%3E%3C/svg%3E") right 14px center no-repeat rgb(255, 255, 255) !important; }

#select-tipo:hover { border-color: rgb(176, 200, 229) !important; background: rgb(252, 249, 255) !important; }

#select-tipo:focus { outline: none; border-color: rgb(128, 84, 170) !important; box-shadow: rgba(128, 84, 170, 0.12) 0px 0px 0px 3px !important; }

#select-tipo option { padding: 8px 12px; font-weight: 400; font-size: 14px; background: rgb(255, 255, 255); color: rgb(58, 32, 82); }

.vc-congressista-block { border-radius: 12px; padding: 14px 12px 4px; margin-bottom: 14px; background: rgb(252, 249, 255) !important; border: 1px solid rgb(234, 223, 242) !important; }

.vc-congressista-block h3 { color: rgb(58, 32, 82) !important; border-bottom: 1px solid rgb(234, 223, 242) !important; }

.vc-congressista-desc { color: rgb(128, 84, 170) !important; background: rgb(243, 235, 250) !important; border: 1px solid rgb(218, 198, 235) !important; }

#secao-pagamento { margin-top: 24px; padding: 20px 18px; border-radius: 12px; background: rgb(252, 249, 255) !important; border: 1px solid rgb(234, 223, 242) !important; }

#secao-pagamento .label-section { color: rgb(147, 124, 164) !important; }

#secao-pagamento select { min-height: 48px; font-size: 15px; font-weight: 500; padding: 10px 38px 10px 14px; border-radius: 10px; appearance: none; transition: border-color 0.25s, box-shadow 0.25s; cursor: pointer; border: 2px solid rgb(227, 214, 237) !important; color: rgb(58, 32, 82) !important; background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231a5fb4' stroke-width='1.8' stroke-linecap='round' stroke-opacity='0.5'/%3E%3C/svg%3E") right 14px center no-repeat rgb(255, 255, 255) !important; }

#secao-pagamento select:hover { border-color: rgb(176, 200, 229) !important; }

#secao-pagamento select:focus { outline: none; border-color: rgb(128, 84, 170) !important; box-shadow: rgba(128, 84, 170, 0.12) 0px 0px 0px 3px !important; }

.cart-summary { margin-top: 20px; padding: 0px; border-radius: 14px; background: linear-gradient(135deg, rgba(87, 227, 137, 0.06), rgba(87, 227, 137, 0.01)) !important; border: 1.5px solid rgba(46, 158, 91, 0.25) !important; }

.cart-header { display: flex; align-items: center; gap: 10px; padding: 14px 18px; background: rgba(46, 158, 91, 0.08); border-bottom: 1px solid rgba(46, 158, 91, 0.15); }

.cart-header-icon { font-size: 20px; }

.cart-header-text { font-weight: 700; font-size: 15px; color: rgb(30, 125, 70); }

.cart-items { padding: 12px 18px 0px; }

.cart-item { display: flex; flex-direction: column; gap: 4px; padding: 10px 0px; border-bottom: 1px solid rgba(46, 158, 91, 0.1); }

.cart-item:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }

.cart-item-name { font-weight: 700; font-size: 14px; color: rgb(58, 32, 82); display: flex; align-items: center; gap: 6px; }

.cart-item-name .item-icon { font-size: 13px; }

.cart-item-sub { display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: rgb(117, 96, 135); padding-left: 22px; }

.cart-item-sub .item-label { flex: 1 1 0%; }

.cart-item-sub .item-price { font-weight: 600; color: rgb(30, 125, 70); white-space: nowrap; }

.cart-item-sub--mc { color: rgb(180, 83, 9); }

.cart-item-sub--mc .item-price { color: rgb(180, 83, 9); }

.cart-totals { padding: 0px 18px; }

.cart-total-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0px; font-size: 13px; color: rgb(117, 96, 135); border-top: 1px dashed rgba(46, 158, 91, 0.15); }

.cart-total-row span:last-child { font-weight: 600; }

.cart-grand-total { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; background: rgba(46, 158, 91, 0.08); border-top: 1.5px solid rgba(46, 158, 91, 0.2); }

.cart-grand-total span:first-child { font-weight: 700; font-size: 15px; color: rgb(58, 32, 82); }

.cart-grand-total-value { font-weight: 800; font-size: 22px; color: rgb(30, 125, 70); }

#taxa-breakdown { font-size: 13px; }

#taxa-breakdown .taxa-linha { display: flex; justify-content: space-between; padding: 3px 0px; color: rgb(117, 96, 135); }

#taxa-breakdown .taxa-total { font-weight: 700; color: rgb(30, 125, 70); border-top: 1px solid rgb(227, 214, 237); padding-top: 6px; margin-top: 2px; }

.vc-addon-card { margin-top: 14px; padding: 14px; border-radius: 10px; background: rgb(252, 249, 255) !important; border: 1px solid rgb(234, 223, 242) !important; }

.vc-addon-card--mc strong { color: rgb(58, 32, 82); }

.vc-addon-card--restricao strong { color: rgb(58, 32, 82); }

.vc-addon-card label { color: rgb(58, 32, 82); }

.vc-addon-card .vc-label { color: rgb(117, 96, 135); }

.vc-addon-card p { color: rgb(147, 124, 164) !important; }

.vc-addon-card select { min-width: 130px; }

.vc-checkbox-label { color: rgb(58, 32, 82); }

.vc-checkbox-wrapper--endereco { margin: 8px 0px; padding: 10px; background: rgb(250, 246, 254); border: 1px solid rgb(234, 223, 242); border-radius: 8px; }

.erros { background: rgba(239, 68, 68, 0.06) !important; border: 1px solid rgba(239, 68, 68, 0.3) !important; color: rgb(185, 28, 28) !important; }

.aviso { background: rgba(128, 84, 170, 0.06) !important; border: 1px solid rgba(128, 84, 170, 0.25) !important; color: rgb(128, 84, 170) !important; }

.alert-success { background: rgba(87, 227, 137, 0.12) !important; border: 1px solid rgba(46, 158, 91, 0.4) !important; color: rgb(30, 125, 70) !important; }

.alert-error { background: rgba(239, 68, 68, 0.06) !important; border: 1px solid rgba(239, 68, 68, 0.3) !important; color: rgb(185, 28, 28) !important; }

#btn-submit { margin-top: 20px; width: 100%; min-height: 50px; font-size: 16px; font-weight: 700; border-radius: 12px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; box-shadow: rgba(58, 32, 82, 0.25) 0px 4px 20px; transition: transform 0.2s, box-shadow 0.2s, background 0.2s; letter-spacing: 0.02em; background: rgb(58, 32, 82) !important; color: rgb(255, 255, 255) !important; }

#btn-submit:hover { transform: translateY(-2px); box-shadow: rgba(58, 32, 82, 0.35) 0px 8px 28px; background: rgb(81, 49, 110) !important; }

#btn-submit:active { transform: translateY(0px); box-shadow: rgba(58, 32, 82, 0.2) 0px 2px 12px; }

#btn-submit-mobile { border-width: medium; border-style: none; border-color: currentcolor; border-image: none; box-shadow: rgba(58, 32, 82, 0.35) 0px 4px 20px; transition: transform 0.2s, box-shadow 0.2s; background: rgb(58, 32, 82) !important; color: rgb(255, 255, 255) !important; }

#btn-submit-mobile:hover { transform: translateY(-2px); box-shadow: rgba(58, 32, 82, 0.45) 0px 8px 28px; }

.mobile-sticky { background: rgba(255, 255, 255, 0.95) !important; border-top: 1px solid rgb(234, 223, 242) !important; }

.cookie-overlay { background: rgba(58, 32, 82, 0.35) !important; }

.cookie-popup { background: rgb(255, 255, 255) !important; border: 1px solid rgb(227, 214, 237) !important; }

.cookie-popup-header strong { color: rgb(58, 32, 82) !important; }

.cookie-popup p { color: rgb(117, 96, 135) !important; }

.cookie-lgpd { background: rgb(246, 239, 252) !important; border-left: 3px solid rgb(128, 84, 170) !important; color: rgb(117, 96, 135) !important; }

#aviso-idade-min { background: rgba(239, 68, 68, 0.06) !important; border: 1px solid rgba(239, 68, 68, 0.3) !important; color: rgb(185, 28, 28) !important; }

.resp-presente p { color: rgb(117, 96, 135) !important; }

.resp-presente .vc-label { color: rgb(58, 32, 82) !important; }

.cpf-modal-overlay { position: fixed; inset: 0px; z-index: 9999; background: rgba(58, 32, 82, 0.45); display: flex; align-items: center; justify-content: center; padding: 16px; }

.cpf-modal { background: rgb(255, 255, 255); border: 1px solid rgb(227, 214, 237); border-radius: 16px; box-shadow: rgba(58, 32, 82, 0.3) 0px 20px 60px; max-width: 460px; width: 100%; padding: 28px 26px 24px; text-align: center; animation: 0.18s ease-out 0s 1 normal none running cpfPop; }

@keyframes cpfPop { 
  0% { transform: translateY(12px) scale(0.98); opacity: 0; }
  100% { transform: none; opacity: 1; }
}

.cpf-modal-icon { font-size: 38px; line-height: 1; margin-bottom: 10px; }

.cpf-modal-title { color: rgb(58, 32, 82); font-size: 19px; font-weight: 800; margin: 0px 0px 10px; }

.cpf-modal-msg { color: rgb(117, 96, 135); font-size: 14.5px; line-height: 1.5; margin: 0px 0px 20px; }

.cpf-modal-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.cpf-btn { min-height: 44px; padding: 0px 22px; border-radius: 10px; font-size: 14px; font-weight: 700; cursor: pointer; border: 1.5px solid transparent; transition: background 0.15s, box-shadow 0.15s, transform 0.1s; }

.cpf-btn:active { transform: translateY(1px); }

.cpf-btn-primary { box-shadow: rgba(58, 32, 82, 0.25) 0px 4px 18px; background: rgb(58, 32, 82) !important; color: rgb(255, 255, 255) !important; }

.cpf-btn-primary:hover { background: rgb(81, 49, 110) !important; }

.cpf-btn-secondary { background: rgb(250, 246, 254) !important; color: rgb(128, 84, 170) !important; border-color: rgb(227, 214, 237) !important; }

.cpf-btn-secondary:hover { background: rgb(232, 241, 253) !important; }

.cpf-btn-tertiary { background: rgb(255, 247, 237) !important; color: rgb(180, 83, 9) !important; border-color: rgb(252, 217, 168) !important; }

.cpf-btn-tertiary:hover { background: rgb(255, 237, 213) !important; }
@charset "utf-8";

.site-footer-dev { margin-top: 48px; background: rgb(58, 32, 82); color: rgb(205, 217, 238); padding: 22px 16px; text-align: center; font-size: 13.5px; line-height: 1.7; border-top: 3px solid rgb(128, 84, 170); }

.site-footer-dev strong { color: rgb(255, 255, 255); font-weight: 700; letter-spacing: 0.3px; }

.site-footer-dev a { color: rgb(127, 180, 239); text-decoration: none; }

.site-footer-dev a:hover { text-decoration: underline; }

.site-footer-dev .dev-sep { margin: 0px 8px; color: rgb(63, 93, 138); }