.svp-portal{display:grid;grid-template-columns:260px 1fr;gap:16px;max-width:1200px;margin:20px auto}
.svp-sidebar{border:1px solid #e5e7eb;border-radius:12px;padding:16px;background:#fafafa}
.svp-userbox{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.svp-nav{display:flex;flex-direction:column;gap:6px}
.svp-nav-item{padding:10px 12px;border-radius:8px;text-decoration:none;border:1px solid transparent}
.svp-nav-item.active,.svp-nav-item:hover{background:#fff;border-color:#e5e7eb}
.svp-main{min-height:400px}
.svp-card-ui{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:16px;margin-bottom:16px}
.svp-card-repeat .svp-repeat-list{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}
.svp-repeat-item{border:1px dashed #d1d5db;border-radius:10px;padding:12px;background:#f9fafb}
.svp-btn.svp-secondary{background:#fff;color:#111;border-color:#6b7280}
.svp-btn.svp-danger{background:#fee2e2;color:#b91c1c;border-color:#fca5a5}
.svp-success{color:#047857}
.svp-error{color:#b91c1c}
.svp-card-section{margin-top:20px}
.svp-form{display:flex;flex-direction:column;gap:24px;max-width:1100px;margin:0 auto 40px;padding:0 16px}
.svp-form .svp-card-ui{padding:24px;box-shadow:0 14px 30px rgba(15,23,42,.08);border-radius:16px;border:1px solid #e2e8f0}
.svp-form .svp-card-ui h3{margin-top:0;margin-bottom:12px;font-size:20px}
.svp-form .svp-card-ui>p{margin-top:0;color:#4b5563;line-height:1.5}
.svp-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px;color:#1f2937}
.svp-form label br{display:none}
.svp-form input[type=text],.svp-form input[type=number],.svp-form input[type=date],.svp-form input[type=time],.svp-form input[type=url],.svp-form input[type=email],.svp-form textarea,.svp-form select{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:10px;font-size:15px;background:#f9fafb;transition:border-color .2s,box-shadow .2s}
.svp-form input:focus,.svp-form textarea:focus,.svp-form select:focus{outline:none;border-color:#A37124;box-shadow:0 0 0 3px rgba(163,113,36,.15);background:#fff}
.svp-form textarea{resize:vertical}
.svp-admission-surface{max-width:760px;margin:32px auto;padding:32px;border-radius:20px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 24px 48px rgba(15,23,42,.08)}
.svp-admission-form{display:flex;flex-direction:column;gap:24px}
.svp-admission-header{display:flex;flex-direction:column;gap:8px}
.svp-admission-header h2{margin:0;font-size:24px;color:#111827}
.svp-admission-intro{margin:0;color:#4b5563;line-height:1.6;font-size:15px}
.svp-admission-note{margin:0;color:#6b7280;font-size:13px}
.svp-admission-feedback{display:flex;flex-direction:column;gap:16px}
/* Forçamos linhas flexíveis para evitar que estilos do tema desfaçam as colunas do formulário. */
.svp-admission-form .svp-field-group{display:flex;flex-wrap:wrap;gap:18px}
.svp-admission-form .svp-field-group--2 .svp-field{flex:1 1 calc(50% - 9px);min-width:0}
.svp-admission-form .svp-field-group--3 .svp-field{flex:1 1 calc(33.333% - 12px);min-width:0}
.svp-admission-form .svp-field-group--registry{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px dashed #d1d5db;border-radius:12px;background:#f9fafb}
.svp-admission-form .svp-field{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:14px;color:#1f2937}
.svp-admission-form .svp-field input[type=text],
.svp-admission-form .svp-field input[type=tel],
.svp-admission-form .svp-field input[type=url],
.svp-admission-form .svp-field input[type=email],
.svp-admission-form .svp-field textarea,
.svp-admission-form .svp-field select{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:10px;font-size:15px;background:#f9fafb;transition:border-color .2s,box-shadow .2s,background .2s}
.svp-admission-form .svp-field input:focus,
.svp-admission-form .svp-field textarea:focus,
.svp-admission-form .svp-field select:focus{outline:none;border-color:#A37124;box-shadow:0 0 0 3px rgba(163,113,36,.15);background:#fff}
.svp-admission-form textarea{resize:vertical;min-height:140px}
.svp-admission-form .svp-field--full{grid-column:1/-1}
.svp-admission-form .svp-field--registry-action{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.svp-admission-form .svp-field--registry-action .svp-btn{min-width:0}
.svp-admission-form .svp-clean-safe{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.svp-admission-form .svp-clean-safe img{max-width:120px;height:auto;border-radius:10px;box-shadow:0 6px 18px rgba(15,23,42,.18)}
.svp-clean-safe-notice{margin-top:16px}
.svp-clean-safe-notice img{max-width:140px;height:auto;border-radius:10px;box-shadow:0 6px 18px rgba(15,23,42,.18)}
.svp-registry-payload{margin:12px 0 24px 18px;padding:0;list-style:disc;color:#374151}
.svp-registry-payload li{margin-bottom:4px;font-size:13px}
.svp-admission-actions{display:flex;justify-content:flex-end;margin-top:8px}
.svp-admission-actions .svp-btn{min-width:220px;justify-content:center}
.svp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:12px}
.svp-included-options{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.svp-included-option span{font-weight:500}
.svp-hotel-fields{display:none}
.svp-hotel-fields.is-visible{display:block}
.svp-fixed-dates-banner{border:1px dashed #f59e0b;border-radius:12px;padding:14px 16px;margin-bottom:12px;background:#fff7ed;color:#92400e}
.svp-fixed-dates-banner strong{display:block;font-size:15px;margin-bottom:4px}
.svp-fixed-dates-banner p{margin:0;font-size:14px}
.svp-dates-badge{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;color:#111827}
.svp-dates-badge__icon{display:inline-flex;align-items:center}
.svp-dates-badge__icon img{display:block;width:16px;height:22px;object-fit:contain}
.svp-dates-badge__range{font-size:16px;font-weight:600}
.svp-dates-badge.is-flexible{display:inline-flex;justify-content:center;font-weight:600;color:#111827}
.svp-included-inline{display:block;padding-bottom:4px}
.svp-included-inline__wrap{display:block;margin-top:4px}
/* Mantemos cada chip como bloco único para que o ícone acompanhe o texto ao quebrar de linha. */
.svp-included-inline__item{display:inline-block;font-weight:600;color:#111827;line-height:22px;white-space:nowrap;margin:0 4px 4px 0;vertical-align:middle}
.svp-included-inline__icon,.svp-included-inline__label,.svp-included-inline__stars{display:inline-block;vertical-align:middle;line-height:22px;height:22px}
.svp-included-inline__icon{min-width:16px}
.svp-included-inline__icon img{width:16px;height:22px;object-fit:contain;display:inline-block;vertical-align:middle}
.svp-included-inline__label{padding:0}
.svp-included-inline__stars{color:#f97316;font-size:14px;font-weight:700;margin-left:2px}
.svp-included-card{border:1px solid #e5e7eb;border-radius:12px;padding:16px;background:#fff}
.svp-included-card__list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.svp-included-card__list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid #f3f4f6}
.svp-included-card__list li:last-child{border-bottom:none;padding-bottom:0}
.svp-included-card__stars{color:#f59e0b;font-weight:700}
.svp-included-card__badge{background:#e0e7ff;color:#4338ca;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}
.svp-hotel-map-card{border:1px solid #e5e7eb;border-radius:12px;padding:16px;background:#fff}
.svp-hotel-map-card iframe{width:100%;height:220px;border:0;border-radius:10px;margin-top:12px}
.svp-hotel-map__name{margin:8px 0 0;font-weight:600}
.svp-hotel-map__address{margin:0;font-size:14px;color:#4b5563}
form.cart.svp-has-booking{display:flex;flex-direction:column;align-items:stretch;gap:20px}
form.cart.svp-has-booking .svp-booking-fields{margin:0}
form.cart.svp-has-booking .quantity{display:none!important}
form.cart.svp-has-booking .single_add_to_cart_button{width:100%;justify-content:center}
form.cart.svp-has-booking .single_add_to_cart_button.svp-hidden{display:none}
.svp-trip-type{border:1px solid #d1d5db;border-radius:10px;padding:12px;margin:0;background:#f9fafb}
.svp-trip-type legend{font-weight:600;font-size:14px;margin-bottom:8px}
.svp-booking-fields .svp-child-age-wrapper{grid-column:1/-1;display:none;flex-direction:column;gap:10px;margin-top:4px}
.svp-booking-fields .svp-child-age-wrapper.is-visible{display:flex}
.svp-booking-fields .svp-child-age-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.svp-booking-fields .svp-child-age-item{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px;color:#1f2937}
.svp-booking-fields .svp-child-age-item input{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#f9fafb}
.svp-booking-fields .svp-child-age-item input:focus{outline:none;border-color:#A37124;box-shadow:0 0 0 3px rgba(163,113,36,.15);background:#fff}
.svp-row{margin-bottom:12px}
.svp-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}
.svp-actions #svp-msg{min-height:20px;font-weight:600}
.svp-btn{display:inline-block;padding:10px 18px;border:1px solid transparent;border-radius:999px;text-decoration:none;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s,color .2s}
.svp-btn:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(17,24,39,.12)}
.svp-btn:focus{outline:none;box-shadow:0 0 0 3px rgba(163,113,36,.2)}
.svp-btn.svp-primary{background:#A37124;color:#fff;border-color:#A37124}
.svp-btn.svp-primary:hover{background:#8f611d}
.svp-btn.svp-secondary{background:#fff;color:#111;border-color:#6b7280}
@media (max-width:782px){
    .svp-form{margin:0 auto 32px;padding:0 12px}
    .svp-form .svp-card-ui{padding:20px}
    .svp-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
    .svp-actions{justify-content:flex-start}
}
@media (max-width:640px){
    .svp-admission-surface{margin:24px auto;padding:24px}
    .svp-admission-header h2{font-size:20px}
    .svp-admission-form .svp-field-group{flex-direction:column;gap:16px}
    .svp-admission-form .svp-field-group--2 .svp-field,
    .svp-admission-form .svp-field-group--3 .svp-field{flex:1 1 100%}
    .svp-admission-form .svp-field-group--registry{padding:14px}
    .svp-admission-actions{justify-content:flex-start}
    .svp-admission-actions .svp-btn{width:100%;min-width:0}
}
.svp-table{width:100%;border-collapse:collapse}
.svp-table th,.svp-table td{padding:10px;border-bottom:1px solid #eee;text-align:left}
.svp-table-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.svp-delete-form{display:inline-flex;margin:0}
.svp-alert{padding:12px;border-radius:10px;margin-bottom:16px;font-size:14px;border:1px solid #e5e7eb;background:#f9fafb;color:#111}
.svp-alert-warning{border:1px solid #facc15;background:#fef3c7;color:#92400e}
.svp-alert-success{border:1px solid #34d399;background:#ecfdf5;color:#047857}
.svp-alert-info{border:1px solid #93c5fd;background:#eff6ff;color:#1d4ed8}
.svp-profile-form label{display:block;font-weight:600;font-size:14px;color:#111}
.svp-profile-form input[type=text],.svp-profile-form input[type=url],.svp-profile-form textarea,.svp-profile-form input[type=number]{width:100%;margin-top:6px;padding:10px;border:1px solid #d1d5db;border-radius:8px;font-weight:400}
.svp-profile-form textarea{resize:vertical}
.svp-profile-cover{position:relative;border-radius:12px;background:#111;color:#fff;padding:24px;margin-bottom:24px;min-height:160px;background-size:cover;background-position:center}
.svp-profile-cover::before{content:"";position:absolute;inset:0;background:rgba(17,24,39,.55);border-radius:12px}
.svp-profile-basic{position:relative;z-index:1;margin-left:120px}
.svp-profile-basic h2{margin:0 0 4px;font-size:24px}
.svp-profile-basic p{margin:0;font-size:14px}
.svp-profile-basic .svp-badge{margin-top:8px;display:inline-block;background:#22c55e;color:#fff;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}
.svp-profile-photo{position:absolute;z-index:2;left:24px;top:24px;width:88px;height:88px;border-radius:999px;border:3px solid #fff;background-size:cover;background-position:center}
.svp-profile-media input[type=file]{margin-top:8px}
.svp-inline{display:inline-flex;align-items:center;gap:6px;font-weight:400;margin-top:8px}
.svp-doc-list{list-style:none;margin:12px 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.svp-doc-list li{display:flex;align-items:center;gap:8px}
.svp-doc-list--small{flex-direction:column;align-items:flex-start}
.svp-upload input[type=file]{margin-top:6px}
.svp-hint{font-size:12px;color:#6b7280}
.svp-status{margin-top:8px;font-weight:600}
.svp-badge-required{display:inline-block;background:#f97316;color:#fff;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}
.svp-extra-meta{display:flex;flex-direction:column;gap:4px;margin:6px 0}
.svp-booking-extras .svp-terms-list li{border-bottom:1px solid #e5e7eb;padding:8px 0}
.svp-booking-extras .svp-terms-list li:last-child{border-bottom:none}
.svp-flight-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.svp-flight-choice{border:1px solid #d1d5db;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;background:#f9fafb}
.svp-flight-choice.is-disabled{opacity:.6}
.svp-flight-choice.is-disabled .svp-btn{pointer-events:none;opacity:.6}
.svp-flight-choice-title{font-weight:600;font-size:14px;color:#111}
.svp-flight-choice-text{margin:0;font-size:14px;color:#111}
.svp-flight-choice .svp-btn{align-self:flex-start}
.svp-return-field.is-disabled{opacity:.6}
.svp-return-field.is-disabled input{background:#e5e7eb;cursor:not-allowed}
.svp-terms-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.svp-terms-text p{margin:0 0 6px}
.svp-terms-section{margin-bottom:16px}
.svp-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:9999}
.svp-modal.is-visible{display:flex}
.svp-modal-backdrop{position:absolute;inset:0;background:rgba(17,24,39,.55)}
.svp-modal-dialog{position:relative;z-index:1;width:min(480px,90vw);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 20px 45px rgba(15,23,42,.25);padding:24px;display:flex;flex-direction:column;gap:16px}
.svp-modal-close{position:absolute;top:12px;right:12px;background:transparent;border:none;font-size:24px;line-height:1;color:#6b7280;cursor:pointer}
.svp-modal-title{margin:0;font-size:20px;font-weight:700;color:#111}
.svp-modal-date{margin:0;font-size:14px;color:#6b7280}
.svp-modal-help{margin:0;font-size:14px;color:#111}
.svp-modal-options{display:flex;flex-direction:column;gap:10px}
.svp-modal-option{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid #d1d5db;border-radius:10px;background:#f9fafb;text-align:left;cursor:pointer;font-size:14px;color:#111}
.svp-modal-option .svp-modal-route{font-size:13px;color:#1f2937;font-weight:600}
.svp-modal-option strong{font-size:15px}
.svp-modal-option span{display:block;font-size:13px;color:#374151}
.svp-modal-option.is-selected{border-color:#2563eb;background:#eff6ff}
.svp-modal-empty{margin:0;font-size:14px;color:#6b7280}
body.svp-modal-open{overflow:hidden}
#svp-order-modal .svp-modal-dialog{width:min(720px,95vw)}
.svp-order-content{display:flex;flex-direction:column;gap:16px;font-size:14px;color:#111827}
.svp-order-section h4{margin:0 0 8px;font-size:16px;font-weight:600;color:#111827}
.svp-order-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.svp-order-grid dt{margin:0;font-weight:600;color:#1f2937}
.svp-order-grid dd{margin:0 0 12px;color:#111827}
.svp-order-list{margin:0;padding-left:20px;color:#111827}
.svp-order-list li{margin-bottom:4px}
.svp-order-addresses{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.svp-order-address strong{display:block;font-weight:600;margin-bottom:4px;color:#111827}
.svp-order-address p{margin:0;font-size:13px;color:#374151}
.svp-order-items{width:100%;border-collapse:collapse;font-size:13px;color:#111827}
.svp-order-items th,.svp-order-items td{border:1px solid #e5e7eb;padding:8px;vertical-align:top;text-align:left}
.svp-order-items th{background:#f3f4f6;font-weight:600}
.svp-order-items td strong{display:block;margin-bottom:4px}
.svp-order-items td ul{margin:6px 0 0 16px;padding:0}
.svp-order-items td ul li{list-style:disc;margin-bottom:4px}
.svp-order-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#2563eb;text-decoration:none}
.svp-order-link:hover{text-decoration:underline}
.svp-form-inline .svp-grid{margin-bottom:12px}
.svp-form-inline input[type=number],.svp-form-inline textarea{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:8px}
.svp-form-inline textarea{resize:vertical}
.svp-form-inline .svp-btn{margin-top:8px}

.svp-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.svp-itinerary-map{height:360px;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;margin-top:12px}
.svp-product-itinerary{margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}
.svp-product-itinerary-map{height:420px;border:0;border-radius:0;overflow:hidden;box-shadow:none}

.svp-itinerary-coords{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:end}
.svp-itinerary-coords .svp-btn{grid-column:1/-1;margin-top:0}
.svp-itinerary-feedback{grid-column:1/-1;color:#475569;min-height:16px;display:block}

.svp-day-pin{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:2px 8px;background:#2d2a2c;color:#fff;font-size:11px;font-weight:700;border-radius:999px;box-shadow:0 3px 8px rgba(0,0,0,.18)}
.svp-day-pin-wrap{background:transparent;border:0}
.svp-price-mode-label{display:inline-block;font-weight:700;color:#2d2a2c}
.svp-duration-block,
.svp-loop-duration,
.svp-package-duration {
    font-size: 14px;
    color: #013220;
    margin-top: 8px;
}

.svp-loop-duration strong,
.svp-duration-block strong {
    color: #A37124;
}
